{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Wrap/Api/Account/AccountAllowedStatus.ts","webpack:///./Wrap/Api/Account/AccountByAccountNumber.ts","webpack:///./Wrap/Api/Account/AccountCreationHistory.ts","webpack:///./Wrap/Api/Account/AccountDisinvestmentStrategy.ts","webpack:///./Wrap/Api/Account/AccountInClosure.ts","webpack:///./Wrap/Api/Account/AccountLifetimeAllowance.ts","webpack:///./Wrap/Api/Account/AccountRestriction.ts","webpack:///./Wrap/Api/Account/AccountRestrictionBulk.ts","webpack:///./Wrap/Api/Account/AccountRoleByActor.ts","webpack:///./Wrap/Api/Account/AccountSearchQuery.ts","webpack:///./Wrap/Api/Account/ClientAccount.ts","webpack:///./Wrap/Api/Account/ClientRDR.ts","webpack:///./Wrap/Api/Account/ConsolidateAccount.ts","webpack:///./Wrap/Api/Account/CorrespondenceRecipient.ts","webpack:///./Wrap/Api/Account/CustomerRestriction.ts","webpack:///./Wrap/Api/Account/DecisionMaker.ts","webpack:///./Wrap/Api/Account/InterestedParties.ts","webpack:///./Wrap/Api/Account/InvestmentPermission.ts","webpack:///./Wrap/Api/Account/MailingPreferenceHistory.ts","webpack:///./Wrap/Api/Account/PensionSubAccountSettings.ts","webpack:///./Wrap/Api/Account/ProductName.ts","webpack:///./Wrap/Api/Account/ProductOverview.ts","webpack:///./Wrap/Api/Account/RestrictionReason.ts","webpack:///./Wrap/Api/Account/SubAccountTreasuredAssets.ts","webpack:///./Wrap/Api/Account/TrustDetail.ts","webpack:///./Wrap/Api/Account/TrustDetails.ts","webpack:///./Wrap/Api/Account/UpdateLifetimeAllowance.ts","webpack:///./Wrap/Api/Address/FindAddresses.ts","webpack:///./Wrap/Api/Address/RetrieveAddressDetails.ts","webpack:///./Wrap/Api/Adviser/AdviserConfiguration.ts","webpack:///./Wrap/Api/Adviser/AdviserConfigurationHistory.ts","webpack:///./Wrap/Api/Adviser/AdviserConfigurationInstruction.ts","webpack:///./Wrap/Api/Adviser/AdviserDetail.ts","webpack:///./Wrap/Api/Adviser/CancelAdviserConfigurationInstruction.ts","webpack:///./Wrap/Api/Adviser/SubmitAdviserConfigurationInstruction.ts","webpack:///./Wrap/Api/Adviser/UpdateAdviserConfigurationInstruction.ts","webpack:///./Wrap/Api/AdviserCharges/MonthlyChargeTypesValuation.ts","webpack:///./Wrap/Api/Apply/ApplyContributions.ts","webpack:///./Wrap/Api/Apply/ApplyInstruction.ts","webpack:///./Wrap/Api/Apply/ApplyWizard.ts","webpack:///./Wrap/Api/Apply/GiaContributionInstruction.ts","webpack:///./Wrap/Api/Apply/InstructionIsAdHocNoChange.ts","webpack:///./Wrap/Api/Apply/IsaContributionInstruction.ts","webpack:///./Wrap/Api/Apply/PensionContributionInstruction.ts","webpack:///./Wrap/Api/Apply/QuoteToApplyInstruction.ts","webpack:///./Wrap/Api/Apply/SubAccountAmendmentInstruction.ts","webpack:///./Wrap/Api/Apply/WhatIfToolCopy.ts","webpack:///./Wrap/Api/Apply/WhatIfToolInstruction.ts","webpack:///./Wrap/Api/Apply/WrapCashContributionInstruction.ts","webpack:///./Wrap/Api/BackOfficeIntegration/BackOfficeProviderBulkValuationReport.ts","webpack:///./Wrap/Api/BackOfficeIntegration/BackOfficeProviders.ts","webpack:///./Wrap/Api/BankAccounts/BankAccountInstruction.ts","webpack:///./Wrap/Api/BankAccounts/BankAccounts.ts","webpack:///./Wrap/Api/BankAccounts/ExperianBankAccountValidation.ts","webpack:///./Wrap/Api/BankAccounts/ExperianBankWizardRequest.ts","webpack:///./Wrap/Api/Bonds/BondRegularPayment.ts","webpack:///./Wrap/Api/Business/AssetUnderManagement.ts","webpack:///./Wrap/Api/Business/ClientSummaryGroup.ts","webpack:///./Wrap/Api/Charge/CommissionCharge.ts","webpack:///./Wrap/Api/Charge/CommissionCharges.ts","webpack:///./Wrap/Api/CoachMarkers/CoachMarkerSetJourneyStateForClient.ts","webpack:///./Wrap/Api/Common/BusinessDays.ts","webpack:///./Wrap/Api/Company/CompanyFsaPermissions.ts","webpack:///./Wrap/Api/Company/CompanySearch.ts","webpack:///./Wrap/Api/Company/CompanyServiceProposition.ts","webpack:///./Wrap/Api/Company/CompanyView.ts","webpack:///./Wrap/Api/Company/EdiMailBox.ts","webpack:///./Wrap/Api/Company/FirmInstruction.ts","webpack:///./Wrap/Api/Company/FirmInstructionCancel.ts","webpack:///./Wrap/Api/Company/FirmInstructionCreate.ts","webpack:///./Wrap/Api/Company/FirmInstructionHistory.ts","webpack:///./Wrap/Api/Company/FirmInstructionSubmit.ts","webpack:///./Wrap/Api/Company/FirmInstructionUpdate.ts","webpack:///./Wrap/Api/Company/FsaAuthorizationNumberCheck.ts","webpack:///./Wrap/Api/Company/FsaSourcedCompanyDetails.ts","webpack:///./Wrap/Api/Customer/AMLCheck.ts","webpack:///./Wrap/Api/Customer/AccountCompliance.ts","webpack:///./Wrap/Api/Customer/AccountRoleDetails.ts","webpack:///./Wrap/Api/Customer/AccountRoles.ts","webpack:///./Wrap/Api/Customer/ActorOwner.ts","webpack:///./Wrap/Api/Customer/AdditionalDataItem.ts","webpack:///./Wrap/Api/Customer/AddressDetail.ts","webpack:///./Wrap/Api/Customer/AdviserBridgePermissionCheck.ts","webpack:///./Wrap/Api/Customer/AvailableAccountRole.ts","webpack:///./Wrap/Api/Customer/CheckAdviserBridgeAccountPermissions.ts","webpack:///./Wrap/Api/Customer/ClientAccess.ts","webpack:///./Wrap/Api/Customer/ClientAccesses.ts","webpack:///./Wrap/Api/Customer/ClientSearchByAccount.ts","webpack:///./Wrap/Api/Customer/CompanyActor.ts","webpack:///./Wrap/Api/Customer/ContactPreferenceDetail.ts","webpack:///./Wrap/Api/Customer/ControllingPersonDetails.ts","webpack:///./Wrap/Api/Customer/CustomerEmailAddresses.ts","webpack:///./Wrap/Api/Customer/CustomerMatching.ts","webpack:///./Wrap/Api/Customer/CustomerMerge.ts","webpack:///./Wrap/Api/Customer/CustomerNameFuzzySearch.ts","webpack:///./Wrap/Api/Customer/CustomerPhoneNumbers.ts","webpack:///./Wrap/Api/Customer/CustomerSearch.ts","webpack:///./Wrap/Api/Customer/CustomerTaxResidency.ts","webpack:///./Wrap/Api/Customer/CustomerUnderlyingAccountDetails.ts","webpack:///./Wrap/Api/Customer/DeathDetail.ts","webpack:///./Wrap/Api/Customer/EmploymentDetail.ts","webpack:///./Wrap/Api/Customer/FullClientDetail.ts","webpack:///./Wrap/Api/Customer/InterestedPartiesByCustomer.ts","webpack:///./Wrap/Api/Customer/InterestedParty.ts","webpack:///./Wrap/Api/Customer/NewProductLink.ts","webpack:///./Wrap/Api/Customer/NoteDetail.ts","webpack:///./Wrap/Api/Customer/Organisation.ts","webpack:///./Wrap/Api/Customer/OrganisationSearch.ts","webpack:///./Wrap/Api/Customer/PensionProtection.ts","webpack:///./Wrap/Api/Customer/PersonalDetail.ts","webpack:///./Wrap/Api/Customer/Prospect.ts","webpack:///./Wrap/Api/Customer/RegulatoryCheckDetails.ts","webpack:///./Wrap/Api/Customer/Relationship.ts","webpack:///./Wrap/Api/Customer/ReportingTaxYearSetting.ts","webpack:///./Wrap/Api/Customer/SearchActorName.ts","webpack:///./Wrap/Api/Customer/TaxForm.ts","webpack:///./Wrap/Api/Customer/TrustAuthorisationRequests.ts","webpack:///./Wrap/Api/Customer/TrustMember.ts","webpack:///./Wrap/Api/Customer/TrustMemberDeathDetailValidation.ts","webpack:///./Wrap/Api/Customer/TrustMemberHistory.ts","webpack:///./Wrap/Api/Customer/TrustServicingModel.ts","webpack:///./Wrap/Api/Customer/TrustShare.ts","webpack:///./Wrap/Api/Customer/VulnerabilityDetail.ts","webpack:///./Wrap/Api/Customer/VulnerabilityOptions.ts","webpack:///./Wrap/Api/Dashboard/AccountMenu.ts","webpack:///./Wrap/Api/Dashboard/PortfolioViewMenuAdditionalInfo.ts","webpack:///./Wrap/Api/Documents/DocumentFile.ts","webpack:///./Wrap/Api/Documents/Documents.ts","webpack:///./Wrap/Api/Documents/DocumentsSenderAddress.ts","webpack:///./Wrap/Api/Documents/ESignatureDocumentSigned.ts","webpack:///./Wrap/Api/Documents/ESignatureDocumentTaskRequestSubmit.ts","webpack:///./Wrap/Api/Documents/ExternalFundDocument.ts","webpack:///./Wrap/Api/Documents/InstructionDocumentTypeApplyModelRequestTrigger.ts","webpack:///./Wrap/Api/Documents/InstructionDocumentTypeContributionAndWithdrawalBaseRequestTrigger.ts","webpack:///./Wrap/Api/Documents/InstructionDocumentTypeInstructionIdRequestTrigger.ts","webpack:///./Wrap/Api/Documents/InstructionDocumentTypeQuoteModelRequestTrigger.ts","webpack:///./Wrap/Api/Documents/LiteratureLibrary.ts","webpack:///./Wrap/Api/Documents/ProspectDocumentFile.ts","webpack:///./Wrap/Api/Documents/ProspectDocuments.ts","webpack:///./Wrap/Api/Drawdown/CappedArrangementDetails.ts","webpack:///./Wrap/Api/Drawdown/ConvertCappedToFlexi.ts","webpack:///./Wrap/Api/Drawdown/DrawdownIncomeAmendmentInstruction.ts","webpack:///./Wrap/Api/Drawdown/DrawdownIncomeAmendmentInstructionCalculations.ts","webpack:///./Wrap/Api/Drawdown/DrawdownInstruction.ts","webpack:///./Wrap/Api/Drawdown/DrawdownRequest.ts","webpack:///./Wrap/Api/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection.ts","webpack:///./Wrap/Api/Drawdown/ImmediateTaxFreeCashIncomeRequest.ts","webpack:///./Wrap/Api/Drawdown/PensionArrangement.ts","webpack:///./Wrap/Api/Drawdown/RegularDrawdown.ts","webpack:///./Wrap/Api/Impact/Impact.ts","webpack:///./Wrap/Api/Instruction/CommentsAndDocuments.ts","webpack:///./Wrap/Api/Instruction/DemandType.ts","webpack:///./Wrap/Api/Instruction/DisinvestmentStrategy.ts","webpack:///./Wrap/Api/Instruction/HistoricWorkflow.ts","webpack:///./Wrap/Api/Instruction/InstructionProcess.ts","webpack:///./Wrap/Api/Instruction/InstructionTreasuredAssets.ts","webpack:///./Wrap/Api/Instruction/InstructionWorkInProgress.ts","webpack:///./Wrap/Api/Instruction/InstructionWorkflow.ts","webpack:///./Wrap/Api/Instruments/AssetClasses.ts","webpack:///./Wrap/Api/Instruments/AvailableSectors.ts","webpack:///./Wrap/Api/Instruments/DepositProductsSearch.ts","webpack:///./Wrap/Api/Instruments/ExchangeTradedInstrumentSearchQuery.ts","webpack:///./Wrap/Api/Instruments/FavouriteProducts.ts","webpack:///./Wrap/Api/Instruments/FundManagers.ts","webpack:///./Wrap/Api/Instruments/FundProductsSearch.ts","webpack:///./Wrap/Api/Instruments/FundsDiscretePerformance.ts","webpack:///./Wrap/Api/Instruments/InstrumentSearchQuery.ts","webpack:///./Wrap/Api/Instruments/Instruments.ts","webpack:///./Wrap/Api/Instruments/InstrumentsValuationQuery.ts","webpack:///./Wrap/Api/Instruments/ModelPortfolioManagers.ts","webpack:///./Wrap/Api/Instruments/ModelPortfolioProduct.ts","webpack:///./Wrap/Api/Instruments/ModelPortfolioSearchQuery.ts","webpack:///./Wrap/Api/Instruments/SCFDDoc.ts","webpack:///./Wrap/Api/Instruments/SDRLabel.ts","webpack:///./Wrap/Api/Legado/Legado.ts","webpack:///./Wrap/Api/Legado/LegadoConfig.ts","webpack:///./Wrap/Api/Mandate/MandateNameFuzzySearch.ts","webpack:///./Wrap/Api/Network/Advisers.ts","webpack:///./Wrap/Api/Network/NetworkHistory.ts","webpack:///./Wrap/Api/Network/NetworkInstruction.ts","webpack:///./Wrap/Api/Network/NetworkInstructionHistory.ts","webpack:///./Wrap/Api/Notifications/AlertTriggerInfo.ts","webpack:///./Wrap/Api/Notifications/NotificationAlertEmaiAddresses.ts","webpack:///./Wrap/Api/Notifications/NotificationConfiguration.ts","webpack:///./Wrap/Api/Notifications/NotificationDefinitionCategory.ts","webpack:///./Wrap/Api/Notifications/Notifications.ts","webpack:///./Wrap/Api/Notifications/NotificationsDefinitions.ts","webpack:///./Wrap/Api/Orders/Batch.ts","webpack:///./Wrap/Api/Orders/BuySell.ts","webpack:///./Wrap/Api/Orders/Orders.ts","webpack:///./Wrap/Api/Orders/SwitchOrder.ts","webpack:///./Wrap/Api/Payments/CancelRegularPaymentsIn.ts","webpack:///./Wrap/Api/Payments/CheckRegularPaymentAutolineCompleted.ts","webpack:///./Wrap/Api/Payments/CompletedProductPaymentsIn.ts","webpack:///./Wrap/Api/Payments/NextPaymentDate.ts","webpack:///./Wrap/Api/Payments/PendingProductPaymentsIn.ts","webpack:///./Wrap/Api/Payments/PortfolioRegularPayment.ts","webpack:///./Wrap/Api/Payments/WithdrawalsOverview.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Benchmarks/AvailableBenchmarks.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Cashes/PortfolioCashDetails.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Investment/ClientTradableInvestment.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Investment/FinexDocumentLocation.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Investment/Instrument.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Investment/InstrumentValuationDistribution.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Investment/PortfolioInvestment.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Investment/ProductModelPortfolioInvestment.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Investment/SippIncome.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Payment/CashPayment.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/ClientPerformanceDetail.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/ClientPerformanceIncome.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/ClientPerformanceValuationGraph.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/ClientRealisedGainLoss.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/ClientUnRealisedGainLoss.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/ModelPortfolioPerformanceDetail.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/PerformanceSummary.ts","webpack:///./Wrap/Api/PortfolioAnalysis/Performance/PortfolioPerformanceSimpleReturnAndIRR.ts","webpack:///./Wrap/Api/PortfolioAnalysis/PortfolioDetails/TopTenHoldings.ts","webpack:///./Wrap/Api/PortfolioValuation/InvestmentAssetClassAllocation.ts","webpack:///./Wrap/Api/PortfolioValuation/InvestmentRegionAllocation.ts","webpack:///./Wrap/Api/PortfolioValuation/InvestmentRegionGroup.ts","webpack:///./Wrap/Api/PortfolioValuation/InvestmentSectorAllocation.ts","webpack:///./Wrap/Api/PortfolioValuation/ModelPortfolioAssetRegionAllocation.ts","webpack:///./Wrap/Api/PortfolioValuation/ProductUnderlyingAccountValuation.ts","webpack:///./Wrap/Api/PortfolioValuation/ProductWrapperValuation.ts","webpack:///./Wrap/Api/PrivacyPolicy/UserCookie.ts","webpack:///./Wrap/Api/ProductOverview/Charges/ProductOverview.ts","webpack:///./Wrap/Api/ProductOverview/PaymentsIn/IsaAllowanceOverview.ts","webpack:///./Wrap/Api/ProductWrappers/AvailableProductWrappers.ts","webpack:///./Wrap/Api/Quote/QuoteContributions.ts","webpack:///./Wrap/Api/Quote/QuoteCopyInstruction.ts","webpack:///./Wrap/Api/Quote/QuoteInstruction.ts","webpack:///./Wrap/Api/Regulations/CustomerRegulationCompliance.ts","webpack:///./Wrap/Api/Regulations/MifirCountryIdentifier.ts","webpack:///./Wrap/Api/Reports/BusinessManagement/AdviserCharge/AdviserChargeReport.ts","webpack:///./Wrap/Api/Reports/ClientPortfolio/ClientPortfolioReport.ts","webpack:///./Wrap/Api/Reports/Investment/PortfolioInvestmentReport.ts","webpack:///./Wrap/Api/Reports/MI/RemunerationStatementHistory.ts","webpack:///./Wrap/Api/Reports/Performance/PerformanceSummaryReport.ts","webpack:///./Wrap/Api/Reports/Settings/ReportOptOutSettings.ts","webpack:///./Wrap/Api/Reports/Transaction/CashTransactionReport.ts","webpack:///./Wrap/Api/Reports/Transaction/InvestmentTransactionReport.ts","webpack:///./Wrap/Api/Session/ExtendSession.ts","webpack:///./Wrap/Api/Session/SessionInfo.ts","webpack:///./Wrap/Api/Session/SessionSetting.ts","webpack:///./Wrap/Api/Settings/CustomizeLogo.ts","webpack:///./Wrap/Api/Tasks/DocumentTaskRequest.ts","webpack:///./Wrap/Api/Tasks/TaskRequestStatus.ts","webpack:///./Wrap/Api/Tax/HeadAccountCgtSettings.ts","webpack:///./Wrap/Api/Transaction/AccountModelView.ts","webpack:///./Wrap/Api/Transaction/AccountTransfers.ts","webpack:///./Wrap/Api/Transaction/AutoDisInvestTranWithBatchId.ts","webpack:///./Wrap/Api/Transaction/CashEntryDetail.ts","webpack:///./Wrap/Api/Transaction/CashLedgerTransactionWithBatchId.ts","webpack:///./Wrap/Api/Transaction/CashTransaction.ts","webpack:///./Wrap/Api/Transaction/CgtTransaction.ts","webpack:///./Wrap/Api/Transaction/CgtTransactionHistory.ts","webpack:///./Wrap/Api/Transaction/ChargesTransactions.ts","webpack:///./Wrap/Api/Transaction/DisinvestEventCharge.ts","webpack:///./Wrap/Api/Transaction/DividendSummary.ts","webpack:///./Wrap/Api/Transaction/InvestmentTransaction.ts","webpack:///./Wrap/Api/Transaction/InvestmentTransactionByTransId.ts","webpack:///./Wrap/Api/Transaction/OrderHistory.ts","webpack:///./Wrap/Api/Transaction/OrderValuation.ts","webpack:///./Wrap/Api/Transaction/OtherCorporateActions.ts","webpack:///./Wrap/Api/Transaction/TransactionsSummary.ts","webpack:///./Wrap/Api/Transfer/CedingScheme.ts","webpack:///./Wrap/Api/Transfer/Instruction/AccountTransfer.ts","webpack:///./Wrap/Api/Transfer/ProductTransfersIn.ts","webpack:///./Wrap/Api/Transfer/TransferAccounts/TransferBeneficialOwner.ts","webpack:///./Wrap/Api/Transfer/TransferAccounts/TransferDestinationAccounts.ts","webpack:///./Wrap/Api/Transfer/TransferAccounts/TransferSourceAccounts.ts","webpack:///./Wrap/Api/Transfer/TransferInRequest.ts","webpack:///./Wrap/Api/Transfer/TransferInvestments/ModelPortfolioInvestmentDetails.ts","webpack:///./Wrap/Api/Transfer/TransferInvestments/ProductInvestmentDetails.ts","webpack:///./Wrap/Api/Transformation/InvestmentGeographicAllocation.ts","webpack:///./Wrap/Api/Transformation/NewPortfolioValuationSummary.ts","webpack:///./Wrap/Api/Transformation/NewProductsValuationDetailSummary.ts","webpack:///./Wrap/Api/Transformation/PortfolioValuationSummary.ts","webpack:///./Wrap/Api/Transformation/ProductsValuationDetailSummary.ts","webpack:///./Wrap/Api/User/AdviserReadWritePermission.ts","webpack:///./Wrap/Api/User/AdviserReadWritePermissionByAccount.ts","webpack:///./Wrap/Api/User/AspxPagePermission.ts","webpack:///./Wrap/Api/User/Company.ts","webpack:///./Wrap/Api/User/DashboardFilter.ts","webpack:///./Wrap/Api/User/DashboardFilterReorder.ts","webpack:///./Wrap/Api/User/DashboardFilters.ts","webpack:///./Wrap/Api/User/GetUserUITheme.ts","webpack:///./Wrap/Api/User/IndividualUserFunction.ts","webpack:///./Wrap/Api/User/NotificationFilter.ts","webpack:///./Wrap/Api/User/NotificationFilterReorder.ts","webpack:///./Wrap/Api/User/User.ts","webpack:///./Wrap/Api/User/UserAccountDisplaySettings.ts","webpack:///./Wrap/Api/User/UserAllowedClaims.ts","webpack:///./Wrap/Api/User/UserClientSummaryGroupSetting.ts","webpack:///./Wrap/Api/User/UserPageColumnSetting.ts","webpack:///./Wrap/Api/User/UserSignature.ts","webpack:///./applications/Admin/Adviser/Actions/AdviserWizardAction.ts","webpack:///./applications/Admin/Adviser/Stores/AdviserWizardStoreStatic.ts","webpack:///./applications/Admin/Adviser/Stores/Variable.ts","webpack:///./applications/Admin/Company/CompanyWizard/Actions/CompanyWizardAction.ts","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUp.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Alert/Alert.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/BackOffice.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/BackOfficeSettings.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/BankDetail.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/Commission.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/CustomSetting.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/DefaultSetting.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/DisinvestmentStrategySection.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Commission/NewBankAccount.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/CompanySetupWizard.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/AddBranch.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/BankAddress.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/BankThirdParty.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/BranchDetail.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/Branches.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/ContactDetail.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/CorrespondenceAddressOwner.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/CountryPhone.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/FCA.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/FirmAddress.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/FirmCorrespondenceAddress.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/FirmDetai.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/ThirdPartyBankAccountGroup.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/ThirdPartyOptions.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanySetUpWizard/Validation/Validate.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanyWizardFilter.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanyWizardHistory.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanyWizardInProgress.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/CompanyWizardTable.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/ViewCompany/Commission.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/ViewCompany/FirmDetails.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Components/ViewCompany/ViewCompany.tsx","webpack:///./applications/Admin/Company/CompanyWizard/Resource/Content.ts","webpack:///./applications/Admin/Company/CompanyWizard/Stores/BackOfficeProviderBulkValuationReportStoreStatic.ts","webpack:///./applications/Admin/Company/CompanyWizard/Stores/BackOfficeProviderStoreStatic.ts","webpack:///./applications/Admin/Company/CompanyWizard/Stores/CompanyInstructionStoreStatic.ts","webpack:///./applications/Admin/Company/CompanyWizard/Stores/CompanyServicePropositionStoreStatic.ts","webpack:///./applications/Admin/Company/CompanyWizard/Stores/CompanyStoreStatic.ts","webpack:///./applications/Admin/Company/CompanyWizard/Stores/CompanyWizardStoreStatic.ts","webpack:///./applications/Admin/Company/CompanyWizard/Stores/Variable.ts","webpack:///./applications/Admin/Dashboard/AdminDashboard.tsx","webpack:///./applications/Admin/Network/Actions/NetworkAction.ts","webpack:///./applications/Admin/Network/Components/NetworkDashboard.tsx","webpack:///./applications/Admin/Network/Components/NetworkFilter.tsx","webpack:///./applications/Admin/Network/Components/NetworkFilterDashboard.tsx","webpack:///./applications/Admin/Network/Components/NetworkHistoryTable.tsx","webpack:///./applications/Admin/Network/Components/NetworkInProgress.tsx","webpack:///./applications/Admin/Network/Components/NetworkSubmitted.tsx","webpack:///./applications/Admin/Network/Components/NetworkTable.tsx","webpack:///./applications/Admin/Network/Components/NetworkWizard.tsx","webpack:///./applications/Admin/Network/Components/NetworkWizard/NetworkDetails.tsx","webpack:///./applications/Admin/Network/Components/NetworkWizard/ServiceProvider.tsx","webpack:///./applications/Admin/Network/Components/NetworkWizard/Validate.tsx","webpack:///./applications/Admin/Network/Resource/Content.ts","webpack:///./applications/Admin/Network/Stores/NetworkInstructionStoreStatic.ts","webpack:///./applications/Admin/Network/Stores/NetworkStoreStatic.ts","webpack:///./applications/Admin/Network/Stores/NetworkWizardStoreStatic.ts","webpack:///./applications/Admin/Network/Stores/Variable.ts","webpack:///./applications/Admin/ResidualCashPaymentOutWizard/Actions/AccountInClosureAction.ts","webpack:///./applications/Admin/ResidualCashPaymentOutWizard/Components/SearchTable.tsx","webpack:///./applications/Admin/ResidualCashPaymentOutWizard/Resource/Content.ts","webpack:///./applications/Admin/ResidualCashPaymentOutWizard/Stores/ClosingAccountStoreStatic.ts","webpack:///./applications/Admin/ResidualCashPaymentOutWizard/Stores/Variable.ts","webpack:///./applications/Admin/TransferWizard/Actions/TransferWizardAction.ts","webpack:///./applications/Admin/TransferWizard/Component/StepOneComponent/ChangeOfBeneficialOwner.tsx","webpack:///./applications/Admin/TransferWizard/Component/StepOneComponent/ChangeOfBeneficialOwnerAccount.tsx","webpack:///./applications/Admin/TransferWizard/Component/StepOneComponent/DestinationAccount.tsx","webpack:///./applications/Admin/TransferWizard/Component/StepOneComponent/DestinationAccountSearchPopup.tsx","webpack:///./applications/Admin/TransferWizard/Component/StepOneComponent/InvestmentTable.tsx","webpack:///./applications/Admin/TransferWizard/Component/StepOneComponent/PensionDetail.tsx","webpack:///./applications/Admin/TransferWizard/Component/TransferWizard.tsx","webpack:///./applications/Admin/TransferWizard/Component/TransferWizardStepOne.tsx","webpack:///./applications/Admin/TransferWizard/Component/TransferWizardStepTwo.tsx","webpack:///./applications/Admin/TransferWizard/Resources/Content.ts","webpack:///./applications/Admin/TransferWizard/Stores/DestinationSubAccountStoreStatic.ts","webpack:///./applications/Admin/TransferWizard/Stores/InvestmentTransferStoreStatic.ts","webpack:///./applications/Admin/TransferWizard/Stores/MoveableSubAccountStoreStatic.ts","webpack:///./applications/Admin/TransferWizard/Stores/TransferRequestStoreStatic.ts","webpack:///./applications/Admin/TransferWizard/Stores/Variable.ts","webpack:///./applications/DLU/ClientDashboardHeader.tsx","webpack:///./applications/DLU/DLUHelper.ts","webpack:///./applications/DLU/LogoHeader.tsx","webpack:///./applications/DLU/SiteLayout.tsx","webpack:///./applications/Dashboard/Actions/Action.ts","webpack:///./applications/Dashboard/Common/AsAtDatePicker.tsx","webpack:///./applications/Dashboard/Common/CommonHelper.ts","webpack:///./applications/Dashboard/Common/DeleteLightbox.tsx","webpack:///./applications/Dashboard/Common/NINumberTextEditor.tsx","webpack:///./applications/Dashboard/Common/RegionViewSelect.tsx","webpack:///./applications/Dashboard/Common/ValidatorHelper.ts","webpack:///./applications/Dashboard/Components/BusinessManagement/Action/BusinessManagementAction.ts","webpack:///./applications/Dashboard/Components/BusinessManagement/BackOffice/Components/BackOffice.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/BackOffice/Components/ReportSearchResultTable.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/BackOffice/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/BusinessManagement/BusinessManagement.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Aum/AssetHoldingsTable.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Aum/Aum.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Aum/AumBreakdown.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Aum/AumTile.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/BusinessManagementHeader.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Charges.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Charges/AdviceChargesToggleBar.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Charges/ChargesColumnChart.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Charges/ChartLegendToggleButton.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Charges/ExpandableTableCharges.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/ClientSummary.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/ClientSummary/ClientSummaryChart.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/ClientSummary/ClientSummaryTable.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/ClientSummary/EditRangePopup.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/ClientSummary/NewAccountsChart.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/MultiplePropFilter.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Search/AdviserDropdown.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Search/Search.component.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/Search/WorkflowDashboardSearch.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/WrapperSummary.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/WrapperSummary/ProductPopup.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Component/WrapperSummary/WrapperSummaryDonut.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Resource/Content.tsx","webpack:///./applications/Dashboard/Components/BusinessManagement/Store/BusinessManagementPropositionStatic.ts","webpack:///./applications/Dashboard/Components/BusinessManagement/Store/BusinessManagementStatic.ts","webpack:///./applications/Dashboard/Components/BusinessManagement/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/AddClient/Actions/AddClientAction.ts","webpack:///./applications/Dashboard/Components/Clients/AddClient/Actions/CustomerMatchingAction.ts","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/AddClientWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/ClientDetails/ClientDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/ClientDetails/ClientDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/ClientDetails/ContactDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/ClientType/ClientType.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/ClientType/ClientTypeSelection.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/ClientType/Filter.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/CustomerMatching/CustomertMatching.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/AddBeneficiary.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/AddCorporateTrustee.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/AddFullClient.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/BeneficiaryDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/FATCACountry.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/TrustDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/TrustMember.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/Organisation/TrustMemberDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Components/SharedComponents.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/AddClient/Resource/Validation.tsx","webpack:///./applications/Dashboard/Components/Clients/AddClient/Stores/AddClientStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/AddClient/Stores/CustomerMatchingStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/AddClient/Stores/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/Buy/Action/BuyAction.ts","webpack:///./applications/Dashboard/Components/Clients/Buy/BuyWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/Buy/Components/BuyInvestment/BuyInvestment.tsx","webpack:///./applications/Dashboard/Components/Clients/Buy/Components/OrderSetup/OrderSetup.tsx","webpack:///./applications/Dashboard/Components/Clients/Buy/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/Buy/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/Buy/Store/BuyStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/Buy/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/CancelOrder/Action/Action.ts","webpack:///./applications/Dashboard/Components/Clients/CancelOrder/CancelOrderWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/CancelOrder/Component/CancelOrder.tsx","webpack:///./applications/Dashboard/Components/Clients/CancelOrder/Component/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/CancelOrder/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/CancelRegularCrystallisationWizard/Actions/CancelRegularCrystallisationAction.ts","webpack:///./applications/Dashboard/Components/Clients/CancelRegularCrystallisationWizard/Actions/GetRegularCrystallisationAction.ts","webpack:///./applications/Dashboard/Components/Clients/CancelRegularCrystallisationWizard/CancelRegularCrystallisationWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/CancelRegularCrystallisationWizard/Components/CurrentSummary.tsx","webpack:///./applications/Dashboard/Components/Clients/CancelRegularCrystallisationWizard/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/CapitalGainsSettings/Action/CGTAction.ts","webpack:///./applications/Dashboard/Components/Clients/CapitalGainsSettings/CaptialGainSettingsWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/CapitalGainsSettings/Components/CaptialGainSettings.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Action/AMLCheckAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Action/AccountSearchAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Action/ClientRecordAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Action/CustomerSearchAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/AddBeneficary/AddBeneficiaryWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/AddBeneficary/Component/AddBeneficiary.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/AddTrustMember/Action/AddTrustMemberAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/AddTrustMember/AddTrustMembersWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/AddTrustMember/Component/AddTrustMembers.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Addresses.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/ClientRecord.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/CompanyDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/AMLCheck.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/AddNewButton.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/CreateUserIcon.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/HeaderBar.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/ImportantFile.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/Regulatory/ControllingPersonDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/Regulatory/CustomerTaxResidencyTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/Regulatory/HighValueSection.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/Regulatory/ReportingTaxYearSettingTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/Regulatory/TaxComplianceAgreement.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/Regulatory/TaxFormSection.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/RouteIcon.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/SectionTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/SignpostIcon.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TableViewSection.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/EditBeneficiaryLightbox.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/EditRolesLightbox.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/RemoveMemberLightbox.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/ShareOfTrustTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/ShareofTrustLightbox.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/TrustMemberHelper.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/TrustMemberHistoryLightbox.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/TrustMember/TrustMemberTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Components/VulnerablePerson/VulnerablePersonTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/ContactDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/OrganisationDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/PensionProtection.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/PersonalDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Regulatory.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/RegulatoryChecks.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Resource/RegulatoryContents.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Resource/RegulatoryCountryHelper.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/AccountRoleStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/AccountSearchStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/AdditionalDataItemStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/ClientRecordStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/ClientServicePropositionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/CustomerSearchStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/OrganisationSearchStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/ClientRecord/TrustServicing.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Action/AccountSearchAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Action/CustomerSearchAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Action/OrganisationSearchAction.ts","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/ClientSearch.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/AccountSearchPanel.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/AccountSearchRegularDetailsPopUp.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/AccountSearchResultTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/AdvanceSearch.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/AdvancedQueryDropdown.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/BasicSearch.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/ClientAdvancedSearch.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/ClientQuickSearch.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Component/ClientSearchResultTable.tsx","webpack:///./applications/Dashboard/Components/Clients/ClientSearch/Resource/Content.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Components/ChargesOnIlustration.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Components/CommissionCharge.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Components/CommissionChargeCancelMsg.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Components/CommissionChargeMessage.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Components/IAC.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Components/OAC.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Components/RIAC.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/AdviserCharges/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/Common/BuySellInvestmentSelection/BuySellAllocationTable.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/BuySellInvestmentSelection/BuySellAllocationTableHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/ClientDetails/PhoneNumberDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ClientDetails/TrustMemberDeclaration.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ConvertCappedToFlexi/AccountsConversionTable.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ConvertCappedToFlexi/AdviserDeclaration.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ConvertCappedToFlexi/FlexiIncomeReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ConvertCappedToFlexi/ImportantInformation.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/DepositDetailsPopUp/DepositDetailsPopupModal.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/BankAccountWarning.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/ClientPortalAccess.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/Declarations.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/Documents.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/DocumentsAndDeclarations.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/DocumentsToSend.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/ESignatureDoc.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/ExternalFundDocument.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/IllustrationsAvailable.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/InvestmentDocuments.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/NewTpsWarning.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Components/QuoteAndCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Documents/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/Common/FullClientDetail/FullClientDetailHelper.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/ChargesHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/ClientNameHelper.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/GiaHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/IsaHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/NINOHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/PaymentsHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/PensionHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/ProcessTypeHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/SubAccountTypeHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/TaxYearHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/TextInputHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Helpers/TransferHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/ISA/PaymentsIn/IsaAllowance.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ISA/PaymentsIn/IsaDeclaration.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ISA/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/Common/InvestmentDetailsPopUp/GraphHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/InvestmentDetailsPopUp/InvestmentDetailsPopupModal.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/InvestmentDetailsPopUp/InvestmentsColConfigHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/OrderSetup/OrderSetup.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/AssumedWrapCashHoldings.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/AdditionalBankAccount.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/BankAccount.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/BankAccountAction.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/BankAccountErrorPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/BankAccountHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/BankAccountSuccessPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/NewBankAccountInstruction.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/BankAccount/SelectBankAccount.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/FinancialAdvice.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/PaperLess.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/RegularPayment/Indexation.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/RegularPayment/RegularPayment.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/RegularPayment/RegularPaymentDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/RegularPayment/RegularPaymentMethods.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SIPP/MoneyPurchaseAnnualAllowanceComponent.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SIPP/PensionProtection.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SIPP/RetirementAge.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SIPP/SourceOfWealth.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SIPP/ValidationHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SinglePayment/AssumedSippAndBondHoldings.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SinglePayment/PaymentMethods.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SinglePayment/SinglePayment.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SinglePayment/SinglePaymentDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/SinglePayment/ThirdPartyEmployerDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/AccountSearchPopup.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/AccountSearchforISACashPopup.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/CedingScheme.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/CedingSchemeSearchInput.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/CertificatedSharesAndEquity.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/ReRegInvestmentSeletion.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/SingleTransferInISA.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/SingleTransferInPP.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/SingleTransferInSIPP.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/TransferIn/TransferIn.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/PaymentsIn/WrapCash/DirectDebitTerms.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Restrictions/RestrictionAction.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Restrictions/RestrictionStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Restrictions/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Restrictions/WizardLinkRestriction.ts","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/AdHocAdviserChargeReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/AdviceChargeReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/BWACheck.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/CappedAndFlexiTableReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/CashProductDeclarations.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/DrawdownReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/FinancialAdviceReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/IncomePaymentReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/InvestmentReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/OneOffWithdrawalReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/OrderSetupReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/PaymentsInReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/Component/WithDrawalReview.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Review/ReviewParser.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/Action/DrawdownCalculationAction.ts","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/BceAndPCLSTaxYear.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/ChooseAssetsToSell.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/CrystallisationDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/CrystallizationPerContribution.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/DIAC.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/DrawdownPriceLock.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/DrawdownType.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/IllHealth.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/Information.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/LTABreakdownDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/PensionOptions.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/PensionProtection.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/PensionProtectionPlayBack.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/PreADayPensionDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/RegularCrystallisation.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/TaxFreeLumpSumPayment.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/DrawdownDetails/TaxYear.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/CappedFlexiSection.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/CappedFlexiTable.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/DifferentInitialIncomePayment.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/Helper/IncomePaymentHelper.ts","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/IncomeBankDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/IncomeRequired.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/PayeEstimate.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/RegularIncomePayment.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/Common/SIPP/IncomePaymentDetails/TakeFullValue.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/ServicePropositionSelection.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/SharedComponents.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Withdrawals/InvestmentToWithdrawal.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Withdrawals/Withdrawal.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/Withdrawals/Withdrawals.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/WrapperSelection/AccountName.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/WrapperSelection/AdviceType.tsx","webpack:///./applications/Dashboard/Components/Clients/Common/WrapperSelection/NewClientAlertMessage.tsx","webpack:///./applications/Dashboard/Components/Clients/ConvertCappedToFlexiWizard/Actions/ConvertToFlexiActions.ts","webpack:///./applications/Dashboard/Components/Clients/ConvertCappedToFlexiWizard/Components/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/ConvertCappedToFlexiWizard/Components/SelectArrangement.tsx","webpack:///./applications/Dashboard/Components/Clients/ConvertCappedToFlexiWizard/ConvertCappedToFlexiWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/ConvertCappedToFlexiWizard/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/ConvertCappedToFlexiWizard/Store/ConvertToFlexiInstructionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/ConvertCappedToFlexiWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Action/CustomerMergeAction.ts","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/Addresses.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/ClientDetailsPopUp.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/ContactInformation.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/CustomerDetailsPopUp.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/CustomerMergeDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/Declarations.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/PersonalDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/Regulatory.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/RegulatoryChecks.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/Roles.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/SelectCustomers.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/TickOrCross.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Components/UserGroup.tsx","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/CustomerMerge/Resource/CustomerMergeHelper.ts","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Actions/EditIncomeWithdrawalsAction.ts","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Components/IncomePaymentDetails/ITFCIncome.tsx","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Components/IncomePaymentDetails/IncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Components/Review/AssetsToSellTable.tsx","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Components/Review/Declarations.tsx","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/EditIncomeWithdrawalsWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Resource/Contents.tsx","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Stores/EditIncomeWithdrawalsStatic.ts","webpack:///./applications/Dashboard/Components/Clients/EditIncomeWithdrawalsWizard/Stores/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Actions/GadReviewAction.ts","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/IncomePaymentDetails/BankDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/IncomePaymentDetails/ClientDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/IncomePaymentDetails/IncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/IncomePaymentDetails/PensionDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/Declaration.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/Documents.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/FinancialAdvice.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/IncomePaymentDetails/AssetsToSellTable.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/IncomePaymentDetails/BankDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/IncomePaymentDetails/IncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/IncomePaymentDetails/PaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/GadReviewWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Resource/Helper.ts","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Store/GadReviewInstructionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/GadReviewWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/InterestedPartiesWizard/Components/ClientDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/InterestedPartiesWizard/Components/InterestedPartyHelper.ts","webpack:///./applications/Dashboard/Components/Clients/InterestedPartiesWizard/InterestedPartiesWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Actions/NewBusinessAction.ts","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/ESignature/ESignaturePopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/AddAddress.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/Addresses.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/AdviserDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/ClientDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/ContactDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/FullClientDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/NationalIdentifier.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/NationalIdentifierPair.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/Nationality.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/TaxDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/TaxDetailFatca.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/TaxResidency.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/ISA/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/ISA/AdviserCharges/ChargesCopyOption.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/ISA/IST/InvestmentSelectionTool.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/ISA/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/LegacyProduct/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/NewBusinessWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/PersonalPortfolio/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/PersonalPortfolio/AdviserCharges/ChargesCopyOption.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/PersonalPortfolio/IST/InvestmentSelectionTool.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/PersonalPortfolio/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/Review/StepReview.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/DrawdownDetails/DrawdownDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/IST/IST.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/IncomePaymentDetails/CappedTransferRow.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/IncomePaymentDetails/FlexiTransferRow.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/IncomePaymentDetails/IncomeFromPension.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/IncomePaymentDetails/IncomePayment.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/IncomePaymentDetails/IncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/IncomePaymentDetails/TransferTotals.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SIPP/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapCash/WrapCashPaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/AdviceSection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/DisinvestmentStrategySection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/ISASection/ISASection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/JointAccountHolder.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/PPSection/AccountName.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/PPSection/PPSection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/SIPPSection/SIPPSection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/WrapperSelctionHelper.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Components/WrapperSelection/WrapperSelection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Resource/ClientAccountHelper.ts","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Resource/Contents.tsx","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Resource/EWizardLinterHelper.ts","webpack:///./applications/Dashboard/Components/Clients/NewBusinessWizard/Stores/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Actions/IncomePaymentOneOffAction.ts","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Components/IncomePaymentOneOffDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Components/IncomePaymentOneOffReview.tsx","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Components/Shared/BankDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Components/Shared/CalculateEstimatedPaye.tsx","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Components/Shared/OneOffIncomeTable.tsx","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Components/Shared/UserAssetsAllocationTable.tsx","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/NewIncomePaymentOneOffWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Store/IncomePaymentOneOffStatic.ts","webpack:///./applications/Dashboard/Components/Clients/NewOneOffIncomePaymentWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Actions/NewQuoteAction.ts","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/ISA/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/ISA/AdviserCharges/ChargesCopyOption.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/ISA/IST/InvestmentSelectionTool.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/ISA/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/NewQuoteWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/PP/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/PP/AdviserCharges/ChargesCopyOption.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/PP/IST/InvestmentSelectionTool.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/PP/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/QuoteReady/Document.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/QuoteReady/QuoteReady.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/QuoteReady/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/QuoteReady/StepReview.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/SIPP/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/SIPP/DrawdownDetails/DrawdownDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/SIPP/IST/InvestmentSelectionTool.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/SIPP/IncomePaymentDetails/IncomePayment.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/SIPP/IncomePaymentDetails/IncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/SIPP/IncomePaymentDetails/OneOffIncomePayment.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/SIPP/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/Shared/Utils.ts","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/WrapperSelection/ISASection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/WrapperSelection/PPSection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/WrapperSelection/SIPPSection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Components/WrapperSelection/WrapperSelection.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Resource/Content.tsx","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Store/ProductWrapperStatic.ts","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Store/QuoteClientInfoStatic.ts","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Store/QuoteInstructionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Store/SecondClientDetailsStatic.ts","webpack:///./applications/Dashboard/Components/Clients/NewQuoteWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/NoChangeWizard/Action/NoChangeAction.ts","webpack:///./applications/Dashboard/Components/Clients/NoChangeWizard/Components/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/NoChangeWizard/NoChangeToolWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/NoChangeWizard/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/NoChangeWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Actions/PensionBenefitsAction.ts","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Components/IncomePaymentDetails/CalculatedGADDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Components/IncomePaymentDetails/IncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Components/IncomePaymentDetails/OtherIncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Components/IncomePaymentDetails/RegularIncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Components/PensionBenefitsDetails/PensionBenefitsDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Components/Review/Declarations.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/PensionBenefitsWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Store/PensionBenefitsInstructionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PensionBenefitsWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Action/PortfolioDashboardAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Action/RestrictionReasonAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Activity/Activity.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Action/ClientReportAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/ClientReport.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Component/ClientReportPortfolio.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Component/ContentSettings.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Component/Perference.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Component/ReportBuilder.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Component/ReportReady.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Component/ReportReadyIcon.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Component/Setup.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ClientReport/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/MultiSelection.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/MultiselectAccountsDropdown.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/PortfolioDashboardComponent.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/PortfolioDashboardHeader.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/PortfolioDashboardHelper.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/PresentationViewButton.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/PresentationViewWrapper.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/SelectRegularPaymentPop.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Common/SlideNavigator.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Action/DocumentAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Action/DocumentFileAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Components/DocumentsFilter.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Components/FileUploader.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Documents.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Resource/Constant.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Resource/DocumentsHelper.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/EsgAnalyzer/EsgAccountSelector.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/EsgAnalyzer/EsgAnalyser.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Action/InsightsAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/AssetAllocationChart.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/AssetAllocationTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/AssetClassAllocationWidget.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/GeographicalAllocationMap.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/RegionAllocationPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/SectorAllocationTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/SectorAllocationWidget.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Components/TopTenChart.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Insights.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Store/InsightsStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Investment/Action/InvestmentAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Investment/CommonViewTbody.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Investment/Investment.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Investment/InvestmentTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Investment/Resource/Contents.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Investment/Store/InvestmentsStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Investment/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Legado/Action/LegadoAction.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Action/Action.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Components/ColumnExplain.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Components/DetailTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Components/IncomeTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Components/PerformanceChart.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Components/RealisedGainLossTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Components/SummaryTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Components/UnrealisedGainLossTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Performance.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/PortfolioDashboard.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Action/AccountAllowedStatusAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Action/IsaAllowanceOverviewAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Action/ProductOverviewChargeAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Action/ProductOverviewPaymentsInAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Action/ProductOverviewProductInformationAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Action/ProductOverviewWithdrawalAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/ChargesTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/IsaAllowanceOverview.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/IsaAllowanceOverviewChart.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/PaymentsIn/ActiveInstructions.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/PaymentsIn/CompletedInstructions.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/PaymentsIn/ProductOverviewPaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/PaymentsIn/Transfers.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/ProductOverView.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/ProductOverviewProductInformation.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Component/ProductOverviewWithdrawal.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Constant/Content.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Stores/ProductOverviewChargeStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Stores/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Action/AccountInfoAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Action/Action.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/AccountInfoPopUp/AccountDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/AccountInfoPopUp/AccountInformation.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/AccountInfoPopUp/ClientAccess.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/AccountInfoPopUp/PaperlessPerference.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/AccountInfoPopUp/ReportOptOut.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/CorrespondenceLightbox.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/InterestedParties.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/PortfolioClientRoleDiagram.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Components/TrustTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Roles.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Action/Action.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Components/AccountCard.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Components/AccountCards.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Components/AccountsSummaryTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Components/CashPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Components/CircleChart.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Components/ThreeDotsDropdown.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Summary/Summary.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/AccountTransfer/AccountTransfers.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Actions/AccountModelPortfolioActions.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Actions/BondRegularPaymentAction.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Actions/TransactionActions.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Cash/Cash.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Cash/CashDetailPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Charges/Charges.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Components/AdvancedSearch.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Components/TransactionHistoryPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/CorporateActions/CorporateActions.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/CorporateActions/CorporateActionsPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Investments/Investments.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Investments/TransactionDetailPopupView.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/PaymentsWithdrawals/PaymentsWithdrawals.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Store/AccountModelPortfolioStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Store/ChargesRedirectionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Store/TransactionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Summary/Components/ChargesTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Summary/Components/PaymentsInsTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Summary/Components/SummaryTables.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Summary/Components/WithdrawalsTable.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Summary/Resources/Content.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Summary/Summary.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Transactions/Transactions.tsx","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Store/BondRegularPaymentStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Store/LegadoConfigStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Store/PortfolioDashboardStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Store/RestrictionReasonStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/PortfolioDashboard/Store/Variables.ts","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Actions/RegularPaymentActions.ts","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Components/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Components/IST/IST.tsx","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Components/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/RegularPaymentWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Store/ExistingRegularPaymentsStatic.ts","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Store/RegularPaymentInstructionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/RegularPaymentWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/Sell/Action/SellAction.ts","webpack:///./applications/Dashboard/Components/Clients/Sell/Components/OrderSetup/OrderSetup.tsx","webpack:///./applications/Dashboard/Components/Clients/Sell/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/Sell/Components/SellInvestment/SellInvestment.tsx","webpack:///./applications/Dashboard/Components/Clients/Sell/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/Sell/SellWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/Sell/Store/SellStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/Sell/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Actions/SPTActions.ts","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Components/AdviserCharges/AdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Components/IST/IST.tsx","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Components/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/SinglePaymentTransferWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Store/STPInstructionStatic.ts","webpack:///./applications/Dashboard/Components/Clients/SinglePaymentTransferWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/Switch/Action/SwitchAction.ts","webpack:///./applications/Dashboard/Components/Clients/Switch/Components/OrderSetup/OrderSetup.tsx","webpack:///./applications/Dashboard/Components/Clients/Switch/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/Switch/Components/SwitchFrom/SwitchFromInvestment.tsx","webpack:///./applications/Dashboard/Components/Clients/Switch/Components/SwitchTo/SwitchToInvestment.tsx","webpack:///./applications/Dashboard/Components/Clients/Switch/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/Switch/Store/SwitchStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/Switch/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/Switch/SwitchWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Actions/ITFLSAction.ts","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/DocumentsAndDeclarations/DocumentsAndDeclarations.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/Drawdown/Drawdown.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/IST/IST.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/IncomePaymentDetails/IncomeFromPension.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/IncomePaymentDetails/IncomePayment.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/IncomePaymentDetails/IncomePaymentDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/PaymentsIn/PaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/Review/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Components/TopUpWithITFLSWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Stores/TopUpWithITFLSStoreStatic.ts","webpack:///./applications/Dashboard/Components/Clients/TopUpWithITFLSWizard/Stores/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/Actions/AccountLifetimeAllowanceAction.ts","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/Actions/UpdateLifetimeAllowanceAction.ts","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/Components/UpdateLifetimeAllowanceDetail.tsx","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/Store/AccountLifetimeAllowanceStatic.ts","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/Store/UpdateLifetimeAllowanceStatic.ts","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/UpdateLifetimeAllowanceWizard/UpdateLifetimeAllowanceWizard.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Action/WhatIfAction.ts","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/AdHocAdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/AddEditRegularWithdrawals.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/AddOneOffWithdrawal.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/ChangesToTheModel.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/ClientDetails.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/EditAdviserCharges.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/EditInvestmentSelection.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/EditPaymentsIn.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Components/Review.tsx","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Clients/WhatIfTool/WhatIfToolWizard.tsx","webpack:///./applications/Dashboard/Components/Common/BusinessDays/Actions/BusinessDaysAction.ts","webpack:///./applications/Dashboard/Components/CustomNavigation/Action/PortfolioViewActionMenuAdditionalInfoAction.ts","webpack:///./applications/Dashboard/Components/CustomNavigation/Component/ActionMenuHeader.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/Component/Footer.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/Component/NavigationSections.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/Component/PortfolioViewActionMenuOverlay.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/CustomNavigationMenu.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/Entities/IconMap.ts","webpack:///./applications/Dashboard/Components/CustomNavigation/Entities/MenuItemsHelper.ts","webpack:///./applications/Dashboard/Components/CustomNavigation/Entities/SubaccountSideMenuMap.ts","webpack:///./applications/Dashboard/Components/CustomNavigation/IParameterModel.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/SecuredCustomNavigation.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/SecuredCustomNavigationMenuOverlay.tsx","webpack:///./applications/Dashboard/Components/CustomNavigation/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Dashboard/Action/DashboardAction.ts","webpack:///./applications/Dashboard/Components/Dashboard/Action/NotificationAction.ts","webpack:///./applications/Dashboard/Components/Dashboard/Components/Common/DashboardDateRange.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Common/DashboardFilterLightbox.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Common/DashboardFilters.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Common/DashboardSummaryTiles.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Common/FilterTable.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Common/SavedFiltersDropdown.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/EmailNotification.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/ExistingNotifications.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/NewNotification.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/Notification.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/NotificationConfigurations.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/NotificationFilter.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/NotificationFilterForm.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/NotificationFilterSummaryTiles.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/NotificationTable.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Notification/NotificationsExplained.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/SecuredDashboard.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Workflow/DashboardFilterForm.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Workflow/TransferTracker.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Workflow/Workflow.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Components/Workflow/WorkflowFilterSummaryTiles.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Resource/Content.tsx","webpack:///./applications/Dashboard/Components/Dashboard/Resource/WorkflowHelper.ts","webpack:///./applications/Dashboard/Components/Dashboard/Store/DashboardFilterStoreStatic.ts","webpack:///./applications/Dashboard/Components/Dashboard/Store/NotificationFilterStoreStatic.ts","webpack:///./applications/Dashboard/Components/Dashboard/Store/Variable.ts","webpack:///./applications/Dashboard/Components/Reports/Actions/ReportsAction.ts","webpack:///./applications/Dashboard/Components/Reports/Components/RemunerationStatement.tsx","webpack:///./applications/Dashboard/Components/Reports/Components/RemunerationStatementSearchResultTable.tsx","webpack:///./applications/Dashboard/Components/Reports/Resource/Contents.ts","webpack:///./applications/Dashboard/Components/Secured.tsx","webpack:///./applications/Dashboard/Components/SecuredFooter.tsx","webpack:///./applications/Dashboard/Components/SecuredHeader.tsx","webpack:///./applications/Dashboard/Components/SecuredMainNavigation.tsx","webpack:///./applications/Dashboard/Components/SecuredSearch.tsx","webpack:///./applications/Dashboard/Components/SelectAccountLightbox.tsx","webpack:///./applications/Dashboard/Components/Settings/Action/UIThemeAction.ts","webpack:///./applications/Dashboard/Components/Settings/AddLogo/Action/AddLogoAction.ts","webpack:///./applications/Dashboard/Components/Settings/AddLogo/Component/AddLogo.tsx","webpack:///./applications/Dashboard/Components/Settings/AddLogo/Component/AddLogoWizard.tsx","webpack:///./applications/Dashboard/Components/Settings/AddLogo/Resource/Content.ts","webpack:///./applications/Dashboard/Components/Settings/Settings.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Action/LiteratureAction.ts","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/CashDepositResearchResultTable.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/Icons/AbacusIcon.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/Icons/CappedDrawdownCalculatorIcon.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/Icons/FundResearchIcon.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/Icons/MyFolioIcon.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/Icons/PensionForwardCalculatorIcon.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/Literature.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/ResearchInvestmentSeletionTool.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/ResearchResultTable.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Components/Tool.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Resource/Content.tsx","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Store/ResearchIstStoreStatic.ts","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/Store/Variable.ts","webpack:///./applications/Dashboard/Components/ToolsAndLiterature/ToolsAndLiterature.tsx","webpack:///./applications/Dashboard/Components/Workflow/Action/CommentsAndDocumentsLoadAction.ts","webpack:///./applications/Dashboard/Components/Workflow/Action/DemandTypeSearchAction.ts","webpack:///./applications/Dashboard/Components/Workflow/Action/DisinvestmentStrategyTypeSearchAction.ts","webpack:///./applications/Dashboard/Components/Workflow/Action/HistoricWorkflowSearchAction.ts","webpack:///./applications/Dashboard/Components/Workflow/CommentsAndDocumentsResultTable.tsx","webpack:///./applications/Dashboard/Components/Workflow/HistoricWorkflowDashboard.tsx","webpack:///./applications/Dashboard/Components/Workflow/HistoricWorkflowResultTable.tsx","webpack:///./applications/Dashboard/Resoures/Contents.ts","webpack:///./applications/Dashboard/Resoures/DashboardContents.ts","webpack:///./applications/Dashboard/Resoures/StaticUrls.ts","webpack:///./applications/Dashboard/Stroes/AccountRoleStoreStatic.ts","webpack:///./applications/Dashboard/Stroes/AccountStoreStatic.ts","webpack:///./applications/Dashboard/Stroes/FirmLogoStoreStatic.ts","webpack:///./applications/Dashboard/Stroes/ProductDetailsStoreStatic.ts","webpack:///./applications/Dashboard/Stroes/TreasuredAssetsStoreStatic.ts","webpack:///./applications/Dashboard/Stroes/UserStoreStatic.ts","webpack:///./applications/Dashboard/Stroes/Variable.ts","webpack:///./applications/Dashboard/Urls.ts","webpack:///./applications/Shared/Actions/Action.ts","webpack:///./applications/Shared/Address/Address.tsx","webpack:///./applications/Shared/Chart/ColumnChart.tsx","webpack:///./applications/Shared/Chart/LineChart/LineChart.component.tsx","webpack:///./applications/Shared/Chart/LongLabelsBarChart.tsx","webpack:///./applications/Shared/CheckboxGroup/CheckboxGroup.tsx","webpack:///./applications/Shared/CoachMarkers/CoachMarker.tsx","webpack:///./applications/Shared/CoachMarkers/CoachMarkerContext.tsx","webpack:///./applications/Shared/Common/AddressHelper.ts","webpack:///./applications/Shared/Common/Common.ts","webpack:///./applications/Shared/Common/HierarchyIdHelper.ts","webpack:///./applications/Shared/Common/MoneyHelper.ts","webpack:///./applications/Shared/Common/RestrictionHelper.ts","webpack:///./applications/Shared/Common/UserMessages.ts","webpack:///./applications/Shared/Components/Alert.tsx","webpack:///./applications/Shared/Components/AutoHeight.tsx","webpack:///./applications/Shared/Components/DateRange.tsx","webpack:///./applications/Shared/Components/ErrorMessagePopup.tsx","webpack:///./applications/Shared/Components/Resource/Contents.ts","webpack:///./applications/Shared/Components/TableTempElement.tsx","webpack:///./applications/Shared/Cookies/ChoicesCookie/AdviserSiteTagManager.ts","webpack:///./applications/Shared/DownloadButton/Actions/DownloadButtonAction.ts","webpack:///./applications/Shared/DownloadButton/DownloadButton.tsx","webpack:///./applications/Shared/DownloadButton/MultiDownloadButton.tsx","webpack:///./applications/Shared/DragSort/DragSort.tsx","webpack:///./applications/Shared/Dropdown/TextAndDots.tsx","webpack:///./applications/Shared/Dropdown/TextAndDotsDropdown.tsx","webpack:///./applications/Shared/Entities/Constants/AlertConstants.ts","webpack:///./applications/Shared/Entities/Constants/DateConstants.ts","webpack:///./applications/Shared/Entities/Maps/CountryCodeMap.ts","webpack:///./applications/Shared/Entities/Maps/GenderMap.ts","webpack:///./applications/Shared/Entities/Maps/ServicePropositionMap.ts","webpack:///./applications/Shared/Entities/Maps/TitleMap.ts","webpack:///./applications/Shared/ExcelExport/Actions/ExcelExportAction.ts","webpack:///./applications/Shared/ExcelExport/ExcelExportButton.tsx","webpack:///./applications/Shared/ExcelExport/Store/ExcelExportStatic.ts","webpack:///./applications/Shared/ExcelExport/Store/Variable.ts","webpack:///./applications/Shared/GoogleTagManager/TagManagerBase.ts","webpack:///./applications/Shared/IST/Action/InvestmentSelectionAction.ts","webpack:///./applications/Shared/IST/Components/AdviserPortfolios.tsx","webpack:///./applications/Shared/IST/Components/AllocationTable.tsx","webpack:///./applications/Shared/IST/Components/DecisionMaker.tsx","webpack:///./applications/Shared/IST/Components/Deposits/DepositSearchResult.tsx","webpack:///./applications/Shared/IST/Components/Deposits/Deposits.tsx","webpack:///./applications/Shared/IST/Components/Deposits/DepositsSearch.tsx","webpack:///./applications/Shared/IST/Components/DistributionOption.tsx","webpack:///./applications/Shared/IST/Components/ExchangeTraded/ExchangeTraded.tsx","webpack:///./applications/Shared/IST/Components/ExchangeTraded/ExchangeTradedResults.tsx","webpack:///./applications/Shared/IST/Components/ExchangeTraded/ExchangeTradedSearch.tsx","webpack:///./applications/Shared/IST/Components/Funds/FundCodesSearch.tsx","webpack:///./applications/Shared/IST/Components/Funds/FundSearchResult.tsx","webpack:///./applications/Shared/IST/Components/Funds/Funds.tsx","webpack:///./applications/Shared/IST/Components/Funds/FundsSearch.tsx","webpack:///./applications/Shared/IST/Components/Funds/InvalideCodeWarning.tsx","webpack:///./applications/Shared/IST/Components/HubPortfolio/HubPortfolioSearch.tsx","webpack:///./applications/Shared/IST/Components/HubPortfolio/HubPortfolios.tsx","webpack:///./applications/Shared/IST/Components/HubPortfolio/PortfolioResults.tsx","webpack:///./applications/Shared/IST/Components/ManageIncome.tsx","webpack:///./applications/Shared/IST/Components/Reuse.tsx","webpack:///./applications/Shared/IST/Components/ReuseInvesment.tsx","webpack:///./applications/Shared/IST/Components/Shared/AdvancedSearch.tsx","webpack:///./applications/Shared/IST/Components/Shared/AllocationTableHelper.tsx","webpack:///./applications/Shared/IST/Components/Shared/AutoComplete.tsx","webpack:///./applications/Shared/IST/Components/Shared/FavouritesToggle.tsx","webpack:///./applications/Shared/IST/Components/Shared/SearchTabs.tsx","webpack:///./applications/Shared/IST/Components/Shared/UnderlyingTable.tsx","webpack:///./applications/Shared/IST/Components/Shared/Utils.ts","webpack:///./applications/Shared/IST/InvestmentSelectionTool.tsx","webpack:///./applications/Shared/IST/Resource/Content.ts","webpack:///./applications/Shared/IST/Store/ReRegTransferStoreStatic.ts","webpack:///./applications/Shared/IST/Store/SelectedInvesmentStoreStatic.ts","webpack:///./applications/Shared/IST/Store/Variable.ts","webpack:///./applications/Shared/Impact/Action/ImpactRedirectAction.ts","webpack:///./applications/Shared/LoadingSkeleton/LoadingSkeleton.tsx","webpack:///./applications/Shared/LoadingSkeleton/LoadingSkeletonWrapper.tsx","webpack:///./applications/Shared/Money/MoneyDisplayWithUpperDecimal.component.tsx","webpack:///./applications/Shared/PercentageOrMoney/PercentageOrMoney.tsx","webpack:///./applications/Shared/Permission/Action/PermissionAction.ts","webpack:///./applications/Shared/Permission/Permission.tsx","webpack:///./applications/Shared/Permission/PermissionHelper.ts","webpack:///./applications/Shared/Permission/Store/Variables.ts","webpack:///./applications/Shared/Process/AccountContextWizardComponent.tsx","webpack:///./applications/Shared/Process/AppLogo.tsx","webpack:///./applications/Shared/Process/Process/Confirmation.tsx","webpack:///./applications/Shared/Process/Process/ErrorMsg.tsx","webpack:///./applications/Shared/Process/Process/EyeIcon.tsx","webpack:///./applications/Shared/Process/Process/IsaFolderIcon.tsx","webpack:///./applications/Shared/Process/Process/OffshoreBondFolderIcon.tsx","webpack:///./applications/Shared/Process/Process/OnshoreBondFolerIcon.tsx","webpack:///./applications/Shared/Process/Process/PPFolderIcon.tsx","webpack:///./applications/Shared/Process/Process/Process.tsx","webpack:///./applications/Shared/Process/Process/ProcessComponent.tsx","webpack:///./applications/Shared/Process/Process/ProcessHeader.tsx","webpack:///./applications/Shared/Process/Process/ProcessLeftbar.tsx","webpack:///./applications/Shared/Process/Process/ProcessNavigateBtn.tsx","webpack:///./applications/Shared/Process/Process/ProcessStepper.tsx","webpack:///./applications/Shared/Process/Process/ProcessStepperMobile.tsx","webpack:///./applications/Shared/Process/Process/ProcessSubStepper.tsx","webpack:///./applications/Shared/Process/Process/SippFolderIcon.tsx","webpack:///./applications/Shared/Process/Process/Transition.tsx","webpack:///./applications/Shared/Process/Process/TransitionalConfirmation.tsx","webpack:///./applications/Shared/Process/Process/TrophyIcon.tsx","webpack:///./applications/Shared/Process/Process/WcFolderIcon.tsx","webpack:///./applications/Shared/Process/Process/WizardLinter.tsx","webpack:///./applications/Shared/Process/WizardComponent.tsx","webpack:///./applications/Shared/Process/WizardComponentGeneric.tsx","webpack:///./applications/Shared/QuantitySwitch/QuantitySwitch.tsx","webpack:///./applications/Shared/SearchInput/SearchInput.tsx","webpack:///./applications/Shared/Session/Flux/ExtendSessionActions.ts","webpack:///./applications/Shared/Session/Flux/SessionInfoActions.ts","webpack:///./applications/Shared/Session/Flux/SessionSettingActions.ts","webpack:///./applications/Shared/Session/Flux/Variables.ts","webpack:///./applications/Shared/Session/Resources/TimeoutContent.ts","webpack:///./applications/Shared/Session/SessionTimeoutComponent.tsx","webpack:///./applications/Shared/Session/TimeoutWillExpireLightbox.tsx","webpack:///./applications/Shared/Stores/SharedStoreStatic.ts","webpack:///./applications/Shared/Stores/SingleDataStore.ts","webpack:///./applications/Shared/Stores/SingleDataStoreDispacher.ts","webpack:///./applications/Shared/Stores/Variable.ts","webpack:///./applications/Shared/Tab/Tab.tsx","webpack:///./applications/Shared/Table/Components/TableCell.tsx","webpack:///./applications/Shared/Table/Components/TableExpand.tsx","webpack:///./applications/Shared/Table/Components/TableHeader.tsx","webpack:///./applications/Shared/Table/Components/TableRow.tsx","webpack:///./applications/Shared/Table/ScrollTable.tsx","webpack:///./applications/Shared/Table/Table.tsx","webpack:///./applications/Shared/Table/Utils/TableUtils.ts","webpack:///./applications/Shared/TableColFilter/Action/Action.ts","webpack:///./applications/Shared/TableColFilter/Resource/Content.ts","webpack:///./applications/Shared/TableColFilter/Store/TableColSettings.ts","webpack:///./applications/Shared/TableColFilter/Store/Variable.ts","webpack:///./applications/Shared/TableColFilter/TableColEditor.tsx","webpack:///./applications/Shared/TableColFilter/TableColFilter.tsx","webpack:///./applications/Shared/Tooltip/AriaTooltip.tsx","webpack:///./applications/Shared/Typography/Typography.tsx","webpack:///./applications/Shared/Utils/ArrayUtils.ts","webpack:///./applications/Shared/Wizards/Entities/Navigator.ts","webpack:///./applications/Shared/Wizards/Entities/QueryParametersHelper.ts","webpack:///./applications/Site/Questions/PartComponents/UploadForm.tsx","webpack:///./applications/Site/Questions/Resouces/Contents.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/classNames/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/create-react-class/factory.js","webpack:///./node_modules/create-react-class/index.js","webpack:///./node_modules/create-react-class/node_modules/object-assign/index.js","webpack:///./node_modules/dom-helpers/esm/addClass.js","webpack:///./node_modules/dom-helpers/esm/hasClass.js","webpack:///./node_modules/dom-helpers/esm/removeClass.js","webpack:///./node_modules/highcharts-react-official/dist/highcharts-react.min.js","webpack:///./node_modules/highcharts/highcharts.js","webpack:///./node_modules/highcharts/highstock.js","webpack:///./node_modules/history/lib/Actions.js","webpack:///./node_modules/history/lib/AsyncUtils.js","webpack:///./node_modules/history/lib/BrowserProtocol.js","webpack:///./node_modules/history/lib/DOMStateStorage.js","webpack:///./node_modules/history/lib/DOMUtils.js","webpack:///./node_modules/history/lib/ExecutionEnvironment.js","webpack:///./node_modules/history/lib/HashProtocol.js","webpack:///./node_modules/history/lib/LocationUtils.js","webpack:///./node_modules/history/lib/PathUtils.js","webpack:///./node_modules/history/lib/RefreshProtocol.js","webpack:///./node_modules/history/lib/createBrowserHistory.js","webpack:///./node_modules/history/lib/createHashHistory.js","webpack:///./node_modules/history/lib/createHistory.js","webpack:///./node_modules/history/lib/createMemoryHistory.js","webpack:///./node_modules/history/lib/runTransitionHook.js","webpack:///./node_modules/history/lib/useBasename.js","webpack:///./node_modules/history/lib/useQueries.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/jquery-ui/ui/keycode.js","webpack:///./node_modules/jquery-ui/ui/position.js","webpack:///./node_modules/jquery-ui/ui/safe-active-element.js","webpack:///./node_modules/jquery-ui/ui/unique-id.js","webpack:///./node_modules/jquery-ui/ui/version.js","webpack:///./node_modules/jquery-ui/ui/widget.js","webpack:///./node_modules/jquery-ui/ui/widgets/autocomplete.js","webpack:///./node_modules/jquery-ui/ui/widgets/menu.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/lodash/lodash.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/prop-types/node_modules/object-assign/index.js","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/react-collapse/lib/Collapse.js","webpack:///./node_modules/react-collapse/lib/UnmountClosed.js","webpack:///./node_modules/react-collapse/lib/index.js","webpack:///./node_modules/react-dom/cjs/react-dom.development.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/react-dom/node_modules/object-assign/index.js","webpack:///./node_modules/react-is/cjs/react-is.development.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/react-router/es/AsyncUtils.js","webpack:///./node_modules/react-router/es/ContextUtils.js","webpack:///./node_modules/react-router/es/IndexLink.js","webpack:///./node_modules/react-router/es/IndexRedirect.js","webpack:///./node_modules/react-router/es/IndexRoute.js","webpack:///./node_modules/react-router/es/InternalPropTypes.js","webpack:///./node_modules/react-router/es/Link.js","webpack:///./node_modules/react-router/es/PatternUtils.js","webpack:///./node_modules/react-router/es/PromiseUtils.js","webpack:///./node_modules/react-router/es/PropTypes.js","webpack:///./node_modules/react-router/es/Redirect.js","webpack:///./node_modules/react-router/es/Route.js","webpack:///./node_modules/react-router/es/RouteUtils.js","webpack:///./node_modules/react-router/es/Router.js","webpack:///./node_modules/react-router/es/RouterContext.js","webpack:///./node_modules/react-router/es/RouterUtils.js","webpack:///./node_modules/react-router/es/TransitionUtils.js","webpack:///./node_modules/react-router/es/applyRouterMiddleware.js","webpack:///./node_modules/react-router/es/browserHistory.js","webpack:///./node_modules/react-router/es/computeChangedRoutes.js","webpack:///./node_modules/react-router/es/createMemoryHistory.js","webpack:///./node_modules/react-router/es/createRouterHistory.js","webpack:///./node_modules/react-router/es/createTransitionManager.js","webpack:///./node_modules/react-router/es/getComponents.js","webpack:///./node_modules/react-router/es/getRouteParams.js","webpack:///./node_modules/react-router/es/hashHistory.js","webpack:///./node_modules/react-router/es/index.js","webpack:///./node_modules/react-router/es/isActive.js","webpack:///./node_modules/react-router/es/match.js","webpack:///./node_modules/react-router/es/matchRoutes.js","webpack:///./node_modules/react-router/es/routerWarning.js","webpack:///./node_modules/react-router/es/useRouterHistory.js","webpack:///./node_modules/react-router/es/withRouter.js","webpack:///./node_modules/react-transition-group/esm/CSSTransition.js","webpack:///./node_modules/react-transition-group/esm/ReplaceTransition.js","webpack:///./node_modules/react-transition-group/esm/SwitchTransition.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/index.js","webpack:///./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/esm/utils/PropTypes.js","webpack:///./node_modules/react/cjs/react.development.js","webpack:///./node_modules/react/index.js","webpack:///./node_modules/react/node_modules/object-assign/index.js","webpack:///./node_modules/scheduler/cjs/scheduler-tracing.development.js","webpack:///./node_modules/scheduler/cjs/scheduler.development.js","webpack:///./node_modules/scheduler/index.js","webpack:///./node_modules/scheduler/tracing.js","webpack:///./node_modules/strict-uri-encode/index.js","webpack:///./node_modules/warning/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///./pages/DLU/ApplicationStart.tsx","webpack:///./react-core/Async/AjaxWrapper.ts","webpack:///./react-core/Async/Async.ts","webpack:///./react-core/Async/IPromiseResult.ts","webpack:///./react-core/Async/LazyAsyncronousFunction.ts","webpack:///./react-core/Async/Promise.ts","webpack:///./react-core/Async/PromisesGroup.ts","webpack:///./react-core/Datepicker/Calendar.tsx","webpack:///./react-core/Datepicker/DatePicker.tsx","webpack:///./react-core/Datepicker/Day.tsx","webpack:///./react-core/Datepicker/Month.tsx","webpack:///./react-core/Datepicker/Resources/ContentContent.ts","webpack:///./react-core/Datepicker/Week.tsx","webpack:///./react-core/Datepicker/YearDropdown.tsx","webpack:///./react-core/Enums/Dictionaries/CurrencySymbolDictionary.ts","webpack:///./react-core/Enums/Gender.ts","webpack:///./react-core/Flux/Actions.ts","webpack:///./react-core/Flux/BaseApiStore.ts","webpack:///./react-core/Flux/BaseStore.ts","webpack:///./react-core/Flux/CacheablePayloadStore.ts","webpack:///./react-core/Flux/Context/ContextStoreStatic.ts","webpack:///./react-core/Flux/ContextActions.ts","webpack:///./react-core/Flux/Dispatcher.ts","webpack:///./react-core/Flux/EventPublisher.ts","webpack:///./react-core/Flux/Hooks/useSubscribeToStore.ts","webpack:///./react-core/Flux/Lightboxes/LightboxActionsCreator.ts","webpack:///./react-core/Flux/Navigation/NavigationActionsStatic.ts","webpack:///./react-core/Flux/Navigation/NavigationStoreStatic.ts","webpack:///./react-core/Flux/PayloadStore.ts","webpack:///./react-core/Flux/Routes/RoutingActionsStatic.ts","webpack:///./react-core/Flux/Variables.ts","webpack:///./react-core/Helpers/CommonHelper.ts","webpack:///./react-core/Helpers/CookieHelper.ts","webpack:///./react-core/Helpers/DateHelper.ts","webpack:///./react-core/Helpers/IntervalManager.ts","webpack:///./react-core/Helpers/MoneyDisplayHelper.ts","webpack:///./react-core/Helpers/StringHelper.tsx","webpack:///./react-core/Helpers/TimerManager.ts","webpack:///./react-core/Html/Accordion.tsx","webpack:///./react-core/Html/Address/AddressDisplay.tsx","webpack:///./react-core/Html/Address/AddressDisplayFields.tsx","webpack:///./react-core/Html/Address/AddressEditorFields.tsx","webpack:///./react-core/Html/Address/PostCodeAnywhereSearch.tsx","webpack:///./react-core/Html/Address/PostCodeAnywhereSearchEditor.tsx","webpack:///./react-core/Html/BaseComponent.tsx","webpack:///./react-core/Html/BaseEditor.tsx","webpack:///./react-core/Html/BaseFormElement.tsx","webpack:///./react-core/Html/BaseListInput.tsx","webpack:///./react-core/Html/BaseTextBox.tsx","webpack:///./react-core/Html/BaseTextBoxEditor.tsx","webpack:///./react-core/Html/Button.tsx","webpack:///./react-core/Html/Checkbox.tsx","webpack:///./react-core/Html/CheckboxEditor.tsx","webpack:///./react-core/Html/CircleBtn.tsx","webpack:///./react-core/Html/Components/FullScreenTableModeButton.tsx","webpack:///./react-core/Html/Components/Lightbox.tsx","webpack:///./react-core/Html/Components/MultiselectDropdown.tsx","webpack:///./react-core/Html/Components/Portal.tsx","webpack:///./react-core/Html/Components/TableFilterDropdown.tsx","webpack:///./react-core/Html/Components/Timer/CountdownCircle.tsx","webpack:///./react-core/Html/Components/Timer/TimerThatWorksInInactiveTabs.tsx","webpack:///./react-core/Html/DateTextBox.tsx","webpack:///./react-core/Html/DateTextBoxEditor.tsx","webpack:///./react-core/Html/Div.tsx","webpack:///./react-core/Html/DropdownPrimary.tsx","webpack:///./react-core/Html/Factories/RadiosFactory.tsx","webpack:///./react-core/Html/Factories/SelectEditorFactory.tsx","webpack:///./react-core/Html/Factories/SelectFactory.tsx","webpack:///./react-core/Html/FormComponent.tsx","webpack:///./react-core/Html/ImageOptionDropdown.tsx","webpack:///./react-core/Html/LabelPosition.ts","webpack:///./react-core/Html/Money/MoneyTextBoxEditor.tsx","webpack:///./react-core/Html/NumberTextBox.tsx","webpack:///./react-core/Html/NumberTextBoxEditor.tsx","webpack:///./react-core/Html/Pager.tsx","webpack:///./react-core/Html/PagerComponents/PagerDropdown.tsx","webpack:///./react-core/Html/PagerComponents/PagerLinks.tsx","webpack:///./react-core/Html/PagerComponents/ResultsPerPage.tsx","webpack:///./react-core/Html/PartLoading.tsx","webpack:///./react-core/Html/PercentageTextBoxEditor.tsx","webpack:///./react-core/Html/RadioGroup.tsx","webpack:///./react-core/Html/Radios.tsx","webpack:///./react-core/Html/RadiosEditor.tsx","webpack:///./react-core/Html/Resources/Content.ts","webpack:///./react-core/Html/Resources/CurrencySymbolDictionary.ts","webpack:///./react-core/Html/SVGicon.tsx","webpack:///./react-core/Html/Select.tsx","webpack:///./react-core/Html/SelectEditor.tsx","webpack:///./react-core/Html/Spinner.tsx","webpack:///./react-core/Html/TextBox.tsx","webpack:///./react-core/Html/TextBoxEditor.tsx","webpack:///./react-core/Html/ToggleButtonTwoOptions.tsx","webpack:///./react-core/Html/Validation/NumericValueRules.ts","webpack:///./react-core/Html/Validation/RawValueRules.ts","webpack:///./react-core/Html/Validation/RegExPatterns.ts","webpack:///./react-core/Html/Validation/TypedValueValidator.ts","webpack:///./react-core/Html/Validation/Validator.ts","webpack:///./react-core/Html/ValidationErrorsContainer.tsx","webpack:///./react-core/Imports.ts","webpack:///./react-core/Routing/NestedRouteFragment.ts","webpack:///./react-core/Routing/ParametrizedRouteFragment.ts","webpack:///./react-core/Routing/RootRoute.ts","webpack:///./react-core/Routing/RouteFragment.ts","webpack:///./react-core/Routing/RouteHelper.ts","webpack:///./react-core/Routing/Router.tsx","webpack:///./react-core/Routing/UrlHelper.ts","webpack:///./react-core/Utils/Antiforgery.ts","webpack:///./react-core/Utils/Arrays.ts","webpack:///./react-core/Utils/Assert.ts","webpack:///./react-core/Utils/Date.ts","webpack:///./react-core/Utils/Enum.ts","webpack:///./react-core/Utils/Guid.ts","webpack:///./react-core/Utils/JsonDateParser.ts","webpack:///./react-core/Utils/Math.ts","webpack:///./react-core/Utils/Money.ts","webpack:///./react-core/Utils/Numbers.ts","webpack:///./react-core/Utils/ObjectComparer.ts","webpack:///./react-core/Utils/Objects.ts","webpack:///./react-core/Utils/OnClickOutside.ts","webpack:///./react-core/Utils/RoutesHelper.ts","webpack:///./react-core/Utils/Scroll.ts","webpack:///./react-core/Utils/String.ts","webpack:///./react-core/utils/date.ts"],"names":[],"mappings":"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CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,cAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,CAAC,IAAI,eAAiB,CAAC;QAC9B,OAAO,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CAAC,4FAAe;;AAErC;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,MAAM,EAEN;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,gBAAgB,QAAQ;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,0BAA0B;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,WAAW;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA,KAAK;AACL;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,UAAU,IAAqC;AAC/C;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,IAAqC;AACjD;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;;AAEA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA,gBAAgB,IAAqC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA;AACA;AACA,cAAc,IAAqC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,cAAc,IAAqC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;ACz+BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,YAAY,mBAAO,CAAC,4CAAO;AAC3B,cAAc,mBAAO,CAAC,+DAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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A;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,KAAqC,iEAAiE,qCAAqC,SAAM;;AAErJ;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC,iEAAiE,8DAA8D,SAAM;;AAEhL;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,iEAAiE,4DAA4D,SAAM;;AAE9K;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC,iEAAiE,8DAA8D,SAAM;;AAEhL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AChDa;;AAEb;AACA,0H;;;;;;;;;;;;ACHa;;AAEb;AACA;;AAEA,uBAAuB,mBAAO,CAAC,wEAAmB;;AAElD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,eAAe,mBAAO,CAAC,kDAAS;;AAEhC;;AAEA,qBAAqB,mBAAO,CAAC,oEAAiB;;AAE9C,gBAAgB,mBAAO,CAAC,0DAAY;;AAEpC,uBAAuB,mBAAO,CAAC,wEAAmB;;AAElD,iBAAiB,mBAAO,CAAC,4DAAa;;AAEtC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA,k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AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wFAAwF,aAAa;AACrG;AACA;;AAEA;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,8B;;;;;;;;;;;;AC5Ga;;AAEb;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,mBAAmB,mBAAO,CAAC,0DAAc;;AAEzC,yBAAyB,mBAAO,CAAC,4EAAqB;;AAEtD;;AAEA,qBAAqB,mBAAO,CAAC,oEAAiB;;AAE9C,iBAAiB,mBAAO,CAAC,4DAAa;;AAEtC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wFAAwF,aAAa;AACrG;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,6B;;;;;;;;;;;;ACxHa;;AAEb,cAAc,mBAAO,CAAC,kDAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,yBAAyB,EAAE;AACrE;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA;;;;;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ,EAAE,yEAAQ,EAAE,8EAAW,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AAC9C,EAAE,MAAM,EAIN;AACF,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;AC5CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ,EAAE,yEAAQ,EAAE,8EAAW,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AAC9C,EAAE,MAAM,EAIN;AACF,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,kBAAkB,WAAW,YAAY,gBAAgB;AACnF,8BAA8B,WAAW;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,kBAAkB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,eAAe;AACnD,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;AAED;;AAEA,CAAC;;;;;;;;;;;;ACjfD;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ,EAAE,yEAAQ,EAAE,8EAAW,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AAC9C,EAAE,MAAM,EAIN;AACF,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ,EAAE,yEAAQ,EAAE,8EAAW,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AAC9C,EAAE,MAAM,EAIN;AACF,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED,CAAC;;;;;;;;;;;;AChDD;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ,EAAE,yEAAQ,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AACjC,EAAE,MAAM,EAIN;AACF,CAAC;;AAED;;AAEA;;AAEA,CAAC;;;;;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ,EAAE,yEAAQ,EAAE,8EAAW,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AAC9C,EAAE,MAAM,EAIN;AACF,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,cAAc,+BAA+B;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,0BAA0B;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,6BAA6B;AAC7B;;AAEA;;AAEA,8CAA8C,OAAO,WAAW;AAChE;AACA;AACA;AACA;AACA,oDAAoD;AACpD,gBAAgB,sBAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,4BAA4B,kBAAkB;AAC9C,EAAE;;AAEF;AACA,4BAA4B,iBAAiB;AAC7C,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,kCAAkC;AAC3C;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,CAAC;;AAED;;AAEA,CAAC;;;;;;;;;;;;AC5tBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ;AACV,GAAG,yEAAQ;AACX,GAAG,gFAAQ;AACX,GAAG,+EAAY;AACf,GAAG,iFAAa;AAChB,GAAG,uGAAwB;AAC3B,GAAG,+EAAY;AACf,GAAG,6EAAW;AACd,GAAG,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AACd,EAAE,MAAM,EAIN;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA,mDAAmD,aAAa;;AAEhE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA,oDAAoD,aAAa;AACjE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,gBAAgB,cAAc;AAC9B,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,oCAAoC,0BAA0B;AAC9D;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,kCAAkC;AAClC,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA,CAAC;;;;;;;;;;;;ACzqBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;;AAEhD;AACA,EAAE,iCAAQ;AACV,GAAG,yEAAQ;AACX,GAAG,+EAAY;AACf,GAAG,iFAAa;AAChB,GAAG,uGAAwB;AAC3B,GAAG,mFAAc;AACjB,GAAG,+EAAY;AACf,GAAG,6EAAW;AACd,GAAG,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAE;AACd,EAAE,MAAM,EAIN;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,aAAa;AAC/C,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,oBAAoB;AACrD;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,sDAAsD;AACtD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,CAAC;;AAED,CAAC;;;;;;;;;;;;AChqBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,MAAM,KAA0B;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;;AAEpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF,6CAA6C;AAC7C;AACA;AACA,kBAAkB,kCAAkC;AACpD,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,YAAY;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,kCAAkC,IAAI;AACtC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0BAA0B;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA,gBAAgB,IAAI;;AAEpB;AACA;;AAEA;;AAEA;AACA;AACA,0CAA0C,IAAI;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS;;AAET;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ,6BAA6B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,eAAe;;AAEf,SAAS;;AAET;AACA,QAAQ,iCAAiC;AACzC,QAAQ,oBAAoB;AAC5B,QAAQ,sCAAsC;AAC9C,QAAQ;AACR,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,iEAAiE,UAAU;AAC3E,sCAAsC,2BAA2B;AACjE;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,YAAY,uEAAuE;AACnF;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,4DAA4D;;AAE5D;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,QAAQ,SAAS;AACjB;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iDAAiD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,UAAU,4CAA4C;AACtD;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA,CAAC;;;;AAID;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,QAAQ,GAAG;AACX;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB,0BAA0B,wBAAwB;;AAElD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,0CAA0C;AAC1C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;;;AAIA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA,OAAO;AACP,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wCAAwC,sCAAsC;AAC9E,oCAAoC,uCAAuC;AAC3E,oCAAoC,sCAAsC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,OAAO;AACP;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC,qCAAqC;AACrC,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,aAAa;AACpC,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;AAGA;;AAEA;;;;AAIA;AACA;AACA,GAAG;AACH,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,gBAAgB;AAClB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,sBAAsB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,cAAc;;AAExB;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uCAAuC;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,uDAAuD;AAC9E;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,cAAc,qCAAqC;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,+BAA+B;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,SAAS,qCAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA,SAAS,8BAA8B;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAW;AACpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA+C,cAAc,WAAW;AACxE,mBAAmB,UAAU;AAC7B;AACA,sBAAsB,cAAc,sBAAsB,gBAAgB;AAC1E,gBAAgB,WAAW,YAAY;AACvC,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,+DAA+D;AAC3E;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;;AAEf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,QAAQ,OAAO;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,iDAAiD,0BAA0B;AAC3E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,gBAAgB;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,cAAc;AAClC,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,UAAU,kBAAkB;AAC5B,WAAW,kBAAkB;AAC7B,cAAc;AACd,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;AAKD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA,iCAAiC;AACjC;AACA;;AAEA,IAAI;AACJ;;AAEA,IAAI;AACJ;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;;AAGA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAqC;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA,aAAa;;AAEb;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb,KAAK;AACL;;AAEA,WAAW;AACX,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA,sBAAsB;AACtB,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,mDAAmD;AACnD;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA,cAAc,sDAAsD;AACpE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,cAAc,mCAAmC;AACjD,eAAe,6DAA6D;AAC5E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,EAAE;AACF,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;;;AAKF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK,IAA0C;AAC/C,CAAC,iCAAkB,EAAE,mCAAE;AACvB;AACA,EAAE;AAAA,oGAAE;AACJ;;;;;AAKA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA,CAAC;;;;;;;;;;;;ACvnVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA,2DAA2D;;AAE3D;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB,yBAAyB;AACzB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,MAAM,aAAa,OAAO;;AAEpD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2CAA2C,EAAE;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,eAAe;AACf;;AAEA;AACA;AACA,UAAU;AACV,SAAS;AACT,SAAS;AACT,WAAW;AACX,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,KAA0B;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,MAAM;AACnB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,SAAS;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,MAAM;AACnB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B,aAAa,SAAS;AACtB,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA,aAAa,SAAS;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,SAAS;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,MAAM;AACnB,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe,EAAE;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;AACA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6BAA6B;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA,oCAAoC,6BAA6B,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,EAAE;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,6BAA6B;AAC5C,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB,OAAO;;AAEP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,mBAAmB;AAClC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,gBAAgB,QAAQ;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,gBAAgB,QAAQ;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,OAAO,WAAW;AACjC,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,WAAW;AACjC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,WAAW;AACjC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,+CAA+C;AACpF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,oEAAoE;AACpE;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,wCAAwC;AACxC,+DAA+D;AAC/D,iEAAiE;AACjE;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS,GAAG,SAAS,KAAK,SAAS;AAC3D,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D;AACA,mCAAmC,iBAAiB;AACpD,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,4CAA4C,kBAAkB,EAAE;AAChE;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,qCAAqC;AAC/C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,uCAAuC,kBAAkB,EAAE;AAC3D;AACA;AACA;AACA,2BAA2B,oCAAoC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,qCAAqC;AAC/C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,uCAAuC,2BAA2B,EAAE;AACpE;AACA;AACA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,2CAA2C,4BAA4B,EAAE;AACzE;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,SAAS,KAAK,SAAS,GAAG,SAAS;AAC7D,eAAe,SAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D,sBAAsB,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,qBAAqB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS;AAClE;AACA,4BAA4B,SAAS,GAAG,SAAS;AACjD;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,qBAAqB,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAC9E;AACA,8BAA8B,iBAAiB;AAC/C;AACA,eAAe,iBAAiB,GAAG,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,qBAAqB;AACpC,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,iCAAiC,SAAS,eAAe,YAAY,EAAE;AACvE;AACA;AACA;AACA,iCAAiC,SAAS;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,qCAAqC,SAAS,eAAe,YAAY,EAAE;AAC3E;AACA;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,4CAA4C,kBAAkB,EAAE;AAChE;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,qCAAqC;AAC/C,UAAU,qCAAqC;AAC/C,UAAU;AACV;AACA;AACA,uCAAuC,kBAAkB,EAAE;AAC3D;AACA;AACA;AACA,2BAA2B,oCAAoC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS,KAAK,SAAS,GAAG,SAAS;AACtD,eAAe,SAAS,GAAG,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D,sBAAsB,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA,eAAe,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AACxE;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS,GAAG,SAAS,GAAG,SAAS;AACnD,eAAe,SAAS,GAAG,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAChF;AACA;AACA,eAAe,iBAAiB,GAAG,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS,KAAK,SAAS,GAAG,SAAS;AACpD,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA,uBAAuB,iBAAiB,GAAG,iBAAiB;AAC5D,sBAAsB,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA,eAAe,iBAAiB,GAAG,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc,OAAO,QAAQ,SAAS,GAAG,SAAS,GAAG;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,+BAA+B;AACzC,UAAU,+BAA+B;AACzC,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,8BAA8B;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,8BAA8B;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,gBAAgB,OAAO;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+CAA+C;AACzD,UAAU;AACV;AACA;AACA;AACA,uBAAuB,oCAAoC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,UAAU,8CAA8C;AACxD,UAAU;AACV;AACA;AACA,oCAAoC,kBAAkB,EAAE;AACxD;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,UAAU,+CAA+C;AACzD,UAAU,gDAAgD;AAC1D,UAAU;AACV;AACA;AACA,kCAAkC,mBAAmB,EAAE;AACvD;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC,eAAe,EAAE;AACjB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,sBAAsB;AACrC;AACA,eAAe,KAAK;AACpB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,UAAU,4BAA4B;AACtC,UAAU;AACV;AACA;AACA;AACA;AACA,QAAQ;AACR,cAAc,OAAO,4BAA4B,QAAQ,8BAA8B;AACvF;AACA;AACA,cAAc,UAAU,4BAA4B,YAAY,8BAA8B;AAC9F;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA,UAAU,mBAAmB;AAC7B,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,qCAAqC;AACpD;AACA,eAAe,SAAS;AACxB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,gDAAgD;AAC1D,UAAU,+CAA+C;AACzD,UAAU;AACV;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,cAAc,iBAAiB,EAAE;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;AACA,QAAQ,IAAI;AACZ,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,UAAU,+CAA+C;AACzD,UAAU;AACV;AACA;AACA,oCAAoC,kBAAkB,EAAE;AACxD;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,gBAAgB,OAAO;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mCAAmC;AAC7C,UAAU;AACV;AACA;AACA;AACA,sBAAsB,oCAAoC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,yBAAyB;AACxC;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU,8BAA8B;AACxC,UAAU;AACV;AACA;AACA,qCAAqC,eAAe,EAAE;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,oBAAoB,iCAAiC;AACrD,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,QAAQ;AACvB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,KAAK;AACpB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,qBAAqB;AACpC,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,QAAQ;AACvB;AACA,eAAe,QAAQ;AACvB;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,oBAAoB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB;AACA,6BAA6B,mBAAmB,cAAc,EAAE,EAAE;AAClE;AACA;AACA,6BAA6B,mBAAmB,cAAc,EAAE,EAAE;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA,iCAAiC,kBAAkB,EAAE;AACrD;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB,EAAE;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB;AACrB;AACA,0BAA0B,SAAS;AACnC;AACA;AACA,0BAA0B,SAAS;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,MAAM;AACvB;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,cAAc;AACd;AACA,iBAAiB,SAAS;AAC1B,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS,GAAG,SAAS,GAAG,SAAS;AAClD,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS,GAAG,SAAS,GAAG,SAAS;AAClD,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,MAAM;AACvB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS,GAAG,SAAS;AACpD,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,OAAO,SAAS,EAAE,GAAG,OAAO,iBAAiB,EAAE;AACtE,cAAc,OAAO,iBAAiB;AACtC;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD,qBAAqB,6BAA6B;AAClD,qBAAqB;AACrB;AACA;AACA,qCAAqC,mBAAmB,EAAE;AAC1D;AACA;AACA;AACA,yBAAyB,2BAA2B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD,qBAAqB,6BAA6B;AAClD,qBAAqB;AACrB;AACA;AACA,yCAAyC,mBAAmB,EAAE;AAC9D;AACA;AACA;AACA,6BAA6B,4BAA4B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB,OAAO,SAAS;AACrC,6BAA6B,gBAAgB,SAAS,GAAG;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA,8BAA8B,gBAAgB,SAAS,GAAG;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,KAAK;AACpB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB,QAAQ,OAAO,oBAAoB,EAAE;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA,QAAQ;AACR,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,qBAAqB,+BAA+B;AACpD,qBAAqB;AACrB;AACA;AACA,uCAAuC,cAAc,EAAE;AACvD,cAAc,2BAA2B;AACzC;AACA;AACA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,gBAAgB,SAAS,GAAG,SAAS;AACrC;AACA;AACA;AACA,gBAAgB,SAAS,GAAG,SAAS;AACrC;AACA;AACA;AACA,cAAc,QAAQ,iBAAiB,GAAG,iBAAiB;AAC3D;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,UAAU;AACzB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,oBAAoB;AACpB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA,gCAAgC;AAChC,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB,QAAQ,OAAO,+BAA+B,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO,WAAW;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA,QAAQ,IAAI;AACZ,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,iBAAiB,QAAQ;AACzB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA;AACA;AACA;AACA,cAAc,QAAQ,QAAQ,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ,QAAQ,EAAE;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,qBAAqB,QAAQ,OAAO,SAAS,EAAE;AAC/C;AACA,iDAAiD,cAAc,EAAE;AACjE;AACA;AACA;AACA,iDAAiD,sBAAsB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO,WAAW;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,KAAK;AACvC;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,eAAe,gBAAgB;AAC/B,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA,gBAAgB,OAAO;AACvB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC,qBAAqB,UAAU;AAC/B;AACA;AACA,sEAAsE,2BAA2B,EAAE;AACnG,iBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA,4DAA4D;AAC5D,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,qDAAqD,2BAA2B,EAAE;AAClF,wCAAwC,aAAa,eAAe,EAAE;AACtE,iBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA,wDAAwD,qCAAqC;AAC7F;AACA;AACA;AACA;AACA,0DAA0D,qBAAqB;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,YAAY;AACvD,0CAA0C,QAAQ;AAClD,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA,uDAAuD;AACvD;AACA;AACA,6BAA6B,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,+BAA+B,iCAAiC;AAChE,cAAc;AACd;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC,aAAa,QAAQ,QAAQ,UAAU,aAAa;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,cAAc;AAC7B,gBAAgB,OAAO;AACvB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,KAAK;AACpB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,qBAAqB;AACpC,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,aAAa,qBAAqB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B,UAAU;AACV;AACA;AACA,qCAAqC,mBAAmB,cAAc,EAAE,EAAE;AAC1E,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA,4CAA4C,SAAS;AACrD;AACA;AACA,eAAe,SAAS,GAAG,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,EAAE;AACnB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,8CAA8C;AACxD,UAAU;AACV;AACA;AACA;AACA,mCAAmC,mCAAmC;AACtE,eAAe,8CAA8C;AAC7D;AACA;AACA;AACA,eAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,yBAAyB;AACnC,UAAU;AACV;AACA;AACA,oCAAoC,iBAAiB;AACrD,eAAe,yBAAyB;AACxC;AACA;AACA,gDAAgD,SAAS,cAAc,SAAS;AAChF,eAAe,yBAAyB,GAAG,yBAAyB;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,yBAAyB;AACnC,UAAU;AACV;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,eAAe,yBAAyB,GAAG,yBAAyB;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,OAAO,qBAAqB,EAAE;AACxC,UAAU,OAAO,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,KAAK;AACpB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,eAAe,OAAO;AACtB,eAAe,OAAO,YAAY;AAClC,eAAe,QAAQ;AACvB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB,GAAG,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,qDAAqD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,SAAS,GAAG,SAAS;AAC3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,UAAU,OAAO,SAAS,EAAE;AAC5B,UAAU,OAAO,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,qCAAqC,YAAY,EAAE;AACnD,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS;AACpE;AACA,sCAAsC,YAAY,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,EAAE;AACnB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C;AACA,qCAAqC,YAAY,EAAE;AACnD,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS;AACpE;AACA,qCAAqC,YAAY,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,MAAM,iBAAiB;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,4DAA4D;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,yCAAyC;AACtE;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA,MAAM,IAA0E;AAChF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,mCAAO;AACX;AACA,KAAK;AAAA,oGAAC;AACN;AACA;AACA,OAAO,EASJ;AACH,CAAC;;;;;;;;;;;;;;ACxwhBY;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,kDAAU;AAChC,aAAa,mBAAO,CAAC,oFAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,SAAM;AAC7I;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC9kBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,kDAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,CAAC,MAAM,EAIN;;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACzFa;AACb,sBAAsB,mBAAO,CAAC,oEAAmB;AACjD,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,oBAAoB;;AAE1C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA,EAAE;AACF;AACA,EAAE;AACF;;;;;;;;;;;;;AC5MA,8CAAa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,oCAAoC,mBAAO,CAAC,4CAAO;;AAEnD,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;;ACtPY;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,oCAAoC,mBAAO,CAAC,4CAAO;;AAEnD,gBAAgB,mBAAO,CAAC,iEAAY;;AAEpC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T,0CAA0C,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,gCAAgC,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,+CAA+C,2CAA2C,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEpgB,qDAAqD,+BAA+B,8DAA8D,YAAY,oCAAoC,6DAA6D,YAAY,6BAA6B,OAAO,2BAA2B,0CAA0C,wEAAwE,2BAA2B,EAAE,EAAE,eAAe;;AAE1e,0DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC7JY;;AAEb,eAAe,mBAAO,CAAC,iEAAY;AACnC;;AAEA,gBAAgB,mBAAO,CAAC,2EAAiB;AACzC,4CAA4C;;;AAG5C,+BAA+B;;AAE/B;AACA,4C;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,4CAAO;AAC3B,cAAc,mBAAO,CAAC,mFAAe;AACrC,gBAAgB,mBAAO,CAAC,oDAAW;AACnC,qBAAqB,mBAAO,CAAC,8EAA2B;AACxD,cAAc,mBAAO,CAAC,8DAAmB;;AAEzC,oFAAoF;AACpF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8FAA8F,eAAe;AAC7G;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK,EAAE;;AAEP,iDAAiD;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;;AAEA,qCAAqC;AACrC;;AAEA,mFAAmF;AACnF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,gBAAgB;;AAEhB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA,OAAO;;;AAGP,uEAAuE;;AAEvE;AACA,8DAA8D;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;;;AAGP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,KAAK;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,KAAK;AAChB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB,8BAA8B;AACjD;AACA;AACA,OAAO;;;AAGP;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;;AAE/B,iBAAiB;;AAEjB,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA,mCAAmC,EAAE;;AAErC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;;AAE7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;;AAEA,+BAA+B;;AAE/B,qCAAqC;;AAErC,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA,eAAe;AACf;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA;;AAEA,2BAA2B;AAC3B;;AAEA,gBAAgB;AAChB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA,oBAAoB;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,mBAAmB,kBAAkB;AACrC;;AAEA;AACA;AACA,OAAO;AACP;AACA,8BAA8B;AAC9B;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,2BAA2B;AAC9C;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,qBAAqB,sBAAsB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB;AACnB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA,4BAA4B;AAC5B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,YAAY,WAAW;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,eAAe;AAC3B;;AAEA;AACA;AACA;AACA,sEAAsE;;AAEtE;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4CAA4C;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE;AACd;AACA;;;AAGA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,iBAAiB,kCAAkC;AACnD;AACA;AACA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;;AAEA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sCAAsC;;AAEtC,8BAA8B;AAC9B;;AAEA;AACA;AACA,uBAAuB;;AAEvB;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6DAA6D;;AAE7D;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;;AAEA;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;;AAEA,mBAAmB,iCAAiC;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,4CAA4C;AAC9D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iJAAiJ;;AAEjJ,kcAAkc;;AAElc;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA;AACA;AACA,kBAAkB,aAAa;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA,CAAC;;;AAGD;AACA;AACA,8FAA8F;;AAE9F;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA,oDAAoD;AACpD;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA,IAAI;AACJ;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,gCAAgC,KAAK;AAC3C;AACA;AACA,MAAM,gCAAgC,KAAK;AAC3C;AACA,4DAA4D;AAC5D,MAAM,gCAAgC,KAAK;AAC3C;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4NAA4N;AAC5N;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2HAA2H,6BAA6B;AACxJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kFAAkF;AAClF;;AAEA;AACA;;AAEA;AACA;AACA,OAAO,0CAA0C;;;AAGjD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+FAA+F;AAC/F;;AAEA;AACA;AACA;AACA,OAAO,0CAA0C;;;AAGjD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,6EAA6E;;AAE7E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sJAAsJ,iBAAiB;AACvK,OAAO;AACP,sJAAsJ,iBAAiB,wDAAwD,mBAAmB,gBAAgB,8BAA8B;AAChS;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,KAAK;;;AAGL;AACA,oGAAoG,GAAG;;AAEvG;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,wEAAwE;AACxE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,iIAAiI,mBAAmB,gBAAgB,8BAA8B;AAClM,KAAK;AACL;AACA;AACA,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK,qGAAqG,kCAAkC;AAC5I;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA+C;AAC/C;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK,2EAA2E,qGAAqG,kCAAkC;AACvN;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,qGAAqG;AAC1G;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kEAAkE;;AAElE,8FAA8F;AAC9F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oBAAoB,wBAAwB;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC;AACA,+EAA+E;AAC/E;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA,aAAa;;;AAGb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,OAAO;AAClB;;AAEA;AACA;AACA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,0vBAA0vB;;AAE1vB;AACA;AACA;AACA,oCAAoC;;AAEpC,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,cAAc;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA,CAAC;AACD;AACA;;AAEA;AACA,4CAA4C;AAC5C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;;AAGA,yEAAyE;AACzE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,yBAAyB,OAAO;AAChC;AACA;;AAEA;;AAEA,yBAAyB,OAAO;AAChC;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;AACA;;AAEA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;;AAEA,8BAA8B,UAAU;AACxC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;;;AAGA;AACA,eAAe;AACf,eAAe;;AAEf;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uHAAuH;AACvH,yHAAyH;AACzH;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;AAGA,+EAA+E;AAC/E;AACA;;AAEA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA,CAAC;;;AAGD;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0GAA0G;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,gFAAgF;AAChF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA,iDAAiD;AACjD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,sPAAsP;AACtP;;AAEA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qCAAqC;AACrC;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,yHAAyH;;AAEzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;;AAGD,0DAA0D;;AAE1D,oDAAoD;AACpD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;;AAEA;AACA;AACA,4CAA4C;AAC5C;AACA;;AAEA,0HAA0H;AAC1H;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA,8DAA8D;AAC9D,qDAAqD;AACrD,2DAA2D;AAC3D,2CAA2C;AAC3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,uEAAuE;;AAEvE;AACA;AACA,WAAW;AACX;;;AAGA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mDAAmD,yDAAyD;AAC5G,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH,yCAAyC;;AAEzC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;;AAGT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;;AAGT,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,kCAAkC;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;;AAEhC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;;AAGX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;;AAGA,oFAAoF;;AAEpF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;;AAGH,kGAAkG;AAClG,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC;;AAEtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6IAA6I;;AAE7I;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,kEAAkE,4CAA4C;AAC9G;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,kIAAkI;AAClI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,kIAAkI;AAClI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8JAA8J,yCAAyC;AACvM;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,kDAAkD;AAC5D;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,6BAA6B;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL,uEAAuE;;AAEvE,UAAU,6BAA6B;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;;AAGA;;AAEA;AACA;;AAEA;;AAEA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,YAAY;AACxB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL,uEAAuE;;AAEvE,UAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,MAAM;AACnD;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;;AAEA;AACA,6DAA6D;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2CAA2C;;AAE3C;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;;AAEA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,mDAAmD;AACnD;AACA;;AAEA;AACA,yBAAyB;;AAEzB,gCAAgC;AAChC;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,8BAA8B;AACrD;AACA;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4CAA4C;AAC7D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;;AAEjC;AACA;;AAEA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;;AAE5B,oCAAoC;;AAEpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;AAGA,kFAAkF;;AAElF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,2CAA2C;AAChD;;;AAGA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,yKAAyK,0CAA0C;AACnN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,4HAA4H;;AAE5H,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,yGAAyG;AACzG;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;;AAE/B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA,KAAK;;;AAGL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;AAGA,gDAAgD;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA,0CAA0C;AAC1C;;AAEA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA,GAAG;;;AAGH,sCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,wCAAwC;;AAExC;AACA,sCAAsC;AACtC;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;;AAEA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,iIAAiI;AACjI;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;;AAGT;;AAEA;AACA;AACA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yNAAyN,GAAG;;AAE5N;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,YAAY;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;;AAGA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;;AAGb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf,mHAAmH;AACnH;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;;AAGA;AACA,aAAa;AACb;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D;;AAE5D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,oCAAoC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA,8CAA8C;AAC9C;AACA;;AAEA,qHAAqH;;AAErH,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;;;AAGb;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,sEAAsE;;AAEtE;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;;AAE/D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;;;AAGA;AACA;AACA;;AAEA,qEAAqE;;AAErE,yEAAyE;AACzE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,oFAAoF;;AAEpF;AACA;AACA,iBAAiB;;;AAGjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA,+DAA+D;;AAE/D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,+EAA+E;;AAE/E;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;AAGA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA,6BAA6B,2CAA2C;;AAExE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA,4GAA4G;AAC5G;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb,yNAAyN,qCAAqC,wFAAwF,2BAA2B,qBAAqB,QAAQ,YAAY;AAC1Z,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,gEAAgE;AAChE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;;AAGA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,qDAAqD;;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA,4CAA4C;AAC5C;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,+BAA+B;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,+BAA+B;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA,mCAAmC;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP,KAAK;AACL;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA;AACA,KAAK;AACL,6DAA6D;;AAE7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;AACA;;AAEA;AACA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,kDAAkD;;AAElD,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC;;AAEtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,qHAAqH;;AAErH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;;AAGA,4CAA4C;;AAE5C;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,OAAO;AACP;;;AAGA;AACA,KAAK,kCAAkC;AACvC;;;AAGA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;;AAE/D;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC,8BAA8B;;AAE9B,0BAA0B;;AAE1B,oCAAoC;;AAEpC,kDAAkD;;AAElD,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD;;AAEA,yDAAyD;AACzD;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD,QAAQ;AACR;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;AAGA;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2FAA2F;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,6EAA6E;;AAE7E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;AAGA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,6CAA6C;;;AAG7C;AACA;AACA,wEAAwE;;AAExE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG,iCAAiC;;;AAGpC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,4CAA4C;AAC/C;;;AAGA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;;AAElD,uCAAuC;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,yCAAyC;AACzC;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,4BAA4B;AACnD;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,uDAAuD;AACvD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,+CAA+C;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,mDAAmD;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qEAAqE;;AAErE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,4CAA4C;AACnD;;;AAGA;AACA,6BAA6B;AAC7B;AACA;;AAEA,wCAAwC;;AAExC;;AAEA;AACA;AACA;AACA,OAAO;;;AAGP;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8GAA8G;;AAE9G;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA,kNAAkN,IAAI,6BAA6B,mCAAmC,0FAA0F,cAAc,IAAI,gBAAgB,mCAAmC;AACrb;AACA;AACA;AACA;AACA;AACA;AACA,iMAAiM,oDAAoD,EAAE;AACvP;AACA;AACA;;AAEA;AACA;AACA;AACA,4LAA4L,oDAAoD,EAAE;AAClP;AACA;AACA;;AAEA,gFAAgF;;AAEhF,0CAA0C;AAC1C;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6PAA6P;AAC7P;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL,uEAAuE;;AAEvE;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,gBAAgB,KAAI;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,yDAAyD;AACzD;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,+CAA+C;AAC/C;;AAEA,wCAAwC;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;AACtE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,yEAAyE;AACzE;AACA;;AAEA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+DAA+D,OAAO;;AAEtE;AACA;AACA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF;;AAEnF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iMAAiM,cAAc;AAC/M;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,EAAE;AACP;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,+EAA+E;;AAE/E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACn7wBa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAqC,EAAE,EAK1C;AACD,mBAAmB,mBAAO,CAAC,6FAAgC;AAC3D;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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;;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,0FAA+B;AAC1D;;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,C;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0B;AACS;;AAEnC;AACA;AACA;AACA;;AAEA,2BAA2B,iDAAS;AACpC,aAAa,iDAAS;AACtB,cAAc,iDAAS;AACvB,CAAC;;AAED;AACA;AACA;;AAEA,0CAA0C,4CAAK;;AAExC;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;;AAE/C;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;AACnC,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,oCAAoC;AACpC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC5IA;AAAA;A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;;;AAGA;;;AAGA;AACA;AACA;AACA,eAAe,4CAAK,+BAA+B,UAAU,gBAAgB;AAC7E;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,oDAAoD;AACpD;AACA;AACA;;AAEA,WAAW,4CAAK,+BAA+B,UAAU,2CAA2C;AACpG;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AClInB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkC;;AAElC;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC,SAAS;AAC/C;;AAEA;AACA;;AAEA,gDAAgD,KAAqC,GAAG,gDAAS,kEAAkE,SAAgB;;AAEnL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA,gEAAgE;AAChE,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,gDAAgD,KAAqC,GAAG,gDAAS,sEAAsE,SAAgB;;AAEvL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,0BAA0B;AACpD;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,KAAqC,GAAG,gDAAS,4FAA4F,SAAgB;;AAE7L;AACA;AACA;AACA,OAAO,qFAAqF;AAC5F,KAAK;AACL,4DAA4D;AAC5D;AACA;;AAEA,uBAAuB,KAAqC,GAAG,gDAAS,qDAAqD,SAAgB;;AAE7I;AACA,C;;;;;;;;;;;;ACtOA;AAAA;AAAO;AACP;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;AAAA;AAAyD;;AAElD,kBAAkB,wDAAK;AAC9B,QAAQ,+CAAI;AACZ,WAAW,+CAAI;AACf,MAAM,+CAAI;AACV,UAAU,+CAAI;AACd,aAAa,+CAAI;AACjB,qBAAqB,+CAAI;AACzB,YAAY,+CAAI;AAChB,CAAC;;AAEM,oBAAoB,wDAAK;AAChC,YAAY,iDAAM;AAClB,UAAU,iDAAM;AAChB,SAAS,iDAAM;AACf,UAAU,iDAAM;AAChB,OAAO,iDAAM;AACb,CAAC,E;;;;;;;;;;;;AClBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACN;AACV;AACyD;AAC5C;AACH;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yDAAgB;AAC/B;;AAEA;AACA;AACA,kBAAkB,+EAA4B;;AAE9C;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,qBAAqB,mEAAa;AAClC,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,qBAAqB,mEAAa;AAClC;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA;;AAEA,8BAA8B,QAAQ;AACtC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,UAAU,iDAAM;AAChB,UAAU,iDAAM;AAChB,QAAQ,iDAAM;AACd,WAAW,iDAAM;AACjB,WAAW,iDAAM;AACjB,aAAa,wDAAK;AAClB,cAAc,wDAAK;AACnB,GAAG;;AAEH;AACA;AACA,IAAI,KAAM,GAAG,KAAqC,GAAG,gDAAS,8FAA8F,SAAgB,GAAG,SAAM;AACrL;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AClFvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACR;AACR;AACyB;AACC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,yDAAgB;AAC5B;;AAEA;AACA,iCAAiC,uEAA2B;AAC5D,GAAG;;AAEH;AACA,UAAU,iDAAM;AAChB,eAAe,4DAAS;AACxB,gBAAgB,6DAAU;AAC1B,kBAAkB,+CAAI;AACtB,mBAAmB,+CAAI;AACvB,GAAG;;AAEH;AACA;AACA,IAAI,KAAM,GAAG,KAAqC,GAAG,gDAAS,2FAA2F,SAAgB,GAAG,SAAM;AAClL;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACtCpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAEpO;;AAE1B;AACA,2BAA2B,4CAAK;AAChC;;AAEO;AACP;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA,yBAAyB,IAAI;AAC7B,uCAAuC,UAAU;AACjD,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA,EAAE,4CAAK;AACP,QAAQ,4CAAK;AACb;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC/EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,8CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAExL;AACR;AACwB;AACR;;AAEuB;AACpB;AACD;AACA;AACiD;AACvD;;AAEtC;AACA,WAAW,iDAAM;AACjB,YAAY,yDAAM;AAClB,UAAU,yDAAM;AAChB,UAAU,+CAAI;AACd,iBAAiB,+CAAI;AACrB,WAAW,+CAAI;AACf,YAAY,+CAAI;;AAEhB;AACA,gBAAgB,iDAAM;AACtB;;AAEA,0CAA0C,4CAAK;;AAE/C;AACA;AACA;AACA;AACA;AACA,aAAa,yDAAgB;AAC7B;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,4CAAK,eAAe,sDAAa;AAChD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,WAAW,uEAAmB;AAC9B,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA,kCAAkC,KAAqC,GAAG,gDAAS,iNAAiN,SAAgB;;AAEpT,WAAW,wEAAwB,UAAU,gEAAY;AACzD,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,QAAQ,sEAAiB;AACzB;AACA;AACA,KAAK;AACL,GAAG;;;AAGH;AACA;AACA;AACA,IAAI,KAAqC,GAAG,8DAAO,+EAA+E,wBAAwB,SAAM;;AAEhK,IAAI,KAAqC,GAAG,8DAAO,6HAA6H,wBAAwB,SAAM;AAC9M,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,KAAK;;AAEL,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEe,qEAAM,E;;;;;;;;;;;;AClKrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAExO;AACR;AACoB;AACI;AACD;;AAEH;AACG;AACF;;AAE/C;AACA;AACA;AACA;AACA,oBAAoB,yDAAgB;AACpC;;AAEA,WAAW,qEAAe;;AAE1B;AACA,YAAY,iDAAM;AAClB,cAAc,iDAAM;AACpB,YAAY,gDAAK;AACjB,YAAY,iDAAM;AAClB,gBAAgB,gDAAK;AACrB,mBAAmB,+CAAI;AACvB,GAAG;;AAEH;AACA;AACA,qBAAqB,4CAAK;AAC1B;AACA,GAAG;;;AAGH;AACA,YAAY,iDAAM;AAClB,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,+CAA+C,8BAA8B;;AAE7E;AACA,0BAA0B,+DAAc;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,mEAAe;AAC3B;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,4CAA4C,oBAAoB;AAChE;AACA,qGAAqG,mEAAkB;AACvH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA,+CAA+C,4CAAK,4BAA4B,KAAqC,GAAG,gDAAS,yDAAyD,SAAgB;;AAE1M;AACA;AACA,CAAC;;AAEc,4EAAa,E;;;;;;;;;;;;AClH5B;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAEvP;AACP,0BAA0B;AAC1B;AACA;AACA,GAAG;;AAEH;AACA;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAE9G;;AAEzC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEe;AACf;AACA;;AAEA;AACA;;AAEA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,IAAI,6DAAS;AACb;AACA;AACA,oCAAoC;AACpC,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC3JA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAEjN;AACD;AACN;;AAEtB;AAChB,wEAAwE,aAAa;AACrF;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA,MAAM,KAAqC,GAAG,8DAAO,qLAAqL,SAAM;AAChP,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA,gGAAgG,mDAAa;AAC7G;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK,EAAE,4CAAK,eAAe,sDAAa,aAAa;AACrD;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;;;;;;ACxCD;AAAA;AAAA;AAAA;AAAoE;AACZ;AACzC,mIAAmB,CAAC,uEAAoB,CAAC,E;;;;;;;;;;;;ACFxD;AAAA;AAA+C;;AAE/C;AACA;;AAEA,mBAAmB,mEAAa;;AAEhC;AACA;AACA,GAAG;AACH;;AAEA;AACA,yBAAyB,yCAAyC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,0DAA0D;AAC1D,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEe,mFAAoB,E;;;;;;;;;;;;ACrEnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACE;AACoB;;AAEvD;AACf;AACA;AACA;AACA,sBAAsB,sEAAuB;AAC7C;AACA;AACA;AACA,gBAAgB,6DAAU,CAAC,8DAAW;AACtC;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAkD;;AAElD;;AAEe;AACf;AACA,2BAA2B,iEAAgB;AAC3C;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAExN;AACoB;AACP;AAChB;AACS;AACJ;;AAExC;AACA;AACA;AACA,GAAG;AACH;;AAEe;AACf;;AAEA,4BAA4B,gEAAkB;AAC9C;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,WAAW,yDAAS;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,4DAAW;AACjB;AACA;AACA,SAAS;AACT,iCAAiC,cAAc,qBAAqB;AACpE,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,gCAAgC,qEAAoB;AACpD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,MAAM,8DAAa;AACnB;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD,cAAc,yBAAyB;AACzF;AACA,OAAO;AACP;;AAEA;AACA,iCAAiC;AACjC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,IAAI,4DAAW;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,cAAc,qBAAqB;;AAEvE,yCAAyC,qEAAoB;;AAE7D;AACA,yCAAyC,2BAA2B;AACpE;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC,wCAAwC;AACjF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX,YAAY,KAAqC,GAAG,8DAAO,yGAAyG,SAAM;AAC1K;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AA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BAA2B,EAAE,EAAE,EAAE,eAAe;;AAErN;AACE;AACG;AACR;AACM;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,gEAAY;AACxC;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,MAAM,+DAAS;AACf,0BAA0B,gEAAY;AACtC,GAAG;;AAEH;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,gEAAY;AAC5C,KAAK;;AAEL,QAAQ,+DAAS;AACjB,4BAA4B,gEAAY;AACxC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,MAAM,6DAAS;AACf;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,kEAAY;AAChC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,YAAY,KAAqC,GAAG,8DAAO;AAC3D;AACA,aAAa,2CAA2C,SAAM;AAC9D;AACA,WAAW;AACX,YAAY,KAAqC,GAAG,8DAAO,2DAA2D,SAAM;AAC5H;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,OAAO;AACP;AACA;AACA;;AAEA,EAAE,6DAAS;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG;AACH,C;;;;;;;;;;;;AC/OA;AAAA;AAAA;AAAA;AAAA;AAA8B;;AAE9B;;AAEe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,oFAAoF,aAAa;AACjG;AACA;;AAEA,EAAE,8CAAO;AACT;;AAEO;AACP;AACA,C;;;;;;;;;;;;ACzBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACE;;AAEnC;AACf;AACA,kBAAkB,6DAAU,CAAC,8DAAW;AACxC;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE5N;AACR;AACwB;AACC;AACA;AACT;;AAE1C;AACA;AACA;;AAEe;AACf;;AAEA,mBAAmB,yDAAgB;AACnC;;AAEA,aAAa,uEAAiB;;AAE9B,mBAAmB,SAAS,sDAAW,EAAE;AACzC,gBAAgB,SAAS,sDAAW,EAAE;;AAEtC;AACA,iBAAiB,KAAqC,GAAG,gDAAS,oEAAoE,gBAAgB,uDAAuD,SAAgB;;AAE7N;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,eAAe,4CAAK;AACpB;;AAEA;AACA;AACA;;AAEA,6BAA6B,eAAe,qEAAqE;;AAEjH;AACA;AACA;AACA;AACA;;AAEA,aAAa,4CAAK;AAClB;AACA,GAAG;;AAEH;AACA;;AAEA,SAAS,8DAAY;AACrB,C;;;;;;;;;;;;ACzDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AAC0C;AAC9B;AACnC;AACY;AACM;AAC3B;AACY;AACc;;AAEpD;AACA;AACA,WAAW,oEAAW;AACtB,GAAG;AACH;;AAEA;AACA;AACA,WAAW,uEAAc;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO,UAAU,IAAI;AACjD;AACA,cAAc;AACd;AACA;AACA,wCAAwC,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,EAAE,wFAAc;;AAEhB;AACA;;AAEA,uEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,uGAA6B;;AAE7C,wBAAwB,4CAAK,eAAe,mDAAU,EAAE,kFAAQ,GAAG;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP;AACA;AACA;AACA,0BAA0B,KAAqC,GAAG,kFAAQ,GAAG,EAAE,mDAAU;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,MAAM;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gEAAe;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iDAAS;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAS;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iDAAS;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iDAAS;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iDAAS;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iDAAS;AACrB,CAAC,IAAI,SAAE;AACQ,4EAAa,E;;;;;;;;;;;;AC3Z5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC9B;AACnC;AACT;AACO;AACe;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,wFAAc;;AAEhB;AACA;;AAEA,wEAAwE,aAAa;AACrF;AACA;;AAEA;;AAEA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,gBAAgB,4CAAK;AACrB;;AAEA;AACA,wDAAwD,gDAAQ;AAChE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,uGAA6B;;AAE7C,gCAAgC,4CAAK;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4CAAK,eAAe,wDAAe,kBAAkB,4CAAK;AAClF;AACA;AACA;AACA;AACA,KAAK,IAAI,4CAAK;AACd;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP,8BAA8B,KAAqC;AACnE,MAAM,iDAAS;AACf;AACA,QAAQ,4CAAK;AACb;AACA;AACA,CAAC,GAAG,SAAE;AACS,gFAAiB,E;;;;;;;;;;;;ACvIhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsE;;AAEtE;;AAE0B;AACS;AACuB;AACI;;AAE9D;AACA;;AAEA,MAAM,4CAAK,gCAAgC,4CAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;;AAGO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA,SAAS,4CAAK;AACd;AACA;AACA,kBAAkB,oDAAQ;AAC1B,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA,mBAAmB,4CAAK;AACxB;AACA;AACA,kBAAkB,oDAAQ;AAC1B,KAAK;AACL,GAAG;AACH,CAAC;AACD,sCAAsC;AACtC;AACA;AACA,SAAS,4CAAK;AACd;AACA;AACA,kBAAkB,mDAAO,EAAE,4CAAK;AAChC;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA,UAAU,4CAAK;AACf;AACA;AACA,kBAAkB,mDAAO,EAAE,4CAAK;AAChC;AACA,OAAO;AACP,KAAK;AACL,GAAG,GAAG,4CAAK;AACX;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,0BAA0B;AAC1B;AACA;AACA,2BAA2B,gCAAgC;AAC3D,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,wFAAc;;AAEhB;AACA;;AAEA,uEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA,cAAc,mDAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,oDAAQ;AACjC;AACA,gBAAgB,oDAAQ;AACxB;AACA;;AAEA;AACA;AACA,gBAAgB,mDAAO;AACvB;AACA;;AAEA;AACA,eAAe,4CAAK;AACpB;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,oDAAQ;AACnB;AACA;;AAEA,WAAW,mDAAO;AAClB;AACA;;AAEA,WAAW,mDAAO;AAClB;AACA;;AAEA,wBAAwB,4CAAK,eAAe,+DAAsB;AAClE;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP,6BAA6B,KAAqC;AAClE;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,QAAQ,iDAAS;;AAEjB;AACA;AACA;AACA,YAAY,iDAAS,YAAY,iDAAS;AAC1C,CAAC,GAAG,SAAE;AACN;AACA;AACA;AACe,+EAAgB,E;;;;;;;;;;;;AChQ/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC9B;AACnC;AACT;AACO;AACH;AACoB;AACY;AACvD;AACA;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B,gBAAgB,aAAa;AAC7B,gBAAgB,aAAa;AAC7B,eAAe,aAAa;AAC5B;AACA;AACA,kBAAkB,aAAa;AAC/B,qBAAqB,OAAO,UAAU,SAAS;AAC/C,QAAQ;AACR;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO,UAAU,IAAI;AAC9C,YAAY;AACZ;AACA;AACA;AACA,0BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,wFAAc;;AAEhB;AACA;;AAEA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oDAAoD,gDAAQ;AAC5D;AACA;;AAEA;AACA,oEAAoE;AACpE;;AAEA,+BAA+B,+CAAM;AACrC;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,qDAAqD,gDAAQ,mBAAmB;;AAEhF,iBAAiB,+CAAM;AACvB;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iEAAiE,gDAAQ;AACzE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uGAA6B;;AAElD;AACA;AACA;AACA,MAAM,4CAAK,eAAe,+DAAsB;AAChD;AACA,OAAO,kEAAkE,4CAAK,cAAc,4CAAK;AACjG;AACA;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP,yBAAyB,+DAAsB;AAC/C,uBAAuB,KAAqC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iDAAS;AACpB,8CAA8C,iDAAS,OAAO,iDAAS;AACvE,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc,UAAU,IAAI;AACjD,QAAQ;AACR,iCAAiC,aAAa,MAAM,EAAE;AACtD;AACA;AACA;AACA;AACA,YAAY,iDAAS,YAAY,iDAAS,kBAAkB,iDAAS;;AAErE;AACA,wBAAwB;AACxB;AACA,MAAM,iDAAS;;AAEf;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;AACA;AACA,gBAAgB,iDAAS;;AAEzB;AACA;AACA;AACA;AACA,iBAAiB,iDAAS;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iDAAS;;AAEnB;AACA;AACA;AACA,SAAS,iDAAS;;AAElB;AACA;AACA;AACA,QAAQ,iDAAS;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,UAAU;AACtB;AACA;AACA,aAAa,8DAAa;AAC1B;;AAEA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAkB,iDAAS;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iDAAS;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAS;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iDAAS;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iDAAS;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iDAAS;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iDAAS;AACrB,CAAC,GAAG,SAAE,CAAC;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,yEAAU,E;;;;;;;;;;;;ACpmBzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC1C;AAC4B;AAChB;AACnC;AACT;AACoC;AACsC;;AAEpG;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,wFAAc;;AAEhB;AACA;;AAEA;;AAEA,+CAA+C,gGAAsB,SAAS;;;AAG9E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kFAAsB,4BAA4B,+EAAmB;AACnG;AACA;AACA,GAAG;AACH;;AAEA;AACA,8BAA8B,2EAAe;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,kFAAQ,GAAG;;AAElC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,uGAA6B;;AAE7C;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,4CAAK,eAAe,+DAAsB;AACpE;AACA,OAAO;AACP;;AAEA,wBAAwB,4CAAK,eAAe,+DAAsB;AAClE;AACA,KAAK,eAAe,4CAAK;AACzB;;AAEA;AACA,CAAC,CAAC,4CAAK;;AAEP,4BAA4B,KAAqC;AACjE;AACA;AACA;AACA;AACA,iCAAiC,KAAK;AACtC;AACA;AACA,aAAa,iDAAS;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iDAAS;;AAErB;AACA;AACA;AACA;AACA;AACA,UAAU,iDAAS;;AAEnB;AACA;AACA;AACA;AACA;AACA,SAAS,iDAAS;;AAElB;AACA;AACA;AACA;AACA;AACA,QAAQ,iDAAS;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iDAAS;AACzB,CAAC,GAAG,SAAE;AACN;AACe,8EAAe,E;;;;;;;;;;;;AC5L9B;AAAA;AAAA;AAA0B;AACX,2GAAK,oBAAoB,E;;;;;;;;;;;;ACDxC;AAAe;AACf;AACA,CAAC,E;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;AACQ;AACF;AACF;AACV;;;;;;;;;;;;;ACJrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AAC/D;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;;AAEO;AACP;AACA,oBAAoB,4DAAc;AAClC;;AAEA;AACA,gBAAgB,8CAAQ;AACxB;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,qCAAqC;AACtD;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH,aAAa,wBAAwB;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA,WAAW,0DAAY;AACvB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACO;AACP;AACA;AACA;AACA;AACA,SAAS,4DAAc;AACvB;AACA;AACA;AACA,oBAAoB,4DAAc,mCAAmC;;AAErE;AACA;AACA,sBAAsB,0DAAY;AAClC;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,sBAAsB,0DAAY;AAClC;AACA,OAAO;AACP,KAAK,gCAAgC,4DAAc;AACnD;AACA;AACA;AACA,sBAAsB,0DAAY;AAClC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,C;;;;;;;;;;;;AC3IA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAC5B,oBAAoB,KAAqC,GAAG,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AACnH,SAAS,iDAAS;AAClB,QAAQ,iDAAS;AACjB,UAAU,iDAAS;AACnB,CAAC,iBAAiB,SAAI;AACf,sBAAsB,KAAqC,GAAG,iDAAS,YAAY,iDAAS,SAAS,iDAAS;AACrH,SAAS,iDAAS;AAClB,QAAQ,iDAAS;AACjB,UAAU,iDAAS;AACnB,CAAC,GAAG,iDAAS;AACb,SAAS,iDAAS;AAClB,aAAa,iDAAS;AACtB,eAAe,iDAAS;AACxB,QAAQ,iDAAS;AACjB,YAAY,iDAAS;AACrB,cAAc,iDAAS;AACvB,CAAC,MAAM,SAAI,C;;;;;;;;;;;;ACjBX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,cAAc,mBAAO,CAAC,+EAAe;AACrC,qBAAqB,mBAAO,CAAC,8EAA2B;;AAExD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8FAA8F,eAAe;AAC7G;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK,EAAE;;AAEP,iDAAiD;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8MAA8M;;AAE9M;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,aAAa,WAAW;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,yBAAyB;;AAEzB,0BAA0B;AAC1B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,UAAU;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA,mDAAmD;;AAEnD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,cAAc;AACzB,WAAW,EAAE;AACb,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;;AAEf,wBAAwB,iBAAiB;;;AAGzC;AACA,wBAAwB;;AAExB,2BAA2B;AAC3B;AACA;;AAEA,+BAA+B;;AAE/B;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,GAAG;AACd;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,sIAAsI,yCAAyC;AAC/K;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,iBAAiB;AAC5B,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,iBAAiB;AAC5B,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,aAAa;AACzB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,yCAAyC;;AAEzC;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA,yCAAyC;AACzC;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,0DAA0D;AAC1D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,EAAE;AACb;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qDAAqD;AACrD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,uCAAuC;AACvC;AACA,0CAA0C;AAC1C;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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;;;;;;;;;;;;;ACv3Da;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,iFAA4B;AACvD;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,0BAA0B;;AAE1B;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA,iCAAiC;;AAEjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;AC5VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D;;AAE3D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,8BAA8B;;AAE9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;;AAElG;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;;AAEnC,oCAAoC;;AAEpC;AACA;AACA,iCAAiC;;AAEjC,sCAAsC;;AAEtC;AACA,oBAAoB;;AAEpB,sBAAsB;AACtB;AACA,0CAA0C;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;;;AAGP;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;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KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,EAAE,EAAC,KAAK;YACR,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,KAAK;YACT,GAAG,EAAC,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","file":"site.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./pages/DLU/ApplicationStart.tsx\");\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountStatus } from '../../Models/Domains/Account/SlAccounts/AccountStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountAllowedStatusClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountAllowedStatus/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { HeadAccount } from '../../Models/Models/Account/SlAccount/HeadAccount';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountByAccountNumberClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(claccountId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountByAccountNumber/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { claccountId: claccountId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountCreationHistoryModel } from '../../Models/Domains/Account/AccountCreationHistoryModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountCreationHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, servicePropositions: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountCreationHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, servicePropositions: servicePropositions }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountDisinvestmentStrategy } from '../../Models/Domains/Account/AccountDisinvestmentStrategy';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountDisinvestmentStrategyClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountDisinvestmentStrategy/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(accountDisinvestmentStrategy: AccountDisinvestmentStrategy): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountDisinvestmentStrategy/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountDisinvestmentStrategy: accountDisinvestmentStrategy }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountInClosureCollectionModel } from '../../Models/Domains/Account/AccountClosure/AccountInClosureCollectionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountInClosureClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(accountnumber: string, accountname: string, start: number, count: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountInClosure/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountnumber: accountnumber, accountname: accountname, start: start, count: count }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountLifeTimeAllowance } from '../../Models/Domains/Account/AccountLifeTimeAllowance';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountLifetimeAllowanceClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountLifetimeAllowance/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AcountRestriction } from '../../Models/Domains/Account/AcountRestriction';\r\nimport { RestrictionTypeEnum } from '../../Constants/Enums/RestrictionTypeEnum';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountRestrictionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyid: string, restrictionType: RestrictionTypeEnum): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountRestriction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyid: hierarchyid, restrictionType: restrictionType }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ActiveAccountRestriction } from '../../Models/Models/Account/Restrictions/ActiveAccountRestriction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountRestrictionBulkClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyid: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountRestrictionBulk/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyid: hierarchyid }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountRoleByActorDetails } from '../../Models/Domains/Account/AccountRoleByActorDetails';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountRoleByActorClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountRoleByActor/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountSearchModel } from '../../Models/Models/Transformation/Account/AccountSearchModel';\r\nimport { AccountType } from '../../Constants/Enums/Domain/AccountType';\r\nimport { AccountStatus } from '../../Models/Domains/Account/SlAccounts/AccountStatus';\r\nimport { AdvancedSearchFilterType } from '../../Constants/Enums/Search/AdvancedSearchFilterType';\r\nimport { SubAccountType } from '../../Constants/Enums/Domain/SubAccountType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountSearchQueryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(accountName: string, accountNum: string, advCode: string, accountType: AccountType, statuses: Array, companyName: string, networkName: string, currentPage: number, count: number, filterType: AdvancedSearchFilterType, wrappers: Array, investedInMandates: boolean, mandateNames: Array, hasRegularPayments: boolean, hasRegularWithdrawals: boolean, ServicePropositionsToExclude: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/AccountSearchQuery/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountName: accountName, accountNum: accountNum, advCode: advCode, accountType: accountType, statuses: statuses, companyName: companyName, networkName: networkName, currentPage: currentPage, count: count, filterType: filterType, wrappers: wrappers, investedInMandates: investedInMandates, mandateNames: mandateNames, hasRegularPayments: hasRegularPayments, hasRegularWithdrawals: hasRegularWithdrawals, ServicePropositionsToExclude: ServicePropositionsToExclude }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientAccount } from '../../Models/Domains/Account/SlAccounts/ClientAccount';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientAccountClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/ClientAccount/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(updatedAccount: ClientAccount, dateOfDeath: IJsonDate, dateOfNotification: IJsonDate): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/ClientAccount/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { updatedAccount: updatedAccount, dateOfDeath: dateOfDeath, dateOfNotification: dateOfNotification }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { RDRClient } from '../../Models/Domains/Account/SlAccounts/RDRClient';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientRDRClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(accountId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/ClientRDR/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountId: accountId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientAccount } from '../../Models/Domains/Account/SlAccounts/ClientAccount';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ConsolidateAccountClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/ConsolidateAccount/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CorrespondenceRecipient } from '../../Models/Domains/Account/CorrespondenceRecipient';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CorrespondenceRecipientClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(headAccountHierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/CorrespondenceRecipient/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { headAccountHierarchyId: headAccountHierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(recipient: CorrespondenceRecipient): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/CorrespondenceRecipient/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { recipient: recipient }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ActiveAccountRestriction } from '../../Models/Models/Account/Restrictions/ActiveAccountRestriction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerRestrictionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorIds: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/CustomerRestriction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorIds: actorIds }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { HierarchyEntityMifirDecisionMaker } from '../../Models/Domains/DecisionMaker/HierarchyEntityMifirDecisionMaker';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DecisionMakerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/DecisionMaker/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InterestedParty } from '../../Models/Models/Customer/InterestedParty';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InterestedPartiesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/InterestedParties/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PropositionInvestmentConfig } from '../../Models/Domains/Account/PropositionInvestmentConfig';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentPermissionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(servicePropositionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/InvestmentPermission/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { servicePropositionId: servicePropositionId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { MailingPreferenceHistoryCollection } from '../../Models/Domains/Account/MailingPreferenceHistoryCollection';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class MailingPreferenceHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, minrow: number, maxrow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/MailingPreferenceHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, minrow: minrow, maxrow: maxrow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PensionSubAccountSettings } from '../../Models/Domains/SubAccount/PensionSubAccountSettings';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PensionSubAccountSettingsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/PensionSubAccountSettings/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductNameClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(hierarchyId: string, name: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/ProductName/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, name: name }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProductOverviewModel } from '../../Models/Models/Account/ProductOverviewModel';\r\nimport { AccountStatus } from '../../Models/Domains/Account/SlAccounts/AccountStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductOverviewClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(subAccountHierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/ProductOverview/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(hierarchyId: string, name: string, accountStatus: AccountStatus): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/ProductOverview/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, name: name, accountStatus: accountStatus }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { RestrictionReason } from '../../Models/Models/Account/Restrictions/RestrictionReason';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class RestrictionReasonClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/RestrictionReason/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SubAccountTreasuredAssetsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/SubAccountTreasuredAssets/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(hierarchyId: string, treasuredProductIds: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/SubAccountTreasuredAssets/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, treasuredProductIds: treasuredProductIds }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TrustDetail } from '../../Models/Domains/Account/TrustDetail';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/TrustDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TrustDetail } from '../../Models/Domains/Account/TrustDetail';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/TrustDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { OffPlatformLifeTimeAllowance } from '../../Models/Domains/Account/OffPlatformLifeTimeAllowance';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UpdateLifetimeAllowanceClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/UpdateLifetimeAllowance/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(hierarchyId: string, instruction: OffPlatformLifeTimeAllowance): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Account/UpdateLifetimeAllowance/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, instruction: instruction }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AddressSearchResults } from '../../Models/Domains/Address/AddressSearchResults';\r\nimport { CountryCode } from '../../Constants/Enums/Domain/CountryCode';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FindAddressesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(term: string, countryCode: CountryCode, lastId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Address/FindAddresses/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { term: term, countryCode: countryCode, lastId: lastId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AddressDetailsSearchResults } from '../../Models/Domains/Address/AddressDetailsSearchResults';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class RetrieveAddressDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(id: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Address/RetrieveAddressDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { id: id }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AdviserConfiguration } from '../../Models/Models/Adviser/Configuration/AdviserConfiguration';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserConfigurationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/AdviserConfiguration/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AdviserConfigurationCollection } from '../../Models/Models/Adviser/Configuration/AdviserConfigurationCollection';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserConfigurationHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, minrow: number, maxrow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/AdviserConfigurationHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, minrow: minrow, maxrow: maxrow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../react-core/Core/ApiError';\r\nimport { AdviserConfigurationInstruction } from '../../Models/Models/Adviser/Configuration/AdviserConfigurationInstruction';\r\nimport { AdviserConfigurationInstructionErrors } from '../../Validation/Errors/Adviser/AdviserConfigurationInstructionErrors';\r\nimport { CreateAdviserConfigurationInstructionQuery } from '../../Models/Models/Adviser/Configuration/CreateAdviserConfigurationInstructionQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserConfigurationInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/AdviserConfigurationInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(query: CreateAdviserConfigurationInstructionQuery): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/AdviserConfigurationInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Adviser } from '../../Models/Domains/Adviser/Adviser';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/AdviserDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CancelAdviserConfigurationInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(instructionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/CancelAdviserConfigurationInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AdviserConfiguration } from '../../Models/Models/Adviser/Configuration/AdviserConfiguration';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SubmitAdviserConfigurationInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(instructionId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/SubmitAdviserConfigurationInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\nimport { AdviserConfigurationInstruction } from '../../Models/Models/Adviser/Configuration/AdviserConfigurationInstruction';\r\nimport { AdviserConfigurationInstructionUpdateAction } from '../../Constants/Enums/Domain/AdviserConfigurationInstructionUpdateAction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UpdateAdviserConfigurationInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(adviserConfigurationInstruction: AdviserConfigurationInstruction, adviserConfigurationInstructionUpdateAction: AdviserConfigurationInstructionUpdateAction): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Adviser/UpdateAdviserConfigurationInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { adviserConfigurationInstruction: adviserConfigurationInstruction, adviserConfigurationInstructionUpdateAction: adviserConfigurationInstructionUpdateAction }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { MonthChargeTypesValuationModel } from '../../Models/Models/AdviserCharges/MonthChargeTypesValuationModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class MonthlyChargeTypesValuationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(companyHierarchyId: string, adviserHierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, servicePropositions: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/AdviserCharges/MonthlyChargeTypesValuation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { companyHierarchyId: companyHierarchyId, adviserHierarchyId: adviserHierarchyId, fromDate: fromDate, toDate: toDate, servicePropositions: servicePropositions }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../react-core/Core/ApiError';\r\nimport { ApplyModel } from '../../Models/Models/Processes/Apply/ApplyModel';\r\nimport { ApplyErrors } from '../../Validation/Errors/Apply/ApplyErrors';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ApplyContributionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(model: ApplyModel): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/ApplyContributions/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ApplyModel } from '../../Models/Models/Processes/Apply/ApplyModel';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ApplyInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number, product: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/ApplyInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, product: product }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(applyModel: ApplyModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/ApplyInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { applyModel: applyModel }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public delete(instructionId: number, shellHeadClAccountId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/ApplyInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, shellHeadClAccountId: shellHeadClAccountId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public put(applyModel: ApplyModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/ApplyInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { applyModel: applyModel }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ApplyWizardClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public delete(wizardId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/ApplyWizard/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { wizardId: wizardId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidatedResult } from '../../Models/Models/ValidatedResult';\r\nimport { ProcessType } from '../../Constants/Enums/Client/DashboardFilter/ProcessType';\r\nimport { GiaContributionModel } from '../../Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class GiaContributionInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(subAccountHierarchyId: string, headAccountHierarchyId: string, activityType: ProcessType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/GiaContributionInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId, headAccountHierarchyId: headAccountHierarchyId, activityType: activityType }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public get(hierarchyId: string, customerId: number, editAction: string, batchId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/GiaContributionInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, customerId: customerId, editAction: editAction, batchId: batchId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(model: GiaContributionModel, editAction: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/GiaContributionInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model, editAction: editAction }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionIsAdHocNoChangeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/InstructionIsAdHocNoChange/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(instructionId: number, isAdHocNoChange: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/InstructionIsAdHocNoChange/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, isAdHocNoChange: isAdHocNoChange }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IsaContributionModel } from '../../Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel';\r\nimport { ValidatedResult } from '../../Models/Models/ValidatedResult';\r\nimport { ProcessType } from '../../Constants/Enums/Client/DashboardFilter/ProcessType';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class IsaContributionInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, customerId: number, editAction: string, batchId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/IsaContributionInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, customerId: customerId, editAction: editAction, batchId: batchId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(subAccountHierarchyId: string, headAccountHierarchyId: string, activityType: ProcessType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/IsaContributionInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId, headAccountHierarchyId: headAccountHierarchyId, activityType: activityType }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public put(model: IsaContributionModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/IsaContributionInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public delete(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/IsaContributionInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.delete(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidatedResult } from '../../Models/Models/ValidatedResult';\r\nimport { ProcessType } from '../../Constants/Enums/Client/DashboardFilter/ProcessType';\r\nimport { PensionContributionModel } from '../../Models/Models/Processes/Apply/Pension/PensionContributionModel';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PensionContributionInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(subAccountHierarchyId: string, headAccountHierarchyId: string, activityType: ProcessType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/PensionContributionInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId, headAccountHierarchyId: headAccountHierarchyId, activityType: activityType }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public get(hierarchyId: string, customerId: number, editAction: string, batchId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/PensionContributionInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, customerId: customerId, editAction: editAction, batchId: batchId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(model: PensionContributionModel, customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/PensionContributionInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model, customerId: customerId }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public delete(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/PensionContributionInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.delete(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../react-core/Core/ApiError';\r\nimport { ApplyModel } from '../../Models/Models/Processes/Apply/ApplyModel';\r\nimport { ApplyErrors } from '../../Validation/Errors/Apply/ApplyErrors';\r\nimport { QuoteModel } from '../../Models/Models/Processes/Quote/QuoteModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class QuoteToApplyInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(quoteModel: QuoteModel): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/QuoteToApplyInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { quoteModel: quoteModel }\r\n\r\n return AjaxWrapper.post[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\nimport { ContributionAndWithdrawalBase } from '../../Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SubAccountAmendmentInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(hierarchyId: string, model: ContributionAndWithdrawalBase, customerId: string, claccountId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/SubAccountAmendmentInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, model: model, customerId: customerId, claccountId: claccountId }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public delete(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/SubAccountAmendmentInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { SubAccountType } from '../../Constants/Enums/Domain/SubAccountType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class WhatIfToolCopyClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(hierarchyId: string, subaccountHierarchyId: string, type: SubAccountType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/WhatIfToolCopy/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, subaccountHierarchyId: subaccountHierarchyId, type: type }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { WhatIfToolDetailModel } from '../../Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class WhatIfToolInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(subAccountHierarchyId: string, headAccountHierarchyId: string, batchId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/WhatIfToolInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId, headAccountHierarchyId: headAccountHierarchyId, batchId: batchId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/WhatIfToolInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidatedResult } from '../../Models/Models/ValidatedResult';\r\nimport { ProcessType } from '../../Constants/Enums/Client/DashboardFilter/ProcessType';\r\nimport { WrapCashContributionModel } from '../../Models/Models/Processes/Apply/WrapCash/WrapCashContributionModel';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class WrapCashContributionInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(subAccountHierarchyId: string, headAccountHierarchyId: string, activityType: ProcessType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/WrapCashContributionInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId, headAccountHierarchyId: headAccountHierarchyId, activityType: activityType }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public get(hierarchyId: string, customerId: number, editAction: string, batchId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/WrapCashContributionInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, customerId: customerId, editAction: editAction, batchId: batchId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(model: WrapCashContributionModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/WrapCashContributionInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public delete(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Apply/WrapCashContributionInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.delete(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BackOfficeProviderBulkValuationReport } from '../../Models/Models/BackOfficeIntegration/BackOfficeProviderBulkValuationReport';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BackOfficeProviderBulkValuationReportClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(bulkFileTypeId: number, networkId: number, companyCode: string, fromDate: IJsonDate, toDate: IJsonDate): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BackOfficeIntegration/BackOfficeProviderBulkValuationReport/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { bulkFileTypeId: bulkFileTypeId, networkId: networkId, companyCode: companyCode, fromDate: fromDate, toDate: toDate }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BackOfficeProvider } from '../../Models/Models/BackOfficeIntegration/BackOfficeProvider';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BackOfficeProvidersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BackOfficeIntegration/BackOfficeProviders/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BankAccountInstruction } from '../../Models/Domains/Instructions/BankAccountInstruction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BankAccountInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(model: BankAccountInstruction): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BankAccount/BankAccountInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public delete(model: BankAccountInstruction): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BankAccount/BankAccountInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BankAccount } from '../../Models/Domains/BankAccount/BankAccount';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BankAccountsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BankAccount/BankAccounts/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BwaBranchDataReferral } from '../../Models/Domains/BankAccount/BwaBranchDataReferral';\r\nimport { BwaBankAccountValidationRequest } from '../../Models/Domains/BankAccount/BwaBankAccountValidationRequest';\r\nimport { ExperianMessageType } from '../../Models/Domains/BankAccount/ExperianMessageType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ExperianBankAccountValidationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(request: BwaBankAccountValidationRequest): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BankAccount/ExperianBankAccountValidation/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(instructionId: number, wizardSessionId: number, messageType: ExperianMessageType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BankAccount/ExperianBankAccountValidation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, wizardSessionId: wizardSessionId, messageType: messageType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BankAccountCombinedResult } from '../../Models/Domains/BankAccount/BankAccountCombinedResult';\r\nimport { BankAccountCheckRequest } from '../../Models/Domains/BankAccount/BankAccountCheckRequest';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ExperianBankWizardRequestClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(request: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BankAccount/ExperianBankWizardRequest/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProductRegularPayment } from '../../Models/Domains/Valuation/ProductRegularPayment';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BondRegularPaymentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/BondRegularPayment/BondRegularPayment/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AssetUnderManagementModel } from '../../Models/Models/Business/AssetUnderManagement/AssetUnderManagementModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ExternalTransferStatus } from '../../Constants/Enums/Transfer/ExternalTransferStatus';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AssetUnderManagementClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, asAt: IJsonDate, startDate: IJsonDate, endDate: IJsonDate, status: ExternalTransferStatus, servicePropositions: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Business/AssetUnderManagement/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, asAt: asAt, startDate: startDate, endDate: endDate, status: status, servicePropositions: servicePropositions }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientSummaryGroupModel } from '../../Models/Models/Business/ClientSummary/ClientSummaryGroupModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientSummaryGroupClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, valuationDate: IJsonDate, servicePropositions: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Business/ClientSummaryGroup/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, valuationDate: valuationDate, servicePropositions: servicePropositions }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CommissionCharge } from '../../Models/Models/Charges/CommissionCharge';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CommissionChargeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/charge/CommissionCharge/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CommissionCharge } from '../../Models/Models/Charges/CommissionCharge';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CommissionChargesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/charge/CommissionCharges/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public delete(headAccountHierarchyId: string, cancelAll: boolean, subAccountHierarchyId: string, processId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/charge/CommissionCharges/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { headAccountHierarchyId: headAccountHierarchyId, cancelAll: cancelAll, subAccountHierarchyId: subAccountHierarchyId, processId: processId }\r\n\r\n return AjaxWrapper.delete(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CoachMarkerSetJourneyStatusesByClientResponse } from '../../Models/Models/CoachMarkers/CoachMarkerSetJourneyStatusesByClientResponse';\r\nimport { CoachMarkerSetJourney } from '../../Models/Models/CoachMarkers/CoachMarkerSetJourney';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CoachMarkerSetJourneyStateForClientClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/CoachMarkers/CoachMarkerSetJourneyStateForClient/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(requestBody: CoachMarkerSetJourney): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/CoachMarkers/CoachMarkerSetJourneyStateForClient/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { requestBody: requestBody }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BusinessDaysClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(numberOfDays: number, futureOrPast: number, baseDate: IJsonDate, max: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Common/BusinessDays/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { numberOfDays: numberOfDays, futureOrPast: futureOrPast, baseDate: baseDate, max: max }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FsaPermission } from '../../Models/Models/Company/FsaPermission';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CompanyFsaPermissionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(company: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/CompanyFsaPermissions/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { company: company }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CompanySummariesPaginated } from '../../Models/Models/Company/CompanySummariesPaginated';\r\nimport { FirmType } from '../../Constants/Enums/Domain/FirmType';\r\nimport { CompanyDetailSort } from '../../Constants/Enums/Domain/CompanyDetailSort';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CompanySearchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(CompanyId: string, CompanyName: string, FirmType: FirmType, FSAAuthorisationNumber: string, Network: string, Postcode: string, SortDescending: boolean, Start: number, Count: number, OrderBy: CompanyDetailSort, IncludeInactive: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/CompanySearch/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { CompanyId: CompanyId, CompanyName: CompanyName, FirmType: FirmType, FSAAuthorisationNumber: FSAAuthorisationNumber, Network: Network, Postcode: Postcode, SortDescending: SortDescending, Start: Start, Count: Count, OrderBy: OrderBy, IncludeInactive: IncludeInactive }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CompanyServicePropositionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorId: number, hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/CompanyServiceProposition/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CompanyDetail } from '../../Models/Models/Company/CompanyDetail';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CompanyViewClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(companyCode: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/CompanyView/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { companyCode: companyCode }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { EdiMailBox } from '../../Models/Models/Company/EdiMailBox';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class EdiMailBoxClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/EdiMailBox/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FirmInstruction } from '../../Models/Models/Company/FirmInstruction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FirmInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FirmInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\nimport { CancelFirmInstructionsQuery } from '../../Models/Models/Company/CancelFirmInstructionsQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FirmInstructionCancelClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: CancelFirmInstructionsQuery): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FirmInstructionCancel/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FirmInstruction } from '../../Models/Models/Company/FirmInstruction';\r\nimport { CreateFirmInstructionQuery } from '../../Models/Models/Company/CreateFirmInstructionQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FirmInstructionCreateClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: CreateFirmInstructionQuery): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FirmInstructionCreate/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FirmInstructionHistoryCollectionModel } from '../../Models/Models/Company/FirmInstructionHistoryCollectionModel';\r\nimport { InstructionStatus } from '../../Constants/Enums/Domain/InstructionStatus';\r\nimport { FirmProcessType } from '../../Constants/Enums/Domain/FirmProcessType';\r\nimport { FirmType } from '../../Constants/Enums/Domain/FirmType';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { GetFirmInstructionsQuery } from '../../Models/Models/Company/GetFirmInstructionsQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FirmInstructionHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(statuses: Array, firmProcessType: FirmProcessType, firmType: FirmType, firmName: string, tradingReference: string, postCode: string, createUserId: number, startedFromDate: IJsonDate, startedToDate: IJsonDate, updatedFromDate: IJsonDate, updatedToDate: IJsonDate, start: number, count: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FirmInstructionHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { statuses: statuses, firmProcessType: firmProcessType, firmType: firmType, firmName: firmName, tradingReference: tradingReference, postCode: postCode, createUserId: createUserId, startedFromDate: startedFromDate, startedToDate: startedToDate, updatedFromDate: updatedFromDate, updatedToDate: updatedToDate, start: start, count: count }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public delete(instructionIds: Array, query: GetFirmInstructionsQuery): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FirmInstructionHistory/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionIds: instructionIds, query: query }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FirmInstructionSubmitClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(instructionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FirmInstructionSubmit/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\nimport { UpdateFirmInstructionQuery } from '../../Models/Models/Company/UpdateFirmInstructionQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FirmInstructionUpdateClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: UpdateFirmInstructionQuery): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FirmInstructionUpdate/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FsaAuthorizationNumberExisted } from '../../Models/Models/Company/FsaAuthorizationNumberExisted';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FsaAuthorizationNumberCheckClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(fsaAuthorizationNumber: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FsaAuthorizationNumberCheck/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { fsaAuthorizationNumber: fsaAuthorizationNumber }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FsaSourcedCompanyDetailModel } from '../../Models/Models/Company/FsaSourcedCompanyDetailModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FsaSourcedCompanyDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(fsaNumber: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Company/FsaSourcedCompanyDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { fsaNumber: fsaNumber }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AMLCheckResult } from '../../Models/Domains/Customers/AMLCheckResult';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AMLCheckClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(customerId: number, value: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AMLCheck/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, value: value }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountComplianceClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AccountCompliance/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountRoleWithAccountDetails } from '../../Models/Domains/Customers/AccountRoleWithAccountDetails';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountRoleDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AccountRoleDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountRole } from '../../Models/Domains/Account/AccountRole';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountRolesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(accountHierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AccountRoles/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountHierarchyId: accountHierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ActorOwner } from '../../Models/Domains/Customers/ActorOwner';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ActorOwnerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ActorOwner/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AdditionalDataItemType } from '../../Constants/Enums/Domain/AdditionalDataItemType';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdditionalDataItemClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number, type: AdditionalDataItemType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AdditionalDataItem/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, type: type }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(customerId: number, type: AdditionalDataItemType, additionalDataItem: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AdditionalDataItem/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, type: type, additionalDataItem: additionalDataItem }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public delete(customerId: number, type: AdditionalDataItemType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AdditionalDataItem/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, type: type }\r\n\r\n return AjaxWrapper.delete(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AddressDetailModel } from '../../Models/Models/Customer/AddressDetailModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AddressDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AddressDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public post(customerId: number, addressDetail: AddressDetailModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AddressDetail/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, addressDetail: addressDetail }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(customerId: number, addressDetail: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AddressDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, addressDetail: addressDetail }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AdviserBridgePermissionCheck } from '../../Models/Models/Customer/AdviserBridgePermissionCheck';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserBridgePermissionCheckClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AdviserBridgePermissionCheck/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountRoleType } from '../../Models/Domains/Customers/AccountRoleType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AvailableAccountRoleClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(investorTypes: Array, customerId: number, hierarchyIds: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/AvailableAccountRole/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { investorTypes: investorTypes, customerId: customerId, hierarchyIds: hierarchyIds }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CheckAccountPermissionsResponse } from '../../Models/Domains/Customer/CheckAccountPermissionsResponse';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CheckAdviserBridgeAccountPermissionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CheckAdviserBridgeAccountPermissions/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientAccessModel } from '../../Models/Models/Customer/ClientAccessModel';\r\nimport { RoleType } from '../../Constants/Enums/RoleType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientAccessClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number, clAccountId: string, roleType: RoleType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ClientAccess/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, clAccountId: clAccountId, roleType: roleType }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(clientAccessModel: ClientAccessModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ClientAccess/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { clientAccessModel: clientAccessModel }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { OrganisationMember } from '../../Models/Models/Customer/OrganisationMember';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientAccessesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(organisationMembers: Array, accountHierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ClientAccesses/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { organisationMembers: organisationMembers, accountHierarchyId: accountHierarchyId }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientSearchByAccountClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(clAccountId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ClientSearchByAccount/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { clAccountId: clAccountId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Company } from '../../Models/Models/Customer/Company';\r\nimport { CompanyActorId } from '../../Models/Models/Customer/CompanyActorId';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CompanyActorClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CompanyActor/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(customerId: number, company: Company): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CompanyActor/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, company: company }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public post(ownerAdviserId: number, company: Company): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CompanyActor/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { ownerAdviserId: ownerAdviserId, company: company }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ContactPreferenceDetails } from '../../Models/Models/Customer/ContactPreferenceDetails';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ContactPreferenceDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ContactPreferenceDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(customerId: number, preferenceDetails: ContactPreferenceDetails): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ContactPreferenceDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, preferenceDetails: preferenceDetails }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ControllingPersonRoleDetailCollectionModel } from '../../Models/Models/Customer/ControllingPersonRoleDetailCollectionModel';\r\nimport { ControllingPersonRoleDetailModel } from '../../Models/Models/Customer/ControllingPersonRoleDetailModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ControllingPersonDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ControllingPersonDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(detail: ControllingPersonRoleDetailModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ControllingPersonDetails/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { detail: detail }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CustomerEmailAddress } from '../../Models/Models/Customer/CustomerEmailAddress';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerEmailAddressesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerEmailAddresses/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(customerId: number, addresses: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerEmailAddresses/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, addresses: addresses }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CustomerSearchModel } from '../../Models/Models/Customer/CustomerSearch/CustomerSearchModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerMatchingClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(firstName: string, lastName: string, dateOfBirth: IJsonDate, visibleToAdviserId: number, pageIndex: number, pageSize: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerMatching/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { firstName: firstName, lastName: lastName, dateOfBirth: dateOfBirth, visibleToAdviserId: visibleToAdviserId, pageIndex: pageIndex, pageSize: pageSize }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CustomerMergeModel } from '../../Models/Models/Customer/CustomerMergeModel';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerMergeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(firstCustomerId: number, secondCustomerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerMerge/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { firstCustomerId: firstCustomerId, secondCustomerId: secondCustomerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(fromCustomerId: number, toCustomerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerMerge/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { fromCustomerId: fromCustomerId, toCustomerId: toCustomerId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientDetails } from '../../Models/Models/Processes/Quote/ClientDetails';\r\nimport { RoleType } from '../../Constants/Enums/RoleType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerNameFuzzySearchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(name: string, newAccountAdviserId: number, newAccountRoleType: RoleType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerNameFuzzySearch/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { name: name, newAccountAdviserId: newAccountAdviserId, newAccountRoleType: newAccountRoleType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CustomerPhoneNumber } from '../../Models/Models/Customer/CustomerPhoneNumber';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerPhoneNumbersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerPhoneNumbers/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(customerId: number, phoneNumbers: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerPhoneNumbers/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, phoneNumbers: phoneNumbers }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CustomerSearchModel } from '../../Models/Models/Customer/CustomerSearch/CustomerSearchModel';\r\nimport { CustomerStatus } from '../../Constants/Enums/Domain/CustomerStatus';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { RoleType } from '../../Constants/Enums/RoleType';\r\nimport { EntityType } from '../../Constants/Enums/EntityType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerSearchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number, customerStatus: CustomerStatus, firstName: string, lastName: string, dateOfBirth: IJsonDate, taxIdentifier: string, clAccountId: string, customerRole: RoleType, entityId: number, entityType: EntityType, visibleToAdviserId: number, currentPage: number, pageSize: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerSearch/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, customerStatus: customerStatus, firstName: firstName, lastName: lastName, dateOfBirth: dateOfBirth, taxIdentifier: taxIdentifier, clAccountId: clAccountId, customerRole: customerRole, entityId: entityId, entityType: entityType, visibleToAdviserId: visibleToAdviserId, currentPage: currentPage, pageSize: pageSize }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CustomerTaxResidencyModel } from '../../Models/Models/Customer/Regulatory/CustomerTaxResidencyModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerTaxResidencyClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerTaxResidency/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(customerId: number, models: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerTaxResidency/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, models: models }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientAccount } from '../../Models/Domains/Account/SlAccounts/ClientAccount';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerUnderlyingAccountDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/CustomerUnderlyingAccountDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DeathDetails } from '../../Models/Models/Customer/DeathDetails';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DeathDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/DeathDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(customerId: number, deathDetails: DeathDetails): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/DeathDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, deathDetails: deathDetails }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { EmploymentDetail } from '../../Models/Models/Customer/EmploymentDetail';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class EmploymentDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/EmploymentDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(customerId: number, employmentDetail: EmploymentDetail): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/EmploymentDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, employmentDetail: employmentDetail }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FullClientDetailModel } from '../../Models/Models/Customer/FullClientDetailModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FullClientDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/FullClientDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(customerId: number, clientDetail: FullClientDetailModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/FullClientDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, clientDetail: clientDetail }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InterestedParty } from '../../Models/Models/Customer/InterestedParty';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InterestedPartiesByCustomerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/InterestedPartiesByCustomer/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PostProspectResponse } from '../../Models/Models/Customer/PostProspectResponse';\r\nimport { RoleType } from '../../Constants/Enums/RoleType';\r\nimport { FullClientDetailModel } from '../../Models/Models/Customer/FullClientDetailModel';\r\nimport { ControllingPersonType } from '../../Constants/Enums/Customer/ControllingPersonType';\r\nimport { InterestedParty } from '../../Models/Models/Customer/InterestedParty';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InterestedPartyClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(actorCategory: number, hierarchyIds: Array, roleType: RoleType, clientPortalAccess: boolean, clientDetail: FullClientDetailModel, controllingPersonType: ControllingPersonType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/InterestedParty/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorCategory: actorCategory, hierarchyIds: hierarchyIds, roleType: roleType, clientPortalAccess: clientPortalAccess, clientDetail: clientDetail, controllingPersonType: controllingPersonType }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(hierarchyId: string, roleType: RoleType, clientPortalAccess: boolean, clientDetail: FullClientDetailModel, controllingPersonType: ControllingPersonType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/InterestedParty/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, roleType: roleType, clientPortalAccess: clientPortalAccess, clientDetail: clientDetail, controllingPersonType: controllingPersonType }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public get(hierarchyId: string, investorType: number, customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/InterestedParty/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, investorType: investorType, customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public delete(actorId: number, hierarchyId: string, roleType: RoleType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/InterestedParty/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId, hierarchyId: hierarchyId, roleType: roleType }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CustomerNewProductLink } from '../../Models/Models/Customer/CustomerNewProductLink';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NewProductLinkClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/NewProductLink/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { NoteDetailModel } from '../../Models/Models/Customer/NoteDetailModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NoteDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/NoteDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public post(customerId: number, noteDetailModel: NoteDetailModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/NoteDetail/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, noteDetailModel: noteDetailModel }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(customerId: number, noteDetailModel: NoteDetailModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/NoteDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, noteDetailModel: noteDetailModel }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public delete(customerId: number, noteDetailModel: NoteDetailModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/NoteDetail/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, noteDetailModel: noteDetailModel }\r\n\r\n return AjaxWrapper.delete(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { OrganisationResponse } from '../../Models/Models/Customer/OrganisationResponse';\r\nimport { Organisation } from '../../Models/Models/Customer/Organisation';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class OrganisationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(organisation: Organisation): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/Organisation/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { organisation: organisation }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(customerId: number, hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/Organisation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(organisation: Organisation): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/Organisation/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { organisation: organisation }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { OrganisationSearchModel } from '../../Models/Models/Customer/OrganisationSearch/OrganisationSearchModel';\r\nimport { CustomerStatus } from '../../Constants/Enums/Domain/CustomerStatus';\r\nimport { CustomerType } from '../../Constants/Enums/Customer/CustomerType';\r\nimport { FATCABusinessType } from '../../Constants/Enums/Customer/FATCABusinessType';\r\nimport { CompanyType } from '../../Constants/Enums/Customer/CompanyType';\r\nimport { RoleType } from '../../Constants/Enums/RoleType';\r\nimport { EntityType } from '../../Constants/Enums/EntityType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class OrganisationSearchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(organisationId: number, organisationStatus: CustomerStatus, customerType: CustomerType, businessType: FATCABusinessType, companyType: CompanyType, organisationName: string, isPartialOrganisationName: boolean, clAccountId: string, organisationRole: RoleType, entityType: EntityType, entityId: number, visibleToAdviserId: number, currentPage: number, pageSize: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/OrganisationSearch/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { organisationId: organisationId, organisationStatus: organisationStatus, customerType: customerType, businessType: businessType, companyType: companyType, organisationName: organisationName, isPartialOrganisationName: isPartialOrganisationName, clAccountId: clAccountId, organisationRole: organisationRole, entityType: entityType, entityId: entityId, visibleToAdviserId: visibleToAdviserId, currentPage: currentPage, pageSize: pageSize }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PensionProtectionDetails } from '../../Models/Models/Customer/PensionProtection/PensionProtectionDetails';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PensionProtectionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/PensionProtection/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(customerId: number, pensionProtectionDetails: PensionProtectionDetails): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/PensionProtection/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, pensionProtectionDetails: pensionProtectionDetails }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PersonalDetail } from '../../Models/Models/Customer/PersonalDetail';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PersonalDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/PersonalDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(customerId: number, personalDetail: PersonalDetail): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/PersonalDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, personalDetail: personalDetail }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PostProspectResponse } from '../../Models/Models/Customer/PostProspectResponse';\r\nimport { Prospect } from '../../Models/Models/Customer/Prospect';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProspectClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(prospect: Prospect): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/Prospect/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { prospect: prospect }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { RegulatoryCheckDetailsModel } from '../../Models/Models/Customer/RegulatoryCheckDetailsModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\nimport { RegulatoryCheckInfoType } from '../../Constants/Enums/Customer/RegulatoryCheckInfoType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class RegulatoryCheckDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/RegulatoryCheckDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public post(customerId: number, editType: RegulatoryCheckInfoType, regulatoryCheckDetails: RegulatoryCheckDetailsModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/RegulatoryCheckDetails/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, editType: editType, regulatoryCheckDetails: regulatoryCheckDetails }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(customerId: number, editType: RegulatoryCheckInfoType, regulatoryCheckDetails: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/RegulatoryCheckDetails/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, editType: editType, regulatoryCheckDetails: regulatoryCheckDetails }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { RelationshipType } from '../../Constants/Enums/Customer/RelationshipType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class RelationshipClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public delete(primaryActorId: number, secondaryActorId: number, relationshipTypes: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/Relationship/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { primaryActorId: primaryActorId, secondaryActorId: secondaryActorId, relationshipTypes: relationshipTypes }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n public post(primaryActorId: number, secondaryActorId: number, originRelationships: Array, newRelationships: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/Relationship/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { primaryActorId: primaryActorId, secondaryActorId: secondaryActorId, originRelationships: originRelationships, newRelationships: newRelationships }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ReportingTaxYearSettingModel } from '../../Models/Models/Customer/Regulatory/ReportingTaxYearSettingModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ReportingTaxYearSettingClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ReportingTaxYearSetting/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(customerId: number, model: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/ReportingTaxYearSetting/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { SearchActorNameModel } from '../../Models/Domains/Account/SearchActorNameModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SearchActorNameClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(inputString: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/SearchActorName/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { inputString: inputString }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TaxFormModel } from '../../Models/Models/Customer/Regulatory/TaxFormModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TaxFormClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TaxForm/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(customerId: number, model: TaxFormModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TaxForm/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\nimport { TrustAuthorisationRequestType } from '../../Constants/Enums/Customer/TrustAuthorisationRequestType';\r\nimport { TrustRemovalReason } from '../../Constants/Enums/Customer/TrustRemovalReason';\r\nimport { TrustAuthorisationRequestModel } from '../../Models/Models/Customer/TrustAuthorisationRequestModel';\r\nimport { AuthorisationStatus } from '../../Models/Models/Common/AuthorisationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustAuthorisationRequestsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(customerId: number, organisationId: number, type: TrustAuthorisationRequestType, reason: TrustRemovalReason): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustAuthorisationRequests/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, organisationId: organisationId, type: type, reason: reason }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(organisationId: number, removalReason: TrustRemovalReason, status: AuthorisationStatus, trustMemberIds: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustAuthorisationRequests/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { organisationId: organisationId, removalReason: removalReason, status: status, trustMemberIds: trustMemberIds }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\nimport { Organisation } from '../../Models/Models/Customer/Organisation';\r\nimport { TrustRemovalReason } from '../../Constants/Enums/Customer/TrustRemovalReason';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustMemberClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(organisation: Organisation): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustMember/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { organisation: organisation }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public delete(organisation: Organisation, reasonType: TrustRemovalReason, deathTime: IJsonDate): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustMember/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { organisation: organisation, reasonType: reasonType, deathTime: deathTime }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TrustMemberDeathValidationResult } from '../../Models/Models/Customer/TrustMemberDeathValidationResult';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustMemberDeathDetailValidationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustMemberDeathDetailValidation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TrustMemberHistory } from '../../Models/Models/Customer/TrustMemberHistory';\r\nimport { BulkTrustMemberHistorySearchResult } from '../../Models/Models/Customer/BulkTrustMemberHistorySearchResult';\r\nimport { TrustMemberBulkRequest } from '../../Models/Models/Customer/TrustMemberBulkRequest';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustMemberHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number, accountId: number, organisationId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustMemberHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, accountId: accountId, organisationId: organisationId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public post(request: TrustMemberBulkRequest): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustMemberHistory/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TrustServicingModel } from '../../Models/Models/Customer/TrustServicingModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustServicingModelClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustServicingModel/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ShareOfTrustItem } from '../../Models/Models/Customer/ShareOfTrustItem';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TrustShareClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/TrustShare/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { VulnerabilityDetail } from '../../Models/Models/Customer/VulnerabilityDetail';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class VulnerabilityDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/VulnerabilityDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(customerId: number, vulnerabilityDetails: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/VulnerabilityDetail/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, vulnerabilityDetails: vulnerabilityDetails }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { VulnerabilityOptions } from '../../Models/Models/Customer/VulnerabilityOptions';\r\nimport { VulnerabilityCategory } from '../../Constants/Enums/Customer/VulnerabilityCategory';\r\nimport { VulnerabilityType } from '../../Constants/Enums/Customer/VulnerabilityType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class VulnerabilityOptionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(category: VulnerabilityCategory, type: VulnerabilityType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Customer/VulnerabilityOptions/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { category: category, type: type }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { MenuItem } from '../../Models/Domains/Menu/MenuItem';\r\nimport { SideMenu } from '../../Constants/Enums/Menu/SideMenu';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountMenuClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(sideMenu: SideMenu, hierarchyId: string, subAccountHierarchyId: string, clAccountId: string, customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Dashboard/AccountMenu/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { sideMenu: sideMenu, hierarchyId: hierarchyId, subAccountHierarchyId: subAccountHierarchyId, clAccountId: clAccountId, customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PortfolioViewMenuAdditionalInfo } from '../../Models/Domains/Menu/PortfolioViewMenuAdditionalInfo';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PortfolioViewMenuAdditionalInfoClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Dashboard/PortfolioViewMenuAdditionalInfo/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DocumentFileClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fileName: string, useGenericFileName: boolean, documentId: number, taskRequestId: number, clAccountId: string, encrypt: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/DocumentFile/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fileName: fileName, useGenericFileName: useGenericFileName, documentId: documentId, taskRequestId: taskRequestId, clAccountId: clAccountId, encrypt: encrypt }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(hierarchyId: string, documentId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/DocumentFile/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, documentId: documentId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DocumentsLibrary } from '../../Models/Domains/Documents/DocumentsLibrary';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DocumentsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, fromDate: IJsonDate, toDate: IJsonDate, searchQuery: string, minRow: number, maxRow: number, taskRequestIds: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/Documents/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, fromDate: fromDate, toDate: toDate, searchQuery: searchQuery, minRow: minRow, maxRow: maxRow, taskRequestIds: taskRequestIds }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(documentId: number, hierarchyId: string, status: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/Documents/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { documentId: documentId, hierarchyId: hierarchyId, status: status }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AddressDetailModel } from '../../Models/Models/Customer/AddressDetailModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DocumentsSenderAddressClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/DocumentsSenderAddress/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { EsignatureSignedDocuments } from '../../Models/Models/Documents/InstructionDocuments/EsignatureSignedDocuments';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ESignatureDocumentSignedClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/ESignatureDocumentSigned/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { SubmitDocumentsEsignature } from '../../Models/Domains/Documents/SubmitDocumentsEsignature';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ESignatureDocumentTaskRequestSubmitClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(submitDocumentsEsignatureCommand: SubmitDocumentsEsignature): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/ESignatureDocumentTaskRequestSubmit/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { submitDocumentsEsignatureCommand: submitDocumentsEsignatureCommand }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ExternalFundDocument } from '../../Models/Models/Documents/InstructionDocuments/ExternalFundDocument';\r\nimport { ExternalDocumentType } from '../../Models/Domains/Documents/ExternalDocumentType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ExternalFundDocumentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(accountInstructionId: number, customerId: number, company: string, externalDocumentType: ExternalDocumentType, instrumentCodes: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/ExternalFundDocument/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountInstructionId: accountInstructionId, customerId: customerId, company: company, externalDocumentType: externalDocumentType, instrumentCodes: instrumentCodes }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { EncryptedInstructionDocumentTypeRequest } from '../../Models/Models/Documents/InstructionDocuments/EncryptedInstructionDocumentTypeRequest';\r\nimport { ApplyModel } from '../../Models/Models/Processes/Apply/ApplyModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionDocumentTypeApplyModelRequestTriggerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(applyModel: ApplyModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/InstructionDocumentTypeApplyModelRequestTrigger/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { applyModel: applyModel }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { EncryptedInstructionDocumentTypeRequest } from '../../Models/Models/Documents/InstructionDocuments/EncryptedInstructionDocumentTypeRequest';\r\nimport { ContributionAndWithdrawalBase } from '../../Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionDocumentTypeContributionAndWithdrawalBaseRequestTriggerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(contributionAndWithdrawalBase: ContributionAndWithdrawalBase): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/InstructionDocumentTypeContributionAndWithdrawalBaseRequestTrigger/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { contributionAndWithdrawalBase: contributionAndWithdrawalBase }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { EncryptedInstructionDocumentTypeRequest } from '../../Models/Models/Documents/InstructionDocuments/EncryptedInstructionDocumentTypeRequest';\r\nimport { DocumentCategory } from '../../Constants/Enums/Domain/DocumentCategory';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionDocumentTypeInstructionIdRequestTriggerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(instructionId: string, categories: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/InstructionDocumentTypeInstructionIdRequestTrigger/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, categories: categories }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { EncryptedInstructionDocumentTypeRequest } from '../../Models/Models/Documents/InstructionDocuments/EncryptedInstructionDocumentTypeRequest';\r\nimport { QuoteModel } from '../../Models/Models/Processes/Quote/QuoteModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionDocumentTypeQuoteModelRequestTriggerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(quoteModel: QuoteModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/InstructionDocumentTypeQuoteModelRequestTrigger/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { quoteModel: quoteModel }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { LiteratureLibrary } from '../../Models/Models/Documents/LiteratureLibrary';\r\nimport { Category } from '../../Constants/Enums/Documents/Category';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class LiteratureLibraryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(search: string, category: Category, isFavourite: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/LiteratureLibrary/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { search: search, category: category, isFavourite: isFavourite }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(documentId: number, isFavourite: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/LiteratureLibrary/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { documentId: documentId, isFavourite: isFavourite }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProspectDocumentFileClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorId: number, documentId: number, taskRequestId: number, fileName: string, useGenericFileName: boolean, encrypt: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/ProspectDocumentFile/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId, documentId: documentId, taskRequestId: taskRequestId, fileName: fileName, useGenericFileName: useGenericFileName, encrypt: encrypt }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DocumentsLibrary } from '../../Models/Domains/Documents/DocumentsLibrary';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProspectDocumentsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorId: number, fromDate: IJsonDate, toDate: IJsonDate, minRow: number, maxRow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Documents/ProspectDocuments/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId, fromDate: fromDate, toDate: toDate, minRow: minRow, maxRow: maxRow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CappedArrangementDetails } from '../../Models/Domains/Drawdown/CappedArrangementDetails';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CappedArrangementDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/CappedArrangementDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidatedResult } from '../../Models/Models/ValidatedResult';\r\nimport { ConvertCappedToFlexiModel } from '../../Models/Models/Processes/Drawdown/ConvertCappedToFlexiModel';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ConvertCappedToFlexiClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(accountHierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/ConvertCappedToFlexi/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountHierarchyId: accountHierarchyId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public get(instructionId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/ConvertCappedToFlexi/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(model: ConvertCappedToFlexiModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/ConvertCappedToFlexi/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DrawdownIncomeAmendmentModel } from '../../Models/Models/Processes/Drawdown/DrawdownIncomeAmendmentModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DrawdownIncomeAmendmentInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number, subAccountHierarcyId: string, clientId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownIncomeAmendmentInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, subAccountHierarcyId: subAccountHierarcyId, clientId: clientId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(model: DrawdownIncomeAmendmentModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownIncomeAmendmentInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(model: DrawdownIncomeAmendmentModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownIncomeAmendmentInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DrawdownIncomeAmendmentCalculations } from '../../Models/Domains/Drawdown/DrawdownIncomeAmendmentCalculations';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DrawdownIncomeAmendmentInstructionCalculationsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownIncomeAmendmentInstructionCalculations/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidatedResult } from '../../Models/Models/ValidatedResult';\r\nimport { DrawdownModel } from '../../Models/Models/QuoteAndApplyBase/Shared/DrawdownModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DrawdownInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(hierarchyId: string, model: DrawdownModel, isTakePensionBenefitsWizard: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, model: model, isTakePensionBenefitsWizard: isTakePensionBenefitsWizard }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../react-core/Core/ApiError';\r\nimport { DrawdownModel } from '../../Models/Models/QuoteAndApplyBase/Shared/DrawdownModel';\r\nimport { DrawdownErrors } from '../../Validation/Errors/Drawdown/DrawdownErrors';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DrawdownRequestClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(requestId: number, drawdownModel: DrawdownModel, isITFC: boolean): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownRequest/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { requestId: requestId, drawdownModel: drawdownModel, isITFC: isITFC }\r\n\r\n return AjaxWrapper.post[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { OneOffIncomePaymentModel } from '../../Models/Models/Processes/Drawdown/OneOffIncomePaymentModel';\r\nimport { DrawdownSinglePaymentInstruction } from '../../Models/Domains/Drawdown/DrawdownSinglePaymentInstruction';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\nimport { DrawdownSinglePaymentInstructionArrangementSelection } from '../../Models/Domains/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DrawdownSinglePaymentInstructionArrangementSelectionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number, subAccountHierarchyId: string, customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, subAccountHierarchyId: subAccountHierarchyId, customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(subAccountHierarchyId: string, customerId: number, drawdownSinglePaymentInstruction: DrawdownSinglePaymentInstruction): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId, customerId: customerId, drawdownSinglePaymentInstruction: drawdownSinglePaymentInstruction }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(instructionId: number, instruction: DrawdownSinglePaymentInstructionArrangementSelection, isSubmit: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, instruction: instruction, isSubmit: isSubmit }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n public delete(instructionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DrawdownIncomeAmendmentInstruction } from '../../Models/Domains/Drawdown/DrawdownIncomeAmendmentInstruction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ImmediateTaxFreeCashIncomeRequestClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(immediateTaxFreeCashIncomeRequestId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/ImmediateTaxFreeCashIncomeRequest/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { immediateTaxFreeCashIncomeRequestId: immediateTaxFreeCashIncomeRequestId }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PensionContributionModel } from '../../Models/Models/Processes/Apply/Pension/PensionContributionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PensionArrangementClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(pensionContributionModel: PensionContributionModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/PensionArrangement/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { pensionContributionModel: pensionContributionModel }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { RegularDrawdown } from '../../Models/Domains/Drawdown/RegularDrawdown';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class RegularDrawdownClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/RegularDrawdown/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public delete(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Drawdown/RegularDrawdown/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ImpactRedirectType } from '../../Models/Domains/Impact/ImpactRedirectType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ImpactClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(clAccountId: string, redirectType: ImpactRedirectType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Impact/Impact/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { clAccountId: clAccountId, redirectType: redirectType }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CommentsAndDocumentsCollection } from '../../Models/Domains/Workflow/CommentsAndDocumentsCollection';\r\nimport { DemandType } from '../../Models/Domains/Workflow/DemandType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CommentsAndDocumentsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(caseDataId: number, demandType: DemandType, caseGroupSequenceNumber: number, sequenceNumber: number, start: number, count: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/CommentsAndDocuments/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { caseDataId: caseDataId, demandType: demandType, caseGroupSequenceNumber: caseGroupSequenceNumber, sequenceNumber: sequenceNumber, start: start, count: count }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DemandTypeModel } from '../../Models/Domains/Workflow/DemandTypeModel';\r\nimport { DemandType } from '../../Models/Domains/Workflow/DemandType';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DemandTypeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(demandType: DemandType, demandLvl: number, demandTypeDs: string, demandFullDs: string, stopDate: IJsonDate): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/DemandType/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { demandType: demandType, demandLvl: demandLvl, demandTypeDs: demandTypeDs, demandFullDs: demandFullDs, stopDate: stopDate }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { DisinvestmentStrategyTypeModel } from '../../Models/Domains/Instructions/DisinvestmentStrategyTypeModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DisinvestmentStrategyClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/DisinvestmentStrategy/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { HistoricWorkflowCollection } from '../../Models/Domains/Workflow/HistoricWorkflowCollection';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { DemandType } from '../../Models/Domains/Workflow/DemandType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class HistoricWorkflowClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(startDate: IJsonDate, endDate: IJsonDate, demandType: DemandType, policyNumber: string, start: number, count: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/HistoricWorkflow/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { startDate: startDate, endDate: endDate, demandType: demandType, policyNumber: policyNumber, start: start, count: count }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProcessType } from '../../Constants/Enums/Client/DashboardFilter/ProcessType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionProcessClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(instructionId: number, processType: ProcessType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/InstructionProcess/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, processType: processType }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionTreasuredAssetsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/InstructionTreasuredAssets/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public put(instructionId: number, treasuredProductIds: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/InstructionTreasuredAssets/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, treasuredProductIds: treasuredProductIds }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { InstructionWorkInProgress } from '../../Models/Domains/Instructions/InstructionWorkInProgress';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionWorkInProgressClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(page: number, pageSize: number, customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/InstructionWorkInProgress/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { page: page, pageSize: pageSize, customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { WorkflowCollectionModel } from '../../Models/Domains/Workflow/WorkflowCollectionModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { SubAccountType } from '../../Constants/Enums/Domain/SubAccountType';\r\nimport { ProcessType } from '../../Constants/Enums/Client/DashboardFilter/ProcessType';\r\nimport { ActivityStatus } from '../../Constants/Enums/Client/DashboardFilter/ActivityStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstructionWorkflowClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(startDate: IJsonDate, endDate: IJsonDate, adviserIds: Array, product: SubAccountType, activityType: ProcessType, status: ActivityStatus, companyCode: string, network: string, start: number, count: number, headAccountHierarchyIds: Array, subAccountHierarchyIds: Array, customerId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruction/InstructionWorkflow/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { startDate: startDate, endDate: endDate, adviserIds: adviserIds, product: product, activityType: activityType, status: status, companyCode: companyCode, network: network, start: start, count: count, headAccountHierarchyIds: headAccountHierarchyIds, subAccountHierarchyIds: subAccountHierarchyIds, customerId: customerId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AssetClass } from '../../Models/Domains/Investment/AssetClass';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AssetClassesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(assetClassType: AssetClassType, hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/AssetClasses/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { assetClassType: assetClassType, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Sector } from '../../Models/Domains/Investment/Sector';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AvailableSectorsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/AvailableSectors/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { DepositProduct } from '../../Models/Domains/Investment/DepositProduct';\r\nimport { DepositProductsQuery } from '../../Models/Domains/Investment/DepositProductsQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DepositProductsSearchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: DepositProductsQuery, hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/DepositProductsSearch/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { ExchangeTradedInstrument } from '../../Models/Domains/Investment/ExchangeTradedInstrument';\r\nimport { ExchangeTradedInstrumentSearchQuery } from '../../Models/Domains/Investment/ExchangeTradedInstrumentSearchQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ExchangeTradedInstrumentSearchQueryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: ExchangeTradedInstrumentSearchQuery, hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/ExchangeTradedInstrumentSearchQuery/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FavouriteProductsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(productId: number, isFavourite: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/FavouriteProducts/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { productId: productId, isFavourite: isFavourite }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Manager } from '../../Models/Domains/Investment/Manager';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FundManagersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/FundManagers/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { FundProduct } from '../../Models/Domains/Investment/FundProduct';\r\nimport { FundProductsQuery } from '../../Models/Domains/Investment/FundProductsQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FundProductsSearchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: FundProductsQuery, hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/FundProductsSearch/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { FundPerformanceHistory } from '../../Models/Models/PortfolioAnalysis/Investment/FundPerformanceHistory';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FundsDiscretePerformanceClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(productId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/FundsDiscretePerformance/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { productId: productId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { Instrument } from '../../Models/Domains/Investment/Instrument';\r\nimport { InstrumentSearchQuery } from '../../Models/Domains/Investment/InstrumentSearchQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstrumentSearchQueryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: InstrumentSearchQuery, hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/InstrumentSearchQuery/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Instrument } from '../../Models/Domains/Investment/Instrument';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstrumentsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instrumentCodes: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/Instruments/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instrumentCodes: instrumentCodes }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentValuation } from '../../Models/Models/PortfolioAnalysis/Investment/InvestmentValuation';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstrumentsValuationQueryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instrumentCodes: Array, asAt: IJsonDate): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/InstrumentsValuationQuery/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instrumentCodes: instrumentCodes, asAt: asAt }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Manager } from '../../Models/Domains/Investment/Manager';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ModelPortfolioManagersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/ModelPortfolioManagers/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ModelPortfolio } from '../../Models/Models/Instruments/ModelPortfolio';\r\nimport { ModelPortfolioTabType } from '../../Constants/Enums/Domain/ModelPortfolioTabType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ModelPortfolioProductClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(portfolioId: number, modelPortfolioTabType: ModelPortfolioTabType, hierarchyId: string, canBeBought: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/ModelPortfolioProduct/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { portfolioId: portfolioId, modelPortfolioTabType: modelPortfolioTabType, hierarchyId: hierarchyId, canBeBought: canBeBought }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { ModelPortfolio } from '../../Models/Models/Instruments/ModelPortfolio';\r\nimport { ModelPortfolioSearchQuery } from '../../Models/Domains/ModelPortfolio/ModelPortfolioSearchQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ModelPortfolioSearchQueryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: ModelPortfolioSearchQuery, hierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/ModelPortfolioSearchQuery/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query, hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ScfdDocModel } from '../../Models/Models/Instruments/ScfdDocModel';\r\nimport { SCFDDocQuery } from '../../Models/Domains/Investment/SCFDDocQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SCFDDocClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: SCFDDocQuery): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/SCFDDoc/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { SdrLabelModel } from '../../Models/Models/Instruments/SdrLabelModel';\r\nimport { SDRLabelQuery } from '../../Models/Domains/Investment/SDRLabelQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SDRLabelClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: SDRLabelQuery): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/SDRLabel/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Instruments/SDRLabel/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class LegadoClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Legado/Legado/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class LegadoConfigClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Legado/LegadoConfig/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Mandate } from '../../Models/Models/Mandate/Mandate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class MandateNameFuzzySearchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(partialName: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Mandate/MandateNameFuzzySearch/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { partialName: partialName }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { Adviser } from '../../Models/Domains/Adviser/Adviser';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdvisersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(company: string, network: string, currentPage: number, resultsPerPage: number, readWriteAccessOnly: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Network/Advisers/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { company: company, network: network, currentPage: currentPage, resultsPerPage: resultsPerPage, readWriteAccessOnly: readWriteAccessOnly }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { NetworkHistoryPaginatedModel } from '../../Models/Models/Network/NetworkHistoryPaginatedModel';\r\nimport { NetworkType } from '../../Constants/Enums/Network/NetworkType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NetworkHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(networkId: string, networkType: NetworkType, networkName: string, fcaReference: string, postCode: string, forRemuneration: boolean, maxRow: number, minRow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Network/NetworkHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { networkId: networkId, networkType: networkType, networkName: networkName, fcaReference: fcaReference, postCode: postCode, forRemuneration: forRemuneration, maxRow: maxRow, minRow: minRow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { NetworkInstructionModel } from '../../Models/Models/Network/NetworkInstructionModel';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NetworkInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(model: NetworkInstructionModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Network/NetworkInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public delete(instructionIds: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Network/NetworkInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionIds: instructionIds }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public get(instructionId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Network/NetworkInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(parameter: NetworkInstructionModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Network/NetworkInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { parameter: parameter }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { NetworkInstructionHistoryPaginatedModel } from '../../Models/Models/Network/NetworkInstructionHistoryPaginatedModel';\r\nimport { InstructionStatus } from '../../Constants/Enums/Domain/InstructionStatus';\r\nimport { NetworkType } from '../../Constants/Enums/Network/NetworkType';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { NetworkProcessType } from '../../Constants/Enums/Network/NetworkProcessType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NetworkInstructionHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(status: Array, networkType: NetworkType, networkName: string, fcaReference: string, createBy: number, dateStartedFrom: IJsonDate, dateStartedTo: IJsonDate, dateUpdatedFrom: IJsonDate, dateUpdatedTo: IJsonDate, networkProcessType: NetworkProcessType, maxRow: number, minRow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Network/NetworkInstructionHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { status: status, networkType: networkType, networkName: networkName, fcaReference: fcaReference, createBy: createBy, dateStartedFrom: dateStartedFrom, dateStartedTo: dateStartedTo, dateUpdatedFrom: dateUpdatedFrom, dateUpdatedTo: dateUpdatedTo, networkProcessType: networkProcessType, maxRow: maxRow, minRow: minRow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AlertTriggerInfo } from '../../Models/Domains/Threads/AlertTriggerInfo';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AlertTriggerInfoClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/AlertTriggerInfo/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { NotificationEmailConfiguration } from '../../Models/Domains/Threads/NotificationEmailConfiguration';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NotificationAlertEmaiAddressesClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/NotificationAlertEmaiAddresses/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(emailConfiguration: NotificationEmailConfiguration): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/NotificationAlertEmaiAddresses/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { emailConfiguration: emailConfiguration }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { NotificationConfigurationModel } from '../../Models/Domains/Threads/NotificationConfigurationModel';\r\nimport { NotificationConfiguration } from '../../Models/Domains/Threads/NotificationConfiguration';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NotificationConfigurationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/NotificationConfiguration/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(configurations: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/NotificationConfiguration/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { configurations: configurations }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AlertDefinitionCategory } from '../../Models/Domains/Threads/AlertDefinitionCategory';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NotificationDefinitionCategoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/NotificationDefinitionCategory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ThreadCount } from '../../Models/Domains/Threads/ThreadCount';\r\nimport { ResultPageModel } from '../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { ThreadResponse } from '../../Models/Domains/Threads/ThreadResponse';\r\nimport { ThreadQuery } from '../../Models/Domains/Threads/ThreadQuery';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NotificationsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/Notifications/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(query: ThreadQuery): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/Notifications/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public put(query: ThreadResponse): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/Notifications/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AlertDefinition } from '../../Models/Domains/Threads/AlertDefinition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NotificationsDefinitionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Notifications/NotificationsDefinitions/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BatchInfoModel } from '../../Models/Domains/Orders/Batch/BatchInfoModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BatchClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(model: BatchInfoModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Orders/Batch/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\nimport { BatchInfoModel } from '../../Models/Domains/Orders/Batch/BatchInfoModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class BuySellClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(model: BatchInfoModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Orders/BuySell/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public put(model: BatchInfoModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Orders/BuySell/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BatchSubmissionResultModel } from '../../Models/Domains/Orders/Batch/BatchSubmissionResultModel';\r\nimport { BatchInfoModel } from '../../Models/Domains/Orders/Batch/BatchInfoModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class OrdersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(model: BatchInfoModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Orders/Orders/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(model: BatchInfoModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Orders/Orders/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\nimport { SwitchModel } from '../../Models/Domains/Orders/SwitchModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SwitchOrderClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(model: SwitchModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Orders/SwitchOrder/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PendingPaymentInModel } from '../../Models/Models/Payments/Deposits/PendingPaymentInModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CancelRegularPaymentsInClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(cashEntryId: number, subAccountHierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Payments/CancelRegularPaymentsIn/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { cashEntryId: cashEntryId, subAccountHierarchyId: subAccountHierarchyId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { RegularPaymentResult } from '../../Models/Models/Payments/RegularPayment/RegularPaymentResult';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CheckRegularPaymentAutolineCompletedClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(regularBuyId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Payments/CheckRegularPaymentAutolineCompleted/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { regularBuyId: regularBuyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CompletedPaymentInModel } from '../../Models/Models/Payments/Deposits/CompletedPaymentInModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CompletedProductPaymentsInClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(subAccountHierarchyId: string, fromDate: IJsonDate, fromInception: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Payments/CompletedProductPaymentsIn/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId, fromDate: fromDate, fromInception: fromInception }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { FrequencyType } from '../../Constants/Enums/Domain/FrequencyType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NextPaymentDateClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(asAt: IJsonDate, frequency: FrequencyType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Payments/NextPaymentDate/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { asAt: asAt, frequency: frequency }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PendingPaymentInModel } from '../../Models/Models/Payments/Deposits/PendingPaymentInModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PendingProductPaymentsInClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(subAccountHierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Payments/PendingProductPaymentsIn/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PortfolioRegularPayment } from '../../Models/Domains/Valuation/PortfolioRegularPayment';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PortfolioRegularPaymentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Payments/PortfolioRegularPayment/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { WithdrawalOverviewModel } from '../../Models/Models/Payments/Withdrawals/WithdrawalOverviewModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class WithdrawalsOverviewClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(subAccountHierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Payments/WithdrawalsOverview/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { Benchmark } from '../../../Models/Models/Benchmarks/Benchmark';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AvailableBenchmarksClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Benchmarks/AvailableBenchmarks/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { PortfolioCashDetail } from '../../../Models/Models/PortfolioAnalysis/Cash/PortfolioCashDetail';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PortfolioCashDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, asAt: IJsonDate): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Cashes/PortfolioCashDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, asAt: asAt }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ClientTradableInvestments } from '../../../Models/Models/PortfolioAnalysis/Investment/ClientTradableInvestments';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientTradableInvestmentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, subHiercharyId: string, batchId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Investment/ClientTradableInvestment/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, subHiercharyId: subHiercharyId, batchId: batchId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class FinexDocumentLocationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(citiCode: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Investment/FinexDocumentLocation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { citiCode: citiCode }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { Instrument } from '../../../Models/Models/PortfolioAnalysis/Investment/Instrument';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstrumentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instrumentCode: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Investment/Instrument/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instrumentCode: instrumentCode }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ResultPageModel } from '../../../Core/SortingAndPaging/Models/ResultPageModel';\r\nimport { ValuationPoint } from '../../../Models/Models/PortfolioAnalysis/Investment/ValuationPoint';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { Frequency } from '../../../Constants/Enums/Domain/Frequency';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InstrumentValuationDistributionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(investmentCode: string, from: IJsonDate, to: IJsonDate, frequency: Frequency, currentPage: number, resultsPerPage: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Investment/InstrumentValuationDistribution/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { investmentCode: investmentCode, from: from, to: to, frequency: frequency, currentPage: currentPage, resultsPerPage: resultsPerPage }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ProductInvestment } from '../../../Models/Models/PortfolioAnalysis/Investment/ProductInvestment';\r\nimport { AssetClassType } from '../../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { ViewType } from '../../../Mapping/PortfolioAnalysis/Investment/Enum/ViewType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PortfolioInvestmentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, assetClassType: AssetClassType, asAt: IJsonDate, viewType: ViewType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Investment/PortfolioInvestment/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, assetClassType: assetClassType, asAt: asAt, viewType: viewType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { InvestmentGroup } from '../../../Models/Models/PortfolioAnalysis/Investment/InvestmentGroup';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { AssetClassType } from '../../../Constants/Enums/Domain/Instrument/AssetClassType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductModelPortfolioInvestmentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(modelFundInstrumentCode: Array, asAt: IJsonDate, assetClass: AssetClassType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Investment/ProductModelPortfolioInvestment/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { modelFundInstrumentCode: modelFundInstrumentCode, asAt: asAt, assetClass: assetClass }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../../react-core/Core/ApiError';\r\nimport { SippIncome } from '../../../Models/Domains/Valuation/SippIncome';\r\nimport { SippDrawdownServiceError } from '../../../Validation/Errors/Account/SippDrawdownServiceError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SippIncomeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Investment/SippIncome/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { CashPayment } from '../../../Models/Models/PortfolioAnalysis/Payment/CashPayment';\r\nimport { CashPaymentTypeQuery } from '../../../Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery';\r\nimport { CashPaymentFrequencyQuery } from '../../../Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CashPaymentClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, type: CashPaymentTypeQuery, frequency: CashPaymentFrequencyQuery): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Payment/CashPayment/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, type: type, frequency: frequency }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ProductPerformanceDetailModel } from '../../../Models/Models/PortfolioAnalysis/Performance/ProductPerformanceDetailModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { PerformanceMethod } from '../../../Constants/Enums/Domain/PerformanceMethod';\r\nimport { AssetClassType } from '../../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { ViewType } from '../../../Mapping/PortfolioAnalysis/Investment/Enum/ViewType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientPerformanceDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(headAccountHierarchyIds: Array, hierarchyIds: Array, fromDateTime: IJsonDate, toDateTime: IJsonDate, performanceMethod: PerformanceMethod, assetClassType: AssetClassType, fromInception: boolean, viewType: ViewType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/ClientPerformanceDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { headAccountHierarchyIds: headAccountHierarchyIds, hierarchyIds: hierarchyIds, fromDateTime: fromDateTime, toDateTime: toDateTime, performanceMethod: performanceMethod, assetClassType: assetClassType, fromInception: fromInception, viewType: viewType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { PerformanceIncomeModel } from '../../../Models/Models/PortfolioAnalysis/Performance/PerformanceIncomeModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { PerformanceIncomeDataView } from '../../../Constants/Enums/Portfolio/Performance/PerformanceIncomeDataView';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientPerformanceIncomeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(headHierarchyIds: Array, hierarchyIds: Array, fromDateTime: IJsonDate, toDateTime: IJsonDate, fromInception: boolean, selectedView: PerformanceIncomeDataView): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/ClientPerformanceIncome/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { headHierarchyIds: headHierarchyIds, hierarchyIds: hierarchyIds, fromDateTime: fromDateTime, toDateTime: toDateTime, fromInception: fromInception, selectedView: selectedView }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ProductGraphData } from '../../../Models/Models/PortfolioAnalysis/Performance/ProductGraphData';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientPerformanceValuationGraphClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(selectedIntervalStart: IJsonDate, selectedIntervalEnd: IJsonDate, fromInception: boolean, hierarchyIds: Array, headAccountHierarchyIds: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/ClientPerformanceValuationGraph/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { selectedIntervalStart: selectedIntervalStart, selectedIntervalEnd: selectedIntervalEnd, fromInception: fromInception, hierarchyIds: hierarchyIds, headAccountHierarchyIds: headAccountHierarchyIds }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { RealisedGainLossDetailModel } from '../../../Models/Models/PortfolioAnalysis/Performance/RealisedGainLossDetailModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientRealisedGainLossClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, fromDateTime: IJsonDate, toDateTime: IJsonDate, fromInception: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/ClientRealisedGainLoss/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, fromDateTime: fromDateTime, toDateTime: toDateTime, fromInception: fromInception }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { UnRealisedGainLossDetailModel } from '../../../Models/Models/PortfolioAnalysis/Performance/UnRealisedGainLossDetailModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientUnRealisedGainLossClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, fromDateTime: IJsonDate, toDateTime: IJsonDate, fromInception: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/ClientUnRealisedGainLoss/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, fromDateTime: fromDateTime, toDateTime: toDateTime, fromInception: fromInception }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { AssetPerformanceDetailModel } from '../../../Models/Models/PortfolioAnalysis/Performance/AssetPerformanceDetailModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { PerformanceMethod } from '../../../Constants/Enums/Domain/PerformanceMethod';\r\nimport { AssetClassType } from '../../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { ViewType } from '../../../Mapping/PortfolioAnalysis/Investment/Enum/ViewType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ModelPortfolioPerformanceDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(fromDateTime: IJsonDate, toDateTime: IJsonDate, performanceMethod: PerformanceMethod, assetClassType: AssetClassType, modelIds: Array, viewType: ViewType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/ModelPortfolioPerformanceDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { fromDateTime: fromDateTime, toDateTime: toDateTime, performanceMethod: performanceMethod, assetClassType: assetClassType, modelIds: modelIds, viewType: viewType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { PortfolioPerformanceSummaryModel } from '../../../Models/Models/PortfolioAnalysis/Performance/PortfolioPerformanceSummaryModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { PerformanceMethod } from '../../../Constants/Enums/Domain/PerformanceMethod';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PerformanceSummaryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDateTime: IJsonDate, toDateTime: IJsonDate, fromInception: boolean, performanceMethod: PerformanceMethod, subAccountHierarchyIds: Array): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/PerformanceSummary/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDateTime: fromDateTime, toDateTime: toDateTime, fromInception: fromInception, performanceMethod: performanceMethod, subAccountHierarchyIds: subAccountHierarchyIds }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { PortfolioPerformanceSimpleReturnAndIRRModel } from '../../../Models/Models/PortfolioAnalysis/Performance/PortfolioPerformanceSimpleReturnAndIRRModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { PerformanceMethod } from '../../../Constants/Enums/Domain/PerformanceMethod';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PortfolioPerformanceSimpleReturnAndIRRClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDateTime: IJsonDate, toDateTime: IJsonDate, performanceMethod: PerformanceMethod, subAccountHierarchyIds: Array, inceptionDate: IJsonDate, isConsolidate: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Performance/PortfolioPerformanceSimpleReturnAndIRR/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDateTime: fromDateTime, toDateTime: toDateTime, performanceMethod: performanceMethod, subAccountHierarchyIds: subAccountHierarchyIds, inceptionDate: inceptionDate, isConsolidate: isConsolidate }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { TopTenHoldingModel } from '../../../Models/Models/PortfolioAnalysis/PortfolioDetails/TopTenHoldingModel';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TopTenHoldingsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(asAt: IJsonDate, hierarchyIds: Array, includeExternal: boolean, useConversionView: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioAnalysis/Details/TopTenHoldings/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { asAt: asAt, hierarchyIds: hierarchyIds, includeExternal: includeExternal, useConversionView: useConversionView }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentAssetClassAllocationModel } from '../../Models/Models/PortfolioAnalysis/Investment/InvestmentAssetClassAllocationModel';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentAssetClassAllocationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, assetClassType: AssetClassType, asAt: IJsonDate): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioValuation/InvestmentAssetClassAllocation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, assetClassType: assetClassType, asAt: asAt }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentRegionAllocationModel } from '../../Models/Models/PortfolioAnalysis/Investment/InvestmentRegionAllocationModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentRegionAllocationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, asAt: IJsonDate, assetClassType: AssetClassType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioValuation/InvestmentRegionAllocation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, asAt: asAt, assetClassType: assetClassType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AreaGroupModel } from '../../Models/Models/PortfolioAnalysis/Investment/AreaGroupModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentRegionGroupClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioValuation/InvestmentRegionGroup/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentSectorAllocationModel } from '../../Models/Models/PortfolioAnalysis/Investment/InvestmentSectorAllocationModel';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentSectorAllocationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, assetClassType: AssetClassType, asAt: IJsonDate): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioValuation/InvestmentSectorAllocation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, assetClassType: assetClassType, asAt: asAt }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentRegionAllocationModel } from '../../Models/Models/PortfolioAnalysis/Investment/InvestmentRegionAllocationModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ModelPortfolioAssetRegionAllocationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(modelFundInstrumentCode: string, asAt: IJsonDate, assetClassType: AssetClassType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioValuation/ModelPortfolioAssetRegionAllocation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { modelFundInstrumentCode: modelFundInstrumentCode, asAt: asAt, assetClassType: assetClassType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProductUnderlyingAccountValuationCollectionModel } from '../../Models/Models/PortfolioAnalysis/Valution/ProductUnderlyingAccountValuationCollectionModel';\r\nimport { SubAccountType } from '../../Constants/Enums/Domain/SubAccountType';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductUnderlyingAccountValuationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, type: SubAccountType, servicePropositions: Array, asAt: IJsonDate, minRow: number, maxRow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioValuation/ProductUnderlyingAccountValuation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, type: type, servicePropositions: servicePropositions, asAt: asAt, minRow: minRow, maxRow: maxRow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProductWrapperValuation } from '../../Models/Models/Business/AssetUnderManagement/ProductWrapperValuation';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductWrapperValuationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, asAt: IJsonDate, servicePropositions: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PortfolioValuation/ProductWrapperValuation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, asAt: asAt, servicePropositions: servicePropositions }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CookiePolicy } from '../../Models/Models/PrivacyPolicy/CookiePolicy';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UserCookieClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PrivacyPolicy/UserCookie/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(enabled: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/PrivacyPolicy/UserCookie/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { enabled: enabled }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ProductCharge } from '../../../Models/Domains/ProductOverview/Charges/ProductCharge';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductOverviewClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/ProductOverview/ProductOverview/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { IsaAllowance } from '../../../Models/Domains/IsaAllowance/IsaAllowance';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class IsaAllowanceOverviewClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, yearsFromCurrentTaxYear: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/ProductOverview/IsaAllowanceOverview/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, yearsFromCurrentTaxYear: yearsFromCurrentTaxYear }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProductWrapper } from '../../Models/Domains/Account/ProductWrapper';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AvailableProductWrappersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(customerId: number, servicePropositionId: number, isQuote: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/ProductWrappers/AvailableProductWrappers/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId, servicePropositionId: servicePropositionId, isQuote: isQuote }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../react-core/Core/ApiError';\r\nimport { QuoteModel } from '../../Models/Models/Processes/Quote/QuoteModel';\r\nimport { QuoteErrors } from '../../Validation/Errors/Quote/QuoteErrors';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class QuoteContributionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(model: QuoteModel): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Quote/QuoteContributions/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../react-core/Core/ApiError';\r\nimport { QuoteModel } from '../../Models/Models/Processes/Quote/QuoteModel';\r\nimport { QuoteErrors } from '../../Validation/Errors/Quote/QuoteErrors';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class QuoteCopyInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(quoteModel: QuoteModel): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Quote/QuoteCopyInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { quoteModel: quoteModel }\r\n\r\n return AjaxWrapper.post[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { QuoteModel } from '../../Models/Models/Processes/Quote/QuoteModel';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class QuoteInstructionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(instructionId: number, product: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Quote/QuoteInstruction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId, product: product }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(quoteModel: QuoteModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Quote/QuoteInstruction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { quoteModel: quoteModel }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public delete(instructionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Quote/QuoteInstruction/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public put(instructionId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Quote/QuoteInstruction/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instructionId: instructionId }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PostProspectResponse } from '../../Models/Models/Customer/PostProspectResponse';\r\nimport { CustomerCompliance } from '../../Models/Domains/Regulations/CustomerCompliance';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomerRegulationComplianceClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(model: CustomerCompliance): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Regulations/CustomerRegulationCompliance/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public put(model: CustomerCompliance): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Regulations/CustomerRegulationCompliance/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n public get(customerId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Regulations/CustomerRegulationCompliance/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { customerId: customerId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { MifirCountryIdentifier } from '../../Models/Domains/Regulations/MifirCountryIdentifier';\r\nimport { CountryCode } from '../../Constants/Enums/Domain/CountryCode';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class MifirCountryIdentifierClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(countryCode: CountryCode): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Regulations/MifirCountryIdentifier/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { countryCode: countryCode }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../../react-core/Async/Promise';\r\nimport { ReportInfo } from '../../../../Models/Models/Reports/ReportInfo';\r\nimport { AdviserChargeReport } from '../../../../Models/Models/AdviserCharges/AdviserChargeReport';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserChargeReportClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(report: AdviserChargeReport): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/BusinessManagement/AdviserCharge/AdviserChargeReport/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { report: report }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ReportInfo } from '../../../Models/Models/Reports/ReportInfo';\r\nimport { ReportBuilder } from '../../../Models/Models/Reports/ReportBuilder';\r\nimport { ReportSetting } from '../../../Models/Models/Reports/ReportSetting';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ClientPortfolioReportClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(reportBuilder: ReportBuilder): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/client/ClientPortfolioReport/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { reportBuilder: reportBuilder }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/client/ClientPortfolioReport/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ReportInfo } from '../../../Models/Models/Reports/ReportInfo';\r\nimport { AssetClassType } from '../../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { ViewType } from '../../../Mapping/PortfolioAnalysis/Investment/Enum/ViewType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PortfolioInvestmentReportClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(hierarchyIds: Array, assetClassType: AssetClassType, asAt: IJsonDate, viewType: ViewType, drillDownModeList: Array, actorId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/Investment/PortfolioInvestmentReport/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, assetClassType: assetClassType, asAt: asAt, viewType: viewType, drillDownModeList: drillDownModeList, actorId: actorId }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { RemunerationStatementInfoCollection } from '../../../Models/Models/Reports/RemunerationStatementInfoCollection';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class RemunerationStatementHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(network: string, company: string, fromDate: IJsonDate, toDate: IJsonDate, start: number, pageSize: number, useGenericFileName: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/Mi/RemunerationStatementHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { network: network, company: company, fromDate: fromDate, toDate: toDate, start: start, pageSize: pageSize, useGenericFileName: useGenericFileName }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ReportInfo } from '../../../Models/Models/Reports/ReportInfo';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { PerformanceMethod } from '../../../Constants/Enums/Domain/PerformanceMethod';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PerformanceSummaryReportClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(hierarchyIds: Array, fromDateTime: IJsonDate, toDateTime: IJsonDate, fromInception: boolean, performanceMethod: PerformanceMethod, customerId: number, consolidateHeadAccountHierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/Performance/PerformanceSummaryReport/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, fromDateTime: fromDateTime, toDateTime: toDateTime, fromInception: fromInception, performanceMethod: performanceMethod, customerId: customerId, consolidateHeadAccountHierarchyId: consolidateHeadAccountHierarchyId }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ReportOptOutResponse } from '../../../Models/Models/Reports/ReportOptOutResponse';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ReportOptOutSettingsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(clAccountId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/Settings/ReportOptOutSettings/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { clAccountId: clAccountId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(clAccountId: string, optOutContractNote: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/Settings/ReportOptOutSettings/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { clAccountId: clAccountId, optOutContractNote: optOutContractNote }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ReportInfo } from '../../../Models/Models/Reports/ReportInfo';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\nimport { CashTransactionTypes } from '../../../Models/Domains/Transactions/Cash/CashTransactionTypes';\r\nimport { SortDirection } from '../../../Core/SortingAndPaging/SortDirection';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CashTransactionReportClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, fromInception: boolean, movementType: CashTransactionTypes, modelId: number, minRow: number, maxRow: number, sortDirection: SortDirection): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/Transaction/CashTransactionReport/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, fromInception: fromInception, movementType: movementType, modelId: modelId, minRow: minRow, maxRow: maxRow, sortDirection: sortDirection }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { ReportInfo } from '../../../Models/Models/Reports/ReportInfo';\r\nimport { IJsonDate } from '../../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentTransactionReportClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(hierarchyId: string, modelId: number, fromDate: IJsonDate, toDate: IJsonDate, transSource: string, instrumentCode: string, cNoteID: number, sortName: string, sortDirection: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Reports/Transaction/InvestmentTransactionReport/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, modelId: modelId, fromDate: fromDate, toDate: toDate, transSource: transSource, instrumentCode: instrumentCode, cNoteID: cNoteID, sortName: sortName, sortDirection: sortDirection }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { SessionInfo } from '../../Models/Models/Session/SessionInfo';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ExtendSessionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Session/ExtendSession/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { SessionInfo } from '../../Models/Models/Session/SessionInfo';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SessionInfoClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Session/SessionInfo/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { SessionSettingConfiguration } from '../../Models/Models/Session/SessionSettingConfiguration';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class SessionSettingClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Session/SessionSetting/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PostLogoResponse } from '../../Models/Models/Settings/PostLogoResponse';\r\nimport { CompanyLogo } from '../../Models/Domains/Company/CompanyLogo';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CustomizeLogoClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(logoUrl: string, secondaryLogoUrl: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Settings/CustomizeLogo/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { logoUrl: logoUrl, secondaryLogoUrl: secondaryLogoUrl }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(isAdmin: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Settings/CustomizeLogo/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { isAdmin: isAdmin }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ReportInfo } from '../../Models/Models/Reports/ReportInfo';\r\nimport { DocumentTaskRequestModel } from '../../Models/Models/Tasks/DocumentTaskRequestModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DocumentTaskRequestClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(query: DocumentTaskRequestModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Tasks/DocumentTaskRequest/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { query: query }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TaskRequestStatusModel } from '../../Models/Models/Tasks/TaskRequestStatusModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TaskRequestStatusClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(taskRequestId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Tasks/TaskRequestStatus/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { taskRequestId: taskRequestId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { HeadAccountCgtSettings } from '../../Models/Domains/Tax/HeadAccountCgtSettings';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class HeadAccountCgtSettingsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(settings: HeadAccountCgtSettings): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Tax/HeadAccountCgtSettings/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { settings: settings }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Tax/HeadAccountCgtSettings/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountModelView } from '../../Models/Domains/Transactions/Investments/AccountModelView';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountModelViewClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, cashSpecific: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/AccountModelView/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, cashSpecific: cashSpecific }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AccountTransfersCollection } from '../../Models/Domains/Transactions/AccountTransfers/AccountTransfersCollection';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { AccountTransfersSort } from '../../Models/Domains/Transactions/AccountTransfers/AccountTransfersSort';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountTransfersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, fromInception: boolean, minrow: number, maxrow: number, sortby: AccountTransfersSort, sortByAscending: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/AccountTransfers/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, fromInception: fromInception, minrow: minrow, maxrow: maxrow, sortby: sortby, sortByAscending: sortByAscending }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CashLedgerTransaction } from '../../Models/Domains/Transactions/Cash/CashLedgerTransaction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AutoDisInvestTranWithBatchIdClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(transId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/AutoDisInvestTranWithBatchId/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { transId: transId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CashEntryDetail } from '../../Models/Domains/Transactions/Cash/CashEntryDetail';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CashEntryDetailClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(cashId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/CashEntryDetail/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { cashId: cashId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CashLedgerTransaction } from '../../Models/Domains/Transactions/Cash/CashLedgerTransaction';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CashLedgerTransactionWithBatchIdClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(transId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/CashLedgerTransactionWithBatchId/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { transId: transId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CashTransactionCollection } from '../../Models/Domains/Transactions/CashTransactionCollection';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { CashTransactionTypes } from '../../Models/Domains/Transactions/Cash/CashTransactionTypes';\r\nimport { SortDirection } from '../../Core/SortingAndPaging/SortDirection';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CashTransactionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, fromInception: boolean, movementType: CashTransactionTypes, modelId: number, minRow: number, maxRow: number, sortDirection: SortDirection): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/CashTransaction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, fromInception: fromInception, movementType: movementType, modelId: modelId, minRow: minRow, maxRow: maxRow, sortDirection: sortDirection }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CgtTransaction } from '../../Models/Domains/Transactions/Investments/CgtTransaction';\r\nimport { ServiceValidationError } from '../../Core/DataTypes/ServiceValidation/ServiceValidationError';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CgtTransactionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(transId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/CgtTransaction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { transId: transId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(cgtTransaction: CgtTransaction): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/CgtTransaction/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { cgtTransaction: cgtTransaction }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CgtTransactionHistory } from '../../Models/Domains/Transactions/Investments/CgtTransactionHistory';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CgtTransactionHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(transId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/CgtTransactionHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { transId: transId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ChargesTransaction } from '../../Models/Domains/Transactions/Charges/ChargesTransaction';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ChargesQueryType } from '../../Models/Domains/Transactions/Charges/ChargesQueryType';\r\nimport { ChargesQuerySort } from '../../Models/Domains/Transactions/Charges/ChargesQuerySort';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ChargesTransactionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, fromInception: boolean, chargestype: ChargesQueryType, sortby: ChargesQuerySort, sortByAscending: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/ChargesTransactions/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, fromInception: fromInception, chargestype: chargestype, sortby: sortby, sortByAscending: sortByAscending }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { BouncedCharge } from '../../Models/Domains/Transactions/Investments/BouncedCharge';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DisinvestEventChargeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(orderId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/DisinvestEventCharge/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { orderId: orderId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CorporateActionsCollection } from '../../Models/Domains/Transactions/CorporateAction/CorporateActionsCollection';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DividendSummaryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, fromInception: boolean, instrumentCode: string, corpActionType: string, sortName: string, sortDirection: string, minRow: number, maxRow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/DividendSummary/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, fromInception: fromInception, instrumentCode: instrumentCode, corpActionType: corpActionType, sortName: sortName, sortDirection: sortDirection, minRow: minRow, maxRow: maxRow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentTransactionCollection } from '../../Models/Domains/Transactions/Investments/InvestmentTransactionCollection';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentTransactionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, modelId: number, fromDate: IJsonDate, toDate: IJsonDate, transSource: string, instrumentCode: string, cNoteID: number, sortName: string, sortDirection: string, minRow: number, maxRow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/InvestmentTransaction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, modelId: modelId, fromDate: fromDate, toDate: toDate, transSource: transSource, instrumentCode: instrumentCode, cNoteID: cNoteID, sortName: sortName, sortDirection: sortDirection, minRow: minRow, maxRow: maxRow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentTransactions } from '../../Models/Domains/Transactions/Investments/InvestmentTransactions';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentTransactionByTransIdClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(transId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/InvestmentTransactionByTransId/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { transId: transId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { OrderHistory } from '../../Models/Domains/Transactions/Investments/OrderHistory';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class OrderHistoryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(orderId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/OrderHistory/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { orderId: orderId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { OrderValuation } from '../../Models/Domains/Transactions/Investments/OrderValuation';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class OrderValuationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(orderId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/OrderValuation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { orderId: orderId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CorporateActionsCollection } from '../../Models/Domains/Transactions/CorporateAction/CorporateActionsCollection';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class OtherCorporateActionsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, fromInception: boolean, instrumentCode: string, corpActionType: string, sortName: string, sortDirection: string, minRow: number, maxRow: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/OtherCorporateActions/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, fromInception: fromInception, instrumentCode: instrumentCode, corpActionType: corpActionType, sortName: sortName, sortDirection: sortDirection, minRow: minRow, maxRow: maxRow }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TransactionSummarryCollection } from '../../Models/Domains/Transactions/Summary/TransactionSummarryCollection';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TransactionsSummaryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, fromDate: IJsonDate, toDate: IJsonDate, fromInception: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transaction/TransactionsSummary/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, fromDate: fromDate, toDate: toDate, fromInception: fromInception }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { CedingSchemeModel } from '../../Models/Models/Transfer/CedingSchemeModel';\r\nimport { SubAccountType } from '../../Constants/Enums/Domain/SubAccountType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CedingSchemeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(type: SubAccountType, partialName: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/CedingScheme/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { type: type, partialName: partialName }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { IApiError } from '../../../../react-core/Core/ApiError';\r\nimport { AccountTransferInstruction } from '../../../Models/Models/Transfer/AccountTransferInstruction';\r\nimport { InterAccountTransferErrors } from '../../../Validation/Errors/Transfer/InterAccount/InterAccountTransferErrors';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AccountTransferClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(requestId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/AccountTransfer/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { requestId: requestId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(instruction: AccountTransferInstruction): Promise[]> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/AccountTransfer/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { instruction: instruction }\r\n\r\n return AjaxWrapper.post[]>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { TransferModel } from '../../Models/Models/Transfer/TransferModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductTransfersInClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(subAccountHierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/ProductTransfersIn/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { subAccountHierarchyId: subAccountHierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { TransferBeneficalOwner } from '../../../Models/Domains/Transfer/TransferBeneficalOwner';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TransferBeneficialOwnerClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(sourceAccountHierarchyId: string, destinationAccountHierarchyId: string): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/TransferBeneficialOwner/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { sourceAccountHierarchyId: sourceAccountHierarchyId, destinationAccountHierarchyId: destinationAccountHierarchyId }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { TransferDestinationAccountPaginatedModel } from '../../../Models/Domains/Transfer/TransferDestinationAccountPaginatedModel';\r\nimport { SubAccountType } from '../../../Constants/Enums/Domain/SubAccountType';\r\nimport { ServiceProposition } from '../../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TransferDestinationAccountsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(accountName: string, clAccountId: string, clientForeName: string, clientSurName: string, maxRow: number, minRow: number, types: Array, wrapProvider: string, serviceProposition: ServiceProposition): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/TransferDestinationAccounts/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { accountName: accountName, clAccountId: clAccountId, clientForeName: clientForeName, clientSurName: clientSurName, maxRow: maxRow, minRow: minRow, types: types, wrapProvider: wrapProvider, serviceProposition: serviceProposition }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { TransferSourceAccountsCollectionModel } from '../../../Models/Domains/Transfer/TransferSourceAccountsCollectionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TransferSourceAccountsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/TransferSourceAccounts/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Investment } from '../../Models/Models/PortfolioAnalysis/Investment/Investment';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class TransferInRequestClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(clAccountId: string, cgtExempt: boolean): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/TransferInRequest/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { clAccountId: clAccountId, cgtExempt: cgtExempt }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { InvestmentDetailsCollectionModel } from '../../../Models/Domains/Transfer/InvestmentDetailsCollectionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ModelPortfolioInvestmentDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, modelInstrumentCode: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/ModelPortfolioInvestmentDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, modelInstrumentCode: modelInstrumentCode }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../../react-core/Async/Promise';\r\nimport { InvestmentDetailsCollectionModel } from '../../../Models/Domains/Transfer/InvestmentDetailsCollectionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductInvestmentDetailsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transfer/ProductInvestmentDetails/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { InvestmentGeographicAllocationModel } from '../../Models/Models/PortfolioAnalysis/Investment/InvestmentGeographicAllocationModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class InvestmentGeographicAllocationClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyIds: Array, asAt: IJsonDate, assetClassType: AssetClassType): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transformation/InvestmentGeographicAllocation/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyIds: hierarchyIds, asAt: asAt, assetClassType: assetClassType }\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PortfolioValuationSummary } from '../../Models/Domains/Valuation/PortfolioValuationSummary';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { PerformanceMethod } from '../../Models/Models/Transformation/Performance/PerformanceMethod';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { DateFromType } from '../../Constants/Enums/Domain/Transformation/Valuation/DateFromType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NewPortfolioValuationSummaryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(headAccountHierarchyIds: Array, subAccountHierarchyIds: Array, assetClassType: AssetClassType, performanceMethod: PerformanceMethod, asAt: IJsonDate, dateFromType: DateFromType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transformation/NewPortfolioValuationSummary/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { headAccountHierarchyIds: headAccountHierarchyIds, subAccountHierarchyIds: subAccountHierarchyIds, assetClassType: assetClassType, performanceMethod: performanceMethod, asAt: asAt, dateFromType: dateFromType }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProductsValuationDetailSummary } from '../../Models/Domains/Valuation/ProductsValuationDetailSummary';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NewProductsValuationDetailSummaryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(headAccountHierarchyIds: Array, subAccountHierarchyIds: Array, assetClassType: AssetClassType, asAt: IJsonDate): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transformation/NewProductsValuationDetailSummary/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { headAccountHierarchyIds: headAccountHierarchyIds, subAccountHierarchyIds: subAccountHierarchyIds, assetClassType: assetClassType, asAt: asAt }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { PortfolioValuationSummary } from '../../Models/Domains/Valuation/PortfolioValuationSummary';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { PerformanceMethod } from '../../Models/Models/Transformation/Performance/PerformanceMethod';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { DateFromType } from '../../Constants/Enums/Domain/Transformation/Valuation/DateFromType';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class PortfolioValuationSummaryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, assetClassType: AssetClassType, performanceMethod: PerformanceMethod, asAt: IJsonDate, dateFromType: DateFromType): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transformation/PortfolioValuationSummary/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, assetClassType: assetClassType, performanceMethod: performanceMethod, asAt: asAt, dateFromType: dateFromType }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ProductsValuationDetailSummary } from '../../Models/Domains/Valuation/ProductsValuationDetailSummary';\r\nimport { AssetClassType } from '../../Constants/Enums/Domain/Instrument/AssetClassType';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class ProductsValuationDetailSummaryClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string, assetClassType: AssetClassType, asAt: IJsonDate): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/Transformation/ProductsValuationDetailSummary/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId, assetClassType: assetClassType, asAt: asAt }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AdviserReadWritePermissionModel } from '../../Models/Domains/Users/AdviserReadWritePermissionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserReadWritePermissionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(actorId: number): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/AdviserReadWritePermission/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { actorId: actorId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AdviserReadWritePermissionModel } from '../../Models/Domains/Users/AdviserReadWritePermissionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AdviserReadWritePermissionByAccountClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/AdviserReadWritePermissionByAccount/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { AspxPagePermissionModel } from '../../Models/Domains/Users/AspxPagePermissionModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class AspxPagePermissionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(pageUrl: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/AspxPagePermission/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { pageUrl: pageUrl }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { Company } from '../../Models/Models/Company/Company';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class CompanyClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/Company/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientDashboardFiltersModel } from '../../Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DashboardFilterClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/DashboardFilter/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public post(request: ClientDashboardFiltersModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/DashboardFilter/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public put(request: ClientDashboardFiltersModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/DashboardFilter/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n public delete(request: ClientDashboardFiltersModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/DashboardFilter/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientDashboardFiltersModel } from '../../Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DashboardFilterReorderClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(request: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/DashboardFilterReorder/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientDashboardFiltersModel } from '../../Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class DashboardFiltersClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(companyCode: string, adviseId: number): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/DashboardFilters/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { companyCode: companyCode, adviseId: adviseId }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { GetUserUIThemeConfiguration } from '../../Models/Models/Session/GetUserUIThemeConfiguration';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class GetUserUIThemeClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/GetUserUITheme/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public put(isLightMode: boolean): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/GetUserUITheme/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { isLightMode: isLightMode }\r\n\r\n return AjaxWrapper.put(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class IndividualUserFunctionClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(clientId: number, functionName: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/IndividualUserFunction/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { clientId: clientId, functionName: functionName }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientNotificationFiltersModel } from '../../Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NotificationFilterClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/NotificationFilter/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get, any>(url, data);\r\n }\r\n public post(request: ClientNotificationFiltersModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/NotificationFilter/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n public put(request: ClientNotificationFiltersModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/NotificationFilter/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n public delete(request: ClientNotificationFiltersModel): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/NotificationFilter/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.delete, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientNotificationFiltersModel } from '../../Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class NotificationFilterReorderClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(request: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/NotificationFilterReorder/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { request: request }\r\n\r\n return AjaxWrapper.put, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { User } from '../../Models/Models/User/User';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UserClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/User/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\nimport { UserAccountDisplaySettingModel } from '../../Models/Domains/Users/UserAccountDisplaySettingModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UserAccountDisplaySettingsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public put(model: UserAccountDisplaySettingModel): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserAccountDisplaySettings/Put';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { model: model }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(hierarchyId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserAccountDisplaySettings/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyId: hierarchyId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public delete(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserAccountDisplaySettings/Delete';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.delete(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { UserAllowedClaimsModel } from '../../Models/Domains/Users/UserAllowedClaimsModel';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UserAllowedClaimsClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserAllowedClaims/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { ClientSummaryGroupModel } from '../../Models/Models/Business/ClientSummary/ClientSummaryGroupModel';\r\nimport { UserClientSummaryGroupSettingModel } from '../../Models/Domains/Users/UserClientSummaryGroupSettingModel';\r\nimport { IJsonDate } from '../../System/IJsonDate';\r\nimport { ServiceProposition } from '../../Constants/Enums/ServiceProposition';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UserClientSummaryGroupSettingClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(setting: UserClientSummaryGroupSettingModel, hierarchyId: string, valuationDate: IJsonDate, servicePropositions: Array): Promise, any> {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserClientSummaryGroupSetting/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { setting: setting, hierarchyId: hierarchyId, valuationDate: valuationDate, servicePropositions: servicePropositions }\r\n\r\n return AjaxWrapper.post, any>(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\nimport { UserPageColumnSettings } from '../../Models/Domains/Users/UserPageColumnSetting/UserPageColumnSettings';\r\nimport { ValidationStatus } from '../../Core/Web/Validation/ValidationStatus';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UserPageColumnSettingClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public get(): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserPageColumnSetting/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = {}\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n public post(settings: UserPageColumnSettings): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserPageColumnSetting/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { settings: settings }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n}\r\n\r\n","import { ContextStore } from '../../../react-core/Flux/Variables';\r\nimport { RoutesHelper } from '../../../react-core/Utils/RoutesHelper';\r\nimport { AjaxWrapper } from '../../../react-core/Async/AjaxWrapper';\r\nimport { Promise } from '../../../react-core/Async/Promise';\r\n\r\ndeclare var IS_RUNNING_IN_APP_POOL;\r\n\r\nexport class UserSignatureClient {\r\n private _culture: string;\r\n\r\n public constructor() {\r\n var contextStoreState = ContextStore.getContext();\r\n this._culture = contextStoreState.culture;\r\n }\r\n\r\n public post(signatureUrl: string, hierarchyEntityId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserSignature/Post';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { signatureUrl: signatureUrl, hierarchyEntityId: hierarchyEntityId }\r\n\r\n return AjaxWrapper.post(url, data);\r\n }\r\n public get(hierarchyEntityId: string): Promise {\r\n const subResourceUrl = 'robo'\r\n let actionRoute = '/{culture}/Api/User/UserSignature/Get';\r\n if (IS_RUNNING_IN_APP_POOL) actionRoute = '/' + subResourceUrl + actionRoute\r\n const url = RoutesHelper.replacePlaceholdersInUrl(actionRoute, this._culture).toLowerCase();\r\n const data = { hierarchyEntityId: hierarchyEntityId }\r\n\r\n return AjaxWrapper.get(url, data);\r\n }\r\n}\r\n\r\n","import { AdviserWizardDispatcher } from \"../Stores/Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { AdvisersClient } from \"../../../../Wrap/Api/Network/Advisers\";\r\n\r\nexport class AdviserWizardAction {\r\n public static getAdviser(query: any, callback?) {\r\n const client = new AdvisersClient();\r\n const readWriteOnly = query?.ReadWriteOnly == true ? true : false;\r\n const promise = client.get(\r\n query.Company,\r\n query.Network,\r\n query.CurrentPage,\r\n query.ResultsPerPage,\r\n readWriteOnly\r\n );\r\n promise.onSuccess((data) => {\r\n AdviserWizardDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback(data);}\r\n });\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { AdviserWizardDispatcher } from \"./Variable\";\r\nimport { ResultPageModel } from \"../../../../Wrap/Core/SortingAndPaging/Models/ResultPageModel\";\r\nimport { Adviser } from \"../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\n\r\nexport interface AdviserWizardStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: ResultPageModel;\r\n}\r\n\r\nexport class AdviserWizardStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AdviserWizardDispatcher, (actionData) =>\r\n this.onAdviserWizardStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): AdviserWizardStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): AdviserWizardStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onAdviserWizardStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { AdviserWizardStoreStatic } from \"./AdviserWizardStoreStatic\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../react-core/Flux/Dispatcher\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const AdviserWizardDispatcher: Dispatcher = new Dispatcher();\r\nexport const AdviserWizardStore: AdviserWizardStoreStatic = new AdviserWizardStoreStatic();\r\n","import {\r\n BackOfficeProviderBulkValuationReportDispatcher,\r\n BackOfficeProvidersDispatcher,\r\n CompanyDispatcher,\r\n CompanyFsaPermissionsDispatcher,\r\n CompanyInstructionDispatcher,\r\n CompanyServicePropositionDispatcher,\r\n CompanyWizardDispatcher,\r\n} from \"../Stores/Variable\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { FirmInstructionHistoryClient } from \"../../../../../Wrap/Api/Company/FirmInstructionHistory\";\r\nimport { GetFirmInstructionsQuery } from \"../../../../../Wrap/Models/Models/Company/GetFirmInstructionsQuery\";\r\nimport { CancelFirmInstructionsQuery } from \"../../../../../Wrap/Models/Models/Company/CancelFirmInstructionsQuery\";\r\nimport { FirmInstructionCancelClient } from \"../../../../../Wrap/Api/Company/FirmInstructionCancel\";\r\nimport { FirmInstructionCreateClient } from \"../../../../../Wrap/Api/Company/FirmInstructionCreate\";\r\nimport { CreateFirmInstructionQuery } from \"../../../../../Wrap/Models/Models/Company/CreateFirmInstructionQuery\";\r\nimport { FirmProcessType } from \"../../../../../Wrap/Constants/Enums/Domain/FirmProcessType\";\r\nimport { FirmInstructionClient } from \"../../../../../Wrap/Api/Company/FirmInstruction\";\r\nimport { UpdateFirmInstructionQuery } from \"../../../../../Wrap/Models/Models/Company/UpdateFirmInstructionQuery\";\r\nimport { FirmInstructionUpdateClient } from \"../../../../../Wrap/Api/Company/FirmInstructionUpdate\";\r\nimport { FirmInstructionSubmitClient } from \"../../../../../Wrap/Api/Company/FirmInstructionSubmit\";\r\nimport { FirmType } from \"../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { CompanySearchClient } from \"../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { CompanyViewClient } from \"../../../../../Wrap/Api/Company/CompanyView\";\r\nimport { NetworkHistoryClient } from \"../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { NetworkHistoryPaginatedModel } from \"../../../../../Wrap/Models/Models/Network/NetworkHistoryPaginatedModel\";\r\nimport { Promise } from \"../../../../../react-core/Async/Promise\";\r\nimport { FsaAuthorizationNumberCheckClient } from \"../../../../../Wrap/Api/Company/FsaAuthorizationNumberCheck\";\r\nimport { EdiMailBoxClient } from \"../../../../../Wrap/Api/Company/EdiMailBox\";\r\nimport { BackOfficeProvidersClient } from \"../../../../../Wrap/Api/BackOfficeIntegration/BackOfficeProviders\";\r\nimport { BackOfficeProviderBulkValuationReportClient } from \"../../../../../Wrap/Api/BackOfficeIntegration/BackOfficeProviderBulkValuationReport\";\r\nimport { CompanyServicePropositionClient } from \"../../../../../Wrap/Api/Company/CompanyServiceProposition\";\r\nimport { NextPaymentDateClient } from \"../../../../../Wrap/Api/Payments/NextPaymentDate\";\r\nimport { IJsonDate } from \"../../../../../Wrap/System/IJsonDate\";\r\nimport { FrequencyType } from \"../../../../../Wrap/Constants/Enums/Domain/FrequencyType\";\r\nimport { FsaSourcedCompanyDetailsClient } from \"../../../../../Wrap/Api/Company/FsaSourcedCompanyDetails\";\r\nimport { CompanyFsaPermissionsClient } from \"../../../../../Wrap/Api/Company/CompanyFsaPermissions\";\r\nimport { CompanyDetail } from \"../../../../../Wrap/Models/Models/Company/CompanyDetail\";\r\n\r\nexport class CompanyWizardAction {\r\n public static getCompanyWizardList(query: GetFirmInstructionsQuery): void {\r\n const client = new FirmInstructionHistoryClient();\r\n const promise = client.get(\r\n query.Statuses,\r\n query.FirmProcessType,\r\n query.FirmType,\r\n query.FirmName,\r\n query.TradingReference,\r\n query.PostCode,\r\n query.CreateUserId,\r\n query.StartedFromDate,\r\n query.StartedToDate,\r\n query.UpdatedFromDate,\r\n query.UpdatedToDate,\r\n query.Start,\r\n query.Count\r\n );\r\n promise.onSuccess((data) => {\r\n CompanyWizardDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static deleteCompanyWizardList(query: CancelFirmInstructionsQuery, callback?: () => void): void {\r\n const client = new FirmInstructionCancelClient();\r\n const promise = client.post(query);\r\n promise.onSuccess((data) => {\r\n if (data.length == 0) {\r\n CompanyWizardDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n });\r\n } else {\r\n CompanyWizardDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n });\r\n }\r\n callback();\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyWizardDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static firmCreate(type: FirmType, companyId: string, callback?): void {\r\n // TODO: REMOVE THIS CONDITION\r\n type = type == FirmType.Bond || type == FirmType.Pension ? FirmType.AppointedRepresentative : type;\r\n //\r\n const client = new FirmInstructionCreateClient();\r\n let query: CreateFirmInstructionQuery = null;\r\n if (companyId) {\r\n query = {\r\n HierarchyId: companyId,\r\n FirmProcessType: FirmProcessType.EditFirm,\r\n };\r\n } else {\r\n query = {\r\n FirmType: Number(type),\r\n FirmProcessType: FirmProcessType.FirmSetup,\r\n };\r\n }\r\n const promise = client.post(query);\r\n promise.onSuccess((data) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback(data);}\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getFirmInstruction(instructionId: string | number): void {\r\n const client = new FirmInstructionClient();\r\n const promise = client.get(Number(instructionId));\r\n promise.onSuccess((data) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getFsaSourcedCompanyDetail(fsaNumber: string, callback: (data) => void): void {\r\n const client = new FsaSourcedCompanyDetailsClient();\r\n const promise = client.get(fsaNumber);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n\r\n public static getCompanyFsaPermissionDetail(company: string, callback?: (data) => void): void {\r\n CompanyFsaPermissionsDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n query: company,\r\n });\r\n\r\n const client = new CompanyFsaPermissionsClient();\r\n const promise = client.get(company);\r\n promise.onSuccess((data) => {\r\n CompanyFsaPermissionsDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n query: company,\r\n });\r\n\r\n if (callback) {\r\n callback(data);\r\n }\r\n });\r\n }\r\n\r\n public static cancelFirmInstruction(instructionId: string | number, callback: VoidFunction): void {\r\n const client = new FirmInstructionCancelClient();\r\n const promise = client.post({ InstructionIds: [Number(instructionId)] });\r\n promise.onSuccess((data) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: data,\r\n });\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static submitFirmInstruction(id: number | string, callback?) {\r\n const client = new FirmInstructionSubmitClient();\r\n const promise = client.post(Number(id));\r\n promise.onSuccess((data) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: data,\r\n });\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static updateFirmInstruction(query: UpdateFirmInstructionQuery, callback?: (data) => void): void {\r\n const client = new FirmInstructionUpdateClient();\r\n const promise = client.post(query);\r\n promise.onSuccess((data) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: data,\r\n });\r\n if (callback) {\r\n callback(data);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getFirm(query, callback?) {\r\n const client = new CompanySearchClient();\r\n const promise = client.get(\r\n query.CompanyId,\r\n query.CompanyName,\r\n query.FirmType,\r\n query.FSAAuthorisationNumber,\r\n query.Network,\r\n query.Postcode,\r\n query.SortDescending,\r\n query.Start,\r\n query.Count,\r\n query.OrderBy,\r\n query.IncludeInactive\r\n );\r\n promise.onSuccess((data) => {\r\n CompanyDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {\r\n callback(data);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getViewCompany(id: string, callback?: (com: CompanyDetail) => void) {\r\n const client = new CompanyViewClient();\r\n const promise = client.get(id);\r\n\r\n promise.onSuccess((data) => {\r\n if (callback) {\r\n callback(data);\r\n }\r\n CompanyDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getNetwork(query: any): Promise {\r\n const client = new NetworkHistoryClient();\r\n return client.get(\r\n query.NetworkId,\r\n query.NetworkType,\r\n query.NetworkName,\r\n query.TradingReference,\r\n query.PostCode,\r\n false,\r\n query.Max,\r\n query.Min\r\n );\r\n }\r\n\r\n public static check(fsaAuthorizationNumber: string, callback) {\r\n const client = new FsaAuthorizationNumberCheckClient();\r\n const promise = client.get(fsaAuthorizationNumber);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getCompanyServicePropositions(actorId: number): void {\r\n const client = new CompanyServicePropositionClient();\r\n const promise = client.get(actorId, \"\");\r\n promise.onSuccess((data) => {\r\n CompanyServicePropositionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyServicePropositionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getEdiMailBoxIds(callback) {\r\n const client = new EdiMailBoxClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n\r\n promise.onError((err) => {\r\n CompanyDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getBackOfficeProviders() {\r\n const client = new BackOfficeProvidersClient();\r\n client\r\n .get()\r\n .onSuccess((data) =>\r\n BackOfficeProvidersDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n })\r\n )\r\n .onError((err) => {\r\n BackOfficeProvidersDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getBackOfficeProviderBulkValuationReports(\r\n bulkFileTypeId: number,\r\n networkId: number,\r\n companyCode: string,\r\n fromDate: IJsonDate,\r\n toDate: IJsonDate\r\n ) {\r\n const client = new BackOfficeProviderBulkValuationReportClient();\r\n const promise = client.get(bulkFileTypeId, networkId, companyCode, fromDate, toDate);\r\n promise.onSuccess((data) =>\r\n BackOfficeProviderBulkValuationReportDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n })\r\n );\r\n promise.onError((err) => {\r\n BackOfficeProviderBulkValuationReportDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getNextPaymentDate(asat: IJsonDate, frequency: FrequencyType, callback) {\r\n const client = new NextPaymentDateClient();\r\n const promise = client.get(asat, frequency);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CompanyWizardFilter } from \"./CompanyWizardFilter\";\r\nimport { Dictionary } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CompanyStore } from \"../Stores/Variable\";\r\nimport { CompanyWizardAction } from \"../Actions/CompanyWizardAction\";\r\nimport { CancelFirmInstructionsQuery } from \"../../../../../Wrap/Models/Models/Company/CancelFirmInstructionsQuery\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../Dashboard/Urls\";\r\nimport { FirmType } from \"../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { FirmTypeMap, FsaAuthorisationStatusMap } from \"../Resource/Content\";\r\nimport { Table } from \"../../../../Shared/Table/Table\";\r\nimport { CompanySummariesPaginated } from \"../../../../../Wrap/Models/Models/Company/CompanySummariesPaginated\";\r\nimport { CompanyDetailSort } from \"../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { CompanySummary } from \"../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { UserStore } from \"../../../../Dashboard/Stroes/Variable\";\r\nimport { UserClient } from \"../../../../../Wrap/Api/User/User\";\r\nimport { IndividualUserFunctionClient } from \"../../../../../Wrap/Api/User/IndividualUserFunction\";\r\n\r\ninterface ICompanySetUpState {\r\n tableData: CompanySummariesPaginated;\r\n isLoading?: boolean;\r\n currentPage: number;\r\n pageSize: number;\r\n filter: any;\r\n createType: string;\r\n firmType: FirmType;\r\n selectFirm: CompanySummary;\r\n SortDescending: boolean;\r\n OrderBy: CompanyDetailSort;\r\n hasCompanyPermission: boolean;\r\n}\r\n\r\nexport class CompanySetUp extends FormComponent {\r\n constructor(props: null) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n createType: \"Adviser\",\r\n firmType: FirmType.AppointedRepresentative,\r\n selectFirm: null,\r\n SortDescending: true,\r\n OrderBy: CompanyDetailSort.DateCreated,\r\n filter: {\r\n firmID: null,\r\n processType: 0,\r\n firmType: 0,\r\n firmName: \"\",\r\n reference: \"\",\r\n postcode: \"\",\r\n createdBy: null,\r\n dateStartedFrom: null,\r\n dateStartedTo: null,\r\n lastUpdatedFrom: null,\r\n lastUpdatedTo: null,\r\n network: \"\",\r\n },\r\n hasCompanyPermission: false,\r\n };\r\n this.subscribeToStore(CompanyStore, () => this.onCompanyStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n const clientId = UserStore.getUserInfo().ClientId;\r\n\r\n if (clientId == null || clientId == 0) {\r\n const client = new UserClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((result) => {\r\n this.checkCompanyPermission(result.ClientId);\r\n });\r\n promise.onError((err) => {});\r\n } else {\r\n this.checkCompanyPermission(clientId);\r\n }\r\n }\r\n\r\n public checkCompanyPermission(clientId: number) {\r\n const FunctionName = \"CanModifyCompanies\";\r\n const client = new IndividualUserFunctionClient();\r\n const promise = client.get(clientId, FunctionName);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n this.setState({ hasCompanyPermission: data });\r\n })\r\n .onError(() => {\r\n this.setState({ hasCompanyPermission: false });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!checkPermission(UserClaim.AdviserPortalNetworkAndFirmReadWrite)) {return null;}\r\n return (\r\n <>\r\n {this.renderFilter()}\r\n
\r\n
OR
\r\n
\r\n
\r\n {this.renderSetup()}\r\n
\r\n {!this.state.selectFirm && this.renderTable()}\r\n {this.state.selectFirm && this.renderSelectedFirm()}\r\n \r\n );\r\n }\r\n\r\n private renderSelectedFirm() {\r\n return (\r\n
\r\n
\r\n
\r\n

Selected Firm

\r\n
{this.state.selectFirm.CompanyName}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n this.state.hasCompanyPermission && this.onClickEdit()}\r\n disabled={!this.state.hasCompanyPermission}\r\n >\r\n Edit this company\r\n \r\n \r\n Navigator.navigateTo(Urls.get().CompanyViewFirmDetail, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { id: this.state.selectFirm.CompanyCode },\r\n })\r\n }\r\n >\r\n View this company\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private onClickCreate() {\r\n const { firmType } = this.state;\r\n //TODO: REMOVE TYPE QUERY PARAMS\r\n CompanyWizardAction.firmCreate(firmType, null, (data) => {\r\n Navigator.navigateTo(Urls.get().FirmDetail, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { id: data.Id, type: firmType },\r\n });\r\n });\r\n }\r\n\r\n private onClickEdit() {\r\n const FirmType = this.state.selectFirm.FirmType;\r\n const CompanyId = this.state.selectFirm.HierarchyId;\r\n //TODO: REMOVE TYPE QUERY PARAMS\r\n CompanyWizardAction.firmCreate(FirmType, CompanyId, (data) => {\r\n Navigator.navigateTo(Urls.get().FirmDetail, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { id: data.Id, type: FirmType },\r\n });\r\n });\r\n }\r\n\r\n private renderSetup(): JSX.Element {\r\n const { firmType, createType } = this.state;\r\n const options =\r\n createType == \"Adviser\"\r\n ? [FirmType.AppointedRepresentative, FirmType.DirectlyAuthorised]\r\n : [FirmType.Bond, FirmType.Pension];\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n return v == \"Adviser\" ? \"Adviser firm\" : \"Third party\";\r\n }}\r\n label=\"Create a new firm\"\r\n selected={createType}\r\n onChange={(v) => {\r\n this.setState({\r\n createType: v,\r\n firmType: v == \"Adviser\" ? FirmType.AppointedRepresentative : FirmType.Bond,\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n return FirmTypeMap[v];\r\n }}\r\n placeholder=\"Please select\"\r\n label=\"Firm type\"\r\n selected={firmType}\r\n required={\"Please select Firm Type\"}\r\n onChange={(v) => {\r\n this.setState({ firmType: v });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n this.state.hasCompanyPermission && this.onClickCreate()}\r\n >\r\n Create new company\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private handleSort() {\r\n this.setState(\r\n (prevState) => ({\r\n OrderBy: CompanyDetailSort.CompanyId,\r\n SortDescending: prevState.OrderBy == CompanyDetailSort.DateCreated ? false : !prevState.SortDescending,\r\n }),\r\n () => this.getData(1)\r\n );\r\n }\r\n\r\n private renderTable(): JSX.Element {\r\n const { tableData, currentPage, isLoading } = this.state;\r\n if (!tableData) {return null;}\r\n return (\r\n this.handleSort(),\r\n render: (data, row) => (\r\n this.setState({ selectFirm: row })}\r\n style={{ textDecoration: \"underline\", cursor: \"pointer\" }}\r\n >\r\n {data}\r\n \r\n ),\r\n },\r\n {\r\n title: \"Firm name\",\r\n key: \"CompanyName\",\r\n },\r\n {\r\n title: \"FirmType\",\r\n key: \"FirmType\",\r\n render: (data) => {FirmTypeMap[data]},\r\n },\r\n {\r\n title: \"FCA/trading reference\",\r\n key: \"FSAAuthorisationNumber\",\r\n },\r\n {\r\n title: \"FCA/trading status\",\r\n key: \"FSAAuthorisationStatus\",\r\n render: (data) => {FsaAuthorisationStatusMap[data]},\r\n },\r\n {\r\n title: \"Linked network\",\r\n key: \"NetworkName\",\r\n },\r\n {\r\n title: \"Postcode\",\r\n key: \"Postcode\",\r\n },\r\n ]}\r\n needPagination={{\r\n totalNumOfResult: tableData.TotalNumberOfResults,\r\n onPaginationChange: (pageIndex) => this.handlePageChange(pageIndex),\r\n currentPage: currentPage,\r\n }}\r\n />\r\n );\r\n }\r\n\r\n private renderFilter(): JSX.Element {\r\n const { filter } = this.state;\r\n const isWrapProviderSuperUser =\r\n UserStore.getUserInfo().IsWrapProviderSuperUser != null\r\n ? UserStore.getUserInfo().IsWrapProviderSuperUser\r\n : false;\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n handleFilterChange = (changes: Dictionary[]) => {\r\n const updatedfilter = this.state.filter;\r\n for (const key in changes) {\r\n updatedfilter[key] = changes[key];\r\n }\r\n this.setState({ filter: updatedfilter });\r\n };\r\n\r\n handlePageChange = (pageIndex: number) => {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n };\r\n\r\n private onCompanyStoreChange() {\r\n const data = CompanyStore.getData();\r\n this.setState({ tableData: data, isLoading: false });\r\n }\r\n\r\n onSearch = () => {\r\n this.setState(\r\n { selectFirm: null, SortDescending: true, OrderBy: CompanyDetailSort.DateCreated, currentPage: 1 },\r\n () => this.getData(1)\r\n );\r\n };\r\n\r\n private getData(pageIndex: number): void {\r\n const query = this.getQuery(pageIndex);\r\n this.setState({ isLoading: true });\r\n CompanyWizardAction.getFirm(query);\r\n }\r\n\r\n private getQuery(pageIndex: number) {\r\n const { filter, pageSize } = this.state;\r\n const start = (pageIndex - 1) * pageSize + 1;\r\n const count = pageSize;\r\n const query = {\r\n CompanyId: filter.firmID,\r\n FirmType: filter.firmType,\r\n CompanyName: filter.firmName,\r\n Network: filter.network,\r\n FSAAuthorisationNumber: filter.reference,\r\n Postcode: filter.postcode,\r\n Start: start,\r\n Count: count,\r\n SortDescending: this.state.SortDescending,\r\n OrderBy: this.state.OrderBy,\r\n IncludeInactive: true,\r\n };\r\n return query;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\n\r\ninterface IAlertProps extends React.Props {\r\n isReview?: boolean;\r\n data: any;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IAlertState {}\r\n\r\nexport class Alert extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n render() {\r\n const { data, isReview } = this.props;\r\n return (\r\n <>\r\n

Alert Setup

\r\n

Third Party Firm settings

\r\n {},\r\n value: true,\r\n disabled: this.props.isReview,\r\n },\r\n ]}\r\n />\r\n

Alerts that will be shown on the Third Party homepage

\r\n \r\n
\r\n
\r\n {SectionHeader(\"Email Notifications\")}\r\n
\r\n
\r\n {\r\n return v;\r\n }}\r\n onChange={(v) => {}}\r\n label=\"Tell Third Party that they have unread alerts\"\r\n />\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { BackOfficeProvider } from \"../../../../../../../Wrap/Models/Models/BackOfficeIntegration/BackOfficeProvider\";\r\nimport { AcornCommissionSettings } from \"../../../../../../../Wrap/Models/Models/Company/AcornCommissionSettings\";\r\nimport { BackOfficeProviderSettings } from \"../../../../../../../Wrap/Models/Models/Company/BackOfficeProviderSettings\";\r\nimport { FileFormat } from \"../../../../../../../Wrap/Models/Models/Company/FileFormat\";\r\nimport { ValidatorContents } from \"../../../../../../Dashboard/Common/ValidatorHelper\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { CompanyWizardAction } from \"../../../Actions/CompanyWizardAction\";\r\nimport { BackOfficeProvidersStore } from \"../../../Stores/Variable\";\r\nimport { BackOfficeSettings } from \"./BackOfficeSettings\";\r\n\r\ninterface IBackOfficeProps extends IProcessComponentProps {\r\n data: BackOfficeProviderSettings[];\r\n acornCommissionSettings?: AcornCommissionSettings;\r\n onChange: (changes: BackOfficeProviderSettings[]) => void;\r\n onRef: (ref) => void;\r\n isReview: boolean;\r\n}\r\n\r\ninterface IBackOfficeState {\r\n providers: BackOfficeProvider[];\r\n currentSetting: BackOfficeProviderSettings;\r\n}\r\n\r\nexport class BackOffice extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { providers: [], currentSetting: null };\r\n this.subscribeToStore(BackOfficeProvidersStore, () =>\r\n this.setState({ providers: BackOfficeProvidersStore.getData() })\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n CompanyWizardAction.getBackOfficeProviders();\r\n }\r\n\r\n private addBackOffice() {\r\n if (this.props.data.length >= ValidatorContents.MaxBackOfficeProvidersNumber) {\r\n this.setState({\r\n currentSetting: null,\r\n });\r\n } else {\r\n this.setState({\r\n currentSetting: this.getEmptyBackOfficeProvider(),\r\n });\r\n }\r\n }\r\n getEmptyBackOfficeProvider(): BackOfficeProviderSettings {\r\n return {\r\n BackOfficeProviderId: null,\r\n BulkContractEnquiry: {\r\n Frequency: {\r\n Mon: true,\r\n Tue: true,\r\n Wed: true,\r\n Thu: true,\r\n Fri: true,\r\n Sat: false,\r\n Sun: false,\r\n },\r\n StartDate: null,\r\n FileFormat: FileFormat.Csv,\r\n LastDate: null,\r\n },\r\n };\r\n }\r\n\r\n private onBackOfficeChange(changes: BackOfficeProviderSettings) {\r\n const { data } = this.props;\r\n this.setState({ currentSetting: null });\r\n if (data.some((x) => x.BackOfficeProviderId == changes.BackOfficeProviderId)) {\r\n this.props.onChange(\r\n data.map((x) => (x.BackOfficeProviderId == changes.BackOfficeProviderId ? changes : x))\r\n );\r\n } else {\r\n this.props.onChange([...data, changes]);\r\n }\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { providers } = this.state;\r\n return (\r\n <>\r\n {this.props.isReview == true &&

Back office provider settings

}\r\n\r\n {this.props.isReview == false && SectionHeader(\"Back office provider settings\") && (\r\n
\r\n
\r\n
\r\n this.addBackOffice()}\r\n disabled={data.length >= 3}\r\n >\r\n Add back office provider settings\r\n \r\n
\r\n
\r\n )}\r\n {providers && providers.length > 0 && (\r\n <>\r\n {\" \"}\r\n {data && data.length > 0 && (\r\n {\r\n return this.state.providers.find(\r\n (x) => x.ProviderId == row.BackOfficeProviderId\r\n ).BackOfficeProviderDisplayName;\r\n },\r\n },\r\n {\r\n title: \"Start date\",\r\n render: (data, row: BackOfficeProviderSettings, index) => {\r\n return JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.BulkContractEnquiry?.StartDate),\r\n \"dd-MM-yyyy\",\r\n true,\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Last date\",\r\n render: (data, row: BackOfficeProviderSettings, index) => {\r\n const lastDate = JsonDateParser.toDate(row.BulkContractEnquiry?.LastDate);\r\n return lastDate\r\n ? JsonDateParser.getFormatDateString(lastDate, \"dd-MM-yyyy\", true, true)\r\n : null;\r\n },\r\n },\r\n {\r\n title: \"\",\r\n render: (ele, row, index) => {\r\n return (\r\n this.props.isReview == false && (\r\n <>\r\n this.setState({ currentSetting: row })}\r\n >\r\n {this.props.isReview ? null : (\r\n \r\n )}\r\n {this.props.isReview ? (\r\n \"View\"\r\n ) : (\r\n Edit\r\n )}\r\n \r\n\r\n {\r\n const _data = data;\r\n if (\r\n this.state.currentSetting &&\r\n this.state.currentSetting.BackOfficeProviderId ==\r\n _data[index].BackOfficeProviderId\r\n ) {\r\n this.setState({ currentSetting: null });\r\n }\r\n _data.splice(index, 1);\r\n this.props.onChange(_data);\r\n }}\r\n >\r\n \r\n Delete\r\n \r\n \r\n )\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n )}\r\n {this.state.currentSetting && (\r\n
\r\n
\r\n {\r\n this.appendChild(ref);\r\n }}\r\n onChange={() => {}}\r\n onSave={(changes) => this.onBackOfficeChange(changes)}\r\n onCancel={() => this.setState({ currentSetting: null })}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { BackOfficeProvider } from \"../../../../../../../Wrap/Models/Models/BackOfficeIntegration/BackOfficeProvider\";\r\nimport { BackOfficeProviderSettings } from \"../../../../../../../Wrap/Models/Models/Company/BackOfficeProviderSettings\";\r\nimport { BulkContractEnquiryFrequency } from \"../../../../../../../Wrap/Models/Models/Company/BulkContractEnquiryFrequency\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { BulkEnquiryFileFormatArrayMap } from \"../../../Resource/Content\";\r\nimport { ICheckboxEditorProps } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { BulkContractEnquiry } from \"../../../../../../../Wrap/Models/Models/Company/BulkContractEnquiry\";\r\nimport { FrequencyType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FrequencyType\";\r\nimport { AcornCommissionSettings } from \"../../../../../../../Wrap/Models/Models/Company/AcornCommissionSettings\";\r\n\r\ninterface IBackOfficeSettingsProps extends IProcessComponentProps {\r\n isReview?: boolean;\r\n acornCommissionSettings?: AcornCommissionSettings;\r\n data: BackOfficeProviderSettings;\r\n providers: BackOfficeProvider[];\r\n onSave: (changes: BackOfficeProviderSettings) => void;\r\n onCancel: () => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IBackOfficeSettingsState {\r\n settings: BackOfficeProviderSettings;\r\n contractEnquiry: BulkContractEnquiry;\r\n validationMssage: string[];\r\n}\r\n\r\ntype DateTypeOfBOProvider = keyof Pick;\r\n\r\nexport class BackOfficeSettings extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n settings: props.data,\r\n validationMssage: [],\r\n contractEnquiry: props.data.BulkContractEnquiry,\r\n };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n if (!this.props.data?.BulkContractEnquiry?.StartDate) {\r\n this.onSetBOProviderDate(new Date(), \"StartDate\");\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps: Readonly, nextContext: any): void {\r\n if (nextProps.acornCommissionSettings?.Frequency) {\r\n this.onSetBOProviderDate(JsonDateParser.toDate(this.state.contractEnquiry?.StartDate), \"StartDate\");\r\n }\r\n }\r\n\r\n isValid(): boolean {\r\n const { settings } = this.state;\r\n this.setState({ validationMssage: [] });\r\n if (!settings?.BulkContractEnquiry || settings.BackOfficeProviderId <= 0) {\r\n this.setState({\r\n validationMssage: [\"Please select a back office provider service.\"],\r\n });\r\n return false;\r\n }\r\n if (\r\n settings.BulkContractEnquiry.LastDate <= settings.BulkContractEnquiry.StartDate\r\n ) {\r\n this.setState({\r\n validationMssage: [\r\n \"Please make sure next date is later than start date and latest date is later than next date.\",\r\n ],\r\n });\r\n return false;\r\n }\r\n return super.isValid();\r\n }\r\n\r\n private checkboxGroupOption(data: BulkContractEnquiryFrequency, type: string): ICheckboxEditorProps {\r\n return {\r\n label: type,\r\n value: data[type],\r\n disabled: type == \"Sat\" || type == \"Sun\",\r\n onChange: (v) => {\r\n const { settings } = this.state;\r\n settings.BulkContractEnquiry.Frequency[type] = v;\r\n this.setState({ settings: settings });\r\n },\r\n };\r\n }\r\n\r\n render() {\r\n const { data, providers } = this.props;\r\n\r\n const freq = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\r\n\r\n const { settings, validationMssage, contractEnquiry } = this.state;\r\n\r\n return (\r\n <>\r\n {validationMssage.map((m, i) => (\r\n \r\n ))}\r\n x.ProviderId) : []}\r\n getText={(v) => {\r\n return providers?.find((x) => x.ProviderId == v).BackOfficeProviderDisplayName;\r\n }}\r\n disabled={this.props.isReview}\r\n required=\"Please select back office system\"\r\n placeholder=\"Please select\"\r\n onChange={(v) => {\r\n settings.BackOfficeProviderId = v;\r\n this.setState({ settings: settings });\r\n }}\r\n />\r\n {\r\n return v;\r\n }}\r\n disabled={this.props.isReview}\r\n required=\"Please select if bulk contract enquiry\"\r\n placeholder=\"Please select\"\r\n onChange={(v) => {\r\n if (v == \"Yes\") {\r\n contractEnquiry.IsEnabled = true;\r\n settings.BulkContractEnquiry = contractEnquiry;\r\n this.setState({ settings: settings });\r\n } else {\r\n contractEnquiry.IsEnabled = false;\r\n settings.BulkContractEnquiry = contractEnquiry;\r\n this.setState({ settings: settings });\r\n }\r\n }}\r\n />\r\n {data?.BackOfficeProviderId && settings?.BulkContractEnquiry && (\r\n <>\r\n {\r\n return BulkEnquiryFileFormatArrayMap.optionsMap[v];\r\n }}\r\n disabled={this.props.isReview}\r\n onChange={(v) => {\r\n contractEnquiry.FileFormat = v;\r\n settings.BulkContractEnquiry = contractEnquiry;\r\n\r\n this.setState({ contractEnquiry: contractEnquiry, settings: settings });\r\n }}\r\n />\r\n {\r\n return this.checkboxGroupOption(data.BulkContractEnquiry?.Frequency, ele);\r\n })}\r\n />\r\n this.onSetBOProviderDate(v, \"StartDate\")}\r\n label=\"Start date\"\r\n />\r\n\r\n this.onSetBOProviderDate(v, \"LastDate\")}\r\n />\r\n \r\n )}\r\n {this.props.isReview == false && (\r\n \r\n )}\r\n {\r\n \r\n }\r\n \r\n );\r\n }\r\n onCancelBackOfficeProvider(): void {\r\n this.props.onCancel();\r\n }\r\n onSaveBackOfficeProvider() {\r\n if (this.isValid()) {\r\n this.props.onSave(this.state.settings);\r\n }\r\n }\r\n // when set date for back office provider\r\n onSetBOProviderDate(date: Date, t: DateTypeOfBOProvider) {\r\n const { acornCommissionSettings } = this.props;\r\n const { settings, contractEnquiry } = this.state;\r\n\r\n const frequency = acornCommissionSettings?.Frequency || FrequencyType.Weekly;\r\n contractEnquiry[t] = JsonDateParser.toJsonDateNoOffset(date);\r\n\r\n // when change start date, next date will be changed too\r\n if (t === \"StartDate\" && frequency) {\r\n enum FrequencyValueType {\r\n week,\r\n month,\r\n }\r\n const getDay = (year: number, month: number) => {\r\n while (month > 12) {\r\n year += 1;\r\n month -= 12;\r\n }\r\n return new Date(year, month, 0).getDate();\r\n };\r\n\r\n // count how many days when frequency is week or month\r\n const FrequencyValueMap: Partial> = {\r\n [FrequencyType.Weekly]: [FrequencyValueType.week, 1],\r\n [FrequencyType.Fortnightly]: [FrequencyValueType.week, 2],\r\n [FrequencyType.Monthly]: [FrequencyValueType.month, 1],\r\n [FrequencyType.Quarterly]: [FrequencyValueType.month, 3],\r\n [FrequencyType.HalfYearly]: [FrequencyValueType.month, 6],\r\n [FrequencyType.Yearly]: [FrequencyValueType.month, 12],\r\n };\r\n const frequencyTuple = FrequencyValueMap[frequency];\r\n\r\n let daysNumber = 0;\r\n switch (frequencyTuple[0]) {\r\n case FrequencyValueType.week:\r\n daysNumber += frequencyTuple[1] * 7;\r\n break;\r\n case FrequencyValueType.month:\r\n const currentDate = {\r\n year: date.getFullYear(),\r\n month: date.getMonth() + 1,\r\n day: date.getDate(),\r\n };\r\n for (let i = 1; i <= frequencyTuple[1]; i++) {\r\n const endMonthDays = getDay(currentDate.year, currentDate.month + i);\r\n if (i === frequencyTuple[1]) {\r\n // change it to the last day if over than current month\r\n const startMonthDays = getDay(currentDate.year, currentDate.month);\r\n daysNumber +=\r\n currentDate.day > endMonthDays\r\n ? endMonthDays + startMonthDays - currentDate.day\r\n : startMonthDays;\r\n } else {\r\n daysNumber += endMonthDays;\r\n }\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n settings.BulkContractEnquiry = contractEnquiry;\r\n this.setState({ contractEnquiry: contractEnquiry, settings: settings });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { NewBankAccount } from \"./NewBankAccount\";\r\nimport { BankAccountOwner } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { ValidatorContents } from \"../../../../../../Dashboard/Common/ValidatorHelper\";\r\nimport { FirmType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IBankDetailProps extends IProcessComponentProps {\r\n data: FirmInstruction;\r\n owner: BankAccountOwner;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n isReview: boolean;\r\n}\r\n\r\ninterface IBankDetailState {\r\n currentBankAccount: BankAccount;\r\n isEdit: number;\r\n displayMaxNumberAlert: boolean;\r\n displayRequiredAlert: boolean;\r\n displayNeedDefault: boolean;\r\n displaySaveBeforeNextAlert: boolean;\r\n}\r\n\r\nexport class BankDetail extends ProcessComponent {\r\n constructor(props: IBankDetailProps) {\r\n super(props);\r\n this.state = {\r\n currentBankAccount: null,\r\n isEdit: null,\r\n displayMaxNumberAlert: false,\r\n displayRequiredAlert: this.shouldDisplayRequiredAlert(this.props.data.BankAccounts.length),\r\n displayNeedDefault: this.shouldDisplayIsDefault(props.data.BankAccounts),\r\n displaySaveBeforeNextAlert: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.props.onRef(this);\r\n }\r\n\r\n isValid(): boolean {\r\n return (\r\n !this.shouldDisplayRequiredAlert(this.props.data.BankAccounts.length) &&\r\n !this.shouldDisplayIsDefault(this.props.data.BankAccounts) &&\r\n this.shouldSaveOrCancelEditBankAccountBeforeNext()\r\n );\r\n }\r\n\r\n private shouldDisplayIsDefault(bankAccounts: BankAccount[]): boolean {\r\n let flag = false;\r\n if (bankAccounts && bankAccounts.length > 0) {\r\n const hasDefault = bankAccounts.filter((ele) => ele.IsDefault == true)[0];\r\n return (flag = hasDefault ? false : true);\r\n }\r\n return flag;\r\n }\r\n\r\n private shouldDisplayRequiredAlert(bankAccountsLength: number): boolean {\r\n return this.props.data.FirmType == FirmType.DirectlyAuthorised && bankAccountsLength == 0;\r\n }\r\n\r\n private shouldSaveOrCancelEditBankAccountBeforeNext(): boolean {\r\n if (this.state.currentBankAccount !== null) {\r\n this.setState({\r\n displaySaveBeforeNextAlert: true,\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private getEmptyBankAccount(): BankAccount {\r\n const len = this.props.data.BankAccounts && this.props.data.BankAccounts.length;\r\n return {\r\n AccountNumber: null,\r\n AccountName: null,\r\n BankDetails: { Name: null },\r\n IsDefault: len == 0,\r\n Owner: this.props.owner,\r\n };\r\n }\r\n\r\n private addBankAccount() {\r\n if (this.props.data.BankAccounts.length >= ValidatorContents.MaxBankAccountsNumber) {\r\n this.setState({\r\n currentBankAccount: null,\r\n isEdit: null,\r\n displayMaxNumberAlert: true,\r\n });\r\n } else {\r\n this.setState({\r\n currentBankAccount: this.getEmptyBankAccount(),\r\n isEdit: null,\r\n displayMaxNumberAlert: false,\r\n displayRequiredAlert: false,\r\n });\r\n }\r\n }\r\n\r\n private onAccountChange(changes) {\r\n const { currentBankAccount } = this.state;\r\n const _current = JSON.parse(JSON.stringify(currentBankAccount));\r\n for (const key in changes) {\r\n _current[key] = changes[key];\r\n }\r\n this.setState({ currentBankAccount: _current });\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Bank details\")}\r\n
\r\n
\r\n
\r\n this.addBankAccount()}\r\n disabled={this.props.isReview}\r\n >\r\n Add bank account\r\n \r\n
\r\n
\r\n {\r\n return {ele ? \"Yes\" : \"No\"};\r\n },\r\n },\r\n {\r\n title: \"\",\r\n render: (ele, row, index) => {\r\n return (\r\n <>\r\n this.setState({ currentBankAccount: row, isEdit: index })}\r\n >\r\n {this.props.isReview ? null : (\r\n \r\n )}\r\n {this.props.isReview ? \"View\" : Edit}\r\n \r\n\r\n {\r\n const _accounts = data.BankAccounts;\r\n _accounts.splice(index, 1);\r\n this.props.onChange({ BankAccounts: _accounts });\r\n if (this.state.isEdit && this.state.isEdit == index) {\r\n this.setState({\r\n currentBankAccount: null,\r\n isEdit: null,\r\n displayRequiredAlert: this.shouldDisplayRequiredAlert(\r\n _accounts.length\r\n ),\r\n displayNeedDefault: this.shouldDisplayIsDefault(_accounts),\r\n });\r\n } else {\r\n this.setState({\r\n displayRequiredAlert: this.shouldDisplayRequiredAlert(\r\n _accounts.length\r\n ),\r\n displayNeedDefault: this.shouldDisplayIsDefault(_accounts),\r\n });\r\n }\r\n }}\r\n >\r\n \r\n Delete\r\n \r\n \r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n {this.renderAlert()}\r\n {this.state.currentBankAccount && (\r\n
\r\n
\r\n {\r\n return index !== this.state.isEdit && ele.IsDefault == true;\r\n }).length > 0\r\n }\r\n isReview={this.props.isReview}\r\n data={this.state.currentBankAccount}\r\n onChange={(changes) => this.onAccountChange(changes)}\r\n onClickSave={() => {\r\n let _accounts = [];\r\n if (this.state.isEdit !== 0 && !this.state.isEdit) {\r\n _accounts = data.BankAccounts.concat(this.state.currentBankAccount);\r\n } else {\r\n _accounts = data.BankAccounts;\r\n _accounts[this.state.isEdit] = this.state.currentBankAccount;\r\n }\r\n this.setState({\r\n currentBankAccount: null,\r\n isEdit: null,\r\n displayRequiredAlert: false,\r\n displayNeedDefault: this.shouldDisplayIsDefault(_accounts),\r\n });\r\n this.props.onChange({ BankAccounts: _accounts });\r\n }}\r\n onRef={() => {}}\r\n onClickCancel={() => this.setState({ currentBankAccount: null })}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n\r\n renderAlert() {\r\n if (this.state.displayMaxNumberAlert) {\r\n return ;\r\n } else if (this.state.displayRequiredAlert) {\r\n return (\r\n \r\n );\r\n } else if (this.state.displayNeedDefault) {\r\n return ;\r\n } else if (this.state.displaySaveBeforeNextAlert) {\r\n return ;\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { DefaultSetting } from \"./DefaultSetting\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { CustomSetting } from \"./CustomSetting\";\r\nimport { BackOffice } from \"./BackOffice\";\r\nimport { BankDetail } from \"./BankDetail\";\r\nimport { BankAccountOwner } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { EdiMailBox } from \"../../../../../../../Wrap/Models/Models/Company/EdiMailBox\";\r\nimport { CompanyWizardAction } from \"../../../Actions/CompanyWizardAction\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { DisinvestmentStrategySection } from \"./DisinvestmentStrategySection\";\r\nimport { MultiPropositionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/MultiPropositionType\";\r\n\r\ninterface ICommissionProps extends IProcessComponentProps {\r\n isReview?: boolean;\r\n data: FirmInstruction;\r\n isNetWork: boolean;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n bankOwnerType: BankAccountOwner;\r\n}\r\n\r\ninterface ICommissionState {\r\n ediOptions: EdiMailBox[];\r\n errorMessages: string[];\r\n}\r\n\r\nexport class Commission extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n ediOptions: [],\r\n errorMessages: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n CompanyWizardAction.getEdiMailBoxIds((data) => {\r\n this.setState({ ediOptions: data });\r\n });\r\n }\r\n\r\n isValid(): boolean {\r\n return super.isValid();\r\n }\r\n\r\n render() {\r\n const { data, isNetWork } = this.props;\r\n const isfondzone = (data?.MultiProposition ?? []).every((ele) => ele == MultiPropositionType.Fundzone);\r\n return (\r\n <>\r\n {this.state.errorMessages.map((message) => (\r\n \r\n ))}\r\n

Remuneration and valuation

\r\n {data.UseDefaultCommissionOption && {}} onRef={() => {}} />}\r\n
\r\n
\r\n
\r\n this.props.onChange(v)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n ediOptions={this.state.ediOptions}\r\n isNetWork={isNetWork}\r\n />\r\n
\r\n
\r\n
\r\n {!isNetWork && !isfondzone && (\r\n <>\r\n {SectionHeader(\"Disinvestment strategy\")}\r\n this.props.onChange(changes)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n isReview={this.props.isReview}\r\n checkBoxOption={[\r\n DisinvestmentStrategyType.Proportional,\r\n DisinvestmentStrategyType.Lifo,\r\n DisinvestmentStrategyType.LVS,\r\n ]}\r\n />\r\n
\r\n \r\n )}\r\n\r\n this.props.onChange({ BackOfficeProviderSettings: data })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n isReview={this.props.isReview}\r\n />\r\n
\r\n this.props.onChange(v)}\r\n isReview={this.props.isReview}\r\n onRef={(ref) => this.appendChild(ref)}\r\n owner={this.props.bankOwnerType}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { FrequencyTypeMap } from \"../../../../../../Dashboard/Resoures/Contents\";\r\nimport { FrequencyType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FrequencyType\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { AcornCommissionSettings } from \"../../../../../../../Wrap/Models/Models/Company/AcornCommissionSettings\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { EdiMailBox } from \"../../../../../../../Wrap/Models/Models/Company/EdiMailBox\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { addDays } from \"../../../../../../../react-core/utils/date\";\r\nimport { CompanyWizardAction } from \"../../../Actions/CompanyWizardAction\";\r\n\r\ninterface ICustomSettingProps extends IProcessComponentProps {\r\n data: FirmInstruction;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n isReview: boolean;\r\n ediOptions: EdiMailBox[];\r\n isNetWork: boolean;\r\n}\r\n\r\ninterface ICustomSettingState {\r\n nextPaymentDate: Date;\r\n}\r\n\r\nexport class CustomSetting extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n nextPaymentDate: new Date(),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { AcornCommissionSettings } = this.props.data;\r\n const frequency =\r\n AcornCommissionSettings?.Frequency == null ? FrequencyType.Weekly : AcornCommissionSettings?.Frequency;\r\n CompanyWizardAction.getNextPaymentDate(JsonDateParser.toJsonDateNoOffset(new Date()), frequency, (date) => {\r\n this.setState({ nextPaymentDate: date });\r\n });\r\n }\r\n\r\n private onSettingsChange(changes) {\r\n const { AcornCommissionSettings } = this.props.data;\r\n for (const key in changes) {\r\n AcornCommissionSettings[key] = changes[key];\r\n }\r\n this.props.onChange({ AcornCommissionSettings });\r\n }\r\n\r\n private getEmptySettings(): AcornCommissionSettings {\r\n return {\r\n Frequency: FrequencyType.Weekly,\r\n NextPayDate: JsonDateParser.toJsonDateNoOffset(addDays(new Date(), 7)),\r\n RequestStatement: true,\r\n RequestEDIFile: false,\r\n SuspendCommissionPayments: false,\r\n };\r\n }\r\n\r\n private onFrequencyChange(frequency: FrequencyType) {\r\n CompanyWizardAction.getNextPaymentDate(JsonDateParser.toJsonDateNoOffset(new Date()), frequency, (date) => {\r\n this.setState({ nextPaymentDate: date });\r\n\r\n this.onSettingsChange({ Frequency: frequency, NextPayDate: JsonDateParser.toDate(date) });\r\n });\r\n }\r\n\r\n render() {\r\n const { data, isReview, isNetWork } = this.props;\r\n if (!data.AcornCommissionSettings) {data.AcornCommissionSettings = this.getEmptySettings();}\r\n return (\r\n <>\r\n {SectionHeader(isNetWork ? \"Network remuneration settings\" : \"Firm remuneration settings\")}\r\n {\r\n return v\r\n ? \"Use default settings\"\r\n : isNetWork\r\n ? \"Use custom network settings\"\r\n : \"Use custom firm settings\";\r\n }}\r\n selected={data.UseDefaultCommissionOption}\r\n onChange={(v) =>\r\n this.props.onChange({ UseDefaultCommissionOption: v, AcornCommissionSettings: null })\r\n }\r\n />\r\n {!data.UseDefaultCommissionOption && (\r\n <>\r\n {\r\n return FrequencyTypeMap[v];\r\n }}\r\n onChange={(v) => this.onFrequencyChange(v)}\r\n selected={data.AcornCommissionSettings.Frequency}\r\n />\r\n \r\n this.onSettingsChange({ RequestStatement: v }),\r\n disabled: isReview,\r\n },\r\n {\r\n label: \"Generate EDI file\",\r\n value: data.AcornCommissionSettings.RequestEDIFile,\r\n onChange: (v) => {\r\n if (!v) {\r\n this.props.onChange({ EdiId: \"\" });\r\n }\r\n this.onSettingsChange({ RequestEDIFile: v });\r\n },\r\n disabled: isReview,\r\n },\r\n {\r\n label: \"Suspend charges payment\",\r\n value: data.AcornCommissionSettings.SuspendCommissionPayments,\r\n onChange: (v) => this.onSettingsChange({ SuspendCommissionPayments: v }),\r\n disabled: isReview,\r\n },\r\n ]}\r\n />\r\n {data.AcornCommissionSettings.RequestEDIFile && (\r\n v.EdiId)}\r\n getText={(v) => this.props.ediOptions.find((o) => o.EdiId == v)?.CompanyName}\r\n required=\"Please select EDI mailbox destination\"\r\n placeholder=\"Please select\"\r\n onChange={(v) => this.props.onChange({ EdiId: v })}\r\n selected={data.EdiId}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IDefaultSettingProps extends IProcessComponentProps {\r\n data: FirmInstruction;\r\n}\r\n\r\ninterface IDefaultSettingState {}\r\n\r\nexport class DefaultSetting extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n const { AcornCommissionSettings } = this.props.data;\r\n return (\r\n <>\r\n {SectionHeader(\"Default Remuneration Settings\")}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { DisinvestmentStrategyTypeMap } from \"../../../../../../Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Constant/Content\";\r\n\r\ninterface IDisinvestmentStrategyProps extends IProcessComponentProps {\r\n checkBoxOption: Array;\r\n data: FirmInstruction;\r\n}\r\n\r\ninterface IDisinvestmentStrategyState {}\r\n\r\nexport class DisinvestmentStrategySection extends ProcessComponent<\r\n IDisinvestmentStrategyProps,\r\n IDisinvestmentStrategyState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (\r\n this.props.data?.[\"DisinvestmentStrategy\"] == null ||\r\n this.props.data?.[\"DisinvestmentStrategy\"] == DisinvestmentStrategyType.NotSpecified\r\n ) {\r\n this.populateData(DisinvestmentStrategyType.Proportional);\r\n }\r\n }\r\n\r\n isValid() {\r\n if (\r\n this.props.data?.[\"DisinvestmentStrategy\"] == null ||\r\n this.props.data?.[\"DisinvestmentStrategy\"] == DisinvestmentStrategyType.NotSpecified\r\n ) {\r\n return false;\r\n }\r\n return super.isValid();\r\n }\r\n\r\n private clearData = () => {\r\n this.populateData(DisinvestmentStrategyType.NotSpecified);\r\n };\r\n\r\n private populateData = (model: DisinvestmentStrategyType) => {\r\n const { onChange } = this.props;\r\n const add = [model];\r\n onChange({\r\n DisinvestmentStrategy: model,\r\n });\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n DisinvestmentStrategyTypeMap[o]}\r\n onChange={(v) => {\r\n if (v) {\r\n this.populateData(v);\r\n } else {\r\n this.clearData();\r\n }\r\n }}\r\n required=\"Please select\"\r\n />\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { ValidatorContents } from \"../../../../../../Dashboard/Common/ValidatorHelper\";\r\nimport {\r\n Numeric2,\r\n Numeric8AtLeastOneNonZero,\r\n AlphanumericWithSpace,\r\n AlphanumericWithSpecialCharacters,\r\n} from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface INewBankAccountProps extends IProcessComponentProps {\r\n isReview?: boolean;\r\n data: BankAccount;\r\n hasDefault: boolean;\r\n onChange: (changes) => void;\r\n onClickSave: VoidFunction;\r\n onClickCancel: VoidFunction;\r\n}\r\n\r\ninterface INewBankAccountState {\r\n SortCode: string[];\r\n NumericSortCode: number;\r\n}\r\n\r\nexport class NewBankAccount extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n SortCode:\r\n this.props.data && this.props.data.SortCode\r\n ? this.props.data.SortCode.toString().match(/.{1,2}/g)\r\n : [null, null, null],\r\n NumericSortCode: this.props.data && this.props.data.SortCode ? parseInt(this.props.data.SortCode) : 0,\r\n };\r\n }\r\n\r\n private onSave() {\r\n const flag = this.isValid();\r\n if (flag && !(this.props.data.IsDefault && this.props.hasDefault)) {this.props.onClickSave();}\r\n }\r\n\r\n render() {\r\n const { data, isReview } = this.props;\r\n return (\r\n <>\r\n this.props.onChange({ AccountReference: v })}\r\n />\r\n this.props.onChange({ AccountName: v })}\r\n />\r\n\r\n this.props.onChange({ BankDetails: { Name: v } })}\r\n />\r\n {this.renderSortCodeEditor()}\r\n this.props.onChange({ AccountNumber: v })}\r\n />\r\n {\r\n return !(v && this.props.hasDefault);\r\n },\r\n },\r\n ],\r\n disabled: isReview,\r\n onChange: (v) => this.props.onChange({ IsDefault: v }),\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n renderSortCodeEditor() {\r\n const { isReview } = this.props;\r\n const { SortCode, NumericSortCode } = this.state;\r\n\r\n return (\r\n
\r\n Sort code:*\r\n
\r\n
\r\n {\r\n return parseInt(v) + NumericSortCode !== 0;\r\n },\r\n },\r\n ]}\r\n onChange={(v) => {\r\n if (v) {\r\n this.onSortCodeChanges(0, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.onSortCodeChanges(1, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.onSortCodeChanges(2, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n onSortCodeChanges(index: number, value: string) {\r\n const _sortCode = this.state.SortCode.concat();\r\n _sortCode[index] = value;\r\n let result = \"\";\r\n _sortCode.forEach((ele) => {\r\n if (!ele) {ele = \"\";}\r\n result += ele;\r\n });\r\n const numericSortCode = parseInt(result);\r\n this.setState({ SortCode: _sortCode, NumericSortCode: numericSortCode });\r\n this.props.onChange({ SortCode: result });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Urls } from \"../../../../../Dashboard/Urls\";\r\nimport { Spinner } from \"../../../../../../react-core/Html/Spinner\";\r\nimport { IStepConfig, Process, StepType } from \"../../../../../Shared/Process/Process/Process\";\r\nimport { Contents } from \"../../../../../Dashboard/Resoures/Contents\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FirmInstruction } from \"../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { CompanyWizardAction } from \"../../Actions/CompanyWizardAction\";\r\nimport { stepperName } from \"../../Resource/Content\";\r\nimport { CompanyInstructionStore } from \"../../Stores/Variable\";\r\nimport { FirmDetail } from \"./FirmDetail/FirmDetai\";\r\nimport { Commission } from \"./Commission/Commission\";\r\nimport { Validate } from \"./Validation/Validate\";\r\nimport { UpdateFirmInstructionQuery } from \"../../../../../../Wrap/Models/Models/Company/UpdateFirmInstructionQuery\";\r\nimport { FirmInstructionUpdateAction } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmInstructionUpdateAction\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { InstructionStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { Alert } from \"./Alert/Alert\";\r\nimport { BankAccountOwner } from \"../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { ServiceValidationError } from \"../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { FsaType } from \"../../../../../../Wrap/Constants/Enums/Domain/FsaType\";\r\nimport { FsaAuthorisationStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/FsaAuthorisationStatus\";\r\nimport { MultiProductPermissions } from \"../../../../../../Wrap/Constants/Enums/Domain/MultiProductPermissions\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { MultiPropositionType } from \"../../../../../../Wrap/Constants/Enums/Domain/MultiPropositionType\";\r\nimport { IndividualUserFunctionClient } from \"../../../../../../Wrap/Api/User/IndividualUserFunction\";\r\nimport { UserStore } from \"../../../../../Dashboard/Stroes/Variable\";\r\n\r\ninterface ICompanySetupWizardProps extends React.Props {}\r\n\r\ninterface ICompanySetupWizardState {\r\n data: FirmInstruction;\r\n errorMsg: string[];\r\n alertMsg: string[];\r\n active: boolean;\r\n hasCompanyPermission: boolean;\r\n onPosting: boolean;\r\n}\r\n\r\nexport class CompanySetupWizard extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n alertMsg: [],\r\n active: true,\r\n hasCompanyPermission: false,\r\n onPosting: false,\r\n };\r\n this.subscribeToStore(CompanyInstructionStore, () => this.onCompanyInstructionStoreChange());\r\n }\r\n\r\n child: any = {};\r\n\r\n componentDidMount() {\r\n this.checkCompanyPermission();\r\n const id = getQueryParameters()[\"id\"];\r\n CompanyWizardAction.getFirmInstruction(id);\r\n }\r\n\r\n public checkCompanyPermission() {\r\n const FunctionName = \"CanModifyCompanies\";\r\n const clientId = UserStore.getUserInfo().ClientId;\r\n\r\n if (clientId !== undefined && clientId !== null) {\r\n const client = new IndividualUserFunctionClient();\r\n const promise = client.get(clientId, FunctionName);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n this.setState({ hasCompanyPermission: data });\r\n })\r\n .onError(() => {\r\n this.setState({ hasCompanyPermission: false });\r\n });\r\n }\r\n }\r\n\r\n private onCompanyInstructionStoreChange() {\r\n const data = CompanyInstructionStore.getData();\r\n //TODO: REMOVE THIS CONDITION\r\n if (getQueryParameters()[\"type\"]) {\r\n data.FirmType = getQueryParameters()[\"type\"];\r\n }\r\n //\r\n if (!data.MultiProposition) {data.MultiProposition = [];}\r\n if (!data.MultiProduct) {data.MultiProduct = [];}\r\n data?.BackOfficeProviderSettings.forEach((item) => {\r\n if (item.BulkContractEnquiry?.LastDate < item.BulkContractEnquiry?.StartDate)\r\n {item.BulkContractEnquiry.LastDate = null;}\r\n });\r\n if (data.Status === InstructionStatus.Submitted) {\r\n this.setState({ active: false });\r\n }\r\n this.setState({ data: data });\r\n }\r\n\r\n private handleError(data: ServiceValidationError[], isExit, callback) {\r\n if (data.length > 0) {\r\n this.setState({ errorMsg: data.map((ele) => ele.UserMessage) });\r\n } else {\r\n if (isExit) {\r\n this.onExit();\r\n } else {\r\n callback();\r\n }\r\n }\r\n }\r\n\r\n private checkIfMandateProductChoosed(products: Array): boolean {\r\n let isChoosed = false;\r\n for (const items in products) {\r\n if (products[items] == MultiProductPermissions.PlatformCashAccount) {isChoosed = true;}\r\n }\r\n return isChoosed;\r\n }\r\n\r\n private OnLeaveStepOne(isExit?: boolean): void {\r\n const { data } = this.state;\r\n const isAdviser =\r\n data.FirmType == FirmType.AppointedRepresentative || data.FirmType == FirmType.DirectlyAuthorised;\r\n if (!this.state.active) {\r\n return isExit\r\n ? this.onExit()\r\n : Navigator.navigateToAndPreserveQueryParameters(\r\n isAdviser ? Urls.get().RemunerationAndValuation : Urls.get().Alert\r\n );\r\n }\r\n const flag = this.child.firmdetail.isValid();\r\n if (flag) {\r\n if (!data.Network && data.FirmType == FirmType.AppointedRepresentative) {\r\n this.setState({ errorMsg: [\"Please select a Network!\"] });\r\n return;\r\n }\r\n if (data.MultiProposition.length == 0) {\r\n this.setState({ errorMsg: [\"Please select at least one proposition permission!\"] });\r\n return;\r\n }\r\n if (\r\n data.FirmType == FirmType.DirectlyAuthorised &&\r\n (data.FsaAuthorisationNumber == null || data.FsaAuthorisationNumber == \"\")\r\n ) {\r\n this.setState({ errorMsg: [\"Please input FCA reference number.\"] });\r\n return;\r\n }\r\n if (isAdviser && data.FsaAuthorisationStatus == FsaAuthorisationStatus.NotSpecified) {\r\n this.setState({ errorMsg: [\"Please specify FCA authorisation status.\"] });\r\n return;\r\n }\r\n if (\r\n data.FsaType == FsaType.Fcaregistered &&\r\n data.FsaAuthorisationStatus == FsaAuthorisationStatus.Deauthorised\r\n ) {\r\n this.setState({ alertMsg: [\"This firm is not authorised by FCA\"] });\r\n return;\r\n }\r\n if (\r\n data.FsaType == FsaType.Fcaregistered &&\r\n data.FsaAuthorisationStatus == FsaAuthorisationStatus.Eeaauthorised\r\n ) {\r\n this.setState({ errorMsg: [\"This firm is an EEA firm\"] });\r\n return;\r\n }\r\n if (\r\n data.FsaType == FsaType.Eearegistered &&\r\n data.FsaAuthorisationStatus == FsaAuthorisationStatus.Deauthorised\r\n ) {\r\n this.setState({ alertMsg: [\"This firm is not authorised by FCA\"] });\r\n return;\r\n }\r\n if (\r\n data.FsaType == FsaType.Eearegistered &&\r\n data.FsaAuthorisationStatus == FsaAuthorisationStatus.Authorised\r\n ) {\r\n this.setState({ errorMsg: [\"This firm is not an EEA firm\"] });\r\n return;\r\n }\r\n if (this.state.data.MultiProposition.length == 0) {\r\n this.setState({ errorMsg: [\"Please select at least one Product Permission!\"] });\r\n return;\r\n }\r\n if (isAdviser && this.state.data.MultiProposition.length > 0) {\r\n const choosedProducts = this.state.data.MultiProduct;\r\n\r\n if (this.checkIfMandateProductChoosed(choosedProducts) == false) {\r\n this.setState({ errorMsg: [\"Please select cash account!\"] });\r\n return;\r\n }\r\n }\r\n const _query: UpdateFirmInstructionQuery = {\r\n FirmInstruction: data,\r\n FirmInstructionUpdateAction: FirmInstructionUpdateAction.FirmDetail,\r\n };\r\n CompanyWizardAction.updateFirmInstruction(_query, (data: ServiceValidationError[]) => {\r\n this.handleError(data, isExit, () =>\r\n Navigator.navigateToAndPreserveQueryParameters(\r\n isAdviser ? Urls.get().RemunerationAndValuation : Urls.get().Alert\r\n )\r\n );\r\n });\r\n }\r\n }\r\n\r\n private OnLeaveStepTwo(isExit?: boolean): void {\r\n if (!this.state.active) {\r\n return isExit\r\n ? this.onExit()\r\n : Navigator.navigateToAndPreserveQueryParameters(Urls.get().ValidationAndExcution, true);\r\n }\r\n const { data } = this.state;\r\n const isAdviser =\r\n data.FirmType == FirmType.AppointedRepresentative || data.FirmType == FirmType.DirectlyAuthorised;\r\n if (\r\n isAdviser &&\r\n !data.MultiProposition.every((ele) => ele == MultiPropositionType.Fundzone) &&\r\n (this.state.data?.[\"DisinvestmentStrategy\"] == null ||\r\n this.state.data?.[\"DisinvestmentStrategy\"] == DisinvestmentStrategyType.NotSpecified)\r\n ) {\r\n this.setState({ errorMsg: [\"Please select one disinvestment strategy.\"] });\r\n return;\r\n }\r\n\r\n const flag = isAdviser ? this.child.commission.isValid() : this.child.alert.isValid();\r\n\r\n if (flag) {\r\n const _query: UpdateFirmInstructionQuery = {\r\n FirmInstruction: this.state.data,\r\n FirmInstructionUpdateAction: FirmInstructionUpdateAction.Commission,\r\n };\r\n CompanyWizardAction.updateFirmInstruction(_query, (data) => {\r\n this.handleError(data, isExit, () =>\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().ValidationAndExcution, true)\r\n );\r\n });\r\n }\r\n }\r\n\r\n private onSubmit() {\r\n this.setState({onPosting: true})\r\n CompanyWizardAction.submitFirmInstruction(this.state.data.Id, () => {\r\n this.setState({ active: false, errorMsg: [\"Company setup successfully!\"], onPosting:false });\r\n });\r\n }\r\n\r\n private onCancel() {\r\n CompanyWizardAction.cancelFirmInstruction(this.state.data.Id, () => {\r\n this.onExit();\r\n });\r\n }\r\n\r\n private onExit() {\r\n Navigator.navigateTo(Urls.get().main.Admin);\r\n }\r\n\r\n private onDataChange(changes) {\r\n const { data } = this.state;\r\n for (const key in changes) {\r\n data[key] = changes[key];\r\n }\r\n this.setState({ data });\r\n }\r\n\r\n render() {\r\n if (!this.state.data) {return ;}\r\n\r\n let stepsConfig: IStepConfig[] = [\r\n {\r\n title: stepperName.stepOne,\r\n url: Urls.get().FirmDetail,\r\n path: Contents.URLMap.firmdetail,\r\n onStepLeave: () => this.OnLeaveStepOne(),\r\n component: (\r\n this.onDataChange(changes)}\r\n data={this.state.data}\r\n onRef={(ref) => (this.child.firmdetail = ref)}\r\n />\r\n ),\r\n },\r\n {\r\n title: stepperName.stepTwo,\r\n url: Urls.get().RemunerationAndValuation,\r\n path: Contents.URLMap.remunerationAndValuation,\r\n onStepLeave: () => this.OnLeaveStepTwo(),\r\n component: (\r\n this.onDataChange(changes)}\r\n data={this.state.data}\r\n onRef={(ref) => (this.child.commission = ref)}\r\n bankOwnerType={BankAccountOwner.Company}\r\n isNetWork={false}\r\n />\r\n ),\r\n },\r\n ];\r\n if (this.state.hasCompanyPermission) {\r\n stepsConfig = stepsConfig.concat([\r\n {\r\n title: stepperName.stepThree,\r\n url: Urls.get().ValidationAndExcution,\r\n path: Contents.URLMap.validationAndExcute,\r\n onSubmit: () => {\r\n this.onSubmit();\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n ]);\r\n }\r\n\r\n if (this.state.data.FirmType == FirmType.Bond || this.state.data.FirmType == FirmType.Pension) {\r\n stepsConfig[1] = {\r\n title: stepperName.stepThirdParty,\r\n url: Urls.get().Alert,\r\n path: Contents.URLMap.alert,\r\n onStepLeave: () => this.OnLeaveStepTwo(),\r\n component: (\r\n this.onDataChange(changes)}\r\n data={this.state.data}\r\n onRef={(ref) => (this.child.alert = ref)}\r\n />\r\n ),\r\n };\r\n }\r\n return (\r\n <>\r\n this.onCancel() : null}\r\n onSave={(currentStep) => {\r\n if (currentStep == 0) {\r\n this.OnLeaveStepOne(true);\r\n } else if (currentStep == 1) {\r\n this.OnLeaveStepTwo(true);\r\n } else {\r\n this.onExit();\r\n }\r\n }}\r\n isShowError={false}\r\n errorMsg={[]}\r\n processTitle=\"Company setup wizard\"\r\n goBacktoFirst={false}\r\n active={this.state.active}\r\n onPosting={this.state.onPosting}\r\n />\r\n {this.state.errorMsg.length > 0 && (\r\n 0}\r\n title={\"Alert\"}\r\n contentAfterTitle={null}\r\n onClose={() => this.setState({ errorMsg: [] })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n {this.state.errorMsg.map((error, index) => {\r\n return

{error}

;\r\n })}\r\n \r\n \r\n )}\r\n {this.state.alertMsg.length > 0 && this.state.errorMsg.length <= 0 && (\r\n 0}\r\n title={\"Alert\"}\r\n contentAfterTitle={null}\r\n onClose={() => this.setState({ alertMsg: [] })}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n {this.state.alertMsg.map((alertMsg, index) => {\r\n return

{alertMsg}

;\r\n })}\r\n \r\n \r\n )} \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { CountryPhone } from \"./CountryPhone\";\r\nimport { BranchDetail } from \"./BranchDetail\";\r\nimport { Branch } from \"../../../../../../../Wrap/Models/Models/Company/Branch\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { BankAddress } from \"./BankAddress\";\r\nimport { ContactOwnerType } from \"../../../../../../../Wrap/Models/Models/Instructions/ContactOwnerType\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\n\r\ninterface IAddBranchProps extends React.Props {\r\n isReview?: boolean;\r\n data: Branch;\r\n onChange: (changes) => void;\r\n onClickSave: VoidFunction;\r\n onClickCancel: VoidFunction;\r\n currentFirm: FirmInstruction;\r\n}\r\n\r\nexport class AddBranch extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n child: Array = [];\r\n\r\n isValid(): boolean {\r\n let flag = true;\r\n this.child.reverse().forEach((element) => {\r\n const isValid = element.isValid();\r\n if (!isValid) {flag = false;}\r\n });\r\n return flag;\r\n }\r\n\r\n private onSave() {\r\n const flag = this.isValid();\r\n if (flag) {this.props.onClickSave();}\r\n }\r\n\r\n private onUseFirmAddressChange(use: boolean): void {\r\n this.props.onChange({ UseFirmAddress: use });\r\n const firm = this.props.currentFirm?.CompanyAddress?.Address;\r\n if (use) {\r\n this.props.onChange({\r\n BranchAddress: {\r\n Address: {\r\n InstructionId: this.props.data.BranchId,\r\n Line1: firm.Line1,\r\n Line2: firm.Line2,\r\n Line3: firm.Line3,\r\n Line4: firm.Line4,\r\n Line5: firm.Line5,\r\n PostCode: firm.PostCode,\r\n OwnerType: ContactOwnerType.Branch,\r\n CountryCode: firm.CountryCode,\r\n },\r\n },\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n this.props.onChange(changes)}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n
\r\n this.props.onChange({ PhoneNumber: v })}\r\n sectionHeader=\"Phone number\"\r\n data={data.PhoneNumber}\r\n onRef={(ref) => this.child.push(ref)}\r\n required={true}\r\n />\r\n
\r\n this.props.onChange({ FaxNumber: v })}\r\n sectionHeader=\"Fax number\"\r\n data={data.FaxNumber}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n
\r\n {\r\n this.onUseFirmAddressChange(v);\r\n },\r\n },\r\n ]}\r\n />\r\n {!data.UseFirmAddress && (\r\n this.child.push(ref)}\r\n address={data.BranchAddress}\r\n onChange={(v) => this.props.onChange({ BranchAddress: v })}\r\n />\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PostCodeAnywhereSearchEditor } from \"../../../../../../../react-core/Html/Address/PostCodeAnywhereSearchEditor\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Address } from \"../../../../../../../Wrap/Models/Domains/Address/Address\";\r\nimport { UkPostCode } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface IBankAddressProps extends React.Props {\r\n address: Address;\r\n onChange: (v: Address) => void;\r\n onRef: (v) => void;\r\n isReview?: boolean;\r\n notRequired?: boolean;\r\n}\r\n\r\ninterface IBankAddressState {}\r\n\r\nexport class BankAddress extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n private onAddressChange(changes) {\r\n let { address } = this.props;\r\n if (!address) {\r\n address = this.emptyAddress();\r\n }\r\n for (const key in changes) {\r\n address[key] = changes[key];\r\n }\r\n this.props.onChange(JSON.parse(JSON.stringify(address)));\r\n }\r\n\r\n render() {\r\n const { isReview } = this.props;\r\n const { address } = this.props;\r\n const required = !this.props.notRequired;\r\n return (\r\n <>\r\n {}}\r\n onAddressSelected={(v) => {\r\n this.props.onChange({\r\n Line1: v.Line1,\r\n Line2: v.Line2,\r\n Line3: v.Line3,\r\n Line4: v.Line4,\r\n Postcode: v.Postcode,\r\n });\r\n }}\r\n countryCode={CountryCode.GBR}\r\n label={`Post code:${required ? \"*\" : \"\"}`}\r\n disabled={isReview}\r\n />\r\n
\r\n this.onAddressChange({ Line1: v })}\r\n />\r\n this.onAddressChange({ Line2: v })}\r\n />\r\n this.onAddressChange({ Line3: v })}\r\n />\r\n this.onAddressChange({ Line4: v })}\r\n />\r\n this.onAddressChange({ Postcode: v })}\r\n />\r\n \r\n );\r\n }\r\n private emptyAddress(): Address {\r\n return { Line1: null, Line2: null, Line3: null, Line4: null, Postcode: null };\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { BankAddress } from \"./BankAddress\";\r\nimport { BankDetails } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankDetails\";\r\nimport { Address } from \"../../../../../../../Wrap/Models/Domains/Address/Address\";\r\nimport {\r\n Numeric6,\r\n Numeric8,\r\n AlphanumericWithSpace,\r\n AlphanumericWithSpecialCharacters,\r\n Numeric,\r\n AlphanumericWithApostrophe,\r\n} from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { IChildComponentProps } from \"../../../../../../../react-core/Html/ChildComponent\";\r\nimport { ValidatorContents } from \"../../../../../../Dashboard/Common/ValidatorHelper\";\r\n\r\ninterface IBankThirdPartyProps extends IChildComponentProps {\r\n isReview?: boolean;\r\n label: string;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IBankThirdPartyState {}\r\n\r\nexport class BankThirdParty extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n child: any;\r\n\r\n isValid() {\r\n const flag = this.child.isValid();\r\n const self = super.isValid();\r\n return this.props.isReview || (flag && self);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n private onChange(changes: BankAccount) {\r\n const { data } = this.props;\r\n for (const key in changes) {\r\n data[key] = changes[key];\r\n }\r\n this.props.onChange(data);\r\n }\r\n\r\n render() {\r\n const { data, isReview, label } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n

{label}

\r\n this.onChange({ AccountReference: v })}\r\n />\r\n\r\n this.onChange({ AccountName: v })}\r\n />\r\n this.onBankDetalsNameChange(v)}\r\n />\r\n this.onChange({ SortCode: v })}\r\n />\r\n this.onChange({ AccountNumber: v })}\r\n />\r\n this.onBankDetalsAddressChange(v)}\r\n isReview={isReview}\r\n address={data.BankDetails.Address}\r\n onRef={(ref) => (this.child = ref)}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n\r\n private onBankDetalsNameChange(name: string): void {\r\n const { data } = this.props;\r\n if (name) {\r\n if (!data.BankDetails) {\r\n data.BankDetails = this.emptyBankDetail();\r\n }\r\n data.BankDetails.Name = name;\r\n }\r\n\r\n this.props.onChange(JSON.parse(JSON.stringify(data)));\r\n }\r\n\r\n private onBankDetalsAddressChange(address: Address): void {\r\n const { data } = this.props;\r\n if (address) {\r\n if (!data.BankDetails) {\r\n data.BankDetails = this.emptyBankDetail();\r\n }\r\n data.BankDetails.Address = address;\r\n }\r\n\r\n this.props.onChange(JSON.parse(JSON.stringify(data)));\r\n }\r\n\r\n private emptyBankDetail(): BankDetails {\r\n return { Name: null, Address: null };\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { Branch } from \"../../../../../../../Wrap/Models/Models/Company/Branch\";\r\nimport { ValidatorContents } from \"../../../../../../Dashboard/Common/ValidatorHelper\";\r\nimport { Email } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface IBranchDetailProps extends React.Props {\r\n isReview?: boolean;\r\n data: Branch;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IBranchDetailState {}\r\n\r\nexport class BranchDetail extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n render() {\r\n const { data, isReview } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Branch\")}\r\n this.props.onChange({ BranchName: v })}\r\n />\r\n this.props.onChange({ Email: { Value: v } })}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { emptyInstructionPhone } from \"./CountryPhone\";\r\nimport { AddBranch } from \"./AddBranch\";\r\nimport { Branch } from \"../../../../../../../Wrap/Models/Models/Company/Branch\";\r\n\r\ninterface IBranchesProps extends React.Props {\r\n isReview?: boolean;\r\n data: FirmInstruction;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IBranchesState {\r\n isEdit: number;\r\n currentBranch: Branch;\r\n}\r\n\r\nexport class Branches extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isEdit: null,\r\n currentBranch: null,\r\n };\r\n }\r\n\r\n private emptyBranch(): Branch {\r\n return {\r\n BranchName: null,\r\n Email: { Value: null },\r\n ContainsSensitiveAccounts: false,\r\n PhoneNumber: emptyInstructionPhone,\r\n FaxNumber: emptyInstructionPhone,\r\n UseFirmAddress: false,\r\n BranchAddress: {\r\n Postcode: null,\r\n Line1: null,\r\n Line2: null,\r\n Line3: null,\r\n Line4: null,\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n private onBranchChange(changes) {\r\n const { currentBranch } = this.state;\r\n\r\n for (const key in changes) {\r\n currentBranch[key] = changes[key];\r\n }\r\n\r\n this.setState({ currentBranch });\r\n }\r\n\r\n private onAddBranch() {\r\n const { Branches } = this.props.data;\r\n const { currentBranch, isEdit } = this.state;\r\n let _branches = Branches.concat([]);\r\n if (isEdit == 0 || isEdit) {\r\n _branches[isEdit] = currentBranch;\r\n } else {\r\n _branches = _branches.concat(currentBranch);\r\n }\r\n\r\n this.setState({ isEdit: null, currentBranch: null });\r\n this.props.onChange({ Branches: _branches });\r\n }\r\n\r\n private onDeleteBranch(index) {\r\n const { Branches } = this.props.data;\r\n Branches.splice(index, 1);\r\n if (this.state.isEdit == index) {\r\n this.setState({ isEdit: null, currentBranch: null });\r\n }\r\n this.props.onChange({ Branches });\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { isEdit, currentBranch } = this.state;\r\n return (\r\n <>\r\n {SectionHeader(\"Branches\")}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.Branches.map((branch, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
Branch name\r\n this.setState({ isEdit: null, currentBranch: this.emptyBranch() })}\r\n >\r\n Add branch\r\n \r\n
{branch.BranchName}\r\n \r\n this.setState({\r\n isEdit: index,\r\n currentBranch: JSON.parse(JSON.stringify(branch)),\r\n })\r\n }\r\n >\r\n {this.props.isReview ? \"View\" : \"Edit\"}\r\n \r\n this.onDeleteBranch(index)}\r\n >\r\n Delete\r\n \r\n
\r\n {currentBranch && (\r\n this.onAddBranch()}\r\n onClickCancel={() => this.setState({ isEdit: null, currentBranch: null })}\r\n data={currentBranch}\r\n onChange={(changes) => this.onBranchChange(changes)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport {\r\n SectionHeader,\r\n TrueFalseRadio,\r\n} from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { FsaTypArrays, FsaTypeMap, FirmTypeMap, FcaTradingStatusMap } from \"../../../Resource/Content\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { EmailAddress } from \"../../../../../../../Wrap/Models/Domains/Personal/EmailAddress\";\r\nimport { NetworkType } from \"../../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { FirmType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { ValidatorContents } from \"../../../../../../Dashboard/Common/ValidatorHelper\";\r\nimport { AllowFourSpecial, Email, Numeric} from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { DistributionArray, DistributionMap } from \"../../../../../Network/Resource/Content\";\r\nimport { CompanyWizardAction } from \"../../../Actions/CompanyWizardAction\";\r\nimport { NetworkHistoryPaginatedModel } from \"../../../../../../../Wrap/Models/Models/Network/NetworkHistoryPaginatedModel\";\r\nimport { NetworkHistoryModel } from \"../../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\n\r\ninterface IContactDetailProps {\r\n isReview?: boolean;\r\n data: FirmInstruction;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n onNetworkSelectionChange: (network: NetworkHistoryModel) => void;\r\n currentNetwork: NetworkHistoryModel;\r\n canEditNetwork: boolean;\r\n}\r\n\r\ninterface IContactDetailState {\r\n Network: NetworkHistoryPaginatedModel;\r\n currentPage: number;\r\n pendingNetworkSelection: boolean;\r\n NetworkName: string;\r\n FsaAuthorisationNumber: string;\r\n PostCode: string;\r\n confirmEmail: EmailAddress;\r\n}\r\n\r\nexport class ContactDetail extends FormComponent {\r\n constructor(props: IContactDetailProps) {\r\n super(props);\r\n this.state = {\r\n Network: null,\r\n currentPage: 0,\r\n NetworkName: null,\r\n FsaAuthorisationNumber: null,\r\n PostCode: null,\r\n confirmEmail: props.data.EmailAddress,\r\n pendingNetworkSelection: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n this.props.onChange({ WhiteLabel: false });\r\n }\r\n\r\n private getNetworkList(pageIndex, pageSize) {\r\n const promise = CompanyWizardAction.getNetwork({\r\n NetworkName: this.state.NetworkName,\r\n TradingReference: this.state.FsaAuthorisationNumber,\r\n PostCode: this.state.PostCode,\r\n Max: pageSize * pageIndex,\r\n Min: pageSize * (pageIndex - 1) + 1,\r\n NetworkType: NetworkType.Network,\r\n });\r\n\r\n promise.onSuccess((data) => {\r\n this.setState({ pendingNetworkSelection: true, Network: data });\r\n });\r\n }\r\n\r\n private renderAdviserType() {\r\n const { data, isReview } = this.props;\r\n const { currentNetwork } = this.props;\r\n const address = currentNetwork?.Address;\r\n return (\r\n <>\r\n {this.props.canEditNetwork && (\r\n <>\r\n this.setState({ NetworkName: v })}\r\n />\r\n this.setState({ FsaAuthorisationNumber: v })}\r\n />\r\n this.setState({ PostCode: v })}\r\n />\r\n {\r\n this.getNetworkList(1, 10);\r\n }}\r\n >\r\n Search\r\n \r\n
\r\n
\r\n \r\n )}\r\n\r\n {currentNetwork && (\r\n <>\r\n {SectionHeader(\"Network detail\")}\r\n \r\n \r\n )}\r\n\r\n {currentNetwork && this.props.canEditNetwork && (\r\n \r\n )}\r\n\r\n {this.state.pendingNetworkSelection && (\r\n {\r\n return ;\r\n },\r\n onClick: (data, row) => {\r\n this.onNetworkSelectionChange(row);\r\n this.setState({ pendingNetworkSelection: false });\r\n },\r\n },\r\n ]}\r\n showEmptyMsg={true}\r\n data={this.state.Network.networks}\r\n needPagination={{\r\n totalNumOfResult: this.state.Network.TotalRows,\r\n currentPage: this.state.currentPage,\r\n onPaginationChange: (pageIndex, pageSize) => this.getNetworkList(pageIndex, pageSize),\r\n }}\r\n />\r\n )}\r\n {\r\n return FsaTypeMap[v];\r\n }}\r\n disabled={isReview}\r\n placeholder=\"Please select\"\r\n required=\"Please select regulated firm type\"\r\n label=\"Regulated firm type:\"\r\n selected={data.FsaType}\r\n onChange={(v) => this.props.onChange({ FsaType: v })}\r\n />\r\n this.props.onChange({ EmailAddress: { Value: v } })}\r\n />\r\n this.setState({ confirmEmail: { Value: v } })}\r\n validationRules={[\r\n {\r\n errorMessage: \"Must be same as email address\",\r\n validator: (v) => {\r\n if (v) {\r\n return v == data.EmailAddress.Value ? true : false;\r\n }\r\n return true;\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n return DistributionMap[v];\r\n }}\r\n required=\"Please select distribution channel\"\r\n placeholder=\"Please select\"\r\n label=\"Distribution channel:\"\r\n selected={data.DistributionChannel == 0 ? null : data.DistributionChannel}\r\n onChange={(v) => this.props.onChange({ DistributionChannel: v ? v : 0 })}\r\n />\r\n {TrueFalseRadio(\r\n \"White label: \",\r\n \"WhiteLabel\",\r\n data,\r\n (key, v) => {\r\n this.props.onChange({ [key]: v });\r\n },\r\n true,\r\n { disabled: true }\r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderThirdParty() {\r\n const { data, isReview } = this.props;\r\n return (\r\n <>\r\n this.props.onChange({ ShortName: v })}\r\n />\r\n this.props.onChange({ Prefix: v })}\r\n />\r\n this.props.onChange({ EmailAddress: { Value: v } })}\r\n />\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { data, isReview } = this.props;\r\n const createType =\r\n data.FirmType == FirmType.AppointedRepresentative || data.FirmType == FirmType.DirectlyAuthorised\r\n ? \"adviser\"\r\n : \"thirdParty\";\r\n return (\r\n <>\r\n {SectionHeader(\"Contact details\")}\r\n this.props.onChange({ FirmName: v })}\r\n />\r\n

Firm type:

\r\n

\r\n {createType == \"thirdParty\"\r\n ? \"Third party firm - \" + FirmTypeMap[data.FirmType]\r\n : FirmTypeMap[data.FirmType]}\r\n

\r\n

Firm ID

\r\n

{data.CompanyCode}

\r\n {createType == \"adviser\" && this.renderAdviserType()}\r\n {createType == \"thirdParty\" && this.renderThirdParty()}\r\n \r\n );\r\n }\r\n\r\n private joinNotNull(str: string[], seperator: string): string {\r\n str = str.filter((x) => x != null);\r\n return str.join(seperator);\r\n }\r\n\r\n private onNetworkSelectionChange(network: NetworkHistoryModel) {\r\n this.setState({ pendingNetworkSelection: false });\r\n this.props.onNetworkSelectionChange(network);\r\n this.props.onChange({ Network: network?.Network });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\nimport { Name } from \"../../../../../../../Wrap/Models/Domains/Personal/Name\";\r\n\r\ninterface ICorrespondenceAddressOwnerProps extends React.Props {\r\n disabled: boolean;\r\n name: Name;\r\n onChange: (v: Name) => void;\r\n onRef: (v) => void;\r\n}\r\ninterface ICorrespondenceAddressOwnerState {}\r\n\r\nexport class CorrespondenceAddressOwner extends FormComponent<\r\n ICorrespondenceAddressOwnerProps,\r\n ICorrespondenceAddressOwnerState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { name } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Correspondence Address\")}\r\n TitleMap.getString(v)}\r\n placeholder={\"Please select\"}\r\n onChange={(v) => this.onChange({ Title: TitleMap.getString(v) })}\r\n />\r\n this.onChange({ Given: v })}\r\n />\r\n this.onChange({ Family: v })}\r\n />\r\n \r\n );\r\n }\r\n\r\n private onChange(changes: Name) {\r\n let { name } = this.props;\r\n if (!name) {\r\n name = { Title: TitleMap.getString(Title.Mr), Family: null, Given: null };\r\n }\r\n for (const key in changes) {\r\n name[key] = changes[key];\r\n }\r\n this.props.onChange(JSON.parse(JSON.stringify(name)));\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { InstructionPhoneNumber } from \"../../../../../../../Wrap/Models/Models/Instructions/InstructionPhoneNumber\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { Email, Numeric, Phone } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { ValidatorContents } from \"../../../../../../Dashboard/Common/ValidatorHelper\";\r\nimport { Validate } from \"../Validation/Validate\";\r\n\r\ninterface ICountryPhoneProps extends React.Props {\r\n isReview?: boolean;\r\n isFax?: boolean;\r\n data: InstructionPhoneNumber;\r\n sectionHeader: string;\r\n required?: boolean;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface ICountryPhoneState {}\r\n\r\nexport const emptyInstructionPhone: InstructionPhoneNumber = {\r\n Country: null,\r\n AreaCode: null,\r\n Number: null,\r\n};\r\n\r\nexport class CountryPhone extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n private onChange(changes) {\r\n const { data } = this.props;\r\n let _data: InstructionPhoneNumber;\r\n if (!data) {\r\n _data = { Country: null, AreaCode: null, Number: null };\r\n } else {\r\n _data = JSON.parse(JSON.stringify(data));\r\n }\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n this.props.onChange(_data);\r\n }\r\n\r\n render() {\r\n const { data, sectionHeader, isReview, required, isFax } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\r\n sectionHeader,\r\n \"When any field in this section is entered, all three fields(Country, Area Code, Number) need to be entered\"\r\n )}\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n disabled={isReview}\r\n placeholder=\"Please select\"\r\n required={required ? \"Please select a Country\" : null}\r\n label=\"Country\"\r\n selected={data?.Country}\r\n onChange={(v) => this.onChange({ Country: v })}\r\n />\r\n this.onChange({ AreaCode: v })}\r\n alwaysValidateOnUpdate={true}\r\n />\r\n this.onChange({ Number: v })}\r\n alwaysValidateOnUpdate={true}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Numeric } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { LeiCode } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { FsaAuthorisationStatusArray, FsaAuthorisationStatusMap } from \"../../../../../Network/Resource/Content\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { FsaAuthorisationStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/FsaAuthorisationStatus\";\r\nimport { FirmType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { CompanyWizardAction } from \"../../../Actions/CompanyWizardAction\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { groupBy } from \"lodash\";\r\nimport { FsaPermission } from \"../../../../../../../Wrap/Models/Models/Company/FsaPermission\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { Button } from \"../../../../../../../react-core/Html/Button\";\r\nimport { FsaSourcedCompanyDetailModel } from \"../../../../../../../Wrap/Models/Models/Company/FsaSourcedCompanyDetailModel\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { FsaType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FsaType\";\r\n\r\ninterface IFCAProps extends React.Props {\r\n isReview?: boolean;\r\n data: FirmInstruction;\r\n taggedNetwork: boolean;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IFCAState {\r\n FcaInfoText: string;\r\n FsaPermissions: any;\r\n UsingFsaDetailFromFile: boolean;\r\n SourcedCompanyDetail: FsaSourcedCompanyDetailModel;\r\n IsFindCompanyBusy: boolean;\r\n NoMatchFound: boolean;\r\n}\r\n\r\nexport class FCA extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n FcaInfoText: null,\r\n FsaPermissions: null,\r\n UsingFsaDetailFromFile: false,\r\n SourcedCompanyDetail: null,\r\n IsFindCompanyBusy: false,\r\n NoMatchFound: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n if (this.props.data.FsaAuthorisationStatus == 0) {\r\n this.props.onChange({ FsaAuthorisationStatus: FsaAuthorisationStatus.Authorised });\r\n }\r\n\r\n this.GetSourcedCompanyDetailsFromFile(false);\r\n\r\n CompanyWizardAction.check(this.props.data.FsaAuthorisationNumber, (data) => {\r\n if (data.IsExisted) {\r\n this.setState({ FcaInfoText: \"FSA Authorization Number already existed\" });\r\n } else {\r\n this.setState({ FcaInfoText: null });\r\n }\r\n });\r\n\r\n const { data } = this.props;\r\n this.SetPermissionTODisplay(data.FsaPermissions);\r\n }\r\n\r\n SetPermissionTODisplay(permission: Array) {\r\n const activities = groupBy(permission, \"FsaRegulatedActivity.FsaRegulatedActivityId\");\r\n\r\n Object.keys(activities).map((activity) => {\r\n const header: FsaPermission = {\r\n FsaInvestmentType: {\r\n FsaInvestmentTypeId: 0,\r\n ExternalId: 0,\r\n Name: activities[activity][0].FsaRegulatedActivity.Name,\r\n },\r\n FsaRegulatedActivity: activities[activity][0].FsaRegulatedActivity,\r\n IsPermit: activities[activity].some((x) => x.IsPermit || x.IsInclude),\r\n IsInclude: false,\r\n };\r\n activities[activity] = [header].concat(activities[activity]);\r\n });\r\n\r\n this.setState({ FsaPermissions: activities });\r\n }\r\n\r\n GetSourcedCompanyDetailsFromFile(shouldChangeDataInInstruction: boolean) {\r\n if (shouldChangeDataInInstruction) {\r\n this.setState({ IsFindCompanyBusy: true });\r\n }\r\n\r\n CompanyWizardAction.getFsaSourcedCompanyDetail(\r\n this.props.data?.FsaAuthorisationNumber,\r\n (data: FsaSourcedCompanyDetailModel) => {\r\n if (\r\n data != null &&\r\n !CommonHelper.isNullOrEmpty(data?.RegisteredCompanyName) &&\r\n data?.Status != FsaAuthorisationStatus.NotSpecified &&\r\n this.props.data.FsaType !== FsaType.Offshoreregistered\r\n ) {\r\n if (shouldChangeDataInInstruction) {\r\n if (\r\n this.props.data.FsaType == FsaType.Fcaregistered &&\r\n data.Status == FsaAuthorisationStatus.Authorised\r\n ) {\r\n data.SourcedCompanyPermission.map((x) =>\r\n x.IsPermit !== x.IsInclude ? (x.IsInclude = x.IsPermit) : x.IsInclude\r\n );\r\n }\r\n this.props.onChange({\r\n FsaPermissions: data.SourcedCompanyPermission,\r\n });\r\n this.SetPermissionTODisplay(data.SourcedCompanyPermission);\r\n }\r\n this.props.onChange({\r\n FsaAuthorisationStatus: data.Status,\r\n });\r\n this.setState({\r\n UsingFsaDetailFromFile: true,\r\n SourcedCompanyDetail: data,\r\n NoMatchFound: false,\r\n IsFindCompanyBusy: false,\r\n });\r\n } else if (this.props.data.FsaType == FsaType.Offshoreregistered) {\r\n this.props.onChange({\r\n FsaAuthorisationStatus: FsaAuthorisationStatus.Authorised,\r\n });\r\n this.setState({\r\n UsingFsaDetailFromFile: false,\r\n SourcedCompanyDetail: null,\r\n IsFindCompanyBusy: false,\r\n });\r\n } else {\r\n if (shouldChangeDataInInstruction) {\r\n this.setState({\r\n NoMatchFound: true,\r\n });\r\n this.props.onChange({\r\n FsaAuthorisationStatus: FsaAuthorisationStatus.Pendingauthorisation,\r\n });\r\n }\r\n this.setState({\r\n UsingFsaDetailFromFile: false,\r\n SourcedCompanyDetail: null,\r\n IsFindCompanyBusy: false,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n render() {\r\n const { data, isReview, taggedNetwork } = this.props;\r\n const { FsaPermissions } = this.state;\r\n return (\r\n <>\r\n {SectionHeader(\"FCA authorization\")}\r\n {\r\n this.props.onChange({ FsaAuthorisationNumber: v });\r\n if (this.props.data.FirmType == FirmType.AppointedRepresentative) {\r\n CompanyWizardAction.check(v, (data) => {\r\n if (data.IsExisted) {\r\n this.setState({ FcaInfoText: \"FCA Authorization Number already existed\" });\r\n } else {\r\n this.setState({ FcaInfoText: null });\r\n }\r\n });\r\n }\r\n }}\r\n isDebounce\r\n />\r\n {this.state.FcaInfoText && }\r\n {taggedNetwork && (\r\n this.props.onChange({ FcaStatusInherited: v }),\r\n disabled: isReview,\r\n },\r\n ]}\r\n />\r\n )}\r\n {!(data.FcaStatusInherited && taggedNetwork) && (\r\n {\r\n this.GetSourcedCompanyDetailsFromFile(true);\r\n }}\r\n >\r\n Find company\r\n \r\n )}\r\n\r\n {this.state.UsingFsaDetailFromFile &&\r\n !CommonHelper.isNullOrEmpty(this.state.SourcedCompanyDetail?.RegisteredCompanyName) && (\r\n <>\r\n
\r\n \r\n Registered Firm Name: {this.state.SourcedCompanyDetail?.RegisteredCompanyName}\r\n \r\n
\r\n
\r\n \r\n Last Update Date:\r\n {this.state.SourcedCompanyDetail?.LastUpdated != null\r\n ? JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(this.state.SourcedCompanyDetail?.LastUpdated),\r\n \"dd-MM-yyyy hh:mm:ss\",\r\n true,\r\n true\r\n )\r\n : \"\"}\r\n \r\n
\r\n
\r\n \r\n Last Status Change Date:\r\n {this.state.SourcedCompanyDetail?.StatusLastChanged != null\r\n ? JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(this.state.SourcedCompanyDetail?.StatusLastChanged),\r\n \"dd-MM-yyyy hh:mm:ss\",\r\n true,\r\n true\r\n )\r\n : \"\"}\r\n \r\n
\r\n \r\n )}\r\n {this.state.NoMatchFound && (\r\n \r\n )}\r\n {!data.FcaStatusInherited && (\r\n {\r\n return FsaAuthorisationStatusMap[v];\r\n }}\r\n required={\r\n this.props.data.FsaType !== FsaType.Offshoreregistered\r\n ? \"Please select FCA/Trading status\"\r\n : null\r\n }\r\n label=\"FCA/Trading status:\"\r\n selected={data.FsaAuthorisationStatus == 0 ? null : data.FsaAuthorisationStatus}\r\n onChange={(v) =>\r\n this.props.onChange({ FsaAuthorisationStatus: v ? v : FsaAuthorisationStatus.Authorised })\r\n }\r\n />\r\n )}\r\n\r\n {data.FsaAuthorisationStatus !== FsaAuthorisationStatus.NotSpecified && (\r\n <>\r\n {FsaPermissions &&\r\n Object.keys(FsaPermissions).map((activity) => {\r\n return (\r\n {\r\n return data;\r\n },\r\n },\r\n {\r\n title: \"FSA Permission\",\r\n key: \"IsPermit\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n FsaPermissions[activity][index].IsPermit = v;\r\n if (index != 0) {\r\n this.props.data.FsaPermissions.find(\r\n (x) =>\r\n x.FsaInvestmentType.FsaInvestmentTypeId ==\r\n row.FsaInvestmentType\r\n .FsaInvestmentTypeId &&\r\n x.FsaRegulatedActivity\r\n .FsaRegulatedActivityId ==\r\n row.FsaRegulatedActivity\r\n .FsaRegulatedActivityId\r\n ).IsPermit = v;\r\n this.props.onChange({\r\n FsaPermissions: this.props.data.FsaPermissions,\r\n });\r\n }\r\n this.setState({ FsaPermissions: FsaPermissions });\r\n }}\r\n disabled={\r\n (index != 0 && !FsaPermissions[activity][0].IsPermit) ||\r\n (this.state.UsingFsaDetailFromFile &&\r\n this.props.data.FsaType !== FsaType.Eearegistered &&\r\n this.props.data.FsaAuthorisationStatus !==\r\n FsaAuthorisationStatus.Eeaauthorised) ||\r\n this.props.data.FsaAuthorisationStatus ==\r\n FsaAuthorisationStatus.Deauthorised\r\n }\r\n />\r\n );\r\n },\r\n },\r\n {\r\n title: \"StandardLife Access\",\r\n key: \"IsInclude\",\r\n render: (data, row, index) => {\r\n return (\r\n index != 0 && (\r\n {\r\n FsaPermissions[activity][index].IsInclude = v;\r\n if (index != 0) {\r\n if (\r\n this.props.data.FsaPermissions.find(\r\n (x) =>\r\n x.FsaInvestmentType\r\n .FsaInvestmentTypeId ==\r\n row.FsaInvestmentType\r\n .FsaInvestmentTypeId &&\r\n x.FsaRegulatedActivity\r\n .FsaRegulatedActivityId ==\r\n row.FsaRegulatedActivity\r\n .FsaRegulatedActivityId\r\n ) == null\r\n ) {\r\n this.props.data.FsaPermissions = this.props.data.FsaPermissions.concat(\r\n FsaPermissions[activity][index]\r\n );\r\n } else {\r\n this.props.data.FsaPermissions.find(\r\n (x) =>\r\n x.FsaInvestmentType\r\n .FsaInvestmentTypeId ==\r\n row.FsaInvestmentType\r\n .FsaInvestmentTypeId &&\r\n x.FsaRegulatedActivity\r\n .FsaRegulatedActivityId ==\r\n row.FsaRegulatedActivity\r\n .FsaRegulatedActivityId\r\n ).IsInclude = v;\r\n }\r\n this.props.onChange({\r\n FsaPermissions: this.props.data\r\n .FsaPermissions,\r\n });\r\n }\r\n this.setState({\r\n FsaPermissions: FsaPermissions,\r\n });\r\n }}\r\n disabled={\r\n !FsaPermissions[activity][0].IsPermit ||\r\n !FsaPermissions[activity][index].IsPermit\r\n }\r\n />\r\n )\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n );\r\n })}\r\n \r\n )}\r\n\r\n this.props.onChange({ LeiCode: v })}\r\n />\r\n this.props.onChange({ ExternalReferenceCode: v })}\r\n label=\"External Reference Code:\"\r\n value={data.ExternalReferenceCode}\r\n maxLength={20}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PostCodeAnywhereSearchEditor } from \"../../../../../../../react-core/Html/Address/PostCodeAnywhereSearchEditor\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { InstructionAddress } from \"../../../../../../../Wrap/Models/Models/Instructions/InstructionAddress\";\r\nimport { ContactOwnerType } from \"../../../../../../../Wrap/Models/Models/Instructions/ContactOwnerType\";\r\nimport { Address } from \"../../../../../../../Wrap/Models/Domains/Address/Address\";\r\nimport { IChildComponentProps } from \"../../../../../../../react-core/Html/ChildComponent\";\r\nimport { UkPostCode } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface IFirmAddressProps extends IChildComponentProps {\r\n instructionId: number;\r\n onRef: (v) => void;\r\n isReview?: boolean;\r\n notRequired?: boolean;\r\n OwnerType: ContactOwnerType;\r\n}\r\n\r\ninterface IFirmAddressState {}\r\n\r\nexport class FirmAddress extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n private onAddressChange(changes) {\r\n let { data: address } = this.props;\r\n if (!address) {\r\n address = this.emptyAddress();\r\n }\r\n address.InstructionId = this.props.instructionId;\r\n for (const key in changes) {\r\n address[key] = changes[key];\r\n }\r\n this.props.onChange(address);\r\n }\r\n\r\n private onPostCodeSearchChange(v: Address) {\r\n const address: InstructionAddress = {\r\n InstructionId: this.props.instructionId,\r\n Line1: v.Line1,\r\n Line2: v.Line2,\r\n Line3: v.Line3,\r\n Line4: v.Line4,\r\n PostCode: v.Postcode,\r\n OwnerType: this.props.OwnerType,\r\n };\r\n this.props.onChange(address);\r\n }\r\n\r\n private emptyAddress() {\r\n return {\r\n InstructionId: this.props.instructionId,\r\n Line1: null,\r\n Line2: null,\r\n Line3: null,\r\n Line4: null,\r\n PostCode: null,\r\n OwnerType: this.props.OwnerType,\r\n };\r\n }\r\n\r\n render() {\r\n const { isReview } = this.props;\r\n const { data: address } = this.props;\r\n const required = !this.props.notRequired;\r\n return (\r\n <>\r\n {}}\r\n useLabelForAddress\r\n onAddressSelected={(v) => this.onPostCodeSearchChange(v)}\r\n countryCode={CountryCode.GBR}\r\n label=\"Post code\"\r\n disabled={isReview}\r\n />\r\n
\r\n this.onAddressChange({ Line1: v })}\r\n />\r\n this.onAddressChange({ Line2: v })}\r\n />\r\n this.onAddressChange({ Line3: v })}\r\n />\r\n this.onAddressChange({ Line4: v })}\r\n />\r\n this.onAddressChange({ PostCode: v })}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { CorrespondenceAddress } from \"../../../../../../../Wrap/Models/Models/Instructions/CorrespondenceAddress\";\r\nimport { CorrespondenceAddressOwner } from \"./CorrespondenceAddressOwner\";\r\nimport { FirmAddress } from \"./FirmAddress\";\r\nimport { ContactOwnerType } from \"../../../../../../../Wrap/Models/Models/Instructions/ContactOwnerType\";\r\n\r\ninterface IFirmCorrerspondenceAddressProps extends React.Props {\r\n isReview: boolean;\r\n instructionId: number;\r\n correspondenceAddress: CorrespondenceAddress;\r\n onChange: (v: CorrespondenceAddress) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IFirmCorrespondenceAddress {}\r\nexport class FirmCorrespondenceAddress extends FormComponent<\r\n IFirmCorrerspondenceAddressProps,\r\n IFirmCorrespondenceAddress\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n child: Array = [];\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n this.onOwnerChange(v)}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n\r\n this.child.push(ref)}\r\n data={this.props.correspondenceAddress?.Address}\r\n onChange={(v) => this.onAddressChange(v)}\r\n />\r\n \r\n );\r\n }\r\n\r\n private onOwnerChange(owner) {\r\n let { correspondenceAddress } = this.props;\r\n if (!correspondenceAddress) {\r\n correspondenceAddress = this.emptyCorrespondenceAddress();\r\n }\r\n correspondenceAddress.Name = owner;\r\n this.props.onChange(JSON.parse(JSON.stringify(correspondenceAddress)));\r\n }\r\n\r\n private onAddressChange(changes) {\r\n let { correspondenceAddress } = this.props;\r\n if (!correspondenceAddress) {\r\n correspondenceAddress = this.emptyCorrespondenceAddress();\r\n }\r\n correspondenceAddress.Address = changes;\r\n this.props.onChange(JSON.parse(JSON.stringify(correspondenceAddress)));\r\n }\r\n\r\n private emptyCorrespondenceAddress(): CorrespondenceAddress {\r\n return {\r\n Address: null,\r\n Name: null,\r\n };\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { SectionHeader,TrueFalseRadio } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { ContactDetail } from \"./ContactDetail\";\r\nimport { CountryPhone, emptyInstructionPhone } from \"./CountryPhone\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { FirmAddress } from \"./FirmAddress\";\r\nimport { FCA } from \"./FCA\";\r\nimport { Branches } from \"./Branches\";\r\nimport { FirmType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { ThirdPartyOptions } from \"./ThirdPartyOptions\";\r\nimport { MultiPropositionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/MultiPropositionType\";\r\nimport { FirmCorrespondenceAddress } from \"./FirmCorrespondenceAddress\";\r\nimport { ContactOwnerType } from \"../../../../../../../Wrap/Models/Models/Instructions/ContactOwnerType\";\r\nimport { ThirdPartyBankAccountGroup } from \"./ThirdPartyBankAccountGroup\";\r\nimport { IChildComponentProps } from \"../../../../../../../react-core/Html/ChildComponent\";\r\nimport { NetworkHistoryModel } from \"../../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { CompanyWizardAction } from \"../../../Actions/CompanyWizardAction\";\r\nimport { NetworkType } from \"../../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { CompanyStore } from \"../../../Stores/Variable\";\r\nimport { MultiProductPermissions } from \"../../../../../../../Wrap/Constants/Enums/Domain/MultiProductPermissions\";\r\nimport { CompanyDetail } from \"../../../../../../../Wrap/Models/Models/Company/CompanyDetail\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IFirmDetailProps extends IChildComponentProps {\r\n isReview?: boolean;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IFirmDetailState {\r\n currentNetwork: NetworkHistoryModel;\r\n canEditNetwork: boolean;\r\n nonWrapEnabledSelected: boolean;\r\n currentcompany?: CompanyDetail;\r\n}\r\n\r\nexport class FirmDetail extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentNetwork: null,\r\n canEditNetwork: false,\r\n nonWrapEnabledSelected: false,\r\n currentcompany: null,\r\n };\r\n this.subscribeToStore(CompanyStore, () => this.onCompanyStoreChange());\r\n }\r\n\r\n child: Array = [];\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n if (this.props.data.CompanyCode) {\r\n CompanyWizardAction.getViewCompany(this.props.data.CompanyCode);\r\n }\r\n if (this.props.data.Network) {\r\n this.getNetwork(this.props.data.Network);\r\n }\r\n this.props.onRef(this);\r\n }\r\n\r\n private onCompanyStoreChange() {\r\n const company = CompanyStore.getSingleData();\r\n if (company) {\r\n this.setState({ currentcompany: company });\r\n }\r\n if (company?.Network == null) {\r\n this.setState({ canEditNetwork: true });\r\n } else {\r\n this.getNetwork(company?.Network);\r\n }\r\n }\r\n\r\n private getNetwork(network: string) {\r\n const promise = CompanyWizardAction.getNetwork({\r\n NetworkId: network,\r\n NetworkType: NetworkType.Network,\r\n Max: 1,\r\n Min: 1,\r\n });\r\n promise.onSuccess((networks) => {\r\n this.setState({\r\n currentNetwork: networks.networks[0],\r\n });\r\n this.canEditNetWorkForCompany(networks.networks[0]);\r\n });\r\n }\r\n\r\n private canEditNetWorkForCompany(currentNetwork: NetworkHistoryModel) {\r\n const company = this.state.currentcompany;\r\n if (CommonHelper.isNullOrEmpty(company)) {return;}\r\n else {\r\n if (\r\n company.FirmType == FirmType.DirectlyAuthorised &&\r\n !CommonHelper.isNullOrEmpty(currentNetwork.DefaultCompanyId) &&\r\n company.CompanyId == currentNetwork.DefaultCompanyId\r\n ) {\r\n this.setState({ canEditNetwork: false });\r\n } else {\r\n this.setState({ canEditNetwork: true });\r\n }\r\n }\r\n }\r\n\r\n isValid(): boolean {\r\n let flag = true;\r\n this.child.reverse().forEach((element) => {\r\n const isValid = element.isValid();\r\n if (!isValid) {flag = false;}\r\n });\r\n return flag;\r\n }\r\n\r\n private productsPermissionsChange(type: MultiProductPermissions, value: boolean) {\r\n const { MultiProduct } = this.props.data;\r\n let _data;\r\n if (value) {\r\n _data = MultiProduct.concat(type);\r\n } else {\r\n _data = MultiProduct.filter((ele) => ele != type);\r\n }\r\n this.props.onChange({ MultiProduct: _data });\r\n }\r\n\r\n private renderProductPermission() {\r\n const { data } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Product permissions\")}\r\n

Product wrappers to be permissioned to the advisor group

\r\n
\r\n
\r\n \r\n this.productsPermissionsChange(MultiProductPermissions.PlatformCashAccount, v),\r\n disabled: this.props.isReview,\r\n },\r\n {\r\n label: \"Personal Portfolio\",\r\n value: data.MultiProduct.includes(MultiProductPermissions.PersonalPortfolio),\r\n onChange: (v) =>\r\n this.productsPermissionsChange(MultiProductPermissions.PersonalPortfolio, v),\r\n disabled: this.props.isReview,\r\n },\r\n {\r\n label: \"Individual Savings Account (ISA)\",\r\n value: data.MultiProduct.includes(MultiProductPermissions.IndividualSavingsAccount),\r\n onChange: (v) =>\r\n this.productsPermissionsChange(\r\n MultiProductPermissions.IndividualSavingsAccount,\r\n v\r\n ),\r\n disabled: this.props.isReview,\r\n },\r\n {\r\n label: \"Self-Invested Personal Pension (SIPP)\",\r\n value: data.MultiProduct.includes(\r\n MultiProductPermissions.SelfInvestedPersonalPension\r\n ),\r\n onChange: (v) =>\r\n this.productsPermissionsChange(\r\n MultiProductPermissions.SelfInvestedPersonalPension,\r\n v\r\n ),\r\n disabled: this.props.isReview,\r\n },\r\n {\r\n label: \"Onshore Bond\",\r\n value: data.MultiProduct.includes(MultiProductPermissions.OnshoreBond),\r\n onChange: (v) =>\r\n this.productsPermissionsChange(MultiProductPermissions.OnshoreBond, v),\r\n disabled: this.props.isReview,\r\n },\r\n {\r\n label: \"Offshore Bond\",\r\n value: data.MultiProduct.includes(MultiProductPermissions.OffshoreBond),\r\n onChange: (v) =>\r\n this.productsPermissionsChange(MultiProductPermissions.OffshoreBond, v),\r\n disabled: this.props.isReview,\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private onPropostionChange(type: MultiPropositionType, value: boolean) {\r\n const { MultiProposition } = this.props.data;\r\n let _data;\r\n if (value) {\r\n _data = MultiProposition.concat(type);\r\n } else {\r\n _data = MultiProposition.filter((ele) => ele != type);\r\n }\r\n\r\n //If NonWrapEnabled has been chosen, we don't want any of the other proposition types to be involved.\r\n if (type == MultiPropositionType.NonWrapEnabled) {\r\n if (value) {\r\n this.setState({ nonWrapEnabledSelected: true });\r\n _data = [].concat(type);\r\n } else {\r\n this.setState({ nonWrapEnabledSelected: false });\r\n _data = [];\r\n }\r\n }\r\n\r\n this.props.onChange({ MultiProposition: _data });\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const createType =\r\n data.FirmType == FirmType.AppointedRepresentative || data.FirmType == FirmType.DirectlyAuthorised\r\n ? \"adviser\"\r\n : \"thirdParty\";\r\n\r\n return (\r\n <>\r\n

Firm details

\r\n
\r\n
\r\n this.props.onChange(changes)}\r\n onRef={(ref) => this.child.push(ref)}\r\n onNetworkSelectionChange={(network) => this.onNetworkSelectionChange(network)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {SectionHeader(\"Firm status\")}\r\n {TrueFalseRadio(\r\n \"Is Active: \",\r\n \"IsActive\",\r\n data,\r\n (key, v) => {\r\n this.props.onChange({ [key]: v });\r\n },\r\n true,\r\n { disabled: this.props.isReview },\r\n \"When No is chosen, the selected firm will be unsearchable.\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {SectionHeader(\"Proposition permission\")}\r\n

Proposition to be permissioned to adviser group

\r\n this.onPropostionChange(MultiPropositionType.Wrap, v),\r\n disabled: this.props.isReview || this.state.nonWrapEnabledSelected,\r\n },\r\n {\r\n label: \"Fundzone\",\r\n value: data.MultiProposition.includes(MultiPropositionType.Fundzone),\r\n onChange: (v) => this.onPropostionChange(MultiPropositionType.Fundzone, v),\r\n disabled: this.props.isReview || this.state.nonWrapEnabledSelected,\r\n },\r\n {\r\n label: \"Non Wrap Enabled\",\r\n value: data.MultiProposition.includes(MultiPropositionType.NonWrapEnabled),\r\n onChange: (v) => this.onPropostionChange(MultiPropositionType.NonWrapEnabled, v),\r\n disabled: this.props.isReview,\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n this.props.onChange({ PhoneNumber: v })}\r\n sectionHeader=\"Phone number\"\r\n required={createType == \"adviser\"}\r\n data={data.PhoneNumber || emptyInstructionPhone}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n this.props.onChange({ FaxNumber: v })}\r\n sectionHeader=\"Fax number\"\r\n data={data.FaxNumber || emptyInstructionPhone}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n {createType == \"thirdParty\" && (\r\n <>\r\n this.props.onChange({ ExternalReferenceCode: v })}\r\n />\r\n this.props.onChange({ WmCode: v })}\r\n />\r\n {}}\r\n label=\"Type of Provider\"\r\n options={[data.FirmType]}\r\n selected={data.FirmType}\r\n disabled={true}\r\n getText={() => {\r\n return data.FirmType == FirmType.Bond ? \"Bond\" : \"Pension\";\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {createType == \"adviser\" && this.renderProductPermission()}\r\n
\r\n
\r\n {createType == \"thirdParty\" ? (\r\n this.child.push(ref)}\r\n onChange={(v) => this.props.onChange({ CompanyAddress: v })}\r\n />\r\n ) : (\r\n <>\r\n this.onUseNetworkAddressChange(v),\r\n disabled: this.props.isReview,\r\n },\r\n ]}\r\n />\r\n this.child.push(ref)}\r\n data={data.CompanyAddress?.Address}\r\n instructionId={data.Id}\r\n onChange={(v) => this.props.onChange({ CompanyAddress: { Address: v } })}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {createType == \"adviser\" && (\r\n
\r\n
\r\n this.child.push(ref)}\r\n onChange={(v) => this.props.onChange(v)}\r\n />\r\n
\r\n
\r\n )}\r\n {createType == \"adviser\" &&
}\r\n {createType == \"thirdParty\" && (\r\n this.child.push(ref)}\r\n onChange={(v) => this.props.onChange(v)}\r\n />\r\n )}\r\n {createType == \"thirdParty\" && (\r\n this.props.onChange({ BankAccounts: v })}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n )}\r\n\r\n {createType == \"thirdParty\" &&
}\r\n {createType == \"adviser\" && (\r\n
\r\n
\r\n this.child.push(ref)}\r\n onChange={(v) => this.props.onChange(v)}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n private onNetworkSelectionChange(network: NetworkHistoryModel): void {\r\n this.setState({ currentNetwork: network });\r\n }\r\n\r\n private onUseNetworkAddressChange(use: boolean): void {\r\n this.props.onChange({ IsUseNetworkAddress: use });\r\n if (use) {\r\n this.props.onChange({\r\n CompanyAddress: {\r\n Address: {\r\n InstructionId: this.props.data.Id,\r\n Line1: this.state.currentNetwork?.Address?.Line1,\r\n Line2: this.state.currentNetwork?.Address?.Line2,\r\n Line3: this.state.currentNetwork?.Address?.Line3,\r\n Line4: this.state.currentNetwork?.Address?.Line4,\r\n Line5: this.state.currentNetwork?.Address?.Line5,\r\n PostCode: this.state.currentNetwork?.Address?.Postcode,\r\n OwnerType: ContactOwnerType.Company,\r\n CountryCode: this.state.currentNetwork?.Address?.CountryCode,\r\n },\r\n },\r\n });\r\n }\r\n }\r\n}\r\n","import { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport * as React from \"react\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { BankThirdParty } from \"./BankThirdParty\";\r\nimport { BankAccountOwner } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\n\r\ninterface IThirdPartyBankAccountGroupState {\r\n isUsingPaymentOutBankDetail: boolean;\r\n}\r\ninterface IThirdPartyBankAccountGroupProps extends React.Props {\r\n bankAccounts: BankAccount[];\r\n isReview: boolean;\r\n onRef: (ref) => void;\r\n onChange: (v: BankAccount[]) => void;\r\n}\r\nexport class ThirdPartyBankAccountGroup extends FormComponent<\r\n IThirdPartyBankAccountGroupProps,\r\n IThirdPartyBankAccountGroupState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { isUsingPaymentOutBankDetail: false };\r\n }\r\n child: Array = [];\r\n\r\n public render(): JSX.Element {\r\n const thirdPartyBank = this.findBankAccountByOwnerType(BankAccountOwner.ThirdParty);\r\n const thirdPartyOutBank = this.findBankAccountByOwnerType(BankAccountOwner.ThirdPartyOut);\r\n return (\r\n <>\r\n {SectionHeader(\"Bank Detail\")}\r\n\r\n this.child.push(ref)}\r\n data={\r\n thirdPartyOutBank ? thirdPartyOutBank : this.getEmptyBankDetails(BankAccountOwner.ThirdPartyOut)\r\n }\r\n onChange={(v) => {\r\n if (this.state.isUsingPaymentOutBankDetail) {\r\n this.onSyncBankAccount(v);\r\n } else {\r\n this.onBankAccountChange(v, BankAccountOwner.ThirdPartyOut);\r\n }\r\n }}\r\n label={\"Payments Out\"}\r\n />\r\n this.onCheckBoxChange(v),\r\n disabled: this.props.isReview,\r\n },\r\n ]}\r\n />\r\n\r\n this.child.push(ref)}\r\n data={thirdPartyBank ? thirdPartyBank : this.getEmptyBankDetails(BankAccountOwner.ThirdParty)}\r\n onChange={(v) => this.onBankAccountChange(v, BankAccountOwner.ThirdParty)}\r\n label={\"Payments in\"}\r\n />\r\n \r\n );\r\n }\r\n private findBankAccountByOwnerType(ownerType: BankAccountOwner): BankAccount {\r\n const { bankAccounts } = this.props;\r\n return bankAccounts.find((x) => x.Owner === ownerType);\r\n }\r\n private getEmptyBankDetails(ownerType: BankAccountOwner): BankAccount {\r\n return {\r\n AccountNumber: null,\r\n AccountName: null,\r\n BankDetails: { Name: null, Address: {} },\r\n IsDefault: false,\r\n Owner: ownerType,\r\n };\r\n }\r\n\r\n private onBankAccountChange(bankAccount: BankAccount, bankAccountOwner: BankAccountOwner): void {\r\n const bankAccounts = JSON.parse(\r\n JSON.stringify(this.props.bankAccounts.filter((x) => x.Owner != bankAccountOwner))\r\n );\r\n if (bankAccount != null) {\r\n bankAccount.Owner = bankAccountOwner;\r\n bankAccounts.push(bankAccount);\r\n }\r\n this.props.onChange(bankAccounts);\r\n }\r\n\r\n private onCheckBoxChange(v: boolean): void {\r\n this.setState({ isUsingPaymentOutBankDetail: v });\r\n const paymentOutBankAccount = this.props.bankAccounts.find((x) => x.Owner == BankAccountOwner.ThirdPartyOut);\r\n if (paymentOutBankAccount) {\r\n this.onSyncBankAccount(paymentOutBankAccount);\r\n }\r\n }\r\n\r\n private onSyncBankAccount(bankAccount: BankAccount): void {\r\n const bankAccountIn = { ...bankAccount };\r\n bankAccount.Owner = BankAccountOwner.ThirdPartyOut;\r\n bankAccountIn.Owner = BankAccountOwner.ThirdParty;\r\n const bankAccounts = [bankAccount, bankAccountIn];\r\n\r\n this.props.onChange(bankAccounts);\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport {\r\n SectionHeader,\r\n TrueFalseRadio,\r\n} from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\n\r\ninterface IThirdPartyOptionsProps extends React.Props {\r\n isReview?: boolean;\r\n data: FirmInstruction;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IThirdPartyOptionsState {}\r\n\r\nexport class ThirdPartyOptions extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n render() {\r\n const { data, isReview } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Adviser Remuneration available\")}\r\n this.props.onChange({ AllowAdviserRemuneration: v }),\r\n },\r\n ]}\r\n />\r\n
\r\n {SectionHeader(\"Tax Exemption\")}\r\n this.props.onChange({ TaxExempt: v }),\r\n },\r\n ]}\r\n />\r\n
\r\n {SectionHeader(\"Switch\")}\r\n {TrueFalseRadio(\r\n \"Allow customers access to switch screens for 3rd party products?\",\r\n \"AllowSwitch\",\r\n data,\r\n (k, v) => this.props.onChange({ [k]: v })\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstruction } from \"../../../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { SectionHeader } from \"../../../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\n\r\ninterface IValidateProps extends React.Props {\r\n isReview?: boolean;\r\n data: FirmInstruction;\r\n}\r\n\r\ninterface IValidateState {}\r\n\r\nexport class Validate extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n

Validation & execute

\r\n {SectionHeader(\"Validation data\")}\r\n

Check all required data has been entered.

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PageFieldReason
\r\n \r\n \r\n All data entered has been successfully validated.\r\n
\r\n
\r\n {/* {SectionHeader(\"Wizard Notes\")}\r\n \r\n
*/}\r\n {SectionHeader(\"Implement\")}\r\n

\r\n {this.props.isReview\r\n ? \"This wizard has already been submitted for completion\"\r\n : \"To confirm that you wish to proceed to the final step, click here.\"}\r\n

\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {\r\n ContentFilter,\r\n ContentTable,\r\n ProcessTypeOptions,\r\n CreatedbyOptions,\r\n FirmTypeOptions,\r\n} from \"../Resource/Content\";\r\nimport { CompanyWizardStore } from \"../Stores/Variable\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { DatePicker } from \"../../../../../react-core/Datepicker/DatePicker\";\r\nimport { addYears } from \"../../../../../react-core/utils/date\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { AllowFourSpecial, AllowOneSpecial, NoSpecial, Numeric } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { errorMsg } from \"../../../Network/Resource/Content\";\r\nimport { SearchInput } from \"../../../../Shared/SearchInput/SearchInput\";\r\nimport { NetworkHistoryClient } from \"../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { NetworkHistoryModel } from \"../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { NetworkType } from \"../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\n\r\ninterface ICompanyWizardFilterProps {\r\n firmID?: string;\r\n processType: any;\r\n firmType: any;\r\n firmName: string;\r\n reference: string;\r\n postcode: string;\r\n createdBy: any;\r\n dateStartedFrom: Date;\r\n dateStartedTo: Date;\r\n lastUpdatedFrom: Date;\r\n lastUpdatedTo: Date;\r\n handleFilterChange: any;\r\n onSearch: any;\r\n isSetup?: boolean;\r\n displayNetworkSearch: boolean;\r\n}\r\n\r\ninterface ICompanyWizardFilterState {\r\n network: NetworkHistoryModel;\r\n}\r\n\r\nexport class CompanyWizardFilter extends FormComponent {\r\n constructor(props: ICompanyWizardFilterProps) {\r\n super(props);\r\n this.state = { network: null };\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {this.renderFilters()}\r\n {!this.props.isSetup && this.renderDateRanges()}\r\n \r\n );\r\n }\r\n private renderFilters(): JSX.Element {\r\n const {\r\n processType,\r\n firmType,\r\n firmName,\r\n reference,\r\n postcode,\r\n createdBy,\r\n handleFilterChange,\r\n firmID,\r\n displayNetworkSearch,\r\n } = this.props;\r\n const networkClient = new NetworkHistoryClient();\r\n const { network } = this.state;\r\n return (\r\n <>\r\n

{ContentFilter.title}

\r\n
\r\n
\r\n {this.props.isSetup ? (\r\n handleFilterChange({ firmID: v })}\r\n />\r\n ) : (\r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, ProcessTypeOptions)}\r\n onChange={(v) => handleFilterChange({ processType: v })}\r\n />\r\n )}\r\n
\r\n
\r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, FirmTypeOptions)}\r\n onChange={(v) => handleFilterChange({ firmType: v })}\r\n />\r\n
\r\n
\r\n handleFilterChange({ firmName: v })}\r\n />\r\n
\r\n {this.props.displayNetworkSearch && (\r\n
\r\n {\r\n return networkClient.get(null, NetworkType.Unknown, v, null, null, true, 20, 1);\r\n }}\r\n onClick={(v: NetworkHistoryModel) => {\r\n this.setState({ network: v });\r\n handleFilterChange({ network: v.Network });\r\n }}\r\n resultKey=\"networks\"\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n label={\"Network\"}\r\n value={network?.NetworkName}\r\n />\r\n
\r\n )}\r\n
\r\n handleFilterChange({ reference: v })}\r\n />\r\n
\r\n
\r\n handleFilterChange({ postcode: v })}\r\n />\r\n
\r\n {!this.props.isSetup && (\r\n
\r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, CreatedbyOptions)}\r\n onChange={(v) => handleFilterChange({ createdBy: v })}\r\n />\r\n
\r\n )}\r\n {this.props.isSetup && (\r\n
\r\n
\r\n
\r\n {\r\n if (this.isValid()) {\r\n this.props.onSearch();\r\n }\r\n }}\r\n >\r\n {ContentFilter.search}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderDateRanges(): JSX.Element {\r\n const {\r\n dateStartedFrom,\r\n dateStartedTo,\r\n lastUpdatedFrom,\r\n lastUpdatedTo,\r\n handleFilterChange,\r\n onSearch,\r\n } = this.props;\r\n return (\r\n <>\r\n
\r\n
\r\n

{ContentFilter.dateStarted}

\r\n
\r\n
\r\n handleFilterChange({ dateStartedFrom: d })}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n handleFilterChange({ dateStartedTo: d })}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

{ContentFilter.lastUpdated}

\r\n
\r\n
\r\n handleFilterChange({ lastUpdatedFrom: d })}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n handleFilterChange({ lastUpdatedTo: d })}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (this.isValid()) {\r\n onSearch();\r\n }\r\n }}\r\n >\r\n {ContentFilter.search}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { CompanyWizardFilter } from \"../Components/CompanyWizardFilter\";\r\nimport { Dictionary } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CompanyWizardStore } from \"../Stores/Variable\";\r\nimport { CompanyWizardAction } from \"../Actions/CompanyWizardAction\";\r\nimport { CompanyWizardTable } from \"../Components/CompanyWizardTable\";\r\nimport { GetFirmInstructionsQuery } from \"../../../../../Wrap/Models/Models/Company/GetFirmInstructionsQuery\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nexport type ICompanyWizardHistoryProps = React.Props;\r\n\r\ninterface ICompanyWizardHistoryState {\r\n tableData: FirmInstructionHistoryCollectionModel;\r\n isLoading?: boolean;\r\n currentPage: number;\r\n pageSize: number;\r\n filter: any;\r\n}\r\n\r\nexport class CompanyWizardHistory extends FormComponent {\r\n constructor(props: ICompanyWizardHistoryProps) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n filter: {\r\n processType: 0,\r\n firmType: 0,\r\n firmName: \"\",\r\n reference: \"\",\r\n postcode: \"\",\r\n createdBy: null,\r\n dateStartedFrom: null,\r\n dateStartedTo: null,\r\n lastUpdatedFrom: null,\r\n lastUpdatedTo: null,\r\n },\r\n };\r\n this.subscribeToStore(CompanyWizardStore, () => this.onCompanyWizardStoreChange());\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!checkPermission(UserClaim.AdviserPortalNetworkAndFirmReadWrite)) {return null;}\r\n return (\r\n <>\r\n {this.renderFilter()}\r\n {this.renderTable()}\r\n \r\n );\r\n }\r\n\r\n private renderTable(): JSX.Element {\r\n const { tableData, currentPage, pageSize, isLoading } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n private renderFilter(): JSX.Element {\r\n const { filter } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n handleFilterChange = (changes: Dictionary[]) => {\r\n const updatedfilter = this.state.filter;\r\n for (const key in changes) {\r\n updatedfilter[key] = changes[key];\r\n }\r\n this.setState({ filter: updatedfilter });\r\n };\r\n\r\n handlePageChange = (pageIndex: number) => {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n };\r\n\r\n private onCompanyWizardStoreChange() {\r\n const data = CompanyWizardStore.getData();\r\n this.setState({ tableData: data, isLoading: false });\r\n }\r\n\r\n onSearch = () => {\r\n this.setState({ currentPage: 1 });\r\n this.getData(1);\r\n };\r\n\r\n private getData(pageIndex: number): void {\r\n const query = this.getQuery(pageIndex);\r\n this.setState({ isLoading: true });\r\n CompanyWizardAction.getCompanyWizardList(query);\r\n }\r\n\r\n private getQuery(pageIndex: number): GetFirmInstructionsQuery {\r\n const { filter, pageSize } = this.state;\r\n const start = (pageIndex - 1) * pageSize + 1;\r\n const count = pageSize;\r\n\r\n const query: GetFirmInstructionsQuery = {\r\n Statuses: [InstructionStatus.Submitted],\r\n FirmProcessType: filter.processType,\r\n FirmType: filter.firmType,\r\n FirmName: filter.firmName,\r\n TradingReference: filter.reference,\r\n PostCode: filter.postcode,\r\n CreateUserId: filter.createdBy == \"1\" ? 1 : null,\r\n StartedFromDate: JsonDateParser.toJsonDateNoOffset(filter.dateStartedFrom),\r\n StartedToDate: JsonDateParser.toJsonDateNoOffset(filter.dateStartedTo),\r\n UpdatedFromDate: JsonDateParser.toJsonDateNoOffset(filter.lastUpdatedFrom),\r\n UpdatedToDate: JsonDateParser.toJsonDateNoOffset(filter.lastUpdatedTo),\r\n Start: start,\r\n Count: count,\r\n };\r\n return query;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { CompanyWizardFilter } from \"../Components/CompanyWizardFilter\";\r\nimport { Dictionary } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CompanyWizardStore } from \"../Stores/Variable\";\r\nimport { CompanyWizardAction } from \"../Actions/CompanyWizardAction\";\r\nimport { CompanyWizardTable } from \"../Components/CompanyWizardTable\";\r\nimport { GetFirmInstructionsQuery } from \"../../../../../Wrap/Models/Models/Company/GetFirmInstructionsQuery\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { CancelFirmInstructionsQuery } from \"../../../../../Wrap/Models/Models/Company/CancelFirmInstructionsQuery\";\r\nimport { Lightbox, LightboxType } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nexport type ICompanyWizardInProgressProps = React.Props;\r\n\r\ninterface ICompanyWizardInProgressState {\r\n tableData: FirmInstructionHistoryCollectionModel;\r\n isLoading?: boolean;\r\n currentPage: number;\r\n pageSize: number;\r\n filter: any;\r\n displayAlert: boolean;\r\n alertType?: AlertType;\r\n alertMessage: string;\r\n}\r\n\r\nexport class CompanyWizardInProgress extends FormComponent<\r\n ICompanyWizardInProgressProps,\r\n ICompanyWizardInProgressState\r\n> {\r\n constructor(props: ICompanyWizardInProgressProps) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n displayAlert: false,\r\n alertMessage: \"\",\r\n alertType: null,\r\n filter: {\r\n processType: 0,\r\n firmType: 0,\r\n firmName: \"\",\r\n reference: \"\",\r\n postcode: \"\",\r\n createdBy: null,\r\n dateStartedFrom: null,\r\n dateStartedTo: null,\r\n lastUpdatedFrom: null,\r\n lastUpdatedTo: null,\r\n },\r\n };\r\n this.subscribeToStore(CompanyWizardStore, () => this.onCompanyWizardStoreChange());\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!checkPermission(UserClaim.AdviserPortalNetworkAndFirmReadWrite)) {return null;}\r\n return (\r\n <>\r\n {this.renderFilter()}\r\n {this.renderAlert()}\r\n {this.renderTable()}\r\n \r\n );\r\n }\r\n\r\n private renderAlert() {\r\n const { alertMessage, alertType, displayAlert } = this.state;\r\n return displayAlert && ;\r\n }\r\n\r\n private renderTable(): JSX.Element {\r\n const { tableData, currentPage, pageSize, isLoading } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n private renderFilter(): JSX.Element {\r\n const { filter } = this.state;\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n handleFilterChange = (changes: Dictionary[]) => {\r\n const updatedfilter = this.state.filter;\r\n for (const key in changes) {\r\n updatedfilter[key] = changes[key];\r\n }\r\n console.log(this.state.filter);\r\n this.setState({ filter: updatedfilter });\r\n };\r\n\r\n handlePageChange = (pageIndex: number) => {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n };\r\n\r\n private onCompanyWizardStoreChange() {\r\n const actiontype = CompanyWizardStore.getActionType();\r\n if (actiontype == ActionType.Update) {\r\n this.setState({ displayAlert: true, alertType: AlertType.Success, alertMessage: \"Successfully deleted\" });\r\n } else if (actiontype == ActionType.Error) {\r\n this.setState({ displayAlert: true, alertType: AlertType.Success, alertMessage: \"Unable to delete\" });\r\n }\r\n setTimeout(() => {\r\n this.setState({ displayAlert: false, alertMessage: \"\" });\r\n }, 5000);\r\n const data = CompanyWizardStore.getData();\r\n this.setState({ tableData: data, isLoading: false });\r\n }\r\n\r\n onSearch = () => {\r\n this.setState({ currentPage: 1 });\r\n this.getData(1);\r\n };\r\n\r\n private getData(pageIndex: number): void {\r\n const query = this.getQuery(pageIndex);\r\n this.setState({ isLoading: true });\r\n CompanyWizardAction.getCompanyWizardList(query);\r\n }\r\n\r\n private getQuery(pageIndex: number): GetFirmInstructionsQuery {\r\n const { filter, pageSize } = this.state;\r\n const start = (pageIndex - 1) * pageSize + 1;\r\n const count = pageSize;\r\n\r\n const query: GetFirmInstructionsQuery = {\r\n Statuses: [InstructionStatus.Pending],\r\n FirmProcessType: filter.processType,\r\n FirmType: filter.firmType,\r\n FirmName: filter.firmName,\r\n TradingReference: filter.reference,\r\n PostCode: filter.postcode,\r\n CreateUserId: filter.createdBy == \"1\" ? 1 : null,\r\n StartedFromDate: JsonDateParser.toJsonDateNoOffset(filter.dateStartedFrom),\r\n StartedToDate: JsonDateParser.toJsonDateNoOffset(filter.dateStartedTo),\r\n UpdatedFromDate: JsonDateParser.toJsonDateNoOffset(filter.lastUpdatedFrom),\r\n UpdatedToDate: JsonDateParser.toJsonDateNoOffset(filter.lastUpdatedTo),\r\n Start: start,\r\n Count: count,\r\n };\r\n return query;\r\n }\r\n\r\n handleSubmit = (ids: Array) => {\r\n const query = this.getQuery(1);\r\n this.setState({ isLoading: true });\r\n const cancelquery: CancelFirmInstructionsQuery = {\r\n InstructionIds: ids,\r\n };\r\n CompanyWizardAction.deleteCompanyWizardList(cancelquery, () => {\r\n CompanyWizardAction.getCompanyWizardList(query);\r\n });\r\n };\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { Pager } from \"../../../../../react-core/Html/Pager\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { ContentTable, ProcessTypeOptions, StatusOptions } from \"../Resource/Content\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\nimport { FirmInstructionHistoryAdapterModel } from \"../../../../../Wrap/Models/Models/Company/FirmInstructionHistoryAdapterModel\";\r\nimport { Dictionary, CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../Dashboard/Urls\";\r\nimport { UserClient } from \"../../../../../Wrap/Api/User/User\";\r\nimport { UserStore } from \"../../../../Dashboard/Stroes/Variable\";\r\nimport { IndividualUserFunctionClient } from \"../../../../../Wrap/Api/User/IndividualUserFunction\";\r\ninterface ICompanyWizardTableProps {\r\n tableData?: FirmInstructionHistoryCollectionModel;\r\n currentPage: number;\r\n pageSize: number;\r\n isLoading: boolean;\r\n handlePageChange: any;\r\n handleSubmit?: any;\r\n inprogress: boolean;\r\n}\r\n\r\ninterface ICompanyWizardTableState {\r\n itemsToDelete: Array;\r\n hasCompanyPermission: boolean;\r\n}\r\n\r\nexport class CompanyWizardTable extends BaseComponent {\r\n constructor(props: ICompanyWizardTableProps) {\r\n super(props);\r\n this.state = {\r\n itemsToDelete: [],\r\n hasCompanyPermission: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const clientId = UserStore.getUserInfo().ClientId;\r\n\r\n if (clientId == null || clientId == 0) {\r\n const client = new UserClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((result) => {\r\n this.checkCompanyPermission(result.ClientId);\r\n });\r\n promise.onError((err) => {});\r\n } else {\r\n this.checkCompanyPermission(clientId);\r\n }\r\n }\r\n\r\n public checkCompanyPermission(clientId: number) {\r\n const FunctionName = \"CanModifyCompanies\";\r\n const client = new IndividualUserFunctionClient();\r\n const promise = client.get(clientId, FunctionName);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n this.setState({ hasCompanyPermission: data });\r\n })\r\n .onError(() => {\r\n this.setState({ hasCompanyPermission: false });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { tableData, isLoading } = this.props;\r\n\r\n return (\r\n <>\r\n {isLoading ? this.renderPartLoading() : tableData && this.renderTable(tableData)}\r\n {tableData && tableData.TotalNumberOfResults > 0 && this.renderPagination()}\r\n \r\n );\r\n }\r\n\r\n private renderPartLoading() {\r\n return (\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderPagination() {\r\n const { currentPage, pageSize, handlePageChange } = this.props;\r\n const { TotalNumberOfResults } = this.props.tableData;\r\n return (\r\n
\r\n
\r\n {\r\n handlePageChange(pageIndex);\r\n }}\r\n recordsPerPageOptions={[10, 15, 20]}\r\n isShowPerPageOptions={false}\r\n />\r\n
\r\n {this.renderSubmitButton()}\r\n
\r\n );\r\n }\r\n\r\n private renderSubmitButton() {\r\n const { inprogress } = this.props;\r\n return (\r\n inprogress && (\r\n
\r\n \r\n
\r\n )\r\n );\r\n }\r\n\r\n private popupMessage() {\r\n const { itemsToDelete } = this.state;\r\n if (itemsToDelete.length == 0) {window.alert(ContentTable.noWizardSelected);}\r\n else if (itemsToDelete.length > 0) {\r\n const confirm = window.confirm(ContentTable.confirmDelete);\r\n if (confirm) {this.handleSubmit();}\r\n }\r\n }\r\n\r\n private handleSubmit() {\r\n this.props.handleSubmit(this.state.itemsToDelete);\r\n this.setState({ itemsToDelete: [] });\r\n }\r\n\r\n private renderTableRow(data: FirmInstructionHistoryAdapterModel): JSX.Element {\r\n return (\r\n \r\n {JsonDateParser.getFormatDate(data.CreatedTime, \"dd/MM/yyyy\")}\r\n {CommonHelper.getOptionsTxt(data.FirmProcessType, ProcessTypeOptions)}\r\n {CommonHelper.getOptionsTxt(data.Status, StatusOptions)}\r\n {data.FirmName}\r\n {data.FsaAuthorisationNumber}\r\n {data.CreatedUser}\r\n {data.PostCode}\r\n {JsonDateParser.getFormatDate(data.LastUpdatedTime, \"dd/MM/yyyy\")}\r\n {this.renderActionButton(data.InstructionId)}\r\n {this.renderDeleteBox(data.InstructionId)}\r\n {/* {this.renderEditNotes()} */}\r\n \r\n );\r\n }\r\n\r\n private isChecked(id: number) {\r\n const { itemsToDelete } = this.state;\r\n if (!itemsToDelete || itemsToDelete.length === 0) {\r\n return false;\r\n }\r\n return itemsToDelete.indexOf(id) >= 0;\r\n }\r\n\r\n private renderEditNotes() {\r\n const editNotesUrl = ContentTable.defaultUrl;\r\n return (\r\n \r\n \r\n {ContentTable.editNotes}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderActionButton(id: number) {\r\n const { inprogress } = this.props;\r\n const url = ContentTable.defaultUrl;\r\n return (\r\n {\r\n Navigator.navigateTo(Urls.get().FirmDetail, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { id: id },\r\n });\r\n }}\r\n >\r\n \r\n {inprogress && this.state.hasCompanyPermission ? ContentTable.resume : ContentTable.view}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderDeleteBox(id: number) {\r\n const { inprogress } = this.props;\r\n return (\r\n inprogress &&\r\n this.state.hasCompanyPermission && (\r\n \r\n {\r\n this.handleDeleteChange(id);\r\n }}\r\n type=\"checkbox\"\r\n value=\"true\"\r\n />\r\n \r\n )\r\n );\r\n }\r\n\r\n private handleDeleteChange(id: number) {\r\n let newItemsToDelete = this.state.itemsToDelete;\r\n if (this.isChecked(id)) {\r\n newItemsToDelete = newItemsToDelete.filter((o) => o != id);\r\n } else {\r\n newItemsToDelete.push(id);\r\n }\r\n this.setState({ itemsToDelete: newItemsToDelete });\r\n }\r\n\r\n private renderDeleteTHead() {\r\n const { inprogress } = this.props;\r\n return inprogress && {ContentTable.delete};\r\n }\r\n\r\n private renderTable(tabledata: FirmInstructionHistoryCollectionModel): JSX.Element {\r\n const { inprogress } = this.props;\r\n const data = tabledata.PageOfResults;\r\n if (data.length === 0) {\r\n return
{ContentTable.noDataMsg}
;\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderDeleteTHead()}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.map((ele) => {\r\n return this.renderTableRow(ele);\r\n })}\r\n \r\n
{ContentTable.dateStarted}{ContentTable.processType}{ContentTable.status}{ContentTable.firmName}{ContentTable.reference}{ContentTable.createdBy}{ContentTable.postCode}{ContentTable.lastUpdated}{ContentTable.action}{ContentTable.editNotes}
{tabledata.TotalNumberOfResults + \" \" + ContentTable.sessions}
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { CompanyDetail } from \"../../../../../../Wrap/Models/Models/Company/CompanyDetail\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { BackOffice } from \"../CompanySetUpWizard/Commission/BackOffice\";\r\nimport { Methods } from \"../../../../../Dashboard/Common/CommonHelper\";\r\nimport { DisinvestmentStrategyTypeMap } from \"../../../../../Dashboard/Components/Clients/PortfolioDashboard/Components/ProductOverview/Constant/Content\";\r\nimport { DisinvestmentStrategyTypeStringMap } from \"../../../../../Dashboard/Components/Clients/NewBusinessWizard/Resource/Contents\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\ninterface ICommissionProps extends React.Props {\r\n data: CompanyDetail;\r\n}\r\n\r\ninterface ICommissionState {}\r\n\r\nexport class Commission extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const createType =\r\n data.FirmType == FirmType.AppointedRepresentative || data.FirmType == FirmType.DirectlyAuthorised\r\n ? \"adviser\"\r\n : \"thirdParty\";\r\n\r\n return (\r\n <>\r\n

Firm remuneration settings

\r\n {data.AcornCommissionSettings && (\r\n \r\n )}\r\n
\r\n {!data.ServicePropositions.every((ele) => ele == ServiceProposition.Fundzone) && (\r\n <>\r\n

Disinvestment strategy

\r\n \r\n
\r\n \r\n )}\r\n\r\n {}}\r\n onRef={(ref) => {}}\r\n isReview={true}\r\n />\r\n
\r\n

Bank details

\r\n {\r\n return {ele ? \"Yes\" : \"No\"};\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { arrayToString } from \"../../../../../../react-core/Utils/Arrays\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { NetworkType } from \"../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { Branches } from \"../../../../../../Wrap/Models/Domains/Company/Branches\";\r\nimport { CompanyDetail } from \"../../../../../../Wrap/Models/Models/Company/CompanyDetail\";\r\nimport { ProductPermissions } from \"../../../../../../Wrap/Models/Models/Company/ProductPermissions\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { ServicePropositionMap } from \"../../../../../Shared/Entities/Maps/ServicePropositionMap\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { DistributionMap, FsaAuthorisationStatusMap } from \"../../../../Network/Resource/Content\";\r\nimport { CompanyWizardAction } from \"../../Actions/CompanyWizardAction\";\r\nimport { FirmTypeMap, ProductPermissionsArrayMap } from \"../../Resource/Content\";\r\n\r\ninterface IFirmDetailProps extends React.Props {\r\n data: CompanyDetail;\r\n}\r\n\r\ninterface IFirmDetailState {\r\n currentBranch: Branches;\r\n network: NetworkHistoryModel;\r\n}\r\n\r\nexport class FirmDetail extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentBranch: null,\r\n network: null,\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n if (this.props.data?.Network != null) {\r\n const promise = CompanyWizardAction.getNetwork({\r\n NetworkId: this.props.data.Network,\r\n NetworkType: NetworkType.Network,\r\n Max: 1,\r\n Min: 1,\r\n });\r\n promise.onSuccess((networks) => this.setState({ network: networks.networks[0] }));\r\n }\r\n }\r\n\r\n private renderProductPermissions(productionPermissions: any[], format: (ele) => any, splitBy?: string) {\r\n const _array = productionPermissions.map((ele) =>\r\n ProductPermissionsArrayMap.optionsMap[format(ele)].toString()\r\n );\r\n const _splitBy = splitBy || \", \";\r\n return _array.join(_splitBy);\r\n }\r\n\r\n private renderBranch(data: Branches) {\r\n return (\r\n <>\r\n

Branch

\r\n \r\n
\r\n {data.PhoneNumber && (\r\n <>\r\n

Phone number

\r\n \r\n
\r\n \r\n )}\r\n {data.FaxNumber && (\r\n <>\r\n

Fax number

\r\n \r\n
\r\n \r\n )}\r\n

Address

\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const createType =\r\n data.FirmType == FirmType.AppointedRepresentative || data.FirmType == FirmType.DirectlyAuthorised\r\n ? \"adviser\"\r\n : \"thirdParty\";\r\n\r\n return (\r\n <>\r\n

Firm details

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

Network Details

\r\n {this.state.network ? (\r\n <>\r\n \r\n \r\n ) : null}\r\n
\r\n

Proposition permission

\r\n

Proposition to be permissioned to adviser group

\r\n {arrayToString(data.ServicePropositions, (ele: ServiceProposition) =>\r\n ServicePropositionMap.getString(ele)\r\n )}\r\n
\r\n {data.BusinessPhoneNumber && (\r\n <>\r\n

Phone number

\r\n \r\n
\r\n \r\n )}\r\n {data.FaxPhoneNumber && (\r\n <>\r\n

Fax number

\r\n \r\n
\r\n \r\n )}\r\n

Product permissions

\r\n

Product wrappers to be permissioned to the advisor gourp

\r\n {this.renderProductPermissions(\r\n data.ProductPermissions,\r\n (ele: ProductPermissions) => ele.ProductPermissionsId\r\n )}\r\n
\r\n

Address

\r\n \r\n
\r\n {createType == \"adviser\" && (\r\n <>\r\n

FCA authorisation

\r\n \r\n
\r\n \r\n )}\r\n

Branches

\r\n {data.BranchList.length > 0 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.BranchList.map((branch, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
Branch name\r\n
{branch.BranchName}\r\n \r\n this.setState({\r\n currentBranch: JSON.parse(JSON.stringify(branch)),\r\n })\r\n }\r\n >\r\n View\r\n \r\n
\r\n )}\r\n {this.state.currentBranch && this.renderBranch(this.state.currentBranch)}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Urls } from \"../../../../../Dashboard/Urls\";\r\nimport { Spinner } from \"../../../../../../react-core/Html/Spinner\";\r\nimport { IStepConfig, Process } from \"../../../../../Shared/Process/Process/Process\";\r\nimport { Contents } from \"../../../../../Dashboard/Resoures/Contents\";\r\nimport { CompanyWizardAction } from \"../../Actions/CompanyWizardAction\";\r\nimport { stepperName } from \"../../Resource/Content\";\r\nimport { CompanyStore } from \"../../Stores/Variable\";\r\nimport { CompanyDetail } from \"../../../../../../Wrap/Models/Models/Company/CompanyDetail\";\r\nimport { FirmDetail } from \"./FirmDetails\";\r\nimport { Commission } from \"./Commission\";\r\n\r\ninterface IViewCompanyProps extends React.Props {}\r\n\r\ninterface IViewCompanyState {\r\n data: CompanyDetail;\r\n errorMsg: string[];\r\n}\r\n\r\nexport class ViewCompany extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n };\r\n this.subscribeToStore(CompanyStore, () => this.onCompanyStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n const id = getQueryParameters()[\"id\"];\r\n CompanyWizardAction.getViewCompany(id);\r\n }\r\n\r\n private onCompanyStoreChange() {\r\n this.setState({ data: CompanyStore.getSingleData() });\r\n }\r\n\r\n private onExit() {\r\n Navigator.navigateTo(Urls.get().main.CompanySetup);\r\n }\r\n\r\n render() {\r\n if (!this.state.data) {return ;}\r\n\r\n const stepsConfig: IStepConfig[] = [\r\n {\r\n title: stepperName.stepOne,\r\n url: Urls.get().CompanyViewFirmDetail,\r\n path: Contents.URLMap.firmdetail,\r\n component: ,\r\n },\r\n {\r\n title: stepperName.stepTwo,\r\n url: Urls.get().CompanyViewCommission,\r\n path: Contents.URLMap.remunerationAndValuation,\r\n component: ,\r\n },\r\n ];\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import { Dictionary } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { FirmType } from \"../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { FsaAuthorisationStatus } from \"../../../../../Wrap/Constants/Enums/Domain/FsaAuthorisationStatus\";\r\nimport { FsaType } from \"../../../../../Wrap/Constants/Enums/Domain/FsaType\";\r\nimport { MultiProductPermissions } from \"../../../../../Wrap/Constants/Enums/Domain/MultiProductPermissions\";\r\nimport { PensionArrangementType } from \"../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { FcaTradingStatus } from \"../../../../../Wrap/Constants/Enums/Network/FcaTradingStatus\";\r\nimport { FileFormat } from \"../../../../../Wrap/Models/Models/Company/FileFormat\";\r\nexport const ContentFilter = {\r\n title: \"Search criteria\",\r\n search: \"Search\",\r\n processType: \"Process type\",\r\n firmType: \"Firm type\",\r\n firmName: \"Firm name\",\r\n reference: \"FCA/Trading reference\",\r\n postcode: \"Postcode\",\r\n createdBy: \"Created by\",\r\n dateStarted: \"Date started\",\r\n lastUpdated: \"Last updated\",\r\n from: \"From\",\r\n to: \"To\",\r\n};\r\n\r\nexport const ContentTable = {\r\n noDataMsg: \"No results have been found for the entered criteria.\",\r\n dateStarted: \"Date started\",\r\n processType: \"Process type\",\r\n status: \"Status\",\r\n firmName: \"Firm name\",\r\n reference: \"FCA/Trading reference\",\r\n createdBy: \"Created by\",\r\n postCode: \"Postcode\",\r\n lastUpdated: \"Last updated\",\r\n action: \"Action\",\r\n view: \"VIEW\",\r\n resume: \"RESUME\",\r\n delete: \"Delete\",\r\n sessions: \"SESSIONS\",\r\n editNotes: \"Edit Notes\",\r\n defaultUrl: \"#\",\r\n save: \"save\",\r\n other: \"Other\",\r\n confirmDelete: \"Are you sure you want to delete selected wizards?\",\r\n noWizardSelected: \"Please select wizard to delete\",\r\n};\r\n\r\nexport const NetworkContentTable = {\r\n header: {\r\n networkId: \"Network ID\",\r\n networkName: \"Network Name\",\r\n reference: \"FCA/Trading Reference\",\r\n postCode: \"Postcode\",\r\n },\r\n};\r\n\r\nexport const CreatedbyOptions: Dictionary[] = [\r\n { key: 0, value: \"Anyone\" },\r\n { key: 1, value: \"Me\" },\r\n];\r\n\r\nexport const ProcessTypeOptions: Dictionary[] = [\r\n { key: 0, value: \"All\" },\r\n { key: 1, value: \"Create firm\" },\r\n { key: 2, value: \"Edit firm\" },\r\n];\r\n\r\nexport const FirmTypeOptions: Dictionary[] = [\r\n { key: 0, value: \"All\" },\r\n { key: 1, value: \"Appointed representative\" },\r\n { key: 2, value: \"Directly authorised\" },\r\n // { key: 3, value: \"Third Party Bond\" },\r\n // { key: 4, value: \"Third Party Pension\" },\r\n];\r\n\r\nexport const StatusOptions: Dictionary[] = [\r\n { key: 0, value: \"NotSpecified\" },\r\n { key: 1, value: \"Pending\" },\r\n { key: 2, value: \"Submitted\" },\r\n { key: 3, value: \"Cancelled\" },\r\n { key: 4, value: \"Active\" },\r\n { key: 5, value: \"Complete\" },\r\n { key: 6, value: \"AwaitingAuthorisation\" },\r\n];\r\n\r\nexport const stepperName = {\r\n stepOne: \"Firm details\",\r\n stepTwo: \"Remuneration and valuation\",\r\n stepThirdParty: \"Alert\",\r\n stepThree: \"Validation & execute\",\r\n};\r\n\r\nexport const FirmTypeMap = {\r\n [FirmType.AppointedRepresentative]: \"Appointed representative firm\",\r\n [FirmType.DirectlyAuthorised]: \"Directly authorised firm\",\r\n [FirmType.Bond]: \"Bond\",\r\n [FirmType.Pension]: \"Pension\",\r\n};\r\n\r\nexport const FsaTypArrays = [FsaType.Fcaregistered, FsaType.Offshoreregistered, FsaType.Eearegistered];\r\n\r\nexport const FsaTypeMap = {\r\n [FsaType.Fcaregistered]: \"FCA registered\",\r\n [FsaType.Offshoreregistered]: \"Offshore registered\",\r\n [FsaType.Eearegistered]: \"EEA registered\",\r\n};\r\n\r\nexport const FsaAuthorisationStatusMap = {\r\n [FsaAuthorisationStatus.NotSpecified]: \"\",\r\n [FsaAuthorisationStatus.Authorised]: \"Authorised\",\r\n [FsaAuthorisationStatus.Deauthorised]: \"De-authorised\",\r\n [FsaAuthorisationStatus.Pendingauthorisation]: \"Pending authorisation\",\r\n [FsaAuthorisationStatus.Eeaauthorised]: \"EEA authorised\",\r\n [FcaTradingStatus.ClosedToNewBusiness]: \"Closed to new business\",\r\n};\r\n\r\nexport const FcaTradingStatusMap = {\r\n [FcaTradingStatus.NotSpecified]: \"\",\r\n [FcaTradingStatus.Authorised]: \"Authorised\",\r\n [FcaTradingStatus.Deauthorised]: \"De-authorised\",\r\n [FcaTradingStatus.ClosedToNewBusiness]: \"Closed to new business\",\r\n};\r\n\r\nexport const ProductPermissionsArrayMap = {\r\n options: [\r\n MultiProductPermissions.NotSpecified,\r\n MultiProductPermissions.PlatformCashAccount,\r\n MultiProductPermissions.PersonalPortfolio,\r\n MultiProductPermissions.IndividualSavingsAccount,\r\n MultiProductPermissions.JuniorIndividualSavingsAccount,\r\n MultiProductPermissions.SelfInvestedPersonalPension,\r\n MultiProductPermissions.JuniorSelfInvestedPersonalPension,\r\n MultiProductPermissions.OnshoreBond,\r\n MultiProductPermissions.OffshoreBond,\r\n ],\r\n optionsMap: {\r\n [MultiProductPermissions.NotSpecified]: \"Not specified\",\r\n [MultiProductPermissions.PlatformCashAccount]: \"Cash account\",\r\n [MultiProductPermissions.PersonalPortfolio]: \"Personal Portfolio\",\r\n [MultiProductPermissions.IndividualSavingsAccount]: \"Individual Savings Account (ISA)\",\r\n [MultiProductPermissions.JuniorIndividualSavingsAccount]: \"Junior Individual Savings Account (JISA)\",\r\n [MultiProductPermissions.SelfInvestedPersonalPension]: \"Self-Invested Personal Pension (SIPP)\",\r\n [MultiProductPermissions.JuniorSelfInvestedPersonalPension]: \"Junior Self-Invested Personal Pension (JSIPP)\",\r\n [MultiProductPermissions.OnshoreBond]: \"Onshore Bond\",\r\n [MultiProductPermissions.OffshoreBond]: \"Offshore Bond\",\r\n },\r\n};\r\n\r\nexport const SubAccountTypeArrayMap = {\r\n options: [\r\n SubAccountType.NotSpecified,\r\n SubAccountType.Sipp,\r\n SubAccountType.StocksIsa,\r\n SubAccountType.InvestmentAccount,\r\n SubAccountType.Npr,\r\n SubAccountType.WrapCash,\r\n ],\r\n optionsMap: {\r\n [SubAccountType.NotSpecified]: \"Not specified\",\r\n [SubAccountType.Sipp]: \"Self-Invested Personal Pension (SIPP)\",\r\n [SubAccountType.StocksIsa]: \"Individual Savings Account (ISA)\",\r\n [SubAccountType.InvestmentAccount]: \"Personal Portfolio\",\r\n [SubAccountType.Npr]: \"Self-Invested Personal Pension (SIPP)\",\r\n [SubAccountType.WrapCash]: \"Cash Account\",\r\n [SubAccountType.CashIsa]: \"Cash ISA\",\r\n [SubAccountType.AuAccumulation]: \"AuAccumulation\",\r\n [SubAccountType.AuPension]: \"AuPension\",\r\n [SubAccountType.Pension]: \"Pension\",\r\n [SubAccountType.OffshoreBond]: \"Offshore Bond\",\r\n [SubAccountType.OnshoreBond]: \"Onshore Bond\",\r\n [SubAccountType.CashAccount]: \"Cash Account\",\r\n [SubAccountType.RetailSipp]: \"Retail SIPP\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.RetailSipp]: \"Retail SIPP\",\r\n [SubAccountType.RetailBond]: \"Retail Bond\",\r\n [SubAccountType.Pep]: \"Pep\",\r\n [SubAccountType.OrsoRa]: \"OrsoRa\",\r\n [SubAccountType.OrsoSa]: \"OrsoSa\",\r\n [SubAccountType.JuniorIsa]: \"Junior ISA\",\r\n [SubAccountType.JuniorSipp]: \"Junior SIPP\",\r\n [SubAccountType.Pr]: \"Pr\",\r\n },\r\n colorClassNameMap: {\r\n [SubAccountType.PersonalPortfolio]: \"pp\",\r\n [SubAccountType.StocksIsa]: \"isa\",\r\n [SubAccountType.Sipp]: \"sipp\",\r\n [SubAccountType.WrapCash]: \"wrap-cash\",\r\n [SubAccountType.OffshoreBond]: \"offshore-bond\",\r\n [SubAccountType.OnshoreBond]: \"onshore-bond\",\r\n [SubAccountType.CashIsa]: \"cash-isa\",\r\n [SubAccountType.JuniorIsa]: \"junior-isa\",\r\n [SubAccountType.JuniorSipp]: \"junior-sipp\",\r\n [SubAccountType.Npr]: \"sipp\",\r\n },\r\n totalColorClassName: \"total\",\r\n};\r\n\r\nexport const PensionArrangementTypeArrayMap = {\r\n options: [\r\n PensionArrangementType.NotSpecified,\r\n PensionArrangementType.Accumulation,\r\n PensionArrangementType.Crystallised,\r\n ],\r\n optionsmap: {\r\n [PensionArrangementType.NotSpecified]: \"Not pecified\",\r\n [PensionArrangementType.Accumulation]: \"Pre-retirement\",\r\n [PensionArrangementType.Crystallised]: \"Post-retirement\",\r\n },\r\n};\r\n\r\nexport const BulkEnquiryFileFormatArrayMap = {\r\n options: [FileFormat.Csv],\r\n optionsMap: {\r\n [FileFormat.Csv]: \"CSV\",\r\n },\r\n};\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { BackOfficeProviderBulkValuationReport } from \"../../../../../Wrap/Models/Models/BackOfficeIntegration/BackOfficeProviderBulkValuationReport\";\r\nimport { BackOfficeProviderBulkValuationReportDispatcher, FluxResponse } from \"./Variable\";\r\nexport class BackOfficeProviderBulkValuationReportStoreState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: BackOfficeProviderBulkValuationReport[];\r\n}\r\n\r\nexport class BackOfficeProviderBulkValuationReportStoreStatic extends BaseStore<\r\n BackOfficeProviderBulkValuationReportStoreState\r\n> {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(BackOfficeProviderBulkValuationReportDispatcher, (actionData) =>\r\n this.onBackOfficeProvidersStoreResponse(actionData)\r\n );\r\n }\r\n onBackOfficeProvidersStoreResponse(actionData: FluxResponse): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n protected getDefaultState(): BackOfficeProviderBulkValuationReportStoreState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { BackOfficeProvider } from \"../../../../../Wrap/Models/Models/BackOfficeIntegration/BackOfficeProvider\";\r\nimport { BackOfficeProvidersDispatcher, FluxResponse } from \"./Variable\";\r\nexport class BackOfficeProviderStoreState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: BackOfficeProvider[];\r\n}\r\nexport class BackOfficeProviderStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(BackOfficeProvidersDispatcher, (actionData) =>\r\n this.onBackOfficeProvidersStoreResponse(actionData)\r\n );\r\n }\r\n onBackOfficeProvidersStoreResponse(actionData: FluxResponse): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n protected getDefaultState(): BackOfficeProviderStoreState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { CompanyInstructionDispatcher } from \"./Variable\";\r\nimport { FirmInstruction } from \"../../../../../Wrap/Models/Models/Company/FirmInstruction\";\r\nimport { any } from \"prop-types\";\r\n\r\nexport interface CompanyInstructionStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: FirmInstruction;\r\n update?: any;\r\n}\r\n\r\nexport class CompanyInstructionStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(CompanyInstructionDispatcher, (actionData) =>\r\n this.onCompanyInstructionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): CompanyInstructionStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): CompanyInstructionStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n update: any,\r\n };\r\n }\r\n\r\n private onCompanyInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, update: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { CompanyServicePropositionDispatcher } from \"./Variable\";\r\n\r\ninterface ICompanyServicePropositionStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: Array;\r\n}\r\n\r\nexport class CompanyServicePropositionStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(CompanyServicePropositionDispatcher, (actionData) =>\r\n this.onCompanyServicePropositionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): ICompanyServicePropositionStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ICompanyServicePropositionStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onCompanyServicePropositionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { CompanyDispatcher } from \"./Variable\";\r\nimport { CompanySummariesPaginated } from \"../../../../../Wrap/Models/Models/Company/CompanySummariesPaginated\";\r\nimport { CompanyDetail } from \"../../../../../Wrap/Models/Models/Company/CompanyDetail\";\r\n\r\nexport interface CompanyStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: CompanySummariesPaginated;\r\n singleData?: CompanyDetail;\r\n}\r\n\r\nexport class CompanyStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(CompanyDispatcher, (actionData) => this.onCompanyStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): CompanyStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getSingleData() {\r\n return this.getState().singleData;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): CompanyStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n singleData: null,\r\n };\r\n }\r\n\r\n private onCompanyStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, singleData: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { CompanyWizardDispatcher } from \"./Variable\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\n\r\nexport interface CompanyWizardStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: FirmInstructionHistoryCollectionModel;\r\n}\r\n\r\nexport class CompanyWizardStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(CompanyWizardDispatcher, (actionData) =>\r\n this.onCompanyWizardStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): CompanyWizardStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): CompanyWizardStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onCompanyWizardStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { CompanyWizardStoreStatic } from \"./CompanyWizardStoreStatic\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../react-core/Flux/Dispatcher\";\r\nimport { CompanyInstructionStoreStatic } from \"./CompanyInstructionStoreStatic\";\r\nimport { CompanyServicePropositionStoreStatic } from \"./CompanyServicePropositionStoreStatic\";\r\nimport { CompanyStoreStatic } from \"./CompanyStoreStatic\";\r\nimport { BackOfficeProviderStoreStatic } from \"./BackOfficeProviderStoreStatic\";\r\nimport { BackOfficeProviderBulkValuationReportStoreStatic } from \"./BackOfficeProviderBulkValuationReportStoreStatic\";\r\nimport {CacheablePayloadStore, ICacheablePayloadAction} from \"../../../../../react-core/Flux/CacheablePayloadStore\";\r\nimport {FsaPermission} from \"../../../../../Wrap/Models/Models/Company/FsaPermission\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const CompanyWizardDispatcher: Dispatcher = new Dispatcher();\r\nexport const CompanyWizardStore: CompanyWizardStoreStatic = new CompanyWizardStoreStatic();\r\nexport const CompanyInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const CompanyFsaPermissionsDispatcher = new Dispatcher>();\r\nexport const CompanyFsaPermissionsStore = new CacheablePayloadStore(CompanyFsaPermissionsDispatcher);\r\nexport const CompanyInstructionStore: CompanyInstructionStoreStatic = new CompanyInstructionStoreStatic();\r\nexport const CompanyDispatcher: Dispatcher = new Dispatcher();\r\nexport const CompanyStore: CompanyStoreStatic = new CompanyStoreStatic();\r\nexport const CompanyServicePropositionDispatcher: Dispatcher = new Dispatcher();\r\nexport const CompanyServicePropositionStore: CompanyServicePropositionStoreStatic = new CompanyServicePropositionStoreStatic();\r\nexport const BackOfficeProvidersDispatcher: Dispatcher = new Dispatcher();\r\nexport const BackOfficeProvidersStore: BackOfficeProviderStoreStatic = new BackOfficeProviderStoreStatic();\r\nexport const BackOfficeProviderBulkValuationReportDispatcher: Dispatcher = new Dispatcher();\r\nexport const BackOfficeProviderBulkValuationReportStore: BackOfficeProviderBulkValuationReportStoreStatic = new BackOfficeProviderBulkValuationReportStoreStatic();\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../react-core/Flux/Variables\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { UserClaim } from \"../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../Shared/Permission/PermissionHelper\";\r\n\r\nexport type IAdminDashboardProps = React.Props;\r\n\r\ninterface MenuItem {\r\n title: string;\r\n link: string;\r\n userClaim: UserClaim;\r\n}\r\n\r\ninterface MenuGroup {\r\n title: string;\r\n items: MenuItem[];\r\n userClaims: UserClaim[];\r\n}\r\n\r\n/**\r\n * Admin menu groups for the admin main(dashboard) page.\r\n * Extract the data from JSX rendering to trim the code and make the \"view\" data-driven.\r\n */\r\nconst ADMIN_DASHBOARD_MENU: MenuGroup[] = [\r\n {\r\n title: \"User management\",\r\n items: [\r\n {\r\n link: \"/Admin/Users/FindUsers.aspx\",\r\n title: \"Find user\",\r\n userClaim: UserClaim.AdviserPortalDluFindUsersCanView,\r\n },\r\n ],\r\n userClaims: [UserClaim.AdviserPortalDluFindUsersCanView],\r\n },\r\n {\r\n title: \"Authorisations and corrections\",\r\n items: [\r\n {\r\n link: \"/Admin/Authorisations/AuthoriseBankAccounts.aspx\",\r\n title: \"Authorising bank accounts\",\r\n userClaim: UserClaim.AdviserPortalDluAuthoriseBankAccountsCanView,\r\n },\r\n {\r\n link: \"/Admin/Authorisations/AuthoriseDocumentation.aspx\",\r\n title: \"Authorise documentations\",\r\n userClaim: UserClaim.AdviserPortalDluAuthoriseDocumentationCanView,\r\n },\r\n {\r\n link: \"/admin/Corrections/CorrectionRequest.aspx\",\r\n title: \"Error correction: request\",\r\n userClaim: UserClaim.AdviserPortalDluCorrectionRequestCanView,\r\n },\r\n {\r\n link: \"/admin/Corrections/CorrectionAuthorise.aspx\",\r\n title: \"Error correction: authorise\",\r\n userClaim: UserClaim.AdviserPortalDluCorrectionAuthoriseCanView,\r\n },\r\n ],\r\n userClaims: [\r\n UserClaim.AdviserPortalDluAuthoriseBankAccountsCanView,\r\n UserClaim.AdviserPortalDluAuthoriseDocumentationCanView,\r\n UserClaim.AdviserPortalDluCorrectionRequestCanView,\r\n UserClaim.AdviserPortalDluCorrectionAuthoriseCanView,\r\n ],\r\n },\r\n {\r\n title: \"Cash\",\r\n items: [\r\n {\r\n link: \"/admin/cash/manualCashAdjustments.aspx\",\r\n title: \"Manual cash adjustment: request\",\r\n userClaim: UserClaim.AdviserPortalDluManualCashAdjustmentsCanView,\r\n },\r\n {\r\n link: \"/admin/cash/authoriseCashAdjustments.aspx\",\r\n title: \"Manual cash adjustment: authorise\",\r\n userClaim: UserClaim.AdviserPortalDluAuthoriseCashAdjustmentsCanView,\r\n },\r\n {\r\n link: \"/admin/cash/AuthoriseWithdrawals.aspx\",\r\n title: \"Authorise withdrawals\",\r\n userClaim: UserClaim.AdviserPortalDluAuthoriseWithdrawalsCanView,\r\n },\r\n {\r\n link: \"/admin/cash/ReportLog.aspx\",\r\n title: \"Reports\",\r\n userClaim: UserClaim.AdviserPortalDluReportLogCanView,\r\n },\r\n ],\r\n userClaims: [\r\n UserClaim.AdviserPortalDluManualCashAdjustmentsCanView,\r\n UserClaim.AdviserPortalDluAuthoriseCashAdjustmentsCanView,\r\n UserClaim.AdviserPortalDluAuthoriseWithdrawalsCanView,\r\n UserClaim.AdviserPortalDluReportLogCanView,\r\n ],\r\n },\r\n {\r\n title: \"ISA management\",\r\n items: [\r\n {\r\n link: \"/admin/isa/CashStockMovement.aspx\",\r\n title: \"Void and repair\",\r\n userClaim: UserClaim.AdviserPortalDluCashStockMovementCanView,\r\n },\r\n ],\r\n userClaims: [UserClaim.AdviserPortalDluCashStockMovementCanView],\r\n },\r\n {\r\n title: \"Issue management\",\r\n items: [\r\n {\r\n link: \"/issues/logissue.aspx\",\r\n title: \"Log issue\",\r\n userClaim: UserClaim.AdviserPortalDluLogIssueCanView,\r\n },\r\n {\r\n link: \"/issues/managelog.aspx\",\r\n title: \"Manage issues\",\r\n userClaim: UserClaim.AdviserPortalDluManageLogCanView,\r\n },\r\n {\r\n link: \"/issues/ViewProjects.aspx\",\r\n title: \"View projects\",\r\n userClaim: UserClaim.AdviserPortalDluViewProjectsCanView,\r\n },\r\n {\r\n link: \"/issues/AddProject.aspx\",\r\n title: \"Add project\",\r\n userClaim: UserClaim.AdviserPortalDluAddProjectCanView,\r\n },\r\n ],\r\n userClaims: [UserClaim.AdviserPortalDluManageLogCanView],\r\n },\r\n];\r\n\r\n/**\r\n * Test if the page is specific to Admin users\r\n * @param url - Page's URL\r\n */\r\nexport const isAdminSpecificPage = (url: string = window.location.pathname): boolean => {\r\n url = url.toLowerCase();\r\n\r\n // starts with \"/admin/\" and ends with \".aspx\"\r\n if (/\\/admin\\/.*\\.aspx\\.*/.test(url)) {\r\n return true;\r\n }\r\n\r\n for (const group of ADMIN_DASHBOARD_MENU) {\r\n for (const item of group.items) {\r\n if (item.link.toLowerCase() === url) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n // Other pages specified to Admin users\r\n const otherAdminPages: string[] = [\r\n \"/Research/MarketSummary.aspx\",\r\n \"/Documents/Categories.aspx\",\r\n \"/Documents/AddDocCode.aspx\",\r\n \"/Documents/EditCategoryContent.aspx\",\r\n \"/Documents/Upload.aspx\",\r\n \"/Documents/EditDocCode.aspx\",\r\n \"/Documents/PreviewLiteratureLibraryDocuments.aspx\",\r\n \"/issues/logissue.aspx\",\r\n \"/issues/managelog.aspx\",\r\n \"/issues/ViewProjects.aspx\",\r\n \"/issues/AddProject.aspx\",\r\n ];\r\n for (const link of otherAdminPages) {\r\n if (url.includes(link.toLowerCase())) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport class AdminDashboard extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!ContextStore.getContext()?.isAdminUser) {\r\n return null;\r\n }\r\n\r\n const menuGroups: MenuGroup[] = ADMIN_DASHBOARD_MENU;\r\n\r\n return (\r\n
\r\n

Admin

\r\n
\r\n {menuGroups.map((group) =>\r\n checkPermission(group.userClaims) ? (\r\n
\r\n
\r\n
\r\n

{group.title}

\r\n {group.items.map((item) =>\r\n checkPermission(item.userClaim) ? (\r\n \r\n ) : null\r\n )}\r\n
\r\n
\r\n
\r\n ) : null\r\n )}\r\n\r\n
\r\n
\r\n
\r\n

\r\n More admin activity\r\n

\r\n

All other admin activities can be accessed using the Menu.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { NetworkInstructionHistoryClient } from \"../../../../Wrap/Api/Network/NetworkInstructionHistory\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { NetworkInstructionDispatcher, NetworkWizardDispatcher, NetworkDispatcher } from \"../Stores/Variable\";\r\nimport { NetworkInstructionClient } from \"../../../../Wrap/Api/Network/NetworkInstruction\";\r\nimport { NetworkInstructionModel } from \"../../../../Wrap/Models/Models/Network/NetworkInstructionModel\";\r\nimport { NetworkHistoryClient } from \"../../../../Wrap/Api/Network/NetworkHistory\";\r\n\r\nexport class NetworkAction {\r\n public static getNetworkList(query): void {\r\n const client = new NetworkInstructionHistoryClient();\r\n const promise = client.get(\r\n query.Statuses,\r\n query.NetworkType,\r\n query.NetworkName,\r\n query.TradingReference,\r\n query.CreateUserId,\r\n query.StartedFromDate,\r\n query.StartedToDate,\r\n query.UpdatedFromDate,\r\n query.UpdatedToDate,\r\n query.NetworkProcessType,\r\n query.Count,\r\n query.Start\r\n );\r\n promise.onSuccess((data) => {\r\n NetworkInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static deleteNetworkList(query: number[], callback?: () => void): void {\r\n const client = new NetworkInstructionClient();\r\n const promise = client.delete(query);\r\n promise.onSuccess((data) => {\r\n if (data.length == 0) {\r\n NetworkInstructionDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n });\r\n } else {\r\n NetworkInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n });\r\n }\r\n callback();\r\n });\r\n\r\n promise.onError((err) => {\r\n NetworkInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getNetwork(query: any, callback?) {\r\n const client = new NetworkHistoryClient();\r\n const promise = client.get(\r\n query.NetworkId,\r\n query.NetworkType,\r\n query.NetworkName,\r\n query.TradingReference,\r\n query.PostCode,\r\n false,\r\n query.Max,\r\n query.Min\r\n );\r\n promise.onSuccess((data) => {\r\n NetworkDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback(data);}\r\n });\r\n promise.onError((err) => {\r\n NetworkDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getNetworkInstruction(id: string | number) {\r\n const client = new NetworkInstructionClient();\r\n const promise = client.get(Number(id));\r\n promise.onSuccess((data) => {\r\n NetworkWizardDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n NetworkWizardDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static updateNetworkInstruction(data: NetworkInstructionModel, callback?) {\r\n const client = new NetworkInstructionClient();\r\n const promise = client.put(data);\r\n promise.onSuccess((data) => {\r\n NetworkWizardDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: data,\r\n });\r\n if (callback) {callback();}\r\n });\r\n\r\n promise.onError((err) => {\r\n NetworkWizardDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static submit(data: NetworkInstructionModel, onSuccess?: () => void): void {\r\n const client = new NetworkInstructionClient();\r\n const promise = client.put(data);\r\n promise.onSuccess(() => onSuccess());\r\n }\r\n\r\n public static createNetworkInstruction(data: NetworkInstructionModel, callback?) {\r\n const client = new NetworkInstructionClient();\r\n const promise = client.post(data);\r\n promise.onSuccess((data) => {\r\n NetworkDispatcher.dispatch({ actionType: ActionType.Success, payload: null });\r\n NetworkWizardDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback(data);}\r\n });\r\n\r\n promise.onError((err) => {\r\n NetworkWizardDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\nimport { NetworkAction } from \"../Actions/NetworkAction\";\r\nimport { NetworkStore } from \"../Stores/Variable\";\r\nimport { Dictionary } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { InstructionStatus } from \"../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { SelectEditor } from \"../../../../react-core/Html/SelectEditor\";\r\nimport { NetworkType } from \"../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { Navigator } from \"../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../Dashboard/Urls\";\r\nimport { NetworkFilterDashboard } from \"./NetworkFilterDashboard\";\r\nimport { NetworkProcessType } from \"../../../../Wrap/Constants/Enums/Network/NetworkProcessType\";\r\nimport { NetworkHistoryTable } from \"./NetworkHistoryTable\";\r\nimport { NetworkHistoryModel } from \"../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { checkPermission } from \"../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { UserClient } from \"../../../../Wrap/Api/User/User\";\r\nimport { IndividualUserFunctionClient } from \"../../../../Wrap/Api/User/IndividualUserFunction\";\r\nimport { UserStore } from \"../../../Dashboard/Stroes/Variable\";\r\n\r\nexport type INetworkDashboardProps = React.Props;\r\n\r\ninterface INetworkDashboardState {\r\n tableData: FirmInstructionHistoryCollectionModel;\r\n isLoading?: boolean;\r\n currentPage: number;\r\n filter: any;\r\n createType: NetworkType;\r\n selectNetwork: NetworkHistoryModel;\r\n hasNetworkPermission: boolean;\r\n}\r\n\r\nexport class NetworkDashboard extends FormComponent {\r\n constructor(props: INetworkDashboardProps) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n createType: null,\r\n selectNetwork: null,\r\n filter: {\r\n Statuses: [InstructionStatus.Complete],\r\n NetworkType: 0,\r\n NetworkName: \"\",\r\n TradingReference: \"\",\r\n PostCode: \"\",\r\n Count: 10,\r\n },\r\n hasNetworkPermission: false,\r\n };\r\n this.subscribeToStore(NetworkStore, () => this.onNetworkStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n const clientId = UserStore.getUserInfo().ClientId;\r\n\r\n if (clientId == null || clientId == 0) {\r\n const client = new UserClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((result) => {\r\n this.checkNetworkPermission(result.ClientId);\r\n });\r\n promise.onError((err) => {});\r\n } else {\r\n this.checkNetworkPermission(clientId);\r\n }\r\n }\r\n\r\n public checkNetworkPermission(clientId: number) {\r\n const FunctionName = \"CanModifyNetworks\";\r\n const client = new IndividualUserFunctionClient();\r\n const promise = client.get(clientId, FunctionName);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n this.setState({ hasNetworkPermission: data });\r\n })\r\n .onError(() => {\r\n this.setState({ hasNetworkPermission: false });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!checkPermission(UserClaim.AdviserPortalNetworkAndFirmReadWrite)) {return null;}\r\n return (\r\n <>\r\n

Network

\r\n
\r\n
\r\n {\r\n if (v == NetworkType.ServiceProvider) {return \"Service provider\";}\r\n return \"Network\";\r\n }}\r\n placeholder=\"Please select\"\r\n onChange={(v) => this.setState({ createType: v })}\r\n />\r\n
\r\n
\r\n {\r\n const { createType } = this.state;\r\n if (this.state.hasNetworkPermission && createType) {\r\n NetworkAction.createNetworkInstruction(\r\n {\r\n NetworkProcessType: NetworkProcessType.NetworkSetup,\r\n NetworkType: createType,\r\n },\r\n (data) => {\r\n Navigator.navigateTo(\r\n createType == NetworkType.ServiceProvider\r\n ? Urls.get().ServiceProviderNetworkWizard\r\n : Urls.get().NetworkDetailsWizard,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { id: data.Id },\r\n }\r\n );\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n Create\r\n \r\n
\r\n
\r\n {this.renderFilter()}\r\n {this.state.selectNetwork && this.renderSelectedNetwork()}\r\n {this.renderTable()}\r\n \r\n );\r\n }\r\n\r\n private renderSelectedNetwork() {\r\n const { selectNetwork } = this.state;\r\n return (\r\n
\r\n
\r\n
\r\n

Selected Network

\r\n
{selectNetwork.NetworkName}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n this.state.hasNetworkPermission && this.onClickEdit()}\r\n disabled={!this.state.hasNetworkPermission}\r\n >\r\n Edit this network\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private onClickEdit() {\r\n const networkType = this.state.selectNetwork.NetworkType;\r\n const NetworkId = this.state.selectNetwork.Network;\r\n NetworkAction.createNetworkInstruction(\r\n { NetworkType: networkType, NetworkId: NetworkId, NetworkProcessType: NetworkProcessType.EditNetwork },\r\n (data) => {\r\n Navigator.navigateTo(\r\n networkType == NetworkType.ServiceProvider\r\n ? Urls.get().ServiceProviderNetworkWizard\r\n : Urls.get().NetworkDetailsWizard,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { id: data.Id },\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n private renderTable() {\r\n const { tableData, currentPage, filter, isLoading } = this.state;\r\n return (\r\n this.setState({ selectNetwork: v })}\r\n />\r\n );\r\n }\r\n private renderFilter(): JSX.Element {\r\n const { filter } = this.state;\r\n return (\r\n \r\n );\r\n }\r\n\r\n handleFilterChange = (changes: Dictionary[]) => {\r\n const updatedfilter = this.state.filter;\r\n for (const key in changes) {\r\n updatedfilter[key] = changes[key];\r\n }\r\n console.log(updatedfilter);\r\n this.setState({ filter: updatedfilter });\r\n };\r\n\r\n handlePageChange = (pageIndex: number) => {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n };\r\n\r\n private onNetworkStoreChange() {\r\n const data = NetworkStore.getData();\r\n this.setState({ tableData: data, isLoading: false });\r\n }\r\n\r\n onSearch = () => {\r\n this.setState({ currentPage: 1, selectNetwork: null });\r\n this.getData(1);\r\n };\r\n\r\n private getData(pageIndex: number): void {\r\n const query = this.getQuery(pageIndex);\r\n this.setState({ isLoading: true });\r\n NetworkAction.getNetwork(query);\r\n }\r\n\r\n private getQuery(pageIndex: number): any {\r\n const { filter } = this.state;\r\n const start = (pageIndex - 1) * filter.Count + 1;\r\n const query = JSON.parse(JSON.stringify(filter));\r\n query.Min = start;\r\n query.Max = start + 9;\r\n return query;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../react-core/Html/SelectEditor\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { TextBoxEditor } from \"../../../../react-core/Html/TextBoxEditor\";\r\nimport { DatePicker } from \"../../../../react-core/Datepicker/DatePicker\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../Shared/Entities/Constants/DateConstants\";\r\nimport { ContentFilter, ProcessTypeOptions, NetworkTypeOptions, CreatedbyOptions, errorMsg } from \"../Resource/Content\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { NoSpecial, Numeric } from \"../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface INetworkFilterProps {\r\n filter: any;\r\n handleFilterChange: (changes) => void;\r\n onSearch: VoidFunction;\r\n}\r\n\r\ninterface INetworkFilterState {}\r\n\r\nexport class NetworkFilter extends FormComponent {\r\n constructor(props: INetworkFilterProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {this.renderFilters()}\r\n {this.renderDateRanges()}\r\n \r\n );\r\n }\r\n\r\n private renderFilters(): JSX.Element {\r\n const { NetworkProcessType, NetworkType, NetworkName, TradingReference, CreateUserId } = this.props.filter;\r\n const { handleFilterChange } = this.props;\r\n return (\r\n <>\r\n

{ContentFilter.title.title}

\r\n
\r\n
\r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, ProcessTypeOptions)}\r\n onChange={(v) => handleFilterChange({ NetworkProcessType: v })}\r\n />\r\n
\r\n
\r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, NetworkTypeOptions)}\r\n onChange={(v) => handleFilterChange({ NetworkType: v })}\r\n />\r\n
\r\n
\r\n handleFilterChange({ NetworkName: v })}\r\n />\r\n
\r\n
\r\n handleFilterChange({ TradingReference: v })}\r\n maxLength={8}\r\n regex={{ errorMessage: \"Must be numbers\", value: Numeric }}\r\n />\r\n
\r\n
\r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, CreatedbyOptions)}\r\n onChange={(v) => handleFilterChange({ CreateUserId: v == \"1\" ? 1 : null })}\r\n />\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderDateRanges(): JSX.Element {\r\n const { StartedFromDate, StartedToDate, UpdatedFromDate, UpdatedToDate } = this.props.filter;\r\n const { handleFilterChange, onSearch } = this.props;\r\n return (\r\n <>\r\n
\r\n
\r\n

{ContentFilter.search.dateStarted}

\r\n
\r\n
\r\n \r\n handleFilterChange({ StartedFromDate: JsonDateParser.toJsonDateNoOffset(d) })\r\n }\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n \r\n handleFilterChange({ StartedToDate: JsonDateParser.toJsonDateNoOffset(d) })\r\n }\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

{ContentFilter.search.lastUpdated}

\r\n
\r\n
\r\n \r\n handleFilterChange({ UpdatedFromDate: JsonDateParser.toJsonDateNoOffset(d) })\r\n }\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n \r\n handleFilterChange({ UpdatedToDate: JsonDateParser.toJsonDateNoOffset(d) })\r\n }\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (this.isValid()) {\r\n this.props.onSearch();\r\n }\r\n }}\r\n >\r\n {ContentFilter.title.search}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../react-core/Html/SelectEditor\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { TextBoxEditor } from \"../../../../react-core/Html/TextBoxEditor\";\r\nimport { ContentFilter, NetworkTypeOptions, errorMsg } from \"../Resource/Content\";\r\nimport { NoSpecial, Numeric } from \"../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { ValidatorContents } from \"../../../Dashboard/Common/ValidatorHelper\";\r\nimport { AlphanumericWithSpecialCharacters } from \"../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface INetworkFilterDashboardProps {\r\n filter: any;\r\n handleFilterChange: (changes) => void;\r\n onSearch: VoidFunction;\r\n}\r\n\r\ninterface INetworkFilterDashboardState {}\r\n\r\nexport class NetworkFilterDashboard extends FormComponent {\r\n constructor(props: INetworkFilterDashboardProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.renderFilters()};\r\n }\r\n\r\n private renderFilters(): JSX.Element {\r\n const { NetworkId, NetworkType, NetworkName, TradingReference, PostCode } = this.props.filter;\r\n const { handleFilterChange } = this.props;\r\n return (\r\n <>\r\n

{ContentFilter.title.title}

\r\n
\r\n
\r\n handleFilterChange({ NetworkId: v })}\r\n />\r\n
\r\n
\r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, NetworkTypeOptions)}\r\n onChange={(v) => handleFilterChange({ NetworkType: v })}\r\n />\r\n
\r\n
\r\n handleFilterChange({ NetworkName: v })}\r\n />\r\n
\r\n
\r\n handleFilterChange({ TradingReference: v })}\r\n maxLength={8}\r\n regex={{ errorMessage: \"Must be numeric characters only\", value: Numeric }}\r\n />\r\n
\r\n
\r\n handleFilterChange({ PostCode: v })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (this.isValid()) {\r\n this.props.onSearch();\r\n }\r\n }}\r\n >\r\n {ContentFilter.title.search}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { PartLoading } from \"../../../../react-core/Html/PartLoading\";\r\nimport { Pager } from \"../../../../react-core/Html/Pager\";\r\nimport { ContentTable, NetworkTypeOptions } from \"../Resource/Content\";\r\nimport { NetworkHistoryPaginatedModel } from \"../../../../Wrap/Models/Models/Network/NetworkHistoryPaginatedModel\";\r\nimport { NetworkHistoryModel } from \"../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { FsaAuthorisationStatusMap } from \"../../Company/CompanyWizard/Resource/Content\";\r\n\r\ninterface INetworkHistoryTableProps {\r\n tableData?: NetworkHistoryPaginatedModel;\r\n currentPage: number;\r\n pageSize: number;\r\n isLoading: boolean;\r\n handlePageChange: (currentPage) => void;\r\n onSelectNetwork: (network) => void;\r\n}\r\n\r\ninterface INetworkHistoryTableState {}\r\n\r\nexport class NetworkHistoryTable extends BaseComponent {\r\n constructor(props: INetworkHistoryTableProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { tableData, isLoading } = this.props;\r\n\r\n return (\r\n <>\r\n {isLoading ? this.renderPartLoading() : tableData && this.renderTable(tableData)}\r\n {tableData && tableData.TotalRows > 0 && this.renderPagination()}\r\n \r\n );\r\n }\r\n\r\n private renderPartLoading() {\r\n return (\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderPagination() {\r\n const { currentPage, pageSize, handlePageChange } = this.props;\r\n const { TotalRows } = this.props.tableData;\r\n return (\r\n
\r\n
\r\n {\r\n handlePageChange(pageIndex);\r\n }}\r\n recordsPerPageOptions={[10, 15, 20]}\r\n isShowPerPageOptions={false}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderTableRow(data: NetworkHistoryModel): JSX.Element {\r\n return (\r\n \r\n this.props.onSelectNetwork(data)}\r\n style={{ textDecoration: \"underline\", cursor: \"pointer\" }}\r\n >\r\n {data.Network}\r\n \r\n {data.NetworkName}\r\n {CommonHelper.getOptionsTxt(data.NetworkType, NetworkTypeOptions)}\r\n {data.FcaTradingReference}\r\n {FsaAuthorisationStatusMap[data.FcaTradingStatus]}\r\n {data.DefaultCompanyName}\r\n {data.PostCode}\r\n \r\n );\r\n }\r\n\r\n private renderTable(tabledata: NetworkHistoryPaginatedModel): JSX.Element {\r\n const data = tabledata.networks;\r\n if (data.length === 0) {\r\n return
{ContentTable.noDataMsg}
;\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {Object.values(ContentTable.networkHistoryHeader).map((ele) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {data.map((ele) => {\r\n return this.renderTableRow(ele);\r\n })}\r\n \r\n
{ele}
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\nimport { NetworkAction } from \"../Actions/NetworkAction\";\r\nimport { NetworkInstructionStore, NetworkStore, NetworkWizardStore } from \"../Stores/Variable\";\r\nimport { NetworkFilter } from \"./NetworkFilter\";\r\nimport { Dictionary } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { InstructionStatus } from \"../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { NetworkTable } from \"./NetworkTable\";\r\nimport { checkPermission } from \"../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\n\r\nexport type INetworkInProgressProps = React.Props;\r\n\r\ninterface INetworkInProgressState {\r\n tableData: FirmInstructionHistoryCollectionModel;\r\n isLoading?: boolean;\r\n currentPage: number;\r\n filter: any;\r\n}\r\n\r\nexport class NetworkInProgress extends FormComponent {\r\n constructor(props: INetworkInProgressProps) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n filter: {\r\n Statuses: [InstructionStatus.Pending],\r\n NetworkProcessType: 0,\r\n NetworkType: 0,\r\n NetworkName: \"\",\r\n TradingReference: \"\",\r\n CreateUserId: null,\r\n StartedFromDate: null,\r\n StartedToDate: null,\r\n UpdatedFromDate: null,\r\n UpdatedToDate: null,\r\n Count: 10,\r\n },\r\n };\r\n this.subscribeToStore(NetworkInstructionStore, () => this.onNetworkStoreChange());\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!checkPermission(UserClaim.AdviserPortalNetworkAndFirmReadWrite)) {return null;}\r\n return (\r\n <>\r\n {this.renderFilter()}\r\n {this.renderTable()}\r\n \r\n );\r\n }\r\n\r\n private renderTable(): JSX.Element {\r\n const { tableData, currentPage, filter, isLoading } = this.state;\r\n return (\r\n \r\n );\r\n }\r\n\r\n private renderFilter(): JSX.Element {\r\n const { filter } = this.state;\r\n return ;\r\n }\r\n\r\n handleFilterChange = (changes: Dictionary[]) => {\r\n const updatedfilter = this.state.filter;\r\n for (const key in changes) {\r\n updatedfilter[key] = changes[key];\r\n }\r\n console.log(updatedfilter);\r\n this.setState({ filter: updatedfilter });\r\n };\r\n\r\n handlePageChange = (pageIndex: number) => {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n };\r\n\r\n handleTableSubmit = (items: number[]) => {\r\n // TODO: Post submit to backend\r\n NetworkAction.deleteNetworkList(items, this.onSearch);\r\n };\r\n\r\n private onNetworkStoreChange() {\r\n const data = NetworkInstructionStore.getData();\r\n this.setState({ tableData: data, isLoading: false });\r\n }\r\n\r\n onSearch = () => {\r\n this.setState({ currentPage: 1 });\r\n this.getData(1);\r\n };\r\n\r\n private getData(pageIndex: number): void {\r\n const query = this.getQuery(pageIndex);\r\n this.setState({ isLoading: true });\r\n NetworkAction.getNetworkList(query);\r\n }\r\n\r\n private getQuery(pageIndex: number): any {\r\n const { filter } = this.state;\r\n const start = (pageIndex - 1) * filter.Count + 1;\r\n const query = JSON.parse(JSON.stringify(filter));\r\n query.Start = start;\r\n query.Count = start + 9;\r\n return query;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\nimport { NetworkAction } from \"../Actions/NetworkAction\";\r\nimport { NetworkInstructionStore, NetworkStore, NetworkWizardStore } from \"../Stores/Variable\";\r\nimport { NetworkFilter } from \"./NetworkFilter\";\r\nimport { Dictionary } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { InstructionStatus } from \"../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { NetworkTable } from \"./NetworkTable\";\r\nimport { checkPermission } from \"../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\n\r\nexport type INetworkSubmittedProps = React.Props;\r\n\r\ninterface INetworkSubmittedState {\r\n tableData: FirmInstructionHistoryCollectionModel;\r\n isLoading?: boolean;\r\n currentPage: number;\r\n filter: any;\r\n}\r\n\r\nexport class NetworkSubmitted extends FormComponent {\r\n constructor(props: INetworkSubmittedProps) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n filter: {\r\n Statuses: [InstructionStatus.Submitted, InstructionStatus.Complete],\r\n NetworkProcessType: 0,\r\n NetworkType: 0,\r\n NetworkName: \"\",\r\n TradingReference: \"\",\r\n CreateUserId: null,\r\n StartedFromDate: null,\r\n StartedToDate: null,\r\n UpdatedFromDate: null,\r\n UpdatedToDate: null,\r\n Count: 10,\r\n },\r\n };\r\n this.subscribeToStore(NetworkInstructionStore, () => this.onNetworkStoreChange());\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!checkPermission(UserClaim.AdviserPortalNetworkAndFirmReadWrite)) {return null;}\r\n return (\r\n <>\r\n {this.renderFilter()}\r\n {this.renderTable()}\r\n \r\n );\r\n }\r\n\r\n private renderTable(): JSX.Element {\r\n const { tableData, currentPage, filter, isLoading } = this.state;\r\n return (\r\n \r\n );\r\n }\r\n\r\n private renderFilter(): JSX.Element {\r\n const { filter } = this.state;\r\n return ;\r\n }\r\n\r\n handleFilterChange = (changes: Dictionary[]) => {\r\n const updatedfilter = this.state.filter;\r\n for (const key in changes) {\r\n updatedfilter[key] = changes[key];\r\n }\r\n console.log(updatedfilter);\r\n this.setState({ filter: updatedfilter });\r\n };\r\n\r\n handlePageChange = (pageIndex: number) => {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n };\r\n\r\n private onNetworkStoreChange() {\r\n const data = NetworkInstructionStore.getData();\r\n this.setState({ tableData: data, isLoading: false });\r\n }\r\n\r\n onSearch = () => {\r\n this.setState({ currentPage: 1 });\r\n this.getData(1);\r\n };\r\n\r\n private getData(pageIndex: number): void {\r\n const query = this.getQuery(pageIndex);\r\n this.setState({ isLoading: true });\r\n NetworkAction.getNetworkList(query);\r\n }\r\n\r\n private getQuery(pageIndex: number): any {\r\n const { filter } = this.state;\r\n const start = (pageIndex - 1) * filter.Count + 1;\r\n const query = JSON.parse(JSON.stringify(filter));\r\n query.Start = start;\r\n query.Count = start + 10;\r\n return query;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { PartLoading } from \"../../../../react-core/Html/PartLoading\";\r\nimport { Pager } from \"../../../../react-core/Html/Pager\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { ContentTable, ProcessTypeOptions } from \"../Resource/Content\";\r\nimport { StatusOptions } from \"../../Company/CompanyWizard/Resource/Content\";\r\nimport { NetworkInstructionHistoryPaginatedModel } from \"../../../../Wrap/Models/Models/Network/NetworkInstructionHistoryPaginatedModel\";\r\nimport { NetworkInstructionHistoryModel } from \"../../../../Wrap/Models/Models/Network/NetworkInstructionHistoryModel\";\r\nimport { Urls } from \"../../../Dashboard/Urls\";\r\nimport { UserClient } from \"../../../../Wrap/Api/User/User\";\r\nimport { IndividualUserFunctionClient } from \"../../../../Wrap/Api/User/IndividualUserFunction\";\r\nimport { UserStore } from \"../../../Dashboard/Stroes/Variable\";\r\n\r\ninterface INetworkTableProps {\r\n tableData?: NetworkInstructionHistoryPaginatedModel;\r\n currentPage: number;\r\n pageSize: number;\r\n isLoading: boolean;\r\n handlePageChange: (currentPage) => void;\r\n handleSubmit?: (itemToDelete: number[]) => void;\r\n inprogress: boolean;\r\n}\r\n\r\ninterface INetworkTableState {\r\n itemsToDelete: Array;\r\n hasNetworkPermission: boolean;\r\n}\r\n\r\nexport class NetworkTable extends BaseComponent {\r\n constructor(props: INetworkTableProps) {\r\n super(props);\r\n this.state = {\r\n itemsToDelete: [],\r\n hasNetworkPermission: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const clientId = UserStore.getUserInfo().ClientId;\r\n\r\n if (clientId == null || clientId == 0) {\r\n const client = new UserClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((result) => {\r\n this.checkNetworkPermission(result.ClientId);\r\n });\r\n promise.onError((err) => {});\r\n } else {\r\n this.checkNetworkPermission(clientId);\r\n }\r\n }\r\n\r\n public checkNetworkPermission(clientId: number) {\r\n const FunctionName = \"CanModifyNetworks\";\r\n const client = new IndividualUserFunctionClient();\r\n const promise = client.get(clientId, FunctionName);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n this.setState({ hasNetworkPermission: data });\r\n })\r\n .onError(() => {\r\n this.setState({ hasNetworkPermission: false });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { tableData, isLoading } = this.props;\r\n\r\n return (\r\n <>\r\n {isLoading ? this.renderPartLoading() : tableData && this.renderTable(tableData)}\r\n {tableData && tableData.TotalRows > 0 && this.renderPagination()}\r\n \r\n );\r\n }\r\n\r\n private renderPartLoading() {\r\n return (\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderPagination() {\r\n const { currentPage, pageSize, handlePageChange } = this.props;\r\n const { TotalRows } = this.props.tableData;\r\n return (\r\n
\r\n
\r\n {\r\n handlePageChange(pageIndex);\r\n }}\r\n recordsPerPageOptions={[10, 15, 20]}\r\n isShowPerPageOptions={false}\r\n />\r\n
\r\n {this.renderSubmitButton()}\r\n
\r\n );\r\n }\r\n\r\n private renderSubmitButton() {\r\n const { inprogress } = this.props;\r\n return (\r\n inprogress && (\r\n
\r\n \r\n
\r\n )\r\n );\r\n }\r\n\r\n private popupMessage() {\r\n const { itemsToDelete } = this.state;\r\n if (itemsToDelete.length == 0) {window.alert(ContentTable.noWizardSelected);}\r\n else if (itemsToDelete.length > 0) {\r\n const confirm = window.confirm(ContentTable.confirmDelete);\r\n if (confirm) {this.handleSubmit();}\r\n }\r\n }\r\n\r\n private handleSubmit() {\r\n this.props.handleSubmit(this.state.itemsToDelete);\r\n this.setState({ itemsToDelete: [] });\r\n }\r\n\r\n private renderTableRow(data: NetworkInstructionHistoryModel): JSX.Element {\r\n return (\r\n \r\n {JsonDateParser.getFormatDate(data.DateStarted, \"dd/MM/yyyy\")}\r\n {CommonHelper.getOptionsTxt(data.ProcessType, ProcessTypeOptions)}\r\n {CommonHelper.getOptionsTxt(data.Status, StatusOptions)}\r\n {data.NetworkName}\r\n {data.FcaReference}\r\n {data.CreateBy}\r\n {JsonDateParser.getFormatDate(data.LastUpdated, \"dd/MM/yyyy\")}\r\n {data.PostCode}\r\n {this.renderActionButton(data.NetworkInstructionId)}\r\n {this.renderDeleteBox(data.NetworkInstructionId)}\r\n {/* {this.renderEditNotes()} */}\r\n \r\n );\r\n }\r\n\r\n private isChecked(id: number) {\r\n const { itemsToDelete } = this.state;\r\n if (!itemsToDelete || itemsToDelete.length === 0) {\r\n return false;\r\n }\r\n return itemsToDelete.indexOf(id) >= 0;\r\n }\r\n\r\n private renderEditNotes(id: number) {\r\n const editNotesUrl = Urls.get().NetworkDetailsWizard.getUrl() + \"?id=\" + id;\r\n return (\r\n \r\n \r\n {ContentTable.editNotes}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderActionButton(id: number) {\r\n const { inprogress } = this.props;\r\n const url = Urls.get().NetworkDetailsWizard.getUrl() + \"?id=\" + id;\r\n return (\r\n \r\n \r\n {inprogress && this.state.hasNetworkPermission ? ContentTable.resume : ContentTable.view}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderDeleteBox(id: number) {\r\n const { inprogress } = this.props;\r\n return (\r\n inprogress &&\r\n this.state.hasNetworkPermission && (\r\n \r\n {\r\n this.handleDeleteChange(id);\r\n }}\r\n type=\"checkbox\"\r\n value=\"true\"\r\n />\r\n \r\n )\r\n );\r\n }\r\n\r\n private handleDeleteChange(id: number) {\r\n let newItemsToDelete = this.state.itemsToDelete;\r\n if (this.isChecked(id)) {\r\n newItemsToDelete = newItemsToDelete.filter((o) => o != id);\r\n } else {\r\n newItemsToDelete.push(id);\r\n }\r\n this.setState({ itemsToDelete: newItemsToDelete });\r\n }\r\n\r\n private renderDeleteTHead() {\r\n const { inprogress } = this.props;\r\n return inprogress && {ContentTable.delete};\r\n }\r\n\r\n private renderTable(tabledata: NetworkInstructionHistoryPaginatedModel): JSX.Element {\r\n const { inprogress } = this.props;\r\n const data = tabledata.Instructions;\r\n if (data.length === 0) {\r\n return
{ContentTable.noDataMsg}
;\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {Object.values(ContentTable.header).map((ele) => {\r\n return ;\r\n })}\r\n {this.renderDeleteTHead()}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.map((ele) => {\r\n return this.renderTableRow(ele);\r\n })}\r\n \r\n
{ele}{ContentTable.editNotes}
{tabledata.TotalRows + \" \" + ContentTable.sessions}
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Process, IStepConfig, StepType } from \"../../../Shared/Process/Process/Process\";\r\nimport { getQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Urls } from \"../../../Dashboard/Urls\";\r\nimport { Spinner } from \"../../../../react-core/Html/Spinner\";\r\nimport { Contents } from \"../../../Dashboard/Resoures/Contents\";\r\nimport { Lightbox, LightboxType } from \"../../../../react-core/Html/Components/Lightbox\";\r\nimport { Navigator } from \"../../../Shared/Wizards/Entities/Navigator\";\r\nimport { wizardStepperName } from \"../Resource/Content\";\r\nimport { ServiceProvider } from \"./NetworkWizard/ServiceProvider\";\r\nimport { Validate } from \"./NetworkWizard/Validate\";\r\nimport { NetworkAction } from \"../Actions/NetworkAction\";\r\nimport { NetworkType } from \"../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { NetworkWizardStore, NetworkStore } from \"../Stores/Variable\";\r\nimport { NetworkInstructionModel } from \"../../../../Wrap/Models/Models/Network/NetworkInstructionModel\";\r\nimport { Commission } from \"../../Company/CompanyWizard/Components/CompanySetUpWizard/Commission/Commission\";\r\nimport { NetworkDetails } from \"./NetworkWizard/NetworkDetails\";\r\nimport { BankAccountOwner } from \"../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { InstructionStatus } from \"../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { Confirmation } from \"../../../Shared/Process/Process/Confirmation\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { IndividualUserFunctionClient } from \"../../../../Wrap/Api/User/IndividualUserFunction\";\r\nimport { UserStore } from \"../../../Dashboard/Stroes/Variable\";\r\n\r\ninterface INetworkWizardState {\r\n data: NetworkInstructionModel;\r\n isLoading: boolean;\r\n errorMsg: string[];\r\n active: boolean;\r\n serviceProvider: any;\r\n isSubmitting: boolean;\r\n hasNetworkPermission: boolean;\r\n}\r\n\r\ninterface INetworkWizardProps {}\r\nexport class NetworkWizard extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n isLoading: true,\r\n errorMsg: [],\r\n active: true,\r\n serviceProvider: [],\r\n isSubmitting: false,\r\n hasNetworkPermission: false,\r\n };\r\n this.subscribeToStore(NetworkWizardStore, () => this.onNetworkWizardChange());\r\n this.subscribeToStore(NetworkStore, () => this.onNetworkStoreChange());\r\n }\r\n\r\n child: any = {};\r\n\r\n componentDidMount() {\r\n const id = getQueryParameters()[\"id\"];\r\n NetworkAction.getNetworkInstruction(id);\r\n this.checkNetworkPermission();\r\n }\r\n\r\n public checkNetworkPermission() {\r\n const FunctionName = \"CanModifyNetworks\";\r\n const clientId = UserStore.getUserInfo().ClientId;\r\n\r\n if (clientId !== undefined && clientId !== null) {\r\n const client = new IndividualUserFunctionClient();\r\n const promise = client.get(clientId, FunctionName);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n this.setState({ hasNetworkPermission: data });\r\n })\r\n .onError(() => {\r\n this.setState({ hasNetworkPermission: false });\r\n });\r\n }\r\n }\r\n\r\n private onNetworkStoreChange() {\r\n const data = NetworkStore.getData();\r\n if (data) {\r\n this.setState({ serviceProvider: data.networks });\r\n }\r\n }\r\n\r\n private onNetworkWizardChange() {\r\n const data = NetworkWizardStore.getData();\r\n if (data) {\r\n const serviceProvider = NetworkStore.getData();\r\n if (!serviceProvider) {\r\n const query = {\r\n NetworkType: NetworkType.ServiceProvider,\r\n Max: 1000,\r\n Min: 1,\r\n };\r\n NetworkAction.getNetwork(query);\r\n } else {\r\n this.setState({ serviceProvider: serviceProvider.networks });\r\n }\r\n this.setState({ isLoading: false, active: data.Status == InstructionStatus.Pending, data });\r\n }\r\n }\r\n\r\n private OnLeaveStepServiceProvider(isExit?: boolean): void {\r\n if (!this.state.active) {\r\n return isExit ? this.OnExit() : Navigator.navigateTo(Urls.get().ValidationNetworkWizard);\r\n }\r\n const isPass = this.child.serviceProvider.isValid();\r\n if (isPass) {\r\n NetworkAction.updateNetworkInstruction(this.state.data, () => {\r\n if (isExit) {\r\n this.OnExit();\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().ValidationNetworkWizard);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private onStepNetworkLeave(isExit?: boolean) {\r\n if (!this.state.active) {\r\n return isExit\r\n ? this.OnExit()\r\n : Navigator.navigateToAndPreserveQueryParameters(Urls.get().ValuationNetworkWizard);\r\n }\r\n const isPass = this.child.network.isValid();\r\n if (isPass) {\r\n if (this.state.data.FaxNumber?.Country == null || this.state.data.FaxNumber.Country == 0) {\r\n this.state.data.FaxNumber = null;\r\n }\r\n if (this.state.data.PhoneNumber?.Country == null || this.state.data.PhoneNumber.Country == 0) {\r\n this.state.data.PhoneNumber = null;\r\n }\r\n NetworkAction.updateNetworkInstruction(this.state.data, () => {\r\n if (isExit) {\r\n this.OnExit();\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().ValuationNetworkWizard);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private OnCommissionLeave(isExit?: boolean) {\r\n if (!this.state.active) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().ValidationNetworkWizard, true);\r\n return;\r\n }\r\n const flag = this.child.commission.isValid();\r\n if (flag) {\r\n NetworkAction.updateNetworkInstruction(this.state.data, () => {\r\n if (isExit) {\r\n this.OnExit();\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().ValidationNetworkWizard, true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private OnExit() {\r\n Navigator.navigateTo(Urls.get().main.NetworkWizardSetup);\r\n }\r\n\r\n private onDataChange(changes) {\r\n const { data } = this.state;\r\n for (const key in changes) {\r\n data[key] = changes[key];\r\n }\r\n this.setState({ data });\r\n console.log(\"data: \", data, \" change: \", changes);\r\n }\r\n\r\n private onSubmit(): void {\r\n const { data } = this.state;\r\n data.Status = InstructionStatus.Submitted;\r\n this.setState({ isSubmitting: true });\r\n\r\n NetworkAction.submit(data, () => this.setState({ active: false, isSubmitting: false }));\r\n }\r\n\r\n private onSave(currentStep?: number): void {\r\n const type = this.state.data.NetworkType;\r\n if (type == NetworkType.ServiceProvider && currentStep == 0) {\r\n this.OnLeaveStepServiceProvider(true);\r\n } else if (type == NetworkType.Network && currentStep == 0) {\r\n this.onStepNetworkLeave(true);\r\n } else if (type == NetworkType.Network && currentStep == 1) {\r\n this.OnCommissionLeave(true);\r\n } else {\r\n this.OnExit();\r\n }\r\n }\r\n\r\n private onCancel(): void {\r\n NetworkAction.deleteNetworkList([this.state.data.Id], this.OnExit);\r\n }\r\n\r\n render() {\r\n if (this.state.isLoading) {return ;}\r\n const { data } = this.state;\r\n\r\n let stepsConfig: IStepConfig[] =\r\n data.NetworkType == NetworkType.ServiceProvider\r\n ? [\r\n {\r\n title: wizardStepperName.serviceProvider,\r\n url: Urls.get().ServiceProviderNetworkWizard,\r\n path: Contents.URLMap.networkServiceProvider,\r\n onStepLeave: () => this.OnLeaveStepServiceProvider(),\r\n component: (\r\n this.onDataChange(changes)}\r\n data={this.state.data}\r\n onRef={(ref) => (this.child.serviceProvider = ref)}\r\n />\r\n ),\r\n },\r\n ]\r\n : [\r\n {\r\n title: wizardStepperName.network,\r\n url: Urls.get().NetworkDetailsWizard,\r\n path: Contents.URLMap.networkDetail,\r\n onStepLeave: () => this.onStepNetworkLeave(),\r\n component: (\r\n this.onDataChange(changes)}\r\n data={this.state.data}\r\n onRef={(ref) => (this.child.network = ref)}\r\n />\r\n ),\r\n },\r\n {\r\n title: wizardStepperName.valuation,\r\n url: Urls.get().ValuationNetworkWizard,\r\n path: Contents.URLMap.remunerationAndValuation,\r\n onStepLeave: () => this.OnCommissionLeave(),\r\n component: (\r\n this.onDataChange(changes)}\r\n data={this.state.data}\r\n onRef={(ref) => (this.child.commission = ref)}\r\n bankOwnerType={BankAccountOwner.Network}\r\n isNetWork={true}\r\n />\r\n ),\r\n },\r\n ];\r\n if (this.state.hasNetworkPermission) {\r\n stepsConfig = stepsConfig.concat([\r\n {\r\n title: wizardStepperName.validationAndExcute,\r\n url: Urls.get().ValidationNetworkWizard,\r\n path: Contents.URLMap.validationAndExcute,\r\n onSubmit: () => this.onSubmit(),\r\n component: (\r\n this.onDataChange(changes)}\r\n data={this.state.data}\r\n onRef={(ref) => (this.child.commission = ref)}\r\n />\r\n ),\r\n },\r\n {\r\n title: wizardStepperName.confirmation,\r\n url: Urls.get().ConfirmNetworkWizard,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.OnExit()}\r\n successMessage={\"We have successfully received your application for network setup\"}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ]);\r\n }\r\n\r\n return (\r\n <>\r\n this.onCancel() : null}\r\n onSave={(currentStep) => this.onSave(currentStep)}\r\n processTitle=\"Network wizard\"\r\n goBacktoFirst={true}\r\n active={this.state.active}\r\n isShowError={false}\r\n errorMsg={[]}\r\n onClearError={() => this.setState({ errorMsg: [] })}\r\n />\r\n {this.state.errorMsg.length > 0 && (\r\n 0}\r\n title={\"Alert\"}\r\n contentAfterTitle={null}\r\n onClose={() => this.setState({ errorMsg: [] })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n {this.state.errorMsg.map((error, index) => {\r\n return

{error}

;\r\n })}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { NetworkType } from \"../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { FsaAuthorisationStatusMap, FsaAuthorisationStatusArray, errorMsg } from \"../../Resource/Content\";\r\nimport { NoSpecial, Email, Numeric } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { NetworkInstructionModel } from \"../../../../../Wrap/Models/Models/Network/NetworkInstructionModel\";\r\nimport { SectionHeader } from \"../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/SharedComponents\";\r\nimport { FirmAddress } from \"../../../Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/FirmAddress\";\r\nimport { ContactOwnerType } from \"../../../../../Wrap/Models/Models/Instructions/ContactOwnerType\";\r\nimport { CountryPhone } from \"../../../Company/CompanyWizard/Components/CompanySetUpWizard/FirmDetail/CountryPhone\";\r\nimport { NetworkHistoryModel } from \"../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { ValidatorContents } from \"../../../../Dashboard/Common/ValidatorHelper\";\r\nimport { AlphanumericWithSpecialCharacters } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface INetworkDetailsProps extends React.Props {\r\n data: NetworkInstructionModel;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n isReview: boolean;\r\n serviceProvider: NetworkHistoryModel[];\r\n}\r\n\r\ninterface INetworkDetailsState {\r\n confirmEmail: string;\r\n}\r\n\r\nexport class NetworkDetails extends FormComponent {\r\n constructor(props: INetworkDetailsProps) {\r\n super(props);\r\n this.state = {\r\n confirmEmail: props.data.Email,\r\n };\r\n }\r\n\r\n child: any = [];\r\n\r\n isValid() {\r\n let flag = super.isValid();\r\n const child = this.child.concat();\r\n child.reverse().forEach((element) => {\r\n const isValid = element.isValid();\r\n if (!isValid) {flag = false;}\r\n });\r\n return flag;\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n
\r\n
\r\n {SectionHeader(\"Network details\")}\r\n {\r\n this.props.onChange({ NetworkName: v });\r\n }}\r\n disabled={this.props.isReview}\r\n value={data.NetworkName}\r\n label={\"Network name*\"}\r\n maxLength={50}\r\n regex={{ errorMessage: ValidatorContents.AlphaNumericWithSpecialCharacters,\r\n value: AlphanumericWithSpecialCharacters, }}\r\n required=\"Please enter network name\"\r\n />\r\n \"Network\"}\r\n selected={NetworkType.Network}\r\n label=\"Network type\"\r\n disabled={true}\r\n onChange={(v) => {}}\r\n />\r\n {\r\n return v.NetworkName;\r\n }}\r\n disabled={this.props.isReview}\r\n selected={\r\n data.LinkedServiceProviderId\r\n ? this.props.serviceProvider.filter(\r\n (ele) => ele.NetworkId == data.LinkedServiceProviderId\r\n )[0]\r\n : null\r\n }\r\n placeholder=\"Please select\"\r\n label=\"Linked service provider\"\r\n onChange={(v) => {\r\n this.props.onChange({ LinkedServiceProviderId: v ? v.NetworkId : 0 });\r\n }}\r\n />\r\n {\r\n this.props.onChange({ FcaTradingReference: v });\r\n }}\r\n value={data.FcaTradingReference}\r\n label={\"FCA/Trading reference: *\"}\r\n maxLength={8}\r\n regex={{ errorMessage: \"Must be numbers\", value: Numeric }}\r\n required=\"Please enter FCA/Trading reference\"\r\n />\r\n {\r\n this.props.onChange({ FsaAuthorisationStatus: v });\r\n }}\r\n selected={data.FsaAuthorisationStatus}\r\n label={\"FCA/Trading status\"}\r\n getText={(v) => {\r\n return FsaAuthorisationStatusMap[v];\r\n }}\r\n options={FsaAuthorisationStatusArray}\r\n required=\"Please select FCA/Trading status\"\r\n />\r\n {\r\n this.props.onChange({ ExternalReferenceCode: v });\r\n }}\r\n value={data.ExternalReferenceCode}\r\n label={\"External reference code:\"}\r\n maxLength={8}\r\n regex={{ errorMessage: errorMsg.noSpecial, value: NoSpecial }}\r\n />\r\n
\r\n {SectionHeader(\"Contact details\")}\r\n this.child.push(ref)}\r\n data={data.Address}\r\n instructionId={data.Id}\r\n onChange={(v) => this.props.onChange({ Address: v })}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n this.props.onChange({ PhoneNumber: v })}\r\n required={true}\r\n isFax={false}\r\n sectionHeader=\"Phone number\"\r\n data={data.PhoneNumber}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n this.props.onChange({ FaxNumber: v })}\r\n isFax={true}\r\n sectionHeader=\"Fax number\"\r\n data={data.FaxNumber}\r\n onRef={(ref) => this.child.push(ref)}\r\n />\r\n this.props.onChange({ Email: v })}\r\n />\r\n this.setState({ confirmEmail: v })}\r\n validationRules={[\r\n {\r\n errorMessage: \"Must be same as email address\",\r\n validator: (v) => {\r\n if (v) {\r\n return v == data.Email ? true : false;\r\n }\r\n return true;\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { NetworkType } from \"../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { FsaAuthorisationStatusMap, FsaAuthorisationStatusArray, errorMsg } from \"../../Resource/Content\";\r\nimport { AlphanumericWithSpecialCharacters, NoSpecial } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { ValidatorContents } from \"../../../../Dashboard/Common/ValidatorHelper\";\r\n\r\ninterface IServiceProviderProps extends React.Props {\r\n data: any;\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n isReview: boolean;\r\n}\r\n\r\ninterface IServiceProviderState {}\r\n\r\nexport class ServiceProvider extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n return (\r\n
\r\n
\r\n

Network details

\r\n {\r\n this.props.onChange({ NetworkName: v });\r\n }}\r\n value={data.NetworkName}\r\n disabled={this.props.isReview}\r\n maxLength={50}\r\n regex={{ errorMessage: ValidatorContents.AlphaNumericWithSpecialCharacters, value: AlphanumericWithSpecialCharacters }}\r\n label={\"Network name*\"}\r\n required=\"Please enter network name\"\r\n />\r\n \"Service provider\"}\r\n label=\"Network type\"\r\n selected={NetworkType.ServiceProvider}\r\n disabled={true}\r\n onChange={(v) => {}}\r\n />\r\n {\r\n this.props.onChange({ FsaAuthorisationStatus: v });\r\n }}\r\n selected={data.FsaAuthorisationStatus}\r\n label={\"FCA/Trading status\"}\r\n getText={(v) => {\r\n return FsaAuthorisationStatusMap[v];\r\n }}\r\n options={FsaAuthorisationStatusArray}\r\n required=\"Please select FCA/Trading status\"\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IValidateProps extends IProcessComponentProps {}\r\n\r\ninterface IValidateState {}\r\n\r\nexport class Validate extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n

Validate and execute

\r\n \r\n

To confirm that you wish to proceed to the final step, click here.

\r\n \r\n );\r\n }\r\n}\r\n","import { Dictionary } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { DistributionChannel } from \"../../../../Wrap/Constants/Enums/Domain/DistributionChannel\";\r\nimport { FsaAuthorisationStatus } from \"../../../../Wrap/Constants/Enums/Domain/FsaAuthorisationStatus\";\r\n\r\nexport const ContentFilter = {\r\n title: {\r\n title: \"Search criteria\",\r\n search: \"Search\",\r\n },\r\n search: {\r\n processType: \"Process type\",\r\n networkType: \"Network type\",\r\n networkName: \"Network name\",\r\n reference: \"FCA/Trading reference\",\r\n createdBy: \"Created by\",\r\n dateStarted: \"Date started\",\r\n lastUpdated: \"Last updated\",\r\n postCode: \"Postcode\",\r\n from: \"From\",\r\n to: \"To\",\r\n networkId: \"Network ID\",\r\n },\r\n};\r\n\r\nexport const ContentTable = {\r\n noDataMsg: \"No results have been found for the entered criteria\",\r\n header: {\r\n dateStarted: \"Date started\",\r\n processType: \"Process type\",\r\n status: \"Status\",\r\n networkName: \"Network name\",\r\n reference: \"FCA/Trading reference\",\r\n createdBy: \"Created by\",\r\n lastUpdated: \"Last updated\",\r\n postCode: \"Postcode\",\r\n action: \"Action\",\r\n },\r\n view: \"VIEW\",\r\n resume: \"RESUME\",\r\n delete: \"Delete\",\r\n sessions: \"SESSIONS\",\r\n editNotes: \"Edit Notes\",\r\n defaultUrl: \"javascript:void(0);\",\r\n save: \"save\",\r\n other: \"Other\",\r\n confirmDelete: \"Are you sure you want to delete selected wizards?\",\r\n noWizardSelected: \"Please select wizard to delete\",\r\n networkHistoryHeader: {\r\n networkId: \"Network ID\",\r\n networkName: \"Network name\",\r\n networkType: \"Network type\",\r\n reference: \"FCA/Trading reference\",\r\n FcaReferenceStatus: \"FCA/Trading reference status\",\r\n LinkedDaFirmName: \"Linked DA firm name\",\r\n postCode: \"Postcode\",\r\n },\r\n};\r\n\r\nexport const CreatedbyOptions: Dictionary[] = [\r\n { key: 0, value: \"Anyone\" },\r\n { key: 1, value: \"Me\" },\r\n];\r\n\r\nexport const ProcessTypeOptions: Dictionary[] = [\r\n { key: 0, value: \"All\" },\r\n { key: 1, value: \"Create network\" },\r\n { key: 2, value: \"Edit network\" },\r\n];\r\n\r\nexport const NetworkTypeOptions: Dictionary[] = [\r\n { key: 0, value: \"All\" },\r\n { key: 1, value: \"Network\" },\r\n { key: 2, value: \"Service provider\" },\r\n];\r\n\r\nexport const wizardStepperName = {\r\n serviceProvider: \"Network details\",\r\n validationAndExcute: \"Validate and execute\",\r\n network: \"Network details\",\r\n valuation: \"Remuneration and valuation\",\r\n confirmation: \"Confirmation\",\r\n};\r\n\r\nexport const FsaAuthorisationStatusArray = [\r\n FsaAuthorisationStatus.Authorised,\r\n FsaAuthorisationStatus.Deauthorised,\r\n FsaAuthorisationStatus.Pendingauthorisation,\r\n FsaAuthorisationStatus.Eeaauthorised,\r\n];\r\n\r\nexport const FsaAuthorisationStatusMap = {\r\n [FsaAuthorisationStatus.Authorised]: \"Authorised\",\r\n [FsaAuthorisationStatus.Deauthorised]: \"De-authorised\",\r\n [FsaAuthorisationStatus.Pendingauthorisation]: \"Pending authorisation\",\r\n [FsaAuthorisationStatus.Eeaauthorised]: \"EEA authorised\",\r\n};\r\n\r\nexport const DistributionArray = [DistributionChannel.Adviser];\r\n\r\nexport const DistributionMap = {\r\n [DistributionChannel.Adviser]: \"Adviser\",\r\n};\r\n\r\nexport const errorMsg = {\r\n noSpecial: \"Must not contain special characters!\",\r\n phone: \"Invalid phone number!\",\r\n};\r\n","import { NetworkInstructionDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { FirmInstructionHistoryCollectionModel } from \"../../../../Wrap/Models/Models/Company/FirmInstructionHistoryCollectionModel\";\r\nimport { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\n\r\nexport interface NetworkInstructionStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: FirmInstructionHistoryCollectionModel;\r\n}\r\n\r\nexport class NetworkInstructionStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(NetworkInstructionDispatcher, (actionData) =>\r\n this.onNetworkInstructionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): NetworkInstructionStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): NetworkInstructionStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onNetworkInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { NetworkDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { NetworkHistoryPaginatedModel } from \"../../../../Wrap/Models/Models/Network/NetworkHistoryPaginatedModel\";\r\n\r\nexport interface NetworkStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: NetworkHistoryPaginatedModel;\r\n}\r\n\r\nexport class NetworkStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(NetworkDispatcher, (actionData) => this.onNetworkStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): NetworkStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): NetworkStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onNetworkStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { NetworkWizardDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\n\r\nexport interface NetworkWizardStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class NetworkWizardStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(NetworkWizardDispatcher, (actionData) => this.onNetworkStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): NetworkWizardStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): NetworkWizardStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onNetworkStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../react-core/Flux/Dispatcher\";\r\nimport { NetworkInstructionStoreStatic } from \"./NetworkInstructionStoreStatic\";\r\nimport { NetworkWizardStoreStatic } from \"./NetworkWizardStoreStatic\";\r\nimport { NetworkStoreStatic } from \"./NetworkStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const NetworkInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const NetworkInstructionStore: NetworkInstructionStoreStatic = new NetworkInstructionStoreStatic();\r\nexport const NetworkWizardDispatcher: Dispatcher = new Dispatcher();\r\nexport const NetworkWizardStore: NetworkWizardStoreStatic = new NetworkWizardStoreStatic();\r\nexport const NetworkDispatcher: Dispatcher = new Dispatcher();\r\nexport const NetworkStore: NetworkStoreStatic = new NetworkStoreStatic();\r\n","import { ClosingAccountDispatcher } from \"../Stores/Variable\";\r\n\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { AccountInClosureClient } from \"../../../../Wrap/Api/Account/AccountInClosure\";\r\n\r\nexport class AccountInClosuretAction {\r\n public static getAccountClosureList(accountName: string, accountNum: string, start: number, count: number): void {\r\n const client = new AccountInClosureClient();\r\n const promise = client.get(accountNum, accountName, start, count);\r\n promise.onSuccess((data) => {\r\n ClosingAccountDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../react-core/Html/TextBoxEditor\";\r\nimport { ContentFilter, ContentTable } from \"../Resource/Content\";\r\nimport { Pager } from \"../../../../react-core/Html/Pager\";\r\nimport { AccountInClosuretAction } from \"../Actions/AccountInClosureAction\";\r\nimport { ClosingAccountStore } from \"../Stores/Variable\";\r\nimport { AccountInClosure } from \"../../../../Wrap/Models/Domains/Account/AccountClosure/AccountInClosure\";\r\nimport { PartLoading } from \"../../../../react-core/Html/PartLoading\";\r\nimport { AccountInClosureCollectionModel } from \"../../../../Wrap/Models/Domains/Account/AccountClosure/AccountInClosureCollectionModel\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { checkPermission } from \"../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\n\r\nexport type ISearchTableProps = React.Props;\r\n\r\ninterface ISearchTableState {\r\n tableData: AccountInClosureCollectionModel;\r\n isLoading?: boolean;\r\n currentPage: number;\r\n pageSize: number;\r\n accountName: string;\r\n accountNum: string;\r\n}\r\n\r\nexport class SearchTable extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n accountName: \"\",\r\n accountNum: \"\",\r\n };\r\n this.subscribeToStore(ClosingAccountStore, () => this.onClosingAccountStoreChange());\r\n }\r\n\r\n private onClosingAccountStoreChange(): void {\r\n const data = ClosingAccountStore.getData();\r\n this.setState({ tableData: data, isLoading: false });\r\n }\r\n\r\n private getData(pageIndex: number): void {\r\n const { accountName, accountNum } = this.state;\r\n const { pageSize } = this.state;\r\n const start = (pageIndex - 1) * pageSize + 1;\r\n const count = pageSize;\r\n this.setState({ isLoading: true });\r\n AccountInClosuretAction.getAccountClosureList(accountName, accountNum, start, count);\r\n }\r\n\r\n private onSearch(): void {\r\n this.getData(1);\r\n }\r\n\r\n private renderPagination() {\r\n const { currentPage, pageSize } = this.state;\r\n const { TotalNumberOfResults } = this.state.tableData;\r\n return (\r\n
\r\n
\r\n {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n }}\r\n recordsPerPageOptions={[10, 15, 20]}\r\n isShowPerPageOptions={false}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderFilter(): JSX.Element {\r\n const { accountName, accountNum } = this.state;\r\n return (\r\n <>\r\n

{ContentFilter.title}

\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ accountName: v });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n this.setState({ accountNum: v });\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderTableRow(data: AccountInClosure): JSX.Element {\r\n const url = `/clients/cash/regularwithdrawals.aspx?claccountid=${data.ClAccountId}#Current`;\r\n return (\r\n \r\n {data.AccountName}\r\n {data.ClAccountId}\r\n {data.AccountStatus}\r\n {data.Company}\r\n \r\n {checkPermission(UserClaim.AdviserPortalDluWithdrawalCanView) && (\r\n \r\n \r\n {ContentTable.create}\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderTable(data: AccountInClosure[]): JSX.Element {\r\n if (data.length === 0) {\r\n return
{ContentTable.noDataMsg}
;\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.map((ele) => {\r\n return this.renderTableRow(ele);\r\n })}\r\n \r\n
{ContentTable.accountName}{ContentTable.accountNum}{ContentTable.status}{ContentTable.company}
\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { tableData, isLoading } = this.state;\r\n if (!checkPermission(UserClaim.AdviserPortalNetworkAndFirmReadWrite)) {return null;}\r\n return (\r\n <>\r\n {this.renderFilter()}\r\n {isLoading ? (\r\n \r\n
\r\n
\r\n ) : (\r\n tableData && this.renderTable(tableData.PageOfResults)\r\n )}\r\n {tableData && this.renderPagination()}\r\n \r\n );\r\n }\r\n}\r\n","const ContentFilter = {\r\n accountName: \"Enter account name\",\r\n accountNum: \"Enter account number\",\r\n search: \"Search\",\r\n title: \"Create residual cash payment out wizard\",\r\n};\r\n\r\nconst ContentTable = {\r\n create: \"Create\",\r\n noDataMsg: \"No results have been found for the entered criteria\",\r\n accountName: \"Account name\",\r\n accountNum: \"Account number\",\r\n company: \"Company name\",\r\n status: \"Status\",\r\n action: \"Select account\",\r\n};\r\n\r\nexport { ContentFilter, ContentTable };\r\n","import { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { ClosingAccountDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\n\r\nexport interface ClosingAccountStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class ClosingAccountStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ClosingAccountDispatcher, (actionData) =>\r\n this.onClosingAccountStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): ClosingAccountStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ClosingAccountStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onClosingAccountStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ClosingAccountStoreStatic } from \"./ClosingAccountStoreStatic\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../react-core/Flux/Dispatcher\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const ClosingAccountDispatcher: Dispatcher = new Dispatcher();\r\nexport const ClosingAccountStore: ClosingAccountStoreStatic = new ClosingAccountStoreStatic();\r\n","import {\r\n InvestmentTransferDispatcher,\r\n TransferRequestDispatcher,\r\n MoveableSubAccountDispatcher,\r\n DestinationSubAccountDispatcher,\r\n MoveableSubAccountStore,\r\n DestinationSubAccountFromRequestDispatcher,\r\n} from \"../Stores/Variable\";\r\n\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { TransferSourceAccountsClient } from \"../../../../Wrap/Api/Transfer/TransferAccounts/TransferSourceAccounts\";\r\nimport { TransferDestinationAccountsClient } from \"../../../../Wrap/Api/Transfer/TransferAccounts/TransferDestinationAccounts\";\r\nimport { ProductInvestmentDetailsClient } from \"../../../../Wrap/Api/Transfer/TransferInvestments/ProductInvestmentDetails\";\r\nimport { ModelPortfolioInvestmentDetailsClient } from \"../../../../Wrap/Api/Transfer/TransferInvestments/ModelPortfolioInvestmentDetails\";\r\nimport { getQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { IInvestmentTransfer } from \"../Stores/InvestmentTransferStoreStatic\";\r\nimport { AccountTransferInstruction } from \"../../../../Wrap/Models/Models/Transfer/AccountTransferInstruction\";\r\nimport { AccountTransferClient } from \"../../../../Wrap/Api/Transfer/Instruction/AccountTransfer\";\r\nimport { IApiError } from \"../../../../react-core/Core/ApiError\";\r\nimport { InterAccountTransferErrors } from \"../../../../Wrap/Validation/Errors/Transfer/InterAccount/InterAccountTransferErrors\";\r\nimport { TransferBeneficialOwnerClient } from \"../../../../Wrap/Api/Transfer/TransferAccounts/TransferBeneficialOwner\";\r\nimport { TransferDestinationAccountModel } from \"../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { ServiceProposition } from \"../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\nexport class TransferWizardAction {\r\n public static getSourceAccount(hiercharyId: string): void {\r\n const client = new TransferSourceAccountsClient();\r\n const promise = client.get(hiercharyId);\r\n promise.onSuccess((data) => {\r\n MoveableSubAccountDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getModelPortofoilo(instructionCode: string, callback?) {\r\n const client = new ModelPortfolioInvestmentDetailsClient();\r\n const id = getQueryParameters()[\"id\"];\r\n const promise = client.get(id, instructionCode);\r\n promise.onSuccess((data) => {\r\n if (callback) {\r\n callback(data);\r\n }\r\n });\r\n }\r\n\r\n public static getInvestment(subAccountId: string): void {\r\n const client = new ProductInvestmentDetailsClient();\r\n const promise = client.get(subAccountId);\r\n promise.onSuccess((data) => {\r\n InvestmentTransferDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data.investments.map((ele) => {\r\n return {\r\n detail: ele,\r\n isMoveAll: false,\r\n moveQuantity: null,\r\n isToggle: false,\r\n amendBookCost: null,\r\n acquisitionDate: null,\r\n CGT: false,\r\n } as IInvestmentTransfer;\r\n }),\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getDestinationAccount(\r\n accountName: string,\r\n accountNum: string,\r\n forname: string,\r\n surname: string,\r\n maxRow: number,\r\n minRow: number,\r\n serviceProposition: ServiceProposition\r\n ): void {\r\n const currentAccount = MoveableSubAccountStore.getCurrentAccount();\r\n const client = new TransferDestinationAccountsClient();\r\n var subAccountTypes = [currentAccount.SubAccountType]\r\n DestinationSubAccountDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n });\r\n const promise = client.get(\r\n accountName,\r\n accountNum,\r\n forname,\r\n surname,\r\n maxRow,\r\n minRow,\r\n subAccountTypes,\r\n currentAccount.WrapProvider,\r\n serviceProposition\r\n );\r\n promise.onSuccess((data) => {\r\n DestinationSubAccountDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getDestinationAccountFromRequest(hierarchyid: string): void {\r\n const client = new TransferSourceAccountsClient();\r\n const promise = client.get(hierarchyid);\r\n promise.onSuccess((data) => {\r\n const subAccount = data.SourceAccounts.find((ele) => ele.HierarchyId === hierarchyid);\r\n const destinationAccount: TransferDestinationAccountModel = {\r\n ClAccountId: subAccount.ClAccountId,\r\n HierarchyId: hierarchyid,\r\n SubAccountType: subAccount.SubAccountType,\r\n ProductDisplayName: subAccount.ProductDisplayName,\r\n };\r\n DestinationSubAccountFromRequestDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: destinationAccount,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getRequest(requestId: number) {\r\n const client = new AccountTransferClient();\r\n const promise = client.get(requestId);\r\n\r\n promise.onSuccess((data) => {\r\n TransferRequestDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static submit(\r\n transferAccountInstruction: AccountTransferInstruction,\r\n onSuccess?: () => void,\r\n onFailure?: (val: IApiError[]) => void\r\n ): void {\r\n const client = new AccountTransferClient();\r\n DestinationSubAccountDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n });\r\n const promise = client.post(transferAccountInstruction);\r\n promise.onSuccess(() => onSuccess());\r\n promise.onError((errors) => onFailure(errors));\r\n }\r\n\r\n public static getBeneficialOwner(sourceAccount: string, destinationAccount: string, callback) {\r\n const client = new TransferBeneficialOwnerClient();\r\n const promise = client.get(sourceAccount, destinationAccount);\r\n promise.onSuccess((d) => callback(d));\r\n promise.onError((errors) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { RadiosEditor } from \"../../../../../react-core/Html/RadiosEditor\";\r\nimport { TransferBeneficalOwner } from \"../../../../../Wrap/Models/Domains/Transfer/TransferBeneficalOwner\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { TransferSourceAccounts } from \"../../../../../Wrap/Models/Domains/Transfer/TransferSourceAccounts\";\r\nimport { ChangeOfBeneficialOwner as ChangeOfBeneficialOwnerModel } from \"../../../../../Wrap/Models/Models/Transfer/ChangeOfBeneficialOwner\";\r\nimport { TransferWizardAction } from \"../../Actions/TransferWizardAction\";\r\nimport { TransferInstructionQuery } from \"../../Resources/TransferInstructionQuery\";\r\nimport { ChangeOfBeneficialOwnerAccount } from \"./ChangeOfBeneficialOwnerAccount\";\r\n\r\ninterface IChangeOfBeneficialOwnerProps {\r\n data: TransferInstructionQuery;\r\n onChange: (key: string, value: any, data?: any) => void;\r\n isReview: boolean;\r\n destinationAccount: TransferDestinationAccountModel;\r\n currentAccount: TransferSourceAccounts;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IChangeOfBeneficialOwnerState {\r\n beneficialOwners: TransferBeneficalOwner[];\r\n}\r\n\r\nexport class ChangeOfBeneficialOwner extends FormComponent<\r\n IChangeOfBeneficialOwnerProps,\r\n IChangeOfBeneficialOwnerState\r\n> {\r\n constructor(props: IChangeOfBeneficialOwnerProps) {\r\n super(props);\r\n this.state = {\r\n beneficialOwners: null,\r\n };\r\n }\r\n\r\n isValid() {\r\n const flag = this.beneficialOwners ? this.beneficialOwners.isValid() : true;\r\n return super.isValid() && flag;\r\n }\r\n\r\n componentDidMount() {\r\n const { currentAccount, destinationAccount, data, onChange, onRef } = this.props;\r\n onRef(this);\r\n TransferWizardAction.getBeneficialOwner(\r\n currentAccount?.HierarchyId,\r\n destinationAccount?.HierarchyId,\r\n (result) => {\r\n this.setState({ beneficialOwners: result });\r\n if (data.IsChangeOfBeneficial == null) {\r\n onChange(\"ChangeOfBeneficialOwner\", this.reset(result));\r\n }\r\n }\r\n );\r\n }\r\n\r\n private reset(data: TransferBeneficalOwner[]): ChangeOfBeneficialOwnerModel {\r\n if (!data || data.length == 0) {return;}\r\n\r\n const changeOfBnenficialOwner: ChangeOfBeneficialOwnerModel = {\r\n UseDestinationClientNationalIdentifier: false,\r\n UseSourceClientNationalIdentifier: false,\r\n UseSecondaryDestinationClientNationalIdentifier: false,\r\n UseSecondarySourceClientNationalIdentifier: false,\r\n };\r\n //source account\r\n (data[0]?.BeneficialOwners || []).forEach((ele) => {\r\n // primary customer\r\n if (ele.isPrimary) {\r\n if (ele.CustomerTaxResidencyModel && ele.CustomerTaxResidencyModel.length > 0) {\r\n changeOfBnenficialOwner.UseSourceClientNationalIdentifier = true;\r\n }\r\n } else {\r\n if (ele.CustomerTaxResidencyModel && ele.CustomerTaxResidencyModel.length > 0) {\r\n changeOfBnenficialOwner.UseSecondarySourceClientNationalIdentifier = true;\r\n }\r\n }\r\n });\r\n //destination account\r\n (data[1]?.BeneficialOwners || []).forEach((ele) => {\r\n // primary customer\r\n if (ele.isPrimary) {\r\n if (ele.CustomerTaxResidencyModel && ele.CustomerTaxResidencyModel.length > 0) {\r\n changeOfBnenficialOwner.UseDestinationClientNationalIdentifier = true;\r\n }\r\n } else {\r\n if (ele.CustomerTaxResidencyModel && ele.CustomerTaxResidencyModel.length > 0) {\r\n changeOfBnenficialOwner.UseSecondaryDestinationClientNationalIdentifier = true;\r\n }\r\n }\r\n });\r\n return changeOfBnenficialOwner;\r\n }\r\n\r\n private beneficialOwners;\r\n\r\n render() {\r\n const { data, onChange } = this.props;\r\n const { beneficialOwners } = this.state;\r\n return (\r\n \r\n {\r\n onChange(\"IsChangeOfBeneficial\", v, this.reset(beneficialOwners));\r\n }}\r\n options={[true, false]}\r\n required={\"please confirm if the transaction represents a change in beneficial owner\"}\r\n cssWrapper=\"rg-inline mb-10\"\r\n getText={(o) => (o ? \"Yes\" : \"No\")}\r\n />\r\n {data?.IsChangeOfBeneficial && (\r\n (this.beneficialOwners = ref)}\r\n sourceAccount={beneficialOwners ? beneficialOwners[0] : null}\r\n destinationAccount={beneficialOwners ? beneficialOwners[1] : null}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { LeiCode } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { MifirCountryIdentifierClient } from \"../../../../../Wrap/Api/Regulations/MifirCountryIdentifier\";\r\nimport { CountryCode } from \"../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { MifirIdentifierType } from \"../../../../../Wrap/Constants/Enums/Domain/MifirIdentifierType\";\r\nimport { InvestorType } from \"../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { NationalIdentifier } from \"../../../../../Wrap/Models/Domains/Personal/NationalIdentifier\";\r\nimport { MifirCountryIdentifier } from \"../../../../../Wrap/Models/Domains/Regulations/MifirCountryIdentifier\";\r\nimport { TransferBeneficalOwner } from \"../../../../../Wrap/Models/Domains/Transfer/TransferBeneficalOwner\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { NINumberTextEditor } from \"../../../../Dashboard/Common/NINumberTextEditor\";\r\nimport { NationalIdentifierPair } from \"../../../../Dashboard/Components/Clients/NewBusinessWizard/Components/FullClientDetail/NationalIdentifierPair\";\r\nimport { CountryCodeMap } from \"../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { TransferInstructionQuery } from \"../../Resources/TransferInstructionQuery\";\r\n\r\ninterface IChangeOfBeneficialOwnerAccountProps extends IProcessComponentProps {\r\n data: TransferInstructionQuery;\r\n onChange: (key: string, value: any, data?: any) => void;\r\n sourceAccount: TransferBeneficalOwner;\r\n destinationAccount: TransferBeneficalOwner;\r\n}\r\n\r\ninterface IChangeOfBeneficialOwnerAccountState {\r\n mifirCountryIdentifiers: Map;\r\n}\r\n\r\nconst enum accountDirection {\r\n source,\r\n destination,\r\n}\r\n\r\nexport class ChangeOfBeneficialOwnerAccount extends ProcessComponent<\r\n IChangeOfBeneficialOwnerAccountProps,\r\n IChangeOfBeneficialOwnerAccountState\r\n> {\r\n constructor(props: IChangeOfBeneficialOwnerAccountProps) {\r\n super(props);\r\n this.state = {\r\n mifirCountryIdentifiers: new Map(),\r\n };\r\n }\r\n\r\n private onChange(changes) {\r\n const { ChangeOfBeneficialOwner } = this.props.data;\r\n for (const key in changes) {\r\n ChangeOfBeneficialOwner[key] = changes[key];\r\n }\r\n this.props.onChange(\"ChangeOfBeneficialOwner\", ChangeOfBeneficialOwner);\r\n }\r\n\r\n private renderAccount(\r\n account: TransferBeneficalOwner,\r\n direction: accountDirection,\r\n primary: NationalIdentifier,\r\n secondary: NationalIdentifier,\r\n sourceLei: string,\r\n destinationLei: string\r\n ) {\r\n if (!account) {return null;}\r\n const label = direction == accountDirection.source ? \"Source Account\" : \"Destination Account\";\r\n //Trust display LEI code\r\n if (account?.ClientAccount?.InvestorType === InvestorType.Trust) {\r\n return (account?.BeneficialOwners || []).map((ele) => {\r\n const data = direction == accountDirection.source ? sourceLei : destinationLei;\r\n return (\r\n \r\n this.onChange({\r\n [direction == accountDirection.source\r\n ? \"CustomSourceTrustLei\"\r\n : \"CustomDestinationTrustLei\"]: v,\r\n })\r\n }\r\n />\r\n );\r\n });\r\n }\r\n let result = [];\r\n // individual or joint account\r\n const beneficialOwners = (account?.BeneficialOwners || [])\r\n .filter((owner) => owner.isPrimary)\r\n .concat((account?.BeneficialOwners || []).filter((owner) => !owner.isPrimary));\r\n beneficialOwners.forEach((ele) => {\r\n if (account?.BeneficialOwners && account.BeneficialOwners.length > 1) {\r\n result.push(\r\n

\r\n {`${label} ${ele.isPrimary ? \"Primary Account Holder\" : \"Secondary Account Holder\"}`}\r\n

\r\n );\r\n }\r\n if (ele.CustomerTaxResidencyModel && ele.CustomerTaxResidencyModel.length > 0) {\r\n //has CCM data\r\n result = result.concat(\r\n ele.CustomerTaxResidencyModel.map((item) => {\r\n this.loadMifirCountryIdentifier(item.Country);\r\n return (\r\n <>\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n placeholder=\"Please select\"\r\n label={\"Nationality\"}\r\n selected={item?.Country}\r\n disabled\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {}}\r\n />\r\n {item?.Country != CountryCode.GBR && (\r\n {}}\r\n readonly\r\n onRef={(ref) => this.appendChild(ref)}\r\n mifirCountryIdentifier={\r\n this.state.mifirCountryIdentifiers.has(item.Country)\r\n ? this.state.mifirCountryIdentifiers.get(item.Country)\r\n : []\r\n }\r\n />\r\n )}\r\n {item?.Country == CountryCode.GBR && (\r\n {}}\r\n readonly={true}\r\n />\r\n )}\r\n \r\n );\r\n })\r\n );\r\n } else {\r\n const data = ele.isPrimary ? primary : secondary;\r\n const taxResidencyDetail = {\r\n Country: data?.Country,\r\n NationalIdentifier: data?.Type == MifirIdentifierType.NationalIdentifier ? data?.Value : null,\r\n PassportNumber: data?.Type == MifirIdentifierType.PassportNumber ? data?.Value : null,\r\n };\r\n if (data?.Country && data?.Country !== CountryCode.GBR) {\r\n this.loadMifirCountryIdentifier(data?.Country);\r\n }\r\n //mannually add\r\n result = result.concat(\r\n <>\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n placeholder=\"Please select\"\r\n label={\"Nationality\"}\r\n selected={data?.Country}\r\n required=\"Please select\"\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n const key = `${ele.isPrimary ? \"\" : \"Secondary\"}Custom${\r\n direction == accountDirection.source ? \"Source\" : \"Destination\"\r\n }NationalIdentifier`;\r\n this.onChange({\r\n [key]: { ...data, Country: v, Type: MifirIdentifierType.NotSpecified, Value: null },\r\n });\r\n }}\r\n />\r\n {data?.Country && data?.Country != CountryCode.GBR && (\r\n {\r\n const key = `${ele.isPrimary ? \"\" : \"Secondary\"}Custom${\r\n direction == accountDirection.source ? \"Source\" : \"Destination\"\r\n }NationalIdentifier`;\r\n const identifier: NationalIdentifier = {\r\n Type: mifirIdentifierIdentifier,\r\n Value: this.getIdentiferReference(\r\n mifirIdentifierIdentifier,\r\n customerTaxResidencyModel\r\n ),\r\n };\r\n this.onChange({ [key]: { ...data, ...identifier } });\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n mifirCountryIdentifier={\r\n this.state.mifirCountryIdentifiers.has(data.Country)\r\n ? this.state.mifirCountryIdentifiers.get(data.Country)\r\n : []\r\n }\r\n />\r\n )}\r\n {data?.Country && data?.Country == CountryCode.GBR && (\r\n {\r\n const key = `${ele.isPrimary ? \"\" : \"Secondary\"}Custom${\r\n direction == accountDirection.source ? \"Source\" : \"Destination\"\r\n }NationalIdentifier`;\r\n const identifierType = MifirIdentifierType.TaxNumber;\r\n const identifier: NationalIdentifier = {\r\n Type: identifierType,\r\n Value: v,\r\n };\r\n this.onChange({ [key]: { ...data, ...identifier } });\r\n }}\r\n readonly={false}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n getIdentiferReference(\r\n mifirIdentifierIdentifier: MifirIdentifierType,\r\n customerTaxResidencyModel: CustomerTaxResidencyModel\r\n ): string {\r\n switch (mifirIdentifierIdentifier) {\r\n case MifirIdentifierType.NationalIdentifier:\r\n return customerTaxResidencyModel.NationalIdentifier;\r\n case MifirIdentifierType.PassportNumber:\r\n return customerTaxResidencyModel.PassportNumber;\r\n case MifirIdentifierType.TaxNumber:\r\n return customerTaxResidencyModel.TaxReference;\r\n default:\r\n throw new Error(\"Incorrect Mifir identifier type\");\r\n }\r\n }\r\n render() {\r\n const { data, sourceAccount, destinationAccount } = this.props;\r\n return (\r\n <>\r\n

Source Account

\r\n {this.renderAccount(\r\n sourceAccount,\r\n accountDirection.source,\r\n data.ChangeOfBeneficialOwner?.CustomSourceNationalIdentifier,\r\n data.ChangeOfBeneficialOwner?.CustomSourceNationalIdentifier,\r\n data.ChangeOfBeneficialOwner?.CustomSourceTrustLei,\r\n data.ChangeOfBeneficialOwner?.CustomDestinationTrustLei\r\n )}\r\n
\r\n

Destination Account

\r\n {this.renderAccount(\r\n destinationAccount,\r\n accountDirection.destination,\r\n data.ChangeOfBeneficialOwner?.CustomDestinationNationalIdentifier,\r\n data.ChangeOfBeneficialOwner?.CustomDestinationNationalIdentifier,\r\n data.ChangeOfBeneficialOwner?.CustomSourceTrustLei,\r\n data.ChangeOfBeneficialOwner?.CustomDestinationTrustLei\r\n )}\r\n \r\n );\r\n }\r\n\r\n loadMifirCountryIdentifier(countryCode: CountryCode) {\r\n const { mifirCountryIdentifiers } = this.state;\r\n if (!mifirCountryIdentifiers.has(countryCode)) {\r\n new MifirCountryIdentifierClient().get(countryCode).onSuccess((data) => {\r\n mifirCountryIdentifiers.set(countryCode, data);\r\n this.setState({ mifirCountryIdentifiers: mifirCountryIdentifiers });\r\n });\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { WizardLabel, errorStepOne } from \"../../Resources/Content\";\r\nimport { Lightbox, LightboxType } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { DestinationAccountSearchPopup } from \"./DestinationAccountSearchPopup\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { subAccountTypeMap } from \"../../../../Dashboard/Components/Clients/PortfolioDashboard/Components/Performance/Resource/Contents\";\r\n\r\ninterface IDestinationAccountProps extends React.Props {\r\n onChange: (key: string, value: any, data?: any) => void;\r\n data: TransferDestinationAccountModel;\r\n isReview: boolean;\r\n serviceProposition: ServiceProposition;\r\n}\r\ninterface IDestinationAccountState {\r\n isShowPopup: boolean;\r\n selectAccount: TransferDestinationAccountModel;\r\n}\r\n\r\nexport class DestinationAccount extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isShowPopup: false,\r\n selectAccount: this.props.data,\r\n };\r\n }\r\n\r\n private onRemove() {\r\n this.setState({ selectAccount: null });\r\n this.props.onChange(\"DestinationClAccountId\", null);\r\n }\r\n\r\n private renderThead(): JSX.Element {\r\n const titles = Object.values(WizardLabel.desAccountTable);\r\n if (this.props.data && !this.props.data.Name) {titles[0] = \"\";}\r\n return (\r\n \r\n \r\n {titles.map((ele) => {\r\n return {ele};\r\n })}\r\n {!this.props.isReview && (\r\n \r\n this.setState({ isShowPopup: true })}\r\n >\r\n {WizardLabel.desAccountPopup.search}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderTbody(data: TransferDestinationAccountModel): JSX.Element {\r\n return (\r\n \r\n \r\n {data.Name}\r\n {data.ClAccountId}\r\n {subAccountTypeMap[data.SubAccountType]}\r\n {data.ProductDisplayName}\r\n {!this.props.isReview && (\r\n \r\n this.onRemove()}\r\n >\r\n \r\n {WizardLabel.desAccountPopup.remove}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { isShowPopup, selectAccount } = this.state;\r\n const account = selectAccount || this.props.data;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderThead()}\r\n {account ? (\r\n this.renderTbody(account)\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
{WizardLabel.desAccountTitle}
{errorStepOne.noDesAccount}
\r\n {isShowPopup && (\r\n this.setState({ isShowPopup: false })}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {\r\n this.setState({ selectAccount: acc, isShowPopup: false });\r\n this.props.onChange(\"DestinationClAccountId\", acc.ClAccountId, acc);\r\n }}\r\n servicePropostion={this.props.serviceProposition}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { WizardLabel } from \"../../Resources/Content\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { TransferWizardAction } from \"../../Actions/TransferWizardAction\";\r\nimport { DestinationSubAccountStore } from \"../../Stores/Variable\";\r\nimport { Pager } from \"../../../../../react-core/Html/Pager\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { TransferDestinationAccountPaginatedModel } from \"../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountPaginatedModel\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { accountStatusMap } from \"../../../../Dashboard/Components/Clients/ClientRecord/Resource/Contents\";\r\n\r\ninterface IDestinationAccountSearchPopupProps extends React.Props {\r\n selectDesAccount: (acc: TransferDestinationAccountModel) => void;\r\n servicePropostion: ServiceProposition;\r\n}\r\n\r\ninterface IDestinationAccountSearchPopupState {\r\n isLoading: boolean;\r\n accountName: string;\r\n accountNum: string;\r\n forename: string;\r\n surname: string;\r\n currentPage: number;\r\n pageSize: number;\r\n tableData: TransferDestinationAccountPaginatedModel;\r\n}\r\n\r\nexport class DestinationAccountSearchPopup extends FormComponent<\r\n IDestinationAccountSearchPopupProps,\r\n IDestinationAccountSearchPopupState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n accountName: \"\",\r\n accountNum: \"\",\r\n forename: \"\",\r\n surname: \"\",\r\n currentPage: 1,\r\n pageSize: 10,\r\n tableData: null,\r\n };\r\n this.subscribeToStore(DestinationSubAccountStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n const account = DestinationSubAccountStore.getAccounts();\r\n if (account) {\r\n this.setState({ tableData: account, isLoading: false });\r\n }\r\n }\r\n\r\n private onSelect(acc: TransferDestinationAccountModel) {\r\n this.props.selectDesAccount(acc);\r\n }\r\n\r\n private getData(pageIndex: number): void {\r\n const { accountName, accountNum, forename, surname, pageSize } = this.state;\r\n const min = (pageIndex - 1) * pageSize + 1;\r\n const max = min + pageSize - 1;\r\n this.setState({ isLoading: true });\r\n TransferWizardAction.getDestinationAccount(\r\n accountName,\r\n accountNum.trim(),\r\n forename.trim(),\r\n surname.trim(),\r\n max,\r\n min,\r\n this.props.servicePropostion\r\n );\r\n }\r\n\r\n private onSearch(): void {\r\n this.getData(1);\r\n }\r\n\r\n private renderSearch(): JSX.Element {\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n this.setState({ accountName: v });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n this.setState({ accountNum: v });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n this.setState({ forename: v });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ surname: v });\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderThead(): JSX.Element {\r\n return (\r\n \r\n \r\n {WizardLabel.desAccountPopup.accountNameTable}\r\n {WizardLabel.desAccountPopup.accountNumTable}\r\n {WizardLabel.desAccountPopup.status}\r\n {WizardLabel.desAccountPopup.adviser}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderTbody(data: TransferDestinationAccountModel[], TotalRows: number): JSX.Element {\r\n return (\r\n \r\n \r\n {`Total ${TotalRows ? TotalRows : 0} Clients`}\r\n \r\n {data.map((ele, index) => {\r\n return (\r\n \r\n {ele.Name}\r\n {ele.ClAccountId}\r\n {accountStatusMap[ele.Status]}\r\n {ele.PrimaryAdviser}\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n\r\n private renderPagination() {\r\n const { currentPage, pageSize } = this.state;\r\n const { TotalRows } = this.state.tableData;\r\n return (\r\n
\r\n
\r\n {\r\n this.setState({ currentPage: pageIndex });\r\n this.getData(pageIndex);\r\n }}\r\n recordsPerPageOptions={[10, 15, 20]}\r\n isShowPerPageOptions={false}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { tableData, isLoading } = this.state;\r\n const data = tableData ? tableData.SubAccounts : [];\r\n return (\r\n <>\r\n {this.renderSearch()}\r\n {isLoading ? (\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n {this.renderThead()}\r\n {this.renderTbody(data, tableData ? tableData.TotalRows : 0)}\r\n
\r\n )}\r\n {tableData && tableData.SubAccounts ? this.renderPagination() : null}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { WizardLabel, errorStepOne } from \"../../Resources/Content\";\r\nimport { IInvestmentTransfer, ISubInvestment } from \"../../Stores/InvestmentTransferStoreStatic\";\r\nimport { NumberTextBoxEditor } from \"../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { SecurityType } from \"../../../../../Wrap/Constants/Enums/Domain/Instrument/SecurityType\";\r\nimport { InvestmentDetails } from \"../../../../../Wrap/Models/Domains/Transfer/InvestmentDetails\";\r\nimport { TransferWizardAction } from \"../../Actions/TransferWizardAction\";\r\nimport { InvestmentTransferQuery } from \"../../Resources/TransferInstructionQuery\";\r\nimport { MoneyDisplayHelper } from \"../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DatePicker } from \"../../../../../react-core/Datepicker/DatePicker\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { InvestmentTransferDispatcher, InvestmentTransferStore, MoveableSubAccountStore } from \"../../Stores/Variable\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\n\r\ninterface IInvestmentTableProps extends React.Props {\r\n onChange: (key: string, value: any, data?: any) => void;\r\n data: IInvestmentTransfer[];\r\n destinationAccount: TransferDestinationAccountModel;\r\n isReview: boolean;\r\n onRef?: (ref) => void;\r\n}\r\n\r\nexport class InvestmentTable extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.onRef) {this.props.onRef(this);}\r\n }\r\n\r\n private renderTheader(type: SubAccountType): JSX.Element {\r\n const header = Object.values(WizardLabel.InvestmentTable);\r\n if (type == SubAccountType.InvestmentAccount) {\r\n const ppHeader = Object.values(WizardLabel.investmentTablePP);\r\n ppHeader.unshift((header.length - 1).toString(), \"0\");\r\n Array.prototype.splice.apply(header, ppHeader);\r\n }\r\n return (\r\n \r\n \r\n \r\n {header.map((ele) => (\r\n {ele}\r\n ))}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderIsMoveAll(data, isReview: boolean, index: number, pIndex?: number) {\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n private renderNullForPP(data, type: SubAccountType, pIndex?: number) {\r\n if (type !== SubAccountType.InvestmentAccount) {return null;}\r\n if (\r\n data.detail.SecurityType == SecurityType.Cash ||\r\n (data.detail.SecurityType == SecurityType.Model && !pIndex)\r\n ) {\r\n return ;\r\n }\r\n return undefined;\r\n }\r\n\r\n private renderAmendCost(data, type: SubAccountType, isReview: boolean, index: number, pIndex?: number) {\r\n const nullDom = this.renderNullForPP(data, type, pIndex);\r\n if (nullDom !== undefined) {return nullDom;}\r\n if (isReview) {return {data.amendBookCost ? data.amendBookCost.toString() : \"\"};}\r\n return (\r\n \r\n {\r\n if (v) {\r\n this.onChange(index, \"amendBookCost\", Number(CommonHelper.downFixed(v, 2)), pIndex);\r\n }\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: errorStepOne.required,\r\n validator: (v) => {\r\n return !data.CGT ? true : v ? true : false;\r\n },\r\n },\r\n ]}\r\n alwaysValidateOnUpdate={true}\r\n onChange={(v) => {\r\n this.onChange(index, \"amendBookCost\", v, pIndex);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderAcquisitionDate(data, type: SubAccountType, isReview: boolean, index: number, pIndex?: number) {\r\n const nullDom = this.renderNullForPP(data, type, pIndex);\r\n if (nullDom !== undefined) {return nullDom;}\r\n if (isReview)\r\n {return {data.acquisitionDate ? CommonHelper.formatDate(data.acquisitionDate, \"YY/mm/dd\") : \"\"};}\r\n return (\r\n \r\n {\r\n this.onChange(index, \"acquisitionDate\", JsonDateParser.toJsonDateNoOffset(v), pIndex);\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n required={data.CGT ? errorStepOne.required : \"\"}\r\n alwaysValidateOnUpdate={true}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderCGT(data, type: SubAccountType, isReview: boolean, index: number, pIndex?: number) {\r\n const nullDom = this.renderNullForPP(data, type, pIndex);\r\n if (nullDom !== undefined) {return nullDom;}\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n private renderQuantity(data, isReview: boolean, index: number, pIndex?: number) {\r\n if (isReview)\r\n {return (\r\n \r\n {data.isMoveAll\r\n ? CommonHelper.downFixed(data.detail.Quantity, 2)\r\n : data.moveQuantity\r\n ? data.moveQuantity.toString()\r\n : \"\"}\r\n \r\n );}\r\n if (pIndex == undefined && data.detail.SecurityType == SecurityType.Model) {return ;}\r\n return (\r\n \r\n {\r\n this.onChange(index, \"moveQuantity\", v, pIndex);\r\n }}\r\n onBlur={(v) => {\r\n if (v) {\r\n if (data.detail.IsExternalTradedAsset) {\r\n this.onChange(index, \"moveQuantity\", Number(CommonHelper.downFixed(v, 0)), pIndex);\r\n } else {\r\n this.onChange(index, \"moveQuantity\", Number(CommonHelper.downFixed(v, 2)), pIndex);\r\n }\r\n }\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private onChange(index: number, key: string, value: any, pIndex?: number) {\r\n const data = this.props.data;\r\n\r\n if (pIndex !== undefined) {\r\n data[pIndex].subInvestment[index][key] = value;\r\n // if (key.toLowerCase() == \"CGT\".toLowerCase()) {\r\n // data[pIndex].subInvestment[index].acquisitionDate = null;\r\n // data[pIndex].subInvestment[index].amendBookCost = null;\r\n // }\r\n\r\n if (key.toLowerCase() == \"moveQuantity\".toLowerCase() && !value) {\r\n data[pIndex].subInvestment[index].acquisitionDate = null;\r\n data[pIndex].subInvestment[index].amendBookCost = null;\r\n data[pIndex].subInvestment[index].CGT = false;\r\n }\r\n } else {\r\n data[index][key] = value;\r\n // set quantity back to blank when unclick moveall\r\n // if (key.toLowerCase() == \"CGT\".toLowerCase()) {\r\n // data[index].acquisitionDate = null;\r\n // data[index].amendBookCost = null;\r\n // }\r\n\r\n if (key.toLowerCase() == \"moveQuantity\".toLowerCase() && !value) {\r\n data[index].acquisitionDate = null;\r\n data[index].amendBookCost = null;\r\n data[index].CGT = false;\r\n }\r\n }\r\n this.onChangeInvestmentData(data);\r\n }\r\n\r\n private onIsMoveAllChange(index: number, value: any, pIndex?: number) {\r\n const data = this.props.data;\r\n\r\n //sub investments\r\n if (pIndex !== undefined) {\r\n data[pIndex].subInvestment[index][\"isMoveAll\"] = value;\r\n\r\n if (value == false) {\r\n data[pIndex].subInvestment[index] = this.emptySubInvestment(data[pIndex].subInvestment[index].detail);\r\n } else if (\r\n data[pIndex].subInvestment.filter((i) => i.isMoveAll).length === data[pIndex].subInvestment.length\r\n ) {\r\n data[pIndex].isMoveAll = true;\r\n }\r\n this.onChangeInvestmentData(data);\r\n }\r\n\r\n //model investment for the first toggle\r\n else if (data[index].detail.SecurityType === SecurityType.Model && data[index].isToggle == false) {\r\n this.onToggle(data[index].detail.InstrumentCode, (subInvestment: ISubInvestment[]) => {\r\n data[index].subInvestment = subInvestment;\r\n this.moveAll(data, index, value);\r\n });\r\n }\r\n // individual investment\r\n else {\r\n this.moveAll(data, index, value);\r\n }\r\n }\r\n\r\n private onChangeInvestmentData(investments: IInvestmentTransfer[]) {\r\n const investmentData: InvestmentTransferQuery[] = [];\r\n investments.forEach((ele) => {\r\n investmentData.push({\r\n MoveAllAvailable: ele.isMoveAll,\r\n MoveQuantity: ele.isMoveAll\r\n ? ele.detail.SecurityType == SecurityType.Model\r\n ? null\r\n : ele.detail.Quantity\r\n : ele.moveQuantity,\r\n CgtDate: ele.acquisitionDate,\r\n CgtExempt: ele.CGT,\r\n CgtTotalValue: ele.amendBookCost,\r\n InvestmentCode: ele.detail.InstrumentCode,\r\n ProductId: ele.detail?.ProductId,\r\n });\r\n if (ele.subInvestment) {\r\n ele.subInvestment.forEach((item) => {\r\n investmentData.push({\r\n MoveAllAvailable: item.isMoveAll,\r\n MoveQuantity: item.isMoveAll ? item.detail.Quantity : item.moveQuantity,\r\n InvestmentCode: item.detail.InstrumentCode,\r\n ProductId: item.detail?.ProductId,\r\n CgtDate: item.acquisitionDate,\r\n CgtExempt: item.CGT,\r\n CgtTotalValue: item.amendBookCost,\r\n ParentModelInstrumentCode: ele.detail.InstrumentCode,\r\n });\r\n });\r\n }\r\n });\r\n\r\n this.props.onChange(\"InvestmentsTransferDetail\", investmentData, investments);\r\n }\r\n\r\n private onToggle(instructionCode: string, callback?: (investment: ISubInvestment[]) => void) {\r\n const currentInvestment = InvestmentTransferStore.getInvestments();\r\n const index = currentInvestment.findIndex((ele) => ele.detail.InstrumentCode == instructionCode);\r\n currentInvestment[index].isToggle = !currentInvestment[index].isToggle;\r\n if (currentInvestment[index].subInvestment == undefined) {\r\n TransferWizardAction.getModelPortofoilo(instructionCode, (data) => {\r\n currentInvestment[index].subInvestment = data.investments.map((ele) => this.emptySubInvestment(ele));\r\n\r\n InvestmentTransferDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: currentInvestment,\r\n });\r\n if (callback) {\r\n callback(currentInvestment[index].subInvestment);\r\n }\r\n });\r\n } else {\r\n InvestmentTransferDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: currentInvestment,\r\n });\r\n if (callback) {\r\n callback(currentInvestment[index].subInvestment);\r\n }\r\n }\r\n }\r\n\r\n private moveAll(investments: IInvestmentTransfer[], index: number, checked: boolean) {\r\n // set all child model assets to move all when model asset set move all\r\n investments[index].isMoveAll = checked;\r\n if (investments[index].subInvestment) {\r\n investments[index].subInvestment = investments[index].subInvestment.map((ele) => {\r\n ele.isMoveAll = checked;\r\n return ele;\r\n });\r\n }\r\n\r\n if (checked == false) {\r\n this.clearCgtData(investments[index]);\r\n }\r\n this.onChangeInvestmentData(investments);\r\n }\r\n\r\n private clearCgtData(investment: IInvestmentTransfer) {\r\n investment.moveQuantity = null;\r\n investment.acquisitionDate = null;\r\n investment.amendBookCost = null;\r\n investment.CGT = null;\r\n if (investment.subInvestment) {\r\n investment.subInvestment = investment.subInvestment.map((ele) => this.emptySubInvestment(ele.detail));\r\n }\r\n }\r\n\r\n private emptySubInvestment(detail?: InvestmentDetails): ISubInvestment {\r\n return {\r\n moveQuantity: null,\r\n acquisitionDate: null,\r\n detail: detail,\r\n isMoveAll: false,\r\n CGT: false,\r\n amendBookCost: null,\r\n };\r\n }\r\n\r\n private renderSubInvestment(\r\n data: Array<{\r\n detail: InvestmentDetails;\r\n isMoveAll: boolean;\r\n moveQuantity: number;\r\n amendBookCost: number;\r\n acquisitionDate: Date;\r\n CGT: boolean;\r\n }>,\r\n type: SubAccountType,\r\n pIndex: number,\r\n isReview?: boolean\r\n ): JSX.Element[] {\r\n return data.map((ele, index) => {\r\n return (\r\n \r\n \r\n {ele.detail.DisplayName}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n ele.detail.MarketValue.Amount,\r\n ele.detail.MarketValue.Currency\r\n )}\r\n \r\n {ele.detail.Quantity.toFixed(2)}\r\n {this.renderIsMoveAll(ele, isReview, index, pIndex)}\r\n {this.renderAmendCost(ele, type, isReview, index, pIndex)}\r\n {this.renderAcquisitionDate(ele, type, isReview, index, pIndex)}\r\n {this.renderCGT(ele, type, isReview, index, pIndex)}\r\n {this.renderQuantity(ele, isReview, index, pIndex)}\r\n \r\n );\r\n });\r\n }\r\n\r\n private renderTrow(\r\n data: IInvestmentTransfer,\r\n type: SubAccountType,\r\n index: number,\r\n isReview?: boolean\r\n ): JSX.Element {\r\n return (\r\n \r\n \r\n {data.detail.SecurityType == SecurityType.Model ? (\r\n this.onToggle(data.detail.InstrumentCode)}\r\n />\r\n ) : null}\r\n \r\n {data.detail.DisplayName}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data.detail.MarketValue.Amount,\r\n data.detail.MarketValue.Currency\r\n )}\r\n \r\n {data.detail.Quantity.toFixed(2)}\r\n {this.renderIsMoveAll(data, isReview, index, undefined)}\r\n {this.renderAmendCost(data, type, isReview, index, undefined)}\r\n {this.renderAcquisitionDate(data, type, isReview, index, undefined)}\r\n {this.renderCGT(data, type, isReview, index, undefined)}\r\n {this.renderQuantity(data, isReview, index, undefined)}\r\n \r\n );\r\n }\r\n\r\n private renderTbody(data: IInvestmentTransfer[], type: SubAccountType): JSX.Element {\r\n if (data.length == 0)\r\n {return (\r\n \r\n \r\n {errorStepOne.noInvesment}\r\n \r\n \r\n );}\r\n const rows: JSX.Element[] = [];\r\n data.forEach((ele, index) => {\r\n rows.push(this.renderTrow(ele, type, index, this.props.isReview));\r\n if (ele.isToggle && ele.subInvestment) {\r\n this.renderSubInvestment(ele.subInvestment, type, index, this.props.isReview).forEach((dom) => {\r\n rows.push(dom);\r\n });\r\n }\r\n });\r\n return {rows};\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const currentAccoutType = MoveableSubAccountStore.getCurrentAccount().SubAccountType;\r\n\r\n if (!data)\r\n {return (\r\n \r\n
\r\n
\r\n );}\r\n\r\n return (\r\n \r\n {this.renderTheader(currentAccoutType)}\r\n {this.renderTbody(data, currentAccoutType)}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { PensionTransfer } from \"../../Resources/TransferInstructionQuery\";\r\nimport { WizardLabel, errorStepOne } from \"../../Resources/Content\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { CurrencyCode } from \"../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { NumberTextBoxEditor } from \"../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IPensionDetailProps extends React.Props {\r\n onChange: (key: string, value: any) => void;\r\n data: PensionTransfer;\r\n onRef: (ref) => void;\r\n}\r\n\r\nexport class PensionDetail extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isShowPopup: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n }\r\n\r\n private onChange(key: string, value: any) {\r\n const data = this.props.data;\r\n data[key] = value;\r\n this.props.onChange(\"PensionTransferDetail\", data);\r\n }\r\n\r\n private renderRow(title: string, component: React.Component | JSX.Element, index: number): JSX.Element {\r\n return (\r\n \r\n
{title}
\r\n
{component}
\r\n \r\n );\r\n }\r\n\r\n private renderRadio(data: boolean, key: string, onChange?: (val) => void): JSX.Element {\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const config = [\r\n {\r\n title: WizardLabel.pensionDetail.Q1,\r\n component: (\r\n {\r\n return v !== null && v !== undefined ? true : false;\r\n },\r\n },\r\n ]}\r\n atMost={{\r\n errorMessage: errorStepOne.atMost + \"1000\",\r\n value: 1000,\r\n }}\r\n atLeast={{\r\n errorMessage: errorStepOne.atLeast + \"0\",\r\n value: 0,\r\n }}\r\n value={data.CumlativeTotal}\r\n onChange={(v) => {\r\n this.onChange(\"CumlativeTotal\", v);\r\n }}\r\n onBlur={(v) => {\r\n this.onChange(\"CumlativeTotal\", Number(CommonHelper.downFixed(v, 2)));\r\n }}\r\n />\r\n ),\r\n },\r\n {\r\n title: WizardLabel.pensionDetail.Q2,\r\n component: this.renderRadio(data.IsErarmarkingOrAttachmentOrder, \"IsErarmarkingOrAttachmentOrder\"),\r\n },\r\n {\r\n title: WizardLabel.pensionDetail.Q3,\r\n component: this.renderRadio(data.IsBlockTransfer, \"IsBlockTransfer\"),\r\n },\r\n {\r\n title: WizardLabel.pensionDetail.Q4,\r\n component: this.renderRadio(data.TaxFreeLumpSum, \"TaxFreeLumpSum\", (val) => {\r\n if (val == false) {\r\n this.onChange(\"ProtectedAmount\", null);\r\n this.onChange(\"FundValue\", null);\r\n }\r\n }),\r\n },\r\n {\r\n title: WizardLabel.pensionDetail.Q5,\r\n component: (\r\n {\r\n this.onChange(\"ProtectedAmount\", v);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: errorStepOne.required,\r\n validator: (v) => {\r\n return data.TaxFreeLumpSum == false\r\n ? true\r\n : v !== null && v !== undefined\r\n ? true\r\n : false;\r\n },\r\n },\r\n ]}\r\n alwaysValidateOnUpdate={true}\r\n disabled={data.TaxFreeLumpSum == false}\r\n currency={CurrencyCode.GBP}\r\n />\r\n ),\r\n },\r\n {\r\n title: WizardLabel.pensionDetail.Q6,\r\n component: (\r\n {\r\n this.onChange(\"FundValue\", v);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: errorStepOne.required,\r\n validator: (v) => {\r\n return data.TaxFreeLumpSum == false\r\n ? true\r\n : v !== null && v !== undefined\r\n ? true\r\n : false;\r\n },\r\n },\r\n ]}\r\n alwaysValidateOnUpdate={true}\r\n disabled={data.TaxFreeLumpSum == false}\r\n currency={CurrencyCode.GBP}\r\n />\r\n ),\r\n },\r\n {\r\n title: WizardLabel.pensionDetail.Q7,\r\n component: this.renderRadio(data.HasTransferArrangementRight, \"HasTransferArrangementRight\", (val) => {\r\n if (val == false) {this.onChange(\"ApplyAge\", null);}\r\n }),\r\n },\r\n {\r\n title: WizardLabel.pensionDetail.Q8,\r\n component: (\r\n {\r\n return data.HasTransferArrangementRight == false\r\n ? true\r\n : v !== null && v !== undefined\r\n ? true\r\n : false;\r\n },\r\n },\r\n ]}\r\n atMost={{\r\n errorMessage: errorStepOne.atMost + \"120\",\r\n value: 120,\r\n }}\r\n atLeast={{\r\n errorMessage: errorStepOne.atLeast + \"0\",\r\n value: 0,\r\n }}\r\n disabled={data.HasTransferArrangementRight == false}\r\n alwaysValidateOnUpdate={true}\r\n onChange={(v) => {\r\n this.onChange(\"ApplyAge\", v);\r\n }}\r\n onBlur={(v) => {\r\n this.onChange(\"ApplyAge\", Number(CommonHelper.downFixed(v, 0)));\r\n }}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {config.map((ele, index) => {\r\n return this.renderRow(ele.title, ele.component, index);\r\n })}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Process, IStepConfig } from \"../../../Shared/Process/Process/Process\";\r\nimport { stepName, errorStepOne, ReasonMap, submitErrorMessages, TransferReason } from \"../Resources/Content\";\r\nimport { TransferWizardStepOne } from \"./TransferWizardStepOne\";\r\nimport { Contents } from \"../../../Dashboard/Resoures/Contents\";\r\nimport { Urls } from \"../../../Dashboard/Urls\";\r\nimport { TransferInstructionQuery } from \"../Resources/TransferInstructionQuery\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport {\r\n InvestmentTransferStore,\r\n TransferRequestStore,\r\n MoveableSubAccountStore,\r\n DestinationSubAccountFromRequestStore,\r\n} from \"../Stores/Variable\";\r\nimport { IInvestmentTransfer } from \"../Stores/InvestmentTransferStoreStatic\";\r\nimport { TransferWizardAction } from \"../Actions/TransferWizardAction\";\r\nimport { TransferWizardStepTwo } from \"./TransferWizardStepTwo\";\r\nimport { getQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { TransferSourceAccounts } from \"../../../../Wrap/Models/Domains/Transfer/TransferSourceAccounts\";\r\nimport { TransferDestinationAccountModel } from \"../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { Navigator } from \"../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Lightbox, LightboxType } from \"../../../../react-core/Html/Components/Lightbox\";\r\nimport { Spinner } from \"../../../../react-core/Html/Spinner\";\r\nimport { AccountTransferInstruction } from \"../../../../Wrap/Models/Models/Transfer/AccountTransferInstruction\";\r\nimport { ModelPortfolioTransferInstruction } from \"../../../../Wrap/Models/Models/Transfer/ModelPortfolioTransferInstruction\";\r\nimport { InstrumentTransferInstruction } from \"../../../../Wrap/Models/Models/Transfer/InstrumentTransferInstruction\";\r\nimport { Dictionary } from \"../../../../react-core/Core/Dictionary\";\r\nimport { InvestmentTransferQuery } from \"../Resources/TransferInstructionQuery\";\r\nimport { IApiError } from \"../../../../react-core/Core/ApiError\";\r\nimport { InterAccountTransferErrors } from \"../../../../Wrap/Validation/Errors/Transfer/InterAccount/InterAccountTransferErrors\";\r\nimport { SecurityType } from \"../../../../Wrap/Constants/Enums/Domain/Instrument/SecurityType\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { RestrictionStore } from \"../../../Dashboard/Components/Clients/Common/Restrictions/Variable\";\r\nimport { HierarchyIdHelper } from \"../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { InvestmentSelectionAction } from \"../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { InstrumentSearchQuery } from \"../../../../Wrap/Models/Domains/Investment/InstrumentSearchQuery\";\r\nimport { Instrument } from \"../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { checkPermission } from \"../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\n\r\ninterface ITransferWizardProps extends React.Props {}\r\n\r\ninterface ITransferWizardState {\r\n data: TransferInstructionQuery;\r\n investmentData: IInvestmentTransfer[];\r\n destinationAccount: TransferDestinationAccountModel;\r\n currentAccount: TransferSourceAccounts;\r\n transferRequest: AccountTransferInstruction;\r\n errorMsg: string[];\r\n isLoading: boolean;\r\n active: boolean;\r\n}\r\nexport class TransferWizard extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentAccount: null,\r\n data: {\r\n Reason: TransferReason.NotSpecified,\r\n Detail: \"\",\r\n Reference: \"\",\r\n PensionTransferDetail: {\r\n IsBlockTransfer: false,\r\n IsErarmarkingOrAttachmentOrder: false,\r\n ProtectedAmount: null,\r\n FundValue: null,\r\n ApplyAge: null,\r\n TaxFreeLumpSum: false,\r\n HasTransferArrangementRight: false,\r\n CumlativeTotal: null,\r\n },\r\n Confirmed: false,\r\n IsChangeOfBeneficial: null,\r\n ChangeOfBeneficialOwner: null,\r\n },\r\n investmentData: InvestmentTransferStore.getInvestments(),\r\n destinationAccount: null,\r\n transferRequest: null,\r\n errorMsg: [],\r\n isLoading: false,\r\n active: true,\r\n };\r\n this.subscribeToStore(InvestmentTransferStore, () => this.onInvestmentTransferStoreChange());\r\n this.subscribeToStore(TransferRequestStore, () => this.onTransferRequestStoreChange());\r\n this.subscribeToStore(MoveableSubAccountStore, () => this.onMoveableSubAccountStoreChange());\r\n this.subscribeToStore(DestinationSubAccountFromRequestStore, () =>\r\n this.onDestinationSubAccountFromRequestStoreChange()\r\n );\r\n }\r\n\r\n child: any = {};\r\n private secondChild: any;\r\n\r\n componentDidMount() {\r\n const id = getQueryParameters()[\"hierarchyid\"];\r\n const requestId = getQueryParameters()[\"requestid\"];\r\n if (requestId) {\r\n TransferWizardAction.getRequest(requestId);\r\n this.setState({ active: false });\r\n } else {\r\n TransferWizardAction.getSourceAccount(id);\r\n }\r\n }\r\n\r\n private onInvestmentTransferStoreChange() {\r\n const data = InvestmentTransferStore.getInvestments();\r\n let hasModel = false;\r\n if (getQueryParameters()[\"requestid\"]) {\r\n data.forEach((investment) => {\r\n if (investment.detail.SecurityType == SecurityType.Model && investment.subInvestment == undefined) {\r\n hasModel = true;\r\n TransferWizardAction.getModelPortofoilo(investment.detail.InstrumentCode, (response) => {\r\n investment.subInvestment = response.investments.map((ele) => {\r\n return {\r\n moveQuantity: null,\r\n acquisitionDate: null,\r\n detail: ele,\r\n isMoveAll: false,\r\n CGT: false,\r\n amendBookCost: null,\r\n };\r\n });\r\n\r\n request.ModelPortfolioTransfers.forEach((model) => {\r\n model.UnderlyingInstrumentTransfers.forEach((transfer) => {\r\n data.forEach((investment) => {\r\n investment.subInvestment?.forEach((subInvestment) => {\r\n if (subInvestment.detail.InstrumentCode === transfer.InstrumentCode) {\r\n subInvestment.moveQuantity = transfer.Quantity;\r\n subInvestment.CGT = transfer.CgtExempt;\r\n subInvestment.acquisitionDate = JsonDateParser.toDate(transfer.CgtDate);\r\n subInvestment.amendBookCost = transfer.CgtTotalValue;\r\n }\r\n });\r\n });\r\n });\r\n });\r\n\r\n this.setState({ investmentData: data });\r\n });\r\n }\r\n });\r\n\r\n const request = TransferRequestStore.getTransferRequest();\r\n request.InstrumentTransfers.forEach((transfer) => {\r\n data.forEach((investment) => {\r\n if (investment.detail.InstrumentCode === transfer.InstrumentCode) {\r\n investment.moveQuantity = transfer.Quantity;\r\n investment.CGT = transfer.CgtExempt;\r\n investment.acquisitionDate = JsonDateParser.toDate(transfer.CgtDate);\r\n investment.amendBookCost = transfer.CgtTotalValue;\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (!hasModel) {this.setState({ investmentData: data });}\r\n }\r\n\r\n private onTransferRequestStoreChange() {\r\n const request = TransferRequestStore.getTransferRequest();\r\n this.setState({ transferRequest: request });\r\n TransferWizardAction.getSourceAccount(request.SourceHierarchyId);\r\n TransferWizardAction.getDestinationAccountFromRequest(request.DestinationHierarchyId);\r\n }\r\n\r\n private onMoveableSubAccountStoreChange() {\r\n this.setState({ currentAccount: MoveableSubAccountStore.getCurrentAccount() });\r\n if (getQueryParameters()[\"hierarchyid\"]) {\r\n TransferWizardAction.getInvestment(getQueryParameters()[\"hierarchyid\"]);\r\n } else {\r\n TransferWizardAction.getInvestment(this.state.transferRequest.SourceHierarchyId);\r\n }\r\n }\r\n\r\n private onDestinationSubAccountFromRequestStoreChange() {\r\n const account = DestinationSubAccountFromRequestStore.getData();\r\n if (account) {\r\n this.setState({ destinationAccount: account });\r\n }\r\n }\r\n\r\n private OnLeaveStepOne(): void {\r\n const errorMessage: string[] = [];\r\n if (RestrictionStore.InterAccountTransferDisabled()) {return;}\r\n if (!this.state.data.DestinationClAccountId) {\r\n errorMessage.push(errorStepOne.noDesAccount);\r\n }\r\n if (\r\n !this.state.data.InvestmentsTransferDetail ||\r\n this.state.data.InvestmentsTransferDetail.filter((ele) => ele.MoveQuantity > 0).length < 1\r\n ) {\r\n errorMessage.push(errorStepOne.noInvestmentSelect);\r\n }\r\n this.child.isValid();\r\n this.child.investment.isValid();\r\n if (errorMessage.length == 0 && this.child.isValid() && this.child.investment.isValid()) {\r\n if (this.child.child) {\r\n this.child.child.isValid();\r\n if (!this.child.child.isValid()) {return;}\r\n }\r\n const moveInvestments = this.state.data.InvestmentsTransferDetail.filter(\r\n (ele) => ele.MoveQuantity > 0 && !ele.MoveAllAvailable\r\n );\r\n const productIds = moveInvestments.map((ele) => ele.ProductId);\r\n if (productIds.length > 0) {\r\n const query: InstrumentSearchQuery = {\r\n ProductIds: productIds,\r\n CanBeTransferred: true,\r\n ServiceProposition: this.state.currentAccount?.ServiceProposition,\r\n };\r\n\r\n InvestmentSelectionAction.searchInstruments(\r\n query,\r\n this.state.currentAccount?.HierarchyId,\r\n (tradableList: Instrument[]) => {\r\n const nonTradable: InvestmentTransferQuery[] = [];\r\n moveInvestments.forEach((ele) => {\r\n if (!tradableList.some((item) => ele.ProductId == item.ProductId)) {\r\n nonTradable.push(ele);\r\n }\r\n });\r\n\r\n if (nonTradable.length > 0) {\r\n this.setState({\r\n errorMsg: [\r\n `These investments are not tradable: ${nonTradable\r\n .map((ele) => ele.InvestmentCode)\r\n .toString()}`,\r\n ],\r\n });\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().TransferWizardStepTwo);\r\n }\r\n }\r\n );\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().TransferWizardStepTwo);\r\n }\r\n } else {\r\n this.setState({ errorMsg: errorMessage });\r\n }\r\n }\r\n\r\n private onExit() {\r\n const customerId = getQueryParameters()[\"customerid\"];\r\n\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n }).summary\r\n );\r\n }\r\n\r\n private onDataChange(key: string, value: any, stateData?: any) {\r\n const { data } = this.state;\r\n data[key] = value;\r\n // change destination account clear the data for change beneficial owner\r\n if (key.toLowerCase() == \"DestinationClAccountId\".toLowerCase()) {\r\n data.IsChangeOfBeneficial = null;\r\n data.ChangeOfBeneficialOwner = null;\r\n }\r\n if (key.toLowerCase() == \"IsChangeOfBeneficial\".toLowerCase() && value == false) {\r\n data.ChangeOfBeneficialOwner = null;\r\n }\r\n if (key.toLowerCase() == \"IsChangeOfBeneficial\".toLowerCase() && value == true) {\r\n data.ChangeOfBeneficialOwner = stateData;\r\n }\r\n this.setState({ data });\r\n if (key.toLowerCase() == \"InvestmentsTransferDetail\".toLowerCase()) {\r\n this.setState({ investmentData: stateData });\r\n }\r\n if (key.toLowerCase() == \"DestinationClAccountId\".toLowerCase()) {\r\n this.setState({ destinationAccount: stateData });\r\n }\r\n console.log(\"data\", data);\r\n }\r\n\r\n private onAuthorise(): void {\r\n const instruction: AccountTransferInstruction = {\r\n SourceHierarchyId: this.state.currentAccount.HierarchyId,\r\n DestinationHierarchyId: this.state.destinationAccount.HierarchyId,\r\n RequestId: Number.parseInt(getQueryParameters()[\"requestid\"], 10),\r\n Authorise: true,\r\n };\r\n TransferWizardAction.submit(\r\n instruction,\r\n () => {\r\n if (checkPermission(UserClaim.AdviserPortalDluAuthoriseProcessCanView))\r\n {window.location.assign(\"/admin/authorisations/authoriseprocess.aspx\");}\r\n },\r\n (data) => this.onSubmitFailure(data)\r\n );\r\n }\r\n\r\n private onReject(): void {\r\n const instruction: AccountTransferInstruction = {\r\n SourceHierarchyId: this.state.currentAccount.HierarchyId,\r\n DestinationHierarchyId: this.state.destinationAccount.HierarchyId,\r\n RequestId: Number.parseInt(getQueryParameters()[\"requestid\"], 10),\r\n Reject: true,\r\n };\r\n TransferWizardAction.submit(\r\n instruction,\r\n () => {\r\n if (checkPermission(UserClaim.AdviserPortalDluAuthoriseProcessCanView))\r\n {window.location.assign(\"/admin/authorisations/authoriseprocess.aspx\");}\r\n },\r\n (data) => this.onSubmitFailure(data)\r\n );\r\n }\r\n\r\n private onSubmit(): void {\r\n if (this.secondChild && !this.secondChild.isValid()) {return;}\r\n if (this.state.data.Confirmed) {\r\n this.setState({\r\n active: false,\r\n isLoading: true,\r\n });\r\n TransferWizardAction.submit(\r\n this.constructAccountTransferInstruction(),\r\n () => this.onSubmitSuccess(),\r\n (data) => this.onSubmitFailure(data)\r\n );\r\n } else {\r\n this.setState({\r\n errorMsg: [\"Please confirm.\"],\r\n active: true,\r\n isLoading: false,\r\n });\r\n }\r\n }\r\n\r\n private onSubmitSuccess(): void {\r\n this.onExit();\r\n // Navigator.navigateTo(Urls.get().main.Dashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: getQueryParameters()[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n\r\n private onSubmitFailure(apiErrors: IApiError[]): void {\r\n this.setState({ errorMsg: this.parseErrorMessages(apiErrors), active: true, isLoading: false });\r\n }\r\n\r\n private parseErrorMessages(errors: IApiError[]): string[] {\r\n return errors.map((error) => submitErrorMessages[error.Error]);\r\n }\r\n\r\n private onCancel() {\r\n if (getQueryParameters()[\"requestid\"]) {\r\n history.back();\r\n } else {\r\n this.onExit();\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.state.currentAccount) {return ;}\r\n const requestId = getQueryParameters()[\"requestid\"];\r\n const stepsConfig: IStepConfig[] = [\r\n {\r\n title: stepName.stepOne,\r\n url: Urls.get().TransferWizardStepOne,\r\n path: Contents.URLMap.transferWizardStepOne,\r\n onStepLeave: (from, to) => this.OnLeaveStepOne(),\r\n component: (\r\n 0}\r\n destinationAccount={this.state.destinationAccount}\r\n investmentData={this.state.investmentData}\r\n onChange={(key, value, data) => this.onDataChange(key, value, data)}\r\n data={this.state.data}\r\n currentAccount={this.state.currentAccount}\r\n onRef={(ref) => (this.child = ref)}\r\n />\r\n ),\r\n },\r\n {\r\n title: stepName.stepTwo,\r\n url: Urls.get().TransferWizardStepTwo,\r\n path: Contents.URLMap.transferWizardStepTwo,\r\n onSubmit: () => this.onSubmit(),\r\n component: (\r\n (this.secondChild = ref)}\r\n onChange={(key, value, data) => this.onDataChange(key, value, data)}\r\n data={this.state.data}\r\n onAuthorise={() => this.onAuthorise()}\r\n onReject={() => this.onReject()}\r\n />\r\n ),\r\n },\r\n ];\r\n return (\r\n <>\r\n this.onCancel()}\r\n processTitle=\"Move assets to new owner\"\r\n goBacktoFirst={getQueryParameters()[\"hierarchyid\"]}\r\n isShowError={false}\r\n errorMsg={[]}\r\n needSplitHeader={{\r\n fromStep: 0,\r\n splitHeaderMain: MoveableSubAccountStore.getData().AccountName,\r\n splitHeaderSub: MoveableSubAccountStore.getData().HeadClAccountId,\r\n }}\r\n active={this.state.active}\r\n isLoading={this.state.isLoading}\r\n />\r\n {this.state.errorMsg.length > 0 && (\r\n 0}\r\n title={\"Alert\"}\r\n contentAfterTitle={null}\r\n onClose={() => this.setState({ errorMsg: [] })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n {this.state.errorMsg.map((error, index) => {\r\n return

{error}

;\r\n })}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private constructAccountTransferInstruction(): AccountTransferInstruction {\r\n const modelPortfolioInvestments = this.state.investmentData.filter(\r\n (x) => x.subInvestment && x.subInvestment.length > 0\r\n );\r\n const instrumentTransferQueries = this.state.data.InvestmentsTransferDetail.filter(\r\n (x) => x.MoveQuantity && x.MoveQuantity > 0\r\n );\r\n\r\n const individualInstrumentTransfers: InstrumentTransferInstruction[] = instrumentTransferQueries\r\n .filter((x) => !x.ParentModelInstrumentCode || x.ParentModelInstrumentCode === \"\")\r\n .map((investment) => {\r\n return {\r\n InstrumentCode: investment.InvestmentCode,\r\n Quantity: investment.MoveQuantity,\r\n CgtDate: investment.CgtDate,\r\n CgtExempt: investment.CgtExempt,\r\n CgtTotalValue: investment.CgtTotalValue,\r\n };\r\n });\r\n\r\n const modelPortfolioTransferQueryDict: Dictionary<\r\n string,\r\n InvestmentTransferQuery[]\r\n > = this.groupUnderlyingTransferByModelCode(\r\n instrumentTransferQueries.filter((x) => x.ParentModelInstrumentCode)\r\n );\r\n const modelPortfolioTransferInstructions: ModelPortfolioTransferInstruction[] = [];\r\n for (const key in modelPortfolioTransferQueryDict) {\r\n const modelPortfolioInvestment = modelPortfolioInvestments.filter((x) => x.detail.InstrumentCode === key)[0];\r\n const fullTransferOutUnderlyings = modelPortfolioTransferQueryDict[key].filter(\r\n (m: InvestmentTransferQuery) => m.MoveAllAvailable\r\n );\r\n modelPortfolioTransferInstructions.push({\r\n ModelInstrumentCode: key,\r\n FullTransferOut: fullTransferOutUnderlyings.length == modelPortfolioInvestment.subInvestment.length,\r\n UnderlyingInstrumentTransfers: modelPortfolioTransferQueryDict[key].map(\r\n (x: InvestmentTransferQuery) => {\r\n return {\r\n InstrumentCode: x.InvestmentCode,\r\n ProductId: x.ProductId,\r\n Quantity: x.MoveQuantity,\r\n CgtDate: x.CgtDate,\r\n CgtExempt: x.CgtExempt,\r\n CgtTotalValue: x.CgtTotalValue,\r\n };\r\n }\r\n ),\r\n });\r\n }\r\n let isChangeOfBeneficial = this.state.data.IsChangeOfBeneficial;\r\n let changeOfBeneficialOwner = this.state.data.ChangeOfBeneficialOwner;\r\n const hasValueInvestmentData = [];\r\n this.state.investmentData.forEach((ele) => {\r\n if (ele.subInvestment) {\r\n const sub = [];\r\n ele.subInvestment.forEach((item) => {\r\n if (item.moveQuantity > 0 || item.isMoveAll) {\r\n sub.push(item);\r\n }\r\n });\r\n if (sub.length > 0) {\r\n hasValueInvestmentData.push({\r\n detail: ele.detail,\r\n isMoveAll: ele.isMoveAll,\r\n moveQuantity: ele.moveQuantity,\r\n subInvestment: sub,\r\n isToggle: ele.isToggle,\r\n amendBookCost: ele.amendBookCost,\r\n acquisitionDate: ele.acquisitionDate,\r\n CGT: ele.CGT,\r\n });\r\n }\r\n } else {\r\n if (ele.isMoveAll || ele.moveQuantity > 0) {\r\n hasValueInvestmentData.push(ele);\r\n }\r\n }\r\n });\r\n if (\r\n !hasValueInvestmentData.some((ele) =>\r\n [SecurityType.Share, SecurityType.Bond].includes(ele.detail?.SecurityType)\r\n )\r\n ) {\r\n isChangeOfBeneficial = null;\r\n changeOfBeneficialOwner = null;\r\n }\r\n\r\n return {\r\n SourceHierarchyId: this.state.currentAccount.HierarchyId,\r\n DestinationHierarchyId: this.state.destinationAccount.HierarchyId,\r\n ModelPortfolioTransfers: modelPortfolioTransferInstructions,\r\n InstrumentTransfers: individualInstrumentTransfers,\r\n Reason:\r\n this.state.data.Reason === TransferReason.Other\r\n ? this.state.data.Detail\r\n : ReasonMap[this.state.data.Reason],\r\n Reference: this.state.data.Reference,\r\n IsChangeOfBeneficial: isChangeOfBeneficial,\r\n ChangeOfBeneficialOwner: changeOfBeneficialOwner,\r\n };\r\n }\r\n\r\n private groupUnderlyingTransferByModelCode(\r\n xs: InvestmentTransferQuery[]\r\n ): Dictionary {\r\n const dict = {};\r\n\r\n xs.forEach((x) => {\r\n (dict[x.ParentModelInstrumentCode] = dict[x.ParentModelInstrumentCode] || []).push(x);\r\n });\r\n return dict as Dictionary;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SelectEditorFactory } from \"../../../../react-core/Html/Factories/SelectEditorFactory\";\r\nimport { CommonHelper, Dictionary } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { TransferInstructionQuery } from \"../Resources/TransferInstructionQuery\";\r\nimport {\r\n ReasonMap,\r\n WizardLabel,\r\n ReasonReverseMap,\r\n ReducedReasonMap,\r\n ReducedReasonReverseMap,\r\n errorStepOne,\r\n TransferReason,\r\n} from \"../Resources/Content\";\r\nimport { TextBoxEditor } from \"../../../../react-core/Html/TextBoxEditor\";\r\nimport { InvestmentTable } from \"./StepOneComponent/InvestmentTable\";\r\nimport { IInvestmentTransfer } from \"../Stores/InvestmentTransferStoreStatic\";\r\nimport { DestinationAccount } from \"./StepOneComponent/DestinationAccount\";\r\nimport { PensionDetail } from \"./StepOneComponent/PensionDetail\";\r\nimport { MoveableSubAccountStore } from \"../Stores/Variable\";\r\nimport { getQueryParameters, setQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { FormComponent } from \"../../../../react-core/Html/FormComponent\";\r\nimport { TransferDestinationAccountModel } from \"../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { SubAccountType } from \"../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AlertType } from \"../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Alert } from \"../../../Shared/Components/Alert\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../Shared/Common/UserMessages\";\r\nimport { RestrictionStore } from \"../../../Dashboard/Components/Clients/Common/Restrictions/Variable\";\r\nimport { RestrictionAction } from \"../../../Dashboard/Components/Clients/Common/Restrictions/RestrictionAction\";\r\nimport { Action } from \"../../../Dashboard/Actions/Action\";\r\nimport { User } from \"../../../../Wrap/Models/Models/User/User\";\r\nimport { UserStore } from \"../../../Dashboard/Stroes/Variable\";\r\nimport { ServiceProposition } from \"../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { TransferSourceAccounts } from \"../../../../Wrap/Models/Domains/Transfer/TransferSourceAccounts\";\r\n\r\ninterface ITransferWizardStepOneProps extends React.Props {\r\n onChange: (key: string, value: any, data?: any) => void;\r\n data: TransferInstructionQuery;\r\n investmentData: IInvestmentTransfer[];\r\n destinationAccount: TransferDestinationAccountModel;\r\n currentAccount: TransferSourceAccounts;\r\n isReview: boolean;\r\n onRef: (ref) => void;\r\n}\r\ninterface ITransferWizardStepOneState {\r\n userInfo: User;\r\n}\r\n\r\nexport class TransferWizardStepOne extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n };\r\n }\r\n child: any = null;\r\n investment: any = {};\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n\r\n if (RestrictionStore.getData() == null) {\r\n if (!CommonHelper.isNullOrEmpty(getQueryParameters()[\"subaccounthierarchyid\"])) {\r\n RestrictionAction.getRestrictionByHierarchyId(getQueryParameters()[\"subaccounthierarchyid\"]);\r\n } else if (!CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"])) {\r\n RestrictionAction.getRestrictionByHierarchyId(getQueryParameters()[\"hierarchyid\"]);\r\n }\r\n }\r\n }\r\n\r\n private hasReducedReasonOptions(subAccountType: SubAccountType): boolean {\r\n return (\r\n subAccountType === SubAccountType.Npr ||\r\n subAccountType === SubAccountType.Sipp ||\r\n subAccountType === SubAccountType.JuniorSipp ||\r\n subAccountType === SubAccountType.Pension ||\r\n subAccountType === SubAccountType.AuPension\r\n );\r\n }\r\n\r\n private getReasonOptions() {\r\n const options: Dictionary[] = [];\r\n const reasonMap = this.hasReducedReasonOptions(MoveableSubAccountStore.getCurrentAccount().SubAccountType)\r\n ? ReducedReasonMap\r\n : ReasonMap;\r\n\r\n Object.keys(reasonMap).forEach((reason) => {\r\n options.push({ key: reason, value: reasonMap[reason] });\r\n });\r\n return options;\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const SourceAccountSelect = SelectEditorFactory.create();\r\n const ReasonSelect = SelectEditorFactory.create();\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup inter transfer\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n const applicableReasonMap = this.hasReducedReasonOptions(\r\n MoveableSubAccountStore.getCurrentAccount().SubAccountType\r\n )\r\n ? ReducedReasonMap\r\n : ReasonMap;\r\n const applicableReasonReverseMap = this.hasReducedReasonOptions(\r\n MoveableSubAccountStore.getCurrentAccount().SubAccountType\r\n )\r\n ? ReducedReasonReverseMap\r\n : ReasonReverseMap;\r\n\r\n return (\r\n <>\r\n {RestrictionStore.InterAccountTransferDisabled() && (\r\n \r\n )}\r\n\r\n
\r\n CommonHelper.getOptionsTxt(x, MoveableSubAccountStore.getOptionsMap())}\r\n onChange={(val) => {\r\n const params = getQueryParameters();\r\n params[\"hierarchyid\"] = val;\r\n window.location.assign(`${window.location.pathname}${setQueryParameters(params)}`);\r\n }}\r\n disabled={this.props.isReview}\r\n />\r\n
\r\n\r\n (this.investment = ref)}\r\n destinationAccount={this.props.destinationAccount}\r\n />\r\n \r\n
\r\n
\r\n
\r\n {\r\n return v === TransferReason.NotSpecified.toString() ? false : true;\r\n },\r\n },\r\n ]}\r\n key=\"Reason\"\r\n label={WizardLabel.reason}\r\n selected={data.Reason.toString()}\r\n options={Object.keys(applicableReasonMap)}\r\n getText={(x) => CommonHelper.getOptionsTxt(x, this.getReasonOptions())}\r\n onChange={(val) => {\r\n this.props.onChange(\"Reason\", applicableReasonReverseMap[val]);\r\n }}\r\n disabled={this.props.isReview}\r\n />\r\n
\r\n {data.Reason === TransferReason.Other && (\r\n
\r\n {\r\n return v.length < 1 ? false : true;\r\n },\r\n },\r\n ]}\r\n value={data.Detail}\r\n label={WizardLabel.detail}\r\n onChange={(v) => {\r\n this.props.onChange(\"Detail\", v);\r\n }}\r\n disabled={this.props.isReview}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n return v.length < 1 ? false : true;\r\n },\r\n },\r\n ]}\r\n value={data.Reference}\r\n label={WizardLabel.reference}\r\n onChange={(v) => {\r\n this.props.onChange(\"Reference\", v);\r\n }}\r\n disabled={this.props.isReview}\r\n />\r\n
\r\n
\r\n
\r\n {MoveableSubAccountStore.getCurrentAccount().SubAccountType == SubAccountType.Pension && (\r\n
\r\n (this.child = ref)}\r\n />\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TransferInstructionQuery } from \"../Resources/TransferInstructionQuery\";\r\nimport { WizardLabel } from \"../Resources/Content\";\r\nimport { InvestmentTable } from \"./StepOneComponent/InvestmentTable\";\r\nimport { IInvestmentTransfer } from \"../Stores/InvestmentTransferStoreStatic\";\r\nimport { DestinationAccount } from \"./StepOneComponent/DestinationAccount\";\r\nimport { Lightbox, LightboxType } from \"../../../../react-core/Html/Components/Lightbox\";\r\nimport { TransferDestinationAccountModel } from \"../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { MoveableSubAccountStore } from \"../Stores/Variable\";\r\nimport { ChangeOfBeneficialOwner } from \"./StepOneComponent/ChangeOfBeneficialOwner\";\r\nimport { TransferSourceAccounts } from \"../../../../Wrap/Models/Domains/Transfer/TransferSourceAccounts\";\r\nimport { SecurityType } from \"../../../../Wrap/Constants/Enums/Domain/Instrument/SecurityType\";\r\nimport { PartLoading } from \"../../../../react-core/Html/PartLoading\";\r\nimport { ServiceProposition } from \"../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\ninterface ITransferWizardStepTwoProps {\r\n onChange: (key: string, value: any, data?: any) => void;\r\n data: TransferInstructionQuery;\r\n investmentData: IInvestmentTransfer[];\r\n destinationAccount: TransferDestinationAccountModel;\r\n currentAccount: TransferSourceAccounts;\r\n isReview: boolean;\r\n isAuthorisation?: boolean;\r\n onAuthorise?: () => void;\r\n onReject?: () => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface ITransferWizardStepOneState {\r\n isConfirmed: boolean;\r\n isShowConfirm: boolean;\r\n isLoading?: boolean;\r\n displayAuthoriseOrRejectConfirmation: boolean;\r\n authoriseSelected?: boolean;\r\n}\r\n\r\nexport class TransferWizardStepTwo extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isConfirmed: false,\r\n isShowConfirm: false,\r\n displayAuthoriseOrRejectConfirmation: false,\r\n };\r\n }\r\n\r\n render() {\r\n const hasValueInvestmentData: IInvestmentTransfer[] = [];\r\n this.props.investmentData.forEach((ele) => {\r\n if (ele.subInvestment) {\r\n const sub = [];\r\n ele.subInvestment.forEach((item) => {\r\n if (item.moveQuantity > 0 || item.isMoveAll) {\r\n sub.push(item);\r\n }\r\n });\r\n if (sub.length > 0) {\r\n hasValueInvestmentData.push({\r\n detail: ele.detail,\r\n isMoveAll: ele.isMoveAll,\r\n moveQuantity: ele.moveQuantity,\r\n subInvestment: sub,\r\n isToggle: ele.isToggle,\r\n amendBookCost: ele.amendBookCost,\r\n acquisitionDate: ele.acquisitionDate,\r\n CGT: ele.CGT,\r\n });\r\n }\r\n } else {\r\n if (ele.isMoveAll || ele.moveQuantity > 0) {\r\n hasValueInvestmentData.push(ele);\r\n }\r\n }\r\n });\r\n const showChangeOfBeneficialOwner = hasValueInvestmentData.some((ele) =>\r\n [SecurityType.Share, SecurityType.Bond].includes(ele.detail?.SecurityType)\r\n );\r\n return this.state.isLoading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {showChangeOfBeneficialOwner && !this.props.isAuthorisation && (\r\n this.props.onRef(ref)}\r\n />\r\n )}\r\n {!this.props.isAuthorisation && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{WizardLabel.confirm.title}
\r\n {WizardLabel.confirm.label}\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {this.props.isAuthorisation && (\r\n
\r\n
\r\n {\r\n this.onAuthoriseOrReject(false);\r\n }}\r\n >\r\n Reject\r\n \r\n
\r\n
\r\n {\r\n this.onAuthoriseOrReject(true);\r\n }}\r\n >\r\n Authorise\r\n \r\n
\r\n
\r\n )}\r\n {this.state.isShowConfirm && this.state.isConfirmed && !this.props.isAuthorisation ? (\r\n this.setState({ isShowConfirm: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

\r\n {`You have selected to move assets from a ${\r\n MoveableSubAccountStore.getCurrentAccount().ProductDisplayName\r\n } account to a ${\r\n this.props.destinationAccount.ProductDisplayName\r\n } account. Please review and confirm these product types and account numbers\r\n are correct before submitting the request for processing.`}\r\n

\r\n \r\n \r\n ) : null}\r\n {this.renderAuthoriseOrRejectConfirmationBox()}\r\n \r\n );\r\n }\r\n\r\n private renderAuthoriseOrRejectConfirmationBox() {\r\n return (\r\n this.state.displayAuthoriseOrRejectConfirmation && (\r\n this.setState({ displayAuthoriseOrRejectConfirmation: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

{`Are you sure you wish to ${\r\n this.state.authoriseSelected ? \"authorise\" : \"reject\"\r\n } this wizard?`}

\r\n
\r\n this.setState({ displayAuthoriseOrRejectConfirmation: false })}\r\n >\r\n No\r\n \r\n {\r\n this.setState({ displayAuthoriseOrRejectConfirmation: false, isLoading: true });\r\n this.state.authoriseSelected ? this.props.onAuthorise() : this.props.onReject();\r\n }}\r\n >\r\n Yes\r\n \r\n
\r\n \r\n )\r\n );\r\n }\r\n\r\n private onAuthoriseOrReject(authoriseSelected: boolean) {\r\n this.setState({ displayAuthoriseOrRejectConfirmation: true, authoriseSelected: authoriseSelected });\r\n }\r\n\r\n private onConfirmed(): void {\r\n this.props.onChange(\"Confirmed\", !this.state.isConfirmed);\r\n this.setState((preState) => ({\r\n isConfirmed: !preState.isConfirmed,\r\n isShowConfirm: true,\r\n }));\r\n }\r\n}\r\n","import { InterAccountTransferErrors } from \"../../../../Wrap/Validation/Errors/Transfer/InterAccount/InterAccountTransferErrors\";\r\nexport const stepName = {\r\n stepOne: \"Move investments to new owner\",\r\n stepTwo: \"Review and submit\",\r\n};\r\nexport const enum TransferReason {\r\n NotSpecified = 0,\r\n Death = 1,\r\n Divorce = 2,\r\n DuplicateAccount = 3,\r\n Other = 4,\r\n}\r\n\r\nexport const ReasonMap = {\r\n [TransferReason.NotSpecified]: \"\",\r\n [TransferReason.Death]: \"Death\",\r\n [TransferReason.Divorce]: \"Divorce\",\r\n [TransferReason.DuplicateAccount]: \"Duplicate account\",\r\n [TransferReason.Other]: \"Other\",\r\n};\r\n\r\nexport const ReducedReasonMap = {\r\n [TransferReason.NotSpecified]: \"\",\r\n [TransferReason.DuplicateAccount]: \"Duplicate account\",\r\n [TransferReason.Other]: \"Other\",\r\n};\r\n\r\nexport const ReasonReverseMap = {\r\n 0: TransferReason.NotSpecified,\r\n 1: TransferReason.Death,\r\n 2: TransferReason.Divorce,\r\n 3: TransferReason.DuplicateAccount,\r\n 4: TransferReason.Other,\r\n};\r\n\r\nexport const ReducedReasonReverseMap = {\r\n 0: TransferReason.NotSpecified,\r\n 3: TransferReason.DuplicateAccount,\r\n 4: TransferReason.Other,\r\n};\r\n\r\nexport const WizardLabel = {\r\n selectSource: \"Select Source:\",\r\n reason: \"Reason for moving holdings:\",\r\n detail: \"Details:\",\r\n reference: \"Reference:\",\r\n InvestmentTable: {\r\n name: \"Investment\",\r\n value: \"Value\",\r\n quantity: \"Available quantity\",\r\n moveAll: \"Move all available?\",\r\n move: \"Quantity\",\r\n },\r\n investmentTablePP: {\r\n AmendBookCost: \"Tax Book Cost\",\r\n AcquisitionDate: \"Valuation Date\",\r\n CGT: \"CGT Exempt?\",\r\n },\r\n desAccountPopup: {\r\n title: \"Search Criteria\",\r\n accountName: \"Account name:\",\r\n accountNameTable: \"Account name\",\r\n clientforename: \"Client forename:\",\r\n clientsurname: \"Client surname:\",\r\n accountNum: \"Account number:\",\r\n accountNumTable: \"Account number\",\r\n status: \"Status\",\r\n adviser: \"Adviser\",\r\n search: \"Search\",\r\n select: \"Select\",\r\n remove: \"Remove\",\r\n },\r\n desAccountTitle: \"Destination account details summary\",\r\n desAccountTable: {\r\n name: \"Name\",\r\n accountNum: \"Account number\",\r\n type: \"Account type\",\r\n product: \"Product\",\r\n },\r\n pensionDetail: {\r\n Q1:\r\n \"What is the cumulative total (if any) of the member's Standard Lifetime Allowance crystallised at the date of this application, by benefit crystallisation events under this scheme and any previous scheme from which the member's benefits have been transferred?\",\r\n Q2: \"Is there an earmarking or attachment order that applies to this transfer?\",\r\n Q3: \"Does this transfer form part of a block transfer?\",\r\n Q4: \"Does the member have 6 April 2006 protected tax-free lump sum rights?\",\r\n Q5: \"What is the protected amount at 5 April 2006?\",\r\n Q6: \"What was the fund value at 5 April 2006?\",\r\n Q7: \"Does the member have the right to benefits prior to age 55 under the transferring arrangement?\",\r\n Q8: \"To what age does this right apply?\",\r\n },\r\n confirm: {\r\n title: \"Declarations\",\r\n label: \"Please confirm the above by ticking the following box: \",\r\n },\r\n};\r\n\r\nexport const errorStepOne = {\r\n detail: \"Please enter Details\",\r\n reason: \"Please enter a reason for moving holdings\",\r\n reference: \"Please enter reference\",\r\n required: \"This field is requried\",\r\n noInvesment: \"No data against the selected account\",\r\n noDesAccount: \"Please specify a destination account\",\r\n noInvestmentSelect: \"Please choose a investment to transfer\",\r\n decimal: \"At most 4 decimal\",\r\n wholeUnit: \"only can move full units\",\r\n atMost: \"At most \",\r\n atLeast: \"At least \",\r\n};\r\n\r\nexport const submitErrorMessages = {\r\n [InterAccountTransferErrors.EmptyTransferAssets]: \"Please choose a investment to transfer.\",\r\n [InterAccountTransferErrors.InvalidTransferAccounts]:\r\n \"Please make sure source account and destination account are of the same type.\",\r\n [InterAccountTransferErrors.ModelDeconstructionOpenDeals]: \"You can not transfer a model with open deals.\",\r\n [InterAccountTransferErrors.MultipleModelMigrations]: \"You can not transfer a model with pending migrations.\",\r\n [InterAccountTransferErrors.InsufficientAssetToTransfer]: \"Insufficient assets.\",\r\n};\r\n","import { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { DestinationSubAccountDispatcher } from \"./Variable\";\r\nimport { TransferDestinationAccountPaginatedModel } from \"../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountPaginatedModel\";\r\n\r\nexport interface DestinationSubAccountStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: TransferDestinationAccountPaginatedModel;\r\n}\r\n\r\nexport class DestinationSubAccountStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(DestinationSubAccountDispatcher, (actionData) =>\r\n this.onDestinationSubAccountStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): DestinationSubAccountStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getAccounts(): TransferDestinationAccountPaginatedModel {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): DestinationSubAccountStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onDestinationSubAccountStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { InvestmentTransferDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { InvestmentDetails } from \"../../../../Wrap/Models/Domains/Transfer/InvestmentDetails\";\r\n\r\nexport interface ISubInvestment {\r\n detail: InvestmentDetails;\r\n isMoveAll: boolean;\r\n moveQuantity: number;\r\n amendBookCost: number;\r\n acquisitionDate: Date;\r\n CGT: boolean;\r\n}\r\nexport interface IInvestmentTransfer {\r\n detail: InvestmentDetails;\r\n isMoveAll: boolean;\r\n moveQuantity: number;\r\n isToggle: boolean;\r\n amendBookCost: number;\r\n acquisitionDate: Date;\r\n CGT: boolean;\r\n subInvestment?: ISubInvestment[];\r\n}\r\n\r\nexport interface InvestmentTransferStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: IInvestmentTransfer[];\r\n}\r\n\r\nexport class InvestmentTransferStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(InvestmentTransferDispatcher, (actionData) =>\r\n this.onInvestmentTransferStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): InvestmentTransferStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getInvestments() {\r\n return this.getState().data || [];\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): InvestmentTransferStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onInvestmentTransferStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { MoveableSubAccountDispatcher, TransferRequestStore } from \"./Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { Dictionary } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { getQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { TransferSourceAccounts } from \"../../../../Wrap/Models/Domains/Transfer/TransferSourceAccounts\";\r\nimport { TransferSourceAccountsCollectionModel } from \"../../../../Wrap/Models/Domains/Transfer/TransferSourceAccountsCollectionModel\";\r\n\r\nexport interface MoveableSubAccountStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: TransferSourceAccountsCollectionModel;\r\n}\r\n\r\nexport class MoveableSubAccountStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(MoveableSubAccountDispatcher, (actionData) =>\r\n this.onMoveableSubAccountStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): MoveableSubAccountStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getAccounts() {\r\n return this.getState().data.SourceAccounts;\r\n }\r\n\r\n public getCurrentAccount() {\r\n const id = getQueryParameters()[\"hierarchyid\"] || TransferRequestStore.getTransferRequest().SourceHierarchyId;\r\n const filterObj = this.getState().data.SourceAccounts.filter((ele) => ele.HierarchyId === id);\r\n if (filterObj.length > 0) {return filterObj[0];}\r\n return null;\r\n }\r\n\r\n public getOptions() {\r\n return this.getState().data.SourceAccounts.map((account) => {\r\n return account.HierarchyId;\r\n });\r\n }\r\n\r\n public getOptionsMap() {\r\n const options: Dictionary[] = [];\r\n this.getState().data.SourceAccounts.forEach((acc) => {\r\n options.push({ key: acc.HierarchyId, value: `${acc.ProductDisplayName} ${acc.ClAccountId}` });\r\n });\r\n return options;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): MoveableSubAccountStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onMoveableSubAccountStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { TransferRequestDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { AccountTransferInstruction } from \"../../../../Wrap/Models/Models/Transfer/AccountTransferInstruction\";\r\n\r\nexport interface TransferRequestStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: AccountTransferInstruction;\r\n}\r\n\r\nexport class TransferRequestStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(TransferRequestDispatcher, (actionData) =>\r\n this.onTransferRequestStoreResponse(actionData)\r\n );\r\n }\r\n\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getTransferRequest() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): TransferRequestStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onTransferRequestStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../react-core/Flux/Dispatcher\";\r\nimport { MoveableSubAccountStoreStatic } from \"./MoveableSubAccountStoreStatic\";\r\nimport { InvestmentTransferStoreStatic } from \"./InvestmentTransferStoreStatic\";\r\nimport { TransferRequestStoreStatic } from \"./TransferRequestStoreStatic\";\r\nimport { DestinationSubAccountStoreStatic } from \"./DestinationSubAccountStoreStatic\";\r\nimport { SingleDataStoreDispacher } from \"../../../Shared/Stores/SingleDataStoreDispacher\";\r\nimport { TransferDestinationAccountModel } from \"../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { SingleDataStore } from \"../../../Shared/Stores/SingleDataStore\";\r\nimport { TransferDestinationAccountsClient } from \"../../../../Wrap/Api/Transfer/TransferAccounts/TransferDestinationAccounts\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const MoveableSubAccountDispatcher: Dispatcher = new Dispatcher();\r\nexport const MoveableSubAccountStore: MoveableSubAccountStoreStatic = new MoveableSubAccountStoreStatic();\r\nexport const InvestmentTransferDispatcher: Dispatcher = new Dispatcher();\r\nexport const InvestmentTransferStore: InvestmentTransferStoreStatic = new InvestmentTransferStoreStatic();\r\nexport const TransferRequestDispatcher: Dispatcher = new Dispatcher();\r\nexport const TransferRequestStore: TransferRequestStoreStatic = new TransferRequestStoreStatic();\r\nexport const DestinationSubAccountDispatcher: Dispatcher = new Dispatcher();\r\nexport const DestinationSubAccountStore: DestinationSubAccountStoreStatic = new DestinationSubAccountStoreStatic();\r\nexport const DestinationSubAccountFromRequestDispatcher: SingleDataStoreDispacher = new SingleDataStoreDispacher();\r\nexport const DestinationSubAccountFromRequestStore: SingleDataStore = new SingleDataStore(DestinationSubAccountFromRequestDispatcher);\r\n\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { BaseComponent } from \"../../react-core/Html/BaseComponent\";\r\nimport { JsonDateParser } from \"../../react-core/Utils/JsonDateParser\";\r\nimport { ServiceProposition } from \"../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { UserClaim } from \"../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { Action } from \"../Dashboard/Actions/Action\";\r\nimport { RestrictionReasonStore } from \"../Dashboard/Components/Clients/PortfolioDashboard/Store/Variables\";\r\nimport { StaticUrls } from \"../Dashboard/Resoures/StaticUrls\";\r\nimport { ClientAccountStore } from \"../Dashboard/Stroes/Variable\";\r\nimport { Permission } from \"../Shared/Permission/Permission\";\r\nimport { getQueryParameters } from \"../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { InvestorType } from \"../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\n\r\ninterface IClientDashboardHeaderProps extends React.Props {}\r\n\r\ninterface IClientDashboardHeaderState {\r\n clientInfo: ClientAccount;\r\n restrictionReason: any;\r\n data: any;\r\n customerId: string;\r\n hideBackToSummary: boolean;\r\n}\r\n\r\nexport class ClientDashboardHeader extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n\r\n const params = getQueryParameters();\r\n this.state = {\r\n clientInfo: ClientAccountStore.getClientAccountInfo(),\r\n restrictionReason: null,\r\n data: null,\r\n customerId: \"\",\r\n hideBackToSummary: params[\"hidebacktosummary\"] === \"true\",\r\n };\r\n this.subscribeToStore(RestrictionReasonStore, () => this.onRestrictionReasonStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n private onRestrictionReasonStoreChange(): void {\r\n const data = RestrictionReasonStore.getData();\r\n this.setState({ restrictionReason: data });\r\n }\r\n\r\n private getData() {\r\n //RestrictionReasonAction.getAccountRestrictions(this.state.clientInfo.HierarchyId);\r\n if (this.state.clientInfo?.InvestorType == InvestorType.Consolidated) {\r\n this.setState({ customerId: this.state.clientInfo?.HierarchyId });\r\n } else {\r\n Action.searchClientsByAccount(this.state.clientInfo.HeadClAccountId, (val) => {\r\n this.setState({ customerId: val });\r\n });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, restrictionReason } = this.state;\r\n let clAccountId = null;\r\n if (data) {\r\n clAccountId = data.clAccountId;\r\n }\r\n const accountName = this.state.clientInfo?.AccountName;\r\n const accountServicePropositionId = this.state.clientInfo?.AccountServicePropositionId;\r\n const diffDays = this.getDateDifference();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n let canView;\r\n let reason;\r\n if (restrictionReason) {\r\n reason = restrictionReason.ReasonName;\r\n canView = restrictionReason.CanView;\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n {accountName}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {clAccountId}\r\n \r\n\r\n {canView && (\r\n \r\n {[reason ? \"Restriction: \" + reason : \"Restriction: N/A\"]}\r\n \r\n )}\r\n\r\n {/* */}\r\n
\r\n
\r\n {console.log(\"CustomerId: \" + this.state.customerId)}\r\n {this.state.hideBackToSummary === false && (\r\n
\r\n
\r\n {this.state.customerId != \"\" && (\r\n \r\n {\r\n window.location.assign(\r\n StaticUrls.ClientDashboardUrl(this.state.customerId, \"summary\")\r\n );\r\n }}\r\n className=\"hyperlink-previous\"\r\n >\r\n \r\n Back to summary\r\n \r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private getDateDifference(): number {\r\n const date1 = new Date();\r\n const date2 = JsonDateParser.toDate(new Date());\r\n const diffDays = Math.floor(\r\n (Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate()) -\r\n Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate())) /\r\n (1000 * 60 * 60 * 24)\r\n );\r\n return diffDays;\r\n }\r\n}\r\n","import { CommonHelper } from \"../../react-core/Helpers/CommonHelper\";\r\nimport { HierarchyLevelName } from \"../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { SideMenu } from \"../../Wrap/Constants/Enums/Menu/SideMenu\";\r\nimport { InvestorType } from \"../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { SubaccountSideMenuMap } from \"../Dashboard/Components/CustomNavigation/Entities/SubaccountSideMenuMap\";\r\nimport { IActionMenuParamsModel } from \"../Dashboard/Components/CustomNavigation/IParameterModel\";\r\nimport { AccountRoleStore, ClientAccountStore } from \"../Dashboard/Stroes/Variable\";\r\nimport { HierarchyIdHelper } from \"../Shared/Common/HierarchyIdHelper\";\r\nimport { getQueryParameters } from \"../Shared/Wizards/Entities/QueryParametersHelper\";\r\n\r\nconst ACTION_MENU_TOKEN = \"action_menu_params\";\r\n\r\nexport const setActionMenuParams = (urlParams: IActionMenuParamsModel) => {\r\n localStorage.setItem(ACTION_MENU_TOKEN, JSON.stringify(urlParams));\r\n};\r\n\r\nexport const getActionMenuParams = (): IActionMenuParamsModel => {\r\n const urlParams: IActionMenuParamsModel = {\r\n headaccounthierarchyId: JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN))?.headaccounthierarchyId ? JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN)).headaccounthierarchyId : null,\r\n subaccountHierarchyId: JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN))?.subaccountHierarchyId ? JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN)).subaccountHierarchyId : null,\r\n levelHierarchyId: JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN))?.levelHierarchyId ? JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN)).levelHierarchyId : null,\r\n SideMenu: JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN))?.SideMenu ? JSON.parse(localStorage.getItem(ACTION_MENU_TOKEN)).SideMenu : SideMenu.Portfolio,\r\n };\r\n return urlParams;\r\n};\r\n\r\nexport const clearActionMenuParams = () => {\r\n localStorage.removeItem(ACTION_MENU_TOKEN);\r\n};\r\n\r\nexport const defaultActionMenuParams = (): IActionMenuParamsModel => {\r\n const accountId: string = getQueryParameters()[\"claccountid\"];\r\n\r\n if (CommonHelper.isNullOrEmpty(accountId)) {\r\n return {\r\n headaccounthierarchyId: null,\r\n subaccountHierarchyId: null,\r\n levelHierarchyId: null,\r\n SideMenu: SideMenu.Dashboard,\r\n };\r\n }\r\n const isSubaccount = accountId.includes(\"-\");\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n const subAccount = (clientAccount.SubAccounts || []).find((ele) => ele.ClAccountId == accountId);\r\n const customerId = (AccountRoleStore.getAccountRoles() || []).find((ele) => ele.IsPrimary)?.Customer?.CustomerId;\r\n return {\r\n headaccounthierarchyId: clientAccount?.HierarchyId,\r\n subaccountHierarchyId: isSubaccount ? subAccount?.HierarchyId : null,\r\n levelHierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n SideMenu: isSubaccount\r\n ? SubaccountSideMenuMap.getSubMenuBySubAccountType(subAccount?.SubAccountType)\r\n : clientAccount.InvestorType == InvestorType.Consolidated\r\n ? SideMenu.ConsolidatedAccount\r\n : SideMenu.Portfolio,\r\n };\r\n};\r\n\r\nexport const getParams = (): IActionMenuParamsModel => {\r\n if (getActionMenuParams()) {return getActionMenuParams();}\r\n return defaultActionMenuParams();\r\n};\r\n","import * as React from \"react\";\r\nimport { UserStore } from \"../Dashboard/Stroes/Variable\";\r\nimport { PortfolioDashboardAction } from \"../Dashboard/Components/Clients/PortfolioDashboard/Action/PortfolioDashboardAction\";\r\n\r\ninterface ILogoHeaderProps {}\r\n\r\ninterface ILogoHeaderState {}\r\n\r\nexport class LogoHeader extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n private clearAccountSettingsAndLogout() {\r\n PortfolioDashboardAction.deleteSettings((callBack) => {\r\n window.location.assign(`/home.aspx?logout=1`);\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
\r\n
\r\n \r\n Abrdn Advisor platform\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../react-core/Flux/ActionType\";\r\nimport { CommonHelper } from \"../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../react-core/Html/BaseComponent\";\r\nimport { AccountByAccountNumberClient } from \"../../Wrap/Api/Account/AccountByAccountNumber\";\r\nimport { HierarchyLevelName } from \"../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { AccountRole } from \"../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { InvestorType } from \"../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { Action } from \"../Dashboard/Actions/Action\";\r\nimport { AccountSearchAction } from \"../Dashboard/Components/Clients/ClientRecord/Action/AccountSearchAction\";\r\nimport { ConsolidatedAccountDisaptcher } from \"../Dashboard/Components/Clients/PortfolioDashboard/Store/Variable\";\r\nimport CoachMarkerProvider from \"../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { HierarchyIdHelper } from \"../Shared/Common/HierarchyIdHelper\";\r\nimport { PermissionAction } from \"../Shared/Permission/Action/PermissionAction\";\r\nimport { PermissionStore } from \"../Shared/Permission/Store/Variables\";\r\nimport { getQueryParameters } from \"../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { clearActionMenuParams, getActionMenuParams, setActionMenuParams } from \"./DLUHelper\";\r\n\r\nexport class SiteLayout extends BaseComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n hasPermission: PermissionStore.getData() ? true : false,\r\n hasAccount: !this.needAccount() ? true : false,\r\n hasCustomer: !this.needAccount() ? true : false,\r\n };\r\n this.subscribeToStore(PermissionStore, () => {\r\n this.setState({ hasPermission: true });\r\n });\r\n }\r\n\r\n private curAcount = () => {\r\n const urlParams = getQueryParameters()[\"claccountid\"];\r\n const cookie = getActionMenuParams()?.headaccounthierarchyId;\r\n return urlParams || cookie;\r\n };\r\n\r\n private needAccount = () => {\r\n return !CommonHelper.isNullOrEmpty(this.curAcount());\r\n };\r\n\r\n componentDidMount() {\r\n PermissionAction.getPermissionByClaim();\r\n\r\n const needAccount = this.needAccount();\r\n if (needAccount && getQueryParameters()[\"claccountid\"]) {\r\n const client = new AccountByAccountNumberClient();\r\n client.get(this.curAcount().split(\"-\")[0]).onSuccess((d) => {\r\n Action.getClientAccount(d.HierarchyId, () => {\r\n const actionMenu = getActionMenuParams();\r\n setActionMenuParams({ ...actionMenu, headaccounthierarchyId: d.HierarchyId });\r\n this.setState({\r\n hasAccount: true,\r\n });\r\n if (d.InvestorType == InvestorType.Consolidated) {\r\n ConsolidatedAccountDisaptcher.dispatch({ payload: d, actionType: ActionType.Success });\r\n this.setState({ hasCustomer: true });\r\n }\r\n });\r\n Action.getAccountRoles(d.HierarchyId, (result: AccountRole[]) => {\r\n const actionMenu = getActionMenuParams();\r\n setActionMenuParams({\r\n ...actionMenu,\r\n levelHierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n result.find((ele) => ele.IsPrimary)?.Customer?.CustomerId\r\n ),\r\n });\r\n this.setState({ hasCustomer: true });\r\n });\r\n });\r\n } else if (needAccount) {\r\n const account = getActionMenuParams()?.headaccounthierarchyId;\r\n Action.getClientAccount(account, () => {\r\n this.setState({ hasAccount: true });\r\n });\r\n Action.getAccountRoles(account, () => {\r\n this.setState({ hasCustomer: true });\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.state.hasPermission || !this.state.hasAccount || !this.state.hasCustomer) {return null;}\r\n\r\n return {this.props.children};\r\n }\r\n}\r\n","import { AssetClassType } from \"../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { DateFromType } from \"../../../Wrap/Constants/Enums/Domain/Transformation/Valuation/DateFromType\";\r\nimport { PortfolioValuationSummary } from \"../../../Wrap/Models/Domains/Valuation/PortfolioValuationSummary\";\r\nimport { IJsonDate } from \"../../../Wrap/System/IJsonDate\";\r\nimport { AccountMenuClient } from \"../../../Wrap/Api/Dashboard/AccountMenu\";\r\nimport { PortfolioValuationSummaryClient } from \"../../../Wrap/Api/Transformation/PortfolioValuationSummary\";\r\nimport { PerformanceMethod } from \"../../../Wrap/Models/Models/Transformation/Performance/PerformanceMethod\";\r\nimport { ProductsValuationDetailSummary } from \"../../../Wrap/Models/Domains/Valuation/ProductsValuationDetailSummary\";\r\nimport { ProductsValuationDetailSummaryClient } from \"../../../Wrap/Api/Transformation/ProductsValuationDetailSummary\";\r\nimport { ClientAccountClient } from \"../../../Wrap/Api/Account/ClientAccount\";\r\nimport {\r\n AccountRoleDispatcher,\r\n ClientAccountDispatcher,\r\n ProductDetailsDispatcher,\r\n UserDispatcher,\r\n TreasuredAssetsDispatcher,\r\n} from \"../Stroes/Variable\";\r\nimport { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { ClientAccount } from \"../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { PortfolioCashDetail } from \"../../../Wrap/Models/Models/PortfolioAnalysis/Cash/PortfolioCashDetail\";\r\nimport { PortfolioCashDetailClient } from \"../../../Wrap/Api/PortfolioAnalysis/Cashes/PortfolioCashDetail\";\r\nimport { SideMenu } from \"../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\nimport { MenuItem } from \"../../../Wrap/Models/Domains/Menu/MenuItem\";\r\nimport { User } from \"../../../Wrap/Models/Models/User/User\";\r\nimport { UserClient } from \"../../../Wrap/Api/User/User\";\r\nimport { SubAccountTreasuredAssetsClient } from \"../../../Wrap/Api/Account/SubAccountTreasuredAssets\";\r\nimport { PensionSubAccountSettingsClient } from \"../../../Wrap/Api/Account/PensionSubAccountSettings\";\r\nimport { PensionSubAccountSettings } from \"../../../Wrap/Models/Domains/SubAccount/PensionSubAccountSettings\";\r\nimport { CappedArrangementDetails } from \"../../../Wrap/Models/Domains/Drawdown/CappedArrangementDetails\";\r\nimport { CappedArrangementDetailsClient } from \"../../../Wrap/Api/Drawdown/CappedArrangementDetails\";\r\nimport { AccountRolesClient } from \"../../../Wrap/Api/Customer/AccountRoles\";\r\nimport { AccountRestrictionClient } from \"../../../Wrap/Api/Account/AccountRestriction\";\r\nimport { RestrictionTypeEnum } from \"../../../Wrap/Constants/Enums/RestrictionTypeEnum\";\r\nimport { NewProductLinkClient } from \"../../../Wrap/Api/Customer/NewProductLink\";\r\nimport { ClientSearchByAccountClient } from \"../../../Wrap/Api/Customer/ClientSearchByAccount\";\r\nimport { InstructionTreasuredAssetsClient } from \"../../../Wrap/Api/Instruction/InstructionTreasuredAssets\";\r\nimport { CashPaymentClient } from \"../../../Wrap/Api/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { CashPaymentTypeQuery } from \"../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\nimport {\r\n BWABankAccountsDisaptcher,\r\n ConsolidatedAccountDisaptcher,\r\n} from \"../Components/Clients/PortfolioDashboard/Store/Variable\";\r\nimport { UserCookieClient } from \"../../../Wrap/Api/PrivacyPolicy/UserCookie\";\r\nimport { CookiePolicy } from \"../../../Wrap/Models/Models/PrivacyPolicy/CookiePolicy\";\r\nimport { BwaBranchDataReferral } from \"../../../Wrap/Models/Domains/BankAccount/BwaBranchDataReferral\";\r\nimport { ExperianBankAccountValidationClient } from \"../../../Wrap/Api/BankAccounts/ExperianBankAccountValidation\";\r\nimport { BwaBankAccountValidationRequest } from \"../../../Wrap/Models/Domains/BankAccount/BwaBankAccountValidationRequest\";\r\nimport { ExperianMessageType } from \"../../../Wrap/Models/Domains/BankAccount/ExperianMessageType\";\r\nimport { BankAccountCheckRequest } from \"../../../Wrap/Models/Domains/BankAccount/BankAccountCheckRequest\";\r\nimport { ExperianBankWizardRequestClient } from \"../../../Wrap/Api/BankAccounts/ExperianBankWizardRequest\";\r\nimport { BankAccountCombinedResult } from \"../../../Wrap/Models/Domains/BankAccount/BankAccountCombinedResult\";\r\nimport { PortfolioCashDetailsClient } from \"../../../Wrap/Api/PortfolioAnalysis/Cashes/PortfolioCashDetails\";\r\n\r\nexport class Action {\r\n public static getActionMenus(\r\n sideMenu: SideMenu,\r\n hierarchyId: string,\r\n subAccountHierarchyId: string,\r\n clAccountId: string,\r\n customerId: number,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const client = new AccountMenuClient();\r\n const promise = client.get(sideMenu, hierarchyId, subAccountHierarchyId, clAccountId, customerId);\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getNewProductLink(customerId: number, callback) {\r\n const client = new NewProductLinkClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getPortfolioValuationSummary(\r\n hierarchyId: string,\r\n assetClassType: AssetClassType,\r\n performanceMethod: PerformanceMethod,\r\n asAt: IJsonDate,\r\n dateFromType: DateFromType,\r\n callBack?: (val: PortfolioValuationSummary) => void\r\n ): void {\r\n assetClassType = AssetClassType.Tier1;\r\n performanceMethod = PerformanceMethod.Simple;\r\n dateFromType = 1;\r\n\r\n const client = new PortfolioValuationSummaryClient();\r\n const promise = client.get(hierarchyId, assetClassType, performanceMethod, asAt, dateFromType);\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getProductsValuationDetailSummary(\r\n hierarchyId: string,\r\n assetClassType: AssetClassType,\r\n asAt: IJsonDate,\r\n callBack?: (val: ProductsValuationDetailSummary) => void\r\n ): void {\r\n assetClassType = AssetClassType.Tier1;\r\n\r\n const client = new ProductsValuationDetailSummaryClient();\r\n const promise = client.get(hierarchyId, assetClassType, asAt);\r\n\r\n ProductDetailsDispatcher.dispatch({ actionType: ActionType.Loading });\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n ProductDetailsDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: res,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getUserCookie(callback?: (val: CookiePolicy) => void): void {\r\n const client = new UserCookieClient();\r\n\r\n client.get().onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public static setUserCookie(setting: boolean, callback?: (val: boolean) => void): void {\r\n const client = new UserCookieClient();\r\n\r\n client.post(setting).onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n window.location.reload();\r\n });\r\n }\r\n\r\n public static getClientAccount(hierarchyId: string, callBack?: (val: ClientAccount) => void): void {\r\n const client = new ClientAccountClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n\r\n ClientAccountDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getConsolidatedAccount(hierarchyId: string, callBack?: (val: ClientAccount) => void): void {\r\n const client = new ClientAccountClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n\r\n ConsolidatedAccountDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static ExperianBankAcountCheck(\r\n request: Array,\r\n callBack?: (val: Array) => void\r\n ) {\r\n const client = new ExperianBankWizardRequestClient();\r\n client.post(request).onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n\r\n BWABankAccountsDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n }\r\n\r\n public static ValidateExperianBankAccount(\r\n request: BwaBankAccountValidationRequest,\r\n callBack?: (val: BwaBranchDataReferral) => void\r\n ) {\r\n const client = new ExperianBankAccountValidationClient();\r\n client.post(request).onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static GetBankBranchData(\r\n instructionId: number,\r\n wizardSessionId: number,\r\n messageType: ExperianMessageType,\r\n callBack?: (val: Array) => void\r\n ) {\r\n const client = new ExperianBankAccountValidationClient();\r\n client.get(instructionId, wizardSessionId, messageType).onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static isAccountRestrictionActive(\r\n subaccounthierarchyid: string,\r\n restrictionType: RestrictionTypeEnum,\r\n callBack?: (val: boolean) => void\r\n ) {\r\n const client = new AccountRestrictionClient();\r\n const promise = client.get(subaccounthierarchyid, restrictionType);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result.IsActive);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getUser(callBack?: (val: User) => void): void {\r\n const client = new UserClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n\r\n UserDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getSubAccountTreasuredAssetsProductIds(\r\n hierarchyId: string,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const client = new SubAccountTreasuredAssetsClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n TreasuredAssetsDispatcher.dispatch({ actionType: ActionType.Loading });\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n\r\n TreasuredAssetsDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getInstructionTreasuredAssetsProductIds(\r\n instructionId: number,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const client = new InstructionTreasuredAssetsClient();\r\n const promise = client.get(instructionId);\r\n\r\n TreasuredAssetsDispatcher.dispatch({ actionType: ActionType.Loading });\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n\r\n TreasuredAssetsDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static setInstructionTreasuredAssetsProductIds(\r\n instructionId: number,\r\n treasuredProductIds: Array,\r\n callBack?: () => void\r\n ): void {\r\n const client = new InstructionTreasuredAssetsClient();\r\n const promise = client.put(instructionId, treasuredProductIds);\r\n\r\n TreasuredAssetsDispatcher.dispatch({ actionType: ActionType.Loading });\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack();\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n throw new Error(\"Updating treasured assets failed.\");\r\n });\r\n }\r\n\r\n public static getPortfolioCash(\r\n hierarchyId: string,\r\n asAt: IJsonDate,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const client = new PortfolioCashDetailsClient();\r\n const promise = client.get([hierarchyId], asAt);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getPensionSubAccountSettings(\r\n hierarchyId: string,\r\n callBack?: (val: PensionSubAccountSettings) => void\r\n ): void {\r\n const client = new PensionSubAccountSettingsClient();\r\n const promise = client.get(hierarchyId);\r\n callBack({\r\n GadReviewEnabled: true,\r\n CanConvertToFlexi: true,\r\n });\r\n // promise.onSuccess((result) => {\r\n // if (callBack) {\r\n // callBack(result);\r\n // }\r\n // });\r\n // promise.onError((err) => {});\r\n // }\r\n }\r\n\r\n public static getCappedArrangementDetails(\r\n hierarchyId: string,\r\n callBack?: (val: Array) => void\r\n ) {\r\n const client = new CappedArrangementDetailsClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getAccountRoles(hierarchyId: string, callBack?) {\r\n const client = new AccountRolesClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {\r\n AccountRoleDispatcher.dispatch({\r\n payload: result,\r\n actionType: ActionType.Success,\r\n });\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static searchClientsByAccount(clAccountId: string, callBack) {\r\n const client = new ClientSearchByAccountClient();\r\n const promise = client.get(clAccountId);\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getRegularPaymentCashEntry(\r\n hierarchyId: string,\r\n type: CashPaymentTypeQuery,\r\n frequency: CashPaymentFrequencyQuery,\r\n callback?\r\n ) {\r\n const client = new CashPaymentClient();\r\n const promise = client.get(hierarchyId, type, frequency);\r\n\r\n promise.onSuccess((result) => {\r\n const _data = [];\r\n (result || []).forEach((ele) => {\r\n if (!_data.some((item) => ele.BatchId == item.BatchId)) {\r\n _data.push(ele);\r\n }\r\n });\r\n if (callback) {callback(_data);}\r\n });\r\n }\r\n\r\n public static getSubAccountTreasuredAssets(hierarchyId: string, callBack?: (val: Array) => void): void {\r\n const client = new SubAccountTreasuredAssetsClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { CommonHelper } from \"../../../react-core/Helpers/CommonHelper\";\r\nimport * as React from \"react\";\r\nimport { ClientAccountStore } from \"../Stroes/Variable\";\r\nimport { DatePicker } from \"../../../react-core/Datepicker/DatePicker\";\r\nimport { FormComponent } from \"../../../react-core/Html/FormComponent\";\r\nimport {\r\n PortfolioDashboardMultiSelectionStore,\r\n PortfolioDashboardStore,\r\n} from \"../Components/Clients/PortfolioDashboard/Store/Variable\";\r\nimport { getSelectedAccountsInceptionDate } from \"../Components/Clients/PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { HierarchyIdHelper } from \"../../Shared/Common/HierarchyIdHelper\";\r\n\r\ninterface IAsAtDatePickerProps extends React.Props {\r\n selected: Date;\r\n accountViewSelected: string;\r\n onChange: (val: Date) => void;\r\n cssWrapper?: string;\r\n}\r\n\r\ninterface IAsAtDatePickerState {}\r\n\r\nexport class AsAtDatePicker extends FormComponent {\r\n constructor(props: IAsAtDatePickerProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getLeastDate() {\r\n const { accountViewSelected } = this.props;\r\n const clientInfo = ClientAccountStore.getClientAccountInfo();\r\n let inceptionDate = new Date(1900, 1, 1);\r\n if (clientInfo) {\r\n if (\r\n !CommonHelper.isNullOrEmpty(accountViewSelected) &&\r\n HierarchyIdHelper.Equals(accountViewSelected, clientInfo.HierarchyId)\r\n ) {\r\n inceptionDate = new Date(clientInfo.InceptionDate as any);\r\n } else {\r\n const findObj = clientInfo.SubAccounts.filter((x) => x.HierarchyId == accountViewSelected)[0];\r\n if (findObj) {\r\n inceptionDate = new Date(findObj.InceptionDate as any);\r\n }\r\n }\r\n } else {\r\n inceptionDate = getSelectedAccountsInceptionDate(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData()\r\n );\r\n }\r\n\r\n return inceptionDate;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { selected } = this.props;\r\n const minDate = this.getLeastDate();\r\n const _dateDisable = false;\r\n const { cssWrapper } = this.props;\r\n\r\n return (\r\n = selected ? minDate : selected) : selected}\r\n atLeast={{ value: minDate, errorMessage: \"Date cannot be in the past\" }}\r\n atMost={{ value: new Date(), errorMessage: \"Date cannot be in the future\" }}\r\n showYearDropdown={true}\r\n onChange={(d) => (d ? this.props.onChange(d) : null)}\r\n todayButton=\"Today\"\r\n isClearable={true}\r\n isNotForm={true}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\"dd/MM/yyyy\", \"dd-MM-yyyy\", \"ddMMyyyy\", \"dd.MM.yyyy\", \"dd_MM_yyyy\", \"dd MM yyyy\"]}\r\n acceptDateFormatsErrorMsg={\"Incorrect date format. Enter as dd/mm/yyyy\"}\r\n cssWrapper={cssWrapper}\r\n />\r\n );\r\n }\r\n}\r\n","import { SubAccountType as Enum_SubAccountType } from \"../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { FrequencyType } from \"../../../Wrap/Constants/Enums/Domain/FrequencyType\";\r\nimport { FrequencyTypeMap } from \"../Resoures/Contents\";\r\nimport { Money } from \"../../../Wrap/Core/DataTypes/Money\";\r\nimport { MoneyDisplayHelper } from \"../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { RegularPaymentStatusType } from \"../../../Wrap/Constants/Enums/Domain/RegularPaymentStatusType\";\r\nimport { WithdrawalStatus } from \"../../../Wrap/Constants/Enums/Domain/WithdrawalStatus\";\r\nimport { PaymentMethod } from \"../../../Wrap/Constants/Enums/Domain/PaymentMethod\";\r\n\r\nexport class Methods {\r\n public static getAccountTypeClass(type: string | Enum_SubAccountType): string {\r\n let _class = \" \";\r\n const dic: any[] = [\r\n { key: Enum_SubAccountType.StocksIsa, name: \"stocksisa\", value: \"isa\" }, ////ISA Stocks & Shares\r\n { key: Enum_SubAccountType.Npr, name: \"npr\", value: \"sipp\" },\r\n { key: Enum_SubAccountType.Pension, name: \"pension\", value: \"sipp\" },\r\n { key: Enum_SubAccountType.Sipp, name: \"sipp\", value: \"sipp\" },\r\n { key: Enum_SubAccountType.InvestmentAccount, name: \"investmentaccount\", value: \"pp\" }, //Personal Portfolio\r\n { key: Enum_SubAccountType.CashAccount, name: \"cashaccount\", value: \"wrap-cash\" },\r\n { key: Enum_SubAccountType.WrapCash, name: \"wrapcash\", value: \"wrap-cash\" },\r\n { key: Enum_SubAccountType.OffshoreBond, name: \"offshorebond\", value: \"offshore-bond\" },\r\n { key: Enum_SubAccountType.OnshoreBond, name: \"onshorebond\", value: \"onshore-bond\" },\r\n { key: Enum_SubAccountType.CashIsa, name: \"cashisa\", value: \"cash-isa\" },\r\n ];\r\n _class +=\r\n typeof type == \"string\"\r\n ? dic.filter((x) => x.name == (type + \"\").toLowerCase())[0].value\r\n : dic.filter((x) => x.key == type).length > 0\r\n ? dic.filter((x) => x.key == type)[0].value\r\n : \"\";\r\n\r\n return _class;\r\n }\r\n\r\n public static findParam(from: string, param: string, num: number): number {\r\n let x = from.indexOf(param);\r\n for (let i = 0; i < num; i++) {\r\n x = from.indexOf(param, x + 1);\r\n }\r\n return x;\r\n }\r\n\r\n public static getFormatFrequencyType(frequencyType: FrequencyType): string {\r\n if (frequencyType === FrequencyType.HalfYearly) {\r\n return \"Half yearly\";\r\n } else if (frequencyType === FrequencyType.NotSpecified) {\r\n return \"N/A\";\r\n } else {\r\n return FrequencyTypeMap[frequencyType];\r\n }\r\n }\r\n\r\n public static getMoneyFormat(\r\n val: Money,\r\n needPlus?: boolean,\r\n isShowCurrency?: boolean,\r\n decimalCount?: number\r\n ): string {\r\n let formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(\r\n Math.abs(val.Amount),\r\n val.Currency,\r\n isShowCurrency,\r\n decimalCount\r\n );\r\n if (MoneyDisplayHelper.getMoneyFormatNoSymbol(val.Amount) < 0) {\r\n formatMoney = \"-\" + formatMoney;\r\n } else if (MoneyDisplayHelper.getMoneyFormatNoSymbol(val.Amount) && needPlus) {\r\n formatMoney = \"+\" + formatMoney;\r\n }\r\n\r\n return formatMoney;\r\n }\r\n\r\n public static getPercentageFormat(val: number): string {\r\n return val.toFixed(2) + \"%\";\r\n }\r\n\r\n public static getIdFromNeedSplitString(val: string): number {\r\n if (val.indexOf(\"-\") > 0) {\r\n return parseInt(val.split(\"-\")[1]);\r\n } else {\r\n return parseInt(val);\r\n }\r\n }\r\n\r\n public static getProductNameFromUrl(): string {\r\n const url = window.location.pathname;\r\n if (url.includes(\"sipp-\")) {\r\n return \"SIPP\";\r\n }\r\n if (url.includes(\"isa-\")) {\r\n return \"ISA Stocks & Shares\";\r\n }\r\n if (url.includes(\"pp-\")) {\r\n return \"Personal Portfolio\";\r\n }\r\n if (url.includes(\"wrap-cash\")) {\r\n return \"Cash Account\";\r\n }\r\n return \"\";\r\n }\r\n\r\n public static getWithdrawalPaymentType(type: RegularPaymentStatusType): string {\r\n if (type == RegularPaymentStatusType.Authorised) {\r\n return \"Regular Withdrawal\";\r\n }\r\n return \"\";\r\n }\r\n\r\n public static getPayeeReference(val: string): string {\r\n if (val == \"WrapCash\") {\r\n return \"Cash Account\";\r\n }\r\n return val;\r\n }\r\n\r\n public static getWithdrawalStatus(type: WithdrawalStatus): string {\r\n if (type == WithdrawalStatus.Active) {\r\n return \"Active\";\r\n } else if (type == WithdrawalStatus.Pending) {\r\n return \"Pending\";\r\n } else if (type == WithdrawalStatus.Historic) {\r\n return \"Historic\";\r\n } else if (type == WithdrawalStatus.Removed) {\r\n return \"Removed\";\r\n } else if (type == WithdrawalStatus.FutureDated) {\r\n return \"FutureDated\";\r\n }\r\n return \"\";\r\n }\r\n public static getStopDate(status: WithdrawalStatus, date: string): string {\r\n if (status == WithdrawalStatus.Active) {\r\n return \"\";\r\n } else {\r\n return date;\r\n }\r\n }\r\n\r\n public static getPaymentMethod(type: PaymentMethod): string {\r\n if (type == PaymentMethod.DirectCredit) {\r\n return \"Direct Credit\";\r\n }\r\n return \"\";\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox } from \"../../../react-core/Html/Components/Lightbox\";\r\n\r\ninterface IDeleteLightboxProps {\r\n onClose: VoidFunction;\r\n onDelete: VoidFunction;\r\n content: JSX.Element;\r\n}\r\n\r\nexport const DeleteLightbox = (props: IDeleteLightboxProps) => {\r\n return (\r\n props.onClose()}\r\n title=\"Delete filter\"\r\n >\r\n                {props.content}\r\n                \r\n
\r\n           \r\n
\r\n \r\n                    \r\n
\r\n
\r\n                        \r\n {\r\n props.onClose();\r\n props.onDelete();\r\n }}\r\n >\r\n Delete\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { TextBoxEditor } from \"../../../react-core/Html/TextBoxEditor\";\r\nimport { Alphabetical1, Alphabetical2, Numeric2 } from \"../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { ValidatorContents } from \"./ValidatorHelper\";\r\n\r\ninterface ININumberTextEditorProps {\r\n value: string;\r\n onChange: (v) => void;\r\n label: string;\r\n readonly?: boolean;\r\n}\r\n\r\ninterface ININumberTextEditorState {\r\n NationalNumber: string[];\r\n}\r\n\r\nexport class NINumberTextEditor extends BaseComponent {\r\n constructor(props: ININumberTextEditorProps) {\r\n super(props);\r\n this.state = {\r\n NationalNumber: [null, null, null, null, null],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { NationalNumber } = this.state;\r\n const _data = this.props.value || \"\";\r\n for (let i = 0; i < NationalNumber.length; i++) {\r\n NationalNumber[i] = _data.substr(i * 2, 2);\r\n }\r\n this.setState({ NationalNumber });\r\n }\r\n\r\n moveToNextInput(cur: number, value: string) {\r\n if (value.length == 2) {\r\n const next = cur + 1;\r\n const nextInput = document.getElementById(`national-insurance-number-${next}`);\r\n nextInput.focus();\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { NationalNumber } = this.state;\r\n return (\r\n
\r\n {this.props.label}\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.moveToNextInput(1, v);\r\n this.onNationalNumberChanges(0, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.moveToNextInput(2, v);\r\n this.onNationalNumberChanges(1, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.moveToNextInput(3, v);\r\n this.onNationalNumberChanges(2, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.moveToNextInput(4, v);\r\n this.onNationalNumberChanges(3, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.onNationalNumberChanges(4, v);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n onNationalNumberChanges(index, value: string) {\r\n const _nationalNum = this.state.NationalNumber.concat();\r\n _nationalNum[index] = value;\r\n let result = \"\";\r\n _nationalNum.forEach((ele) => {\r\n if (!ele) {ele = \"\";}\r\n result += ele;\r\n });\r\n this.setState({ NationalNumber: _nationalNum });\r\n this.props.onChange(result);\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper, Dictionary } from \"../../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { SelectEditorFactory } from \"../../../react-core/Html/Factories/SelectEditorFactory\";\r\nimport { AreaGroupType } from \"../../../Wrap/Constants/Enums/Domain/AreaGroupType\";\r\nimport { AreaGroupModel } from \"../../../Wrap/Models/Models/PortfolioAnalysis/Investment/AreaGroupModel\";\r\nimport { AreaGroupTypeMap } from \"../Components/Clients/PortfolioDashboard/Components/Insights/Resource/Contents\";\r\nimport { InsightsStore } from \"../Components/Clients/PortfolioDashboard/Components/Insights/Store/Variable\";\r\n\r\ninterface IRegionViewSelectProps extends React.Props {\r\n isShowAll: boolean;\r\n selected: string;\r\n onChange: (val: string) => void;\r\n}\r\n\r\ninterface IRegionViewSelectState {\r\n value: string;\r\n}\r\n\r\nexport class RegionViewSelect extends BaseComponent {\r\n constructor(props: IRegionViewSelectProps) {\r\n super(props);\r\n this.state = {\r\n value: this.props.selected,\r\n };\r\n }\r\n\r\n private getAccoutviewDictionays(val: Array): Dictionary[] {\r\n const options: Dictionary[] = [];\r\n const { isShowAll } = this.props;\r\n\r\n if (isShowAll) {\r\n options.push({ key: AreaGroupTypeMap[AreaGroupType.ALL], value: \"All\" });\r\n }\r\n\r\n if (val) {\r\n val.map((item) => {\r\n options.push({ key: item.Code, value: item.DisplayName });\r\n });\r\n }\r\n return options;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { value } = this.state;\r\n const { isShowAll } = this.props;\r\n\r\n const RegionViewSelect = SelectEditorFactory.create();\r\n const regionGroup = InsightsStore.getRegionGroup();\r\n const _options = [];\r\n\r\n if (regionGroup) {\r\n if (isShowAll) {\r\n _options.push(AreaGroupTypeMap[AreaGroupType.ALL]);\r\n }\r\n regionGroup.map((item) => {\r\n _options.push(item.Code);\r\n });\r\n }\r\n\r\n const dictionays = regionGroup ? this.getAccoutviewDictionays(regionGroup) : [];\r\n\r\n return (\r\n CommonHelper.getOptionsTxt(x, dictionays)}\r\n onChange={(val) => this.props.onChange(val)}\r\n />\r\n );\r\n }\r\n}\r\n","export class ValidatorContents {\r\n public static InvalidPhone = \"Invalid Phone Number\";\r\n public static InvalidEmail = \"Invalid email address\";\r\n public static AlphaNumericOnly = \"Please enter alphanumeric characters\";\r\n public static AlphaNumericWithSpace = \"Please enter alphanumeric characters with or without space\";\r\n public static AlphanumericWithApostrophe = \"Please enter alphanumeric characters with or without apostrophe\";\r\n public static AlphaNumericWithSpecialCharacters =\r\n \"Please enter alphanumeric characters with some special characters specified in brackets (!@#$&()\\\\`.+,/-)\";\r\n public static Name50 = \"Please enter characters only in the alphabet with or without a space, ' or -\";\r\n public static Numeric2 = \"Value must be 2 digits\";\r\n public static Alphabetical1 = \"Value must be an alphabet\";\r\n public static MaxBankAccountsNumber = 10;\r\n public static MaxBackOfficeProvidersNumber = 3;\r\n public static NonZeroAccountNumber = \"8 digit Account number cannot be all zeroes\";\r\n public static NonZeroSortCode = \"6 digit Sort code cannot be all zeroes\";\r\n public static BankAccountNumberMustBeEightDigits = \"Account number must have 8 digits\";\r\n public static InvalidUKMobilePhone = \"Invalid phone number, please enter an 11-digit number starting with 0\";\r\n public static InvalidUKLandLinePhone = \"Invalid phone number, please enter a number starting with 0\";\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountCreationHistoryClient } from \"../../../../../Wrap/Api/Account/AccountCreationHistory\";\r\nimport { MonthlyChargeTypesValuationClient } from \"../../../../../Wrap/Api/AdviserCharges/MonthlyChargeTypesValuation\";\r\nimport { AssetUnderManagementClient } from \"../../../../../Wrap/Api/Business/AssetUnderManagement\";\r\nimport { ClientSummaryGroupClient } from \"../../../../../Wrap/Api/Business/ClientSummaryGroup\";\r\nimport { CompanyServicePropositionClient } from \"../../../../../Wrap/Api/Company/CompanyServiceProposition\";\r\nimport { ProductUnderlyingAccountValuationClient } from \"../../../../../Wrap/Api/PortfolioValuation/ProductUnderlyingAccountValuation\";\r\nimport { ProductWrapperValuationClient } from \"../../../../../Wrap/Api/PortfolioValuation/ProductWrapperValuation\";\r\nimport { UserClientSummaryGroupSettingClient } from \"../../../../../Wrap/Api/User/UserClientSummaryGroupSetting\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { ExternalTransferStatus } from \"../../../../../Wrap/Constants/Enums/Transfer/ExternalTransferStatus\";\r\nimport { UserClientSummaryGroupSettingModel } from \"../../../../../Wrap/Models/Domains/Users/UserClientSummaryGroupSettingModel\";\r\nimport { IJsonDate } from \"../../../../../Wrap/System/IJsonDate\";\r\nimport { BusinessManagementDispatcher, BusinessManagementPropositionDispatcher } from \"../Store/Variable\";\r\n\r\nexport class BusinessManagementAction {\r\n public static GetCommonData(\r\n hierarchy: string,\r\n asAt: IJsonDate,\r\n startDate: IJsonDate,\r\n endDate: IJsonDate,\r\n status: ExternalTransferStatus,\r\n selectedProposition: ServiceProposition[]\r\n ) {\r\n const client = new AssetUnderManagementClient();\r\n const promise = client.get(hierarchy, asAt, startDate, endDate, status, selectedProposition);\r\n promise.onSuccess((data) => {\r\n BusinessManagementDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getWrapSummary(hierarchyId: string, asAt: Date, selectedProposition: ServiceProposition[], callback) {\r\n const client = new ProductWrapperValuationClient();\r\n const promise = client.get(hierarchyId, JsonDateParser.toJsonDateNoOffset(asAt), selectedProposition);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getProductDetailForWrapperSummary(\r\n hierarchyId,\r\n asAt,\r\n subAccountType,\r\n selectedProposition: ServiceProposition[],\r\n min,\r\n max,\r\n callback\r\n ) {\r\n const client = new ProductUnderlyingAccountValuationClient();\r\n if (subAccountType == SubAccountType.InvestmentAccount) {subAccountType = SubAccountType.PersonalPortfolio;}\r\n const promise = client.get(\r\n hierarchyId,\r\n subAccountType,\r\n selectedProposition,\r\n JsonDateParser.toJsonDateNoOffset(asAt),\r\n min,\r\n max\r\n );\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getClientSummary(\r\n hierarchyId: string,\r\n asAt: Date,\r\n selectedProposition: ServiceProposition[],\r\n callback\r\n ) {\r\n const client = new ClientSummaryGroupClient();\r\n const promise = client.get(hierarchyId, JsonDateParser.toJsonDateNoOffset(asAt), selectedProposition);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static setClientSummary(\r\n setting: UserClientSummaryGroupSettingModel,\r\n hierarchyId: string,\r\n asAt: Date,\r\n selectedProposition: ServiceProposition[],\r\n callback\r\n ) {\r\n const client = new UserClientSummaryGroupSettingClient();\r\n const promise = client.post(setting, hierarchyId, JsonDateParser.toJsonDateNoOffset(asAt), selectedProposition);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getNewAccounts(\r\n hierarchyId: string,\r\n from: Date,\r\n to: Date,\r\n selectedProposition: ServiceProposition[],\r\n callback\r\n ) {\r\n const client = new AccountCreationHistoryClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(from),\r\n JsonDateParser.toJsonDateNoOffset(to),\r\n selectedProposition\r\n );\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n\r\n public static getAdviserCharges(\r\n companyHierarchyId: string,\r\n adviserHierarchyId: string,\r\n from: Date,\r\n to: Date,\r\n selectedProposition: ServiceProposition[],\r\n callback\r\n ) {\r\n const client = new MonthlyChargeTypesValuationClient();\r\n const promise = client.get(\r\n companyHierarchyId,\r\n adviserHierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(from),\r\n JsonDateParser.toJsonDateNoOffset(to),\r\n selectedProposition\r\n );\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getCompanyServiceProposition(hierarchyId: string, callback) {\r\n const client = new CompanyServicePropositionClient();\r\n const promise = client.get(0, hierarchyId);\r\n promise.onSuccess((data: Array) => {\r\n callback(data);\r\n BusinessManagementPropositionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { addYears, addDays } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CompanyDetailSort } from \"../../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { NetworkType } from \"../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { CompanyWizardAction } from \"../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { CompanyStore } from \"../../../../../Admin/Company/CompanyWizard/Stores/Variable\";\r\nimport { NetworkAction } from \"../../../../../Admin/Network/Actions/NetworkAction\";\r\nimport { NetworkStore } from \"../../../../../Admin/Network/Stores/Variable\";\r\nimport { datePickerOptions } from \"../../../Clients/Common/Resource/Contents\";\r\nimport { DefaultMaximum, ReportType, ReportTypeArray, ReportTypeMap } from \"../Resource/Contents\";\r\nimport { ReportSearchResultTable } from \"./ReportSearchResultTable\";\r\nimport { BackOfficeProviderBulkValuationReportStore } from \"../../../../../Admin/Company/CompanyWizard/Stores/Variable\";\r\nimport { BackOfficeProviderBulkValuationReport } from \"../../../../../../Wrap/Models/Models/BackOfficeIntegration/BackOfficeProviderBulkValuationReport\";\r\nimport { ClientAccountStore, UserStore } from \"../../../../Stroes/Variable\";\r\nimport { User } from \"../../../../../../Wrap/Models/Models/User/User\";\r\n\r\ninterface IBackOfficeProps {}\r\n\r\ninterface IBackOfficeState {\r\n BulkValuationReport: BackOfficeProviderBulkValuationReport[];\r\n BulkValuationReportMatched: BackOfficeProviderBulkValuationReport[];\r\n userInfo: User;\r\n isLoading: boolean;\r\n reportType: ReportType;\r\n network: NetworkHistoryModel;\r\n firm: CompanySummary;\r\n startDate: Date;\r\n endDate: Date;\r\n availableNetworks: NetworkHistoryModel[];\r\n availableFirms: CompanySummary[];\r\n}\r\n\r\nexport class BackOffice extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n BulkValuationReport: null,\r\n BulkValuationReportMatched: null,\r\n userInfo: UserStore.getUserInfo(),\r\n isLoading: false,\r\n reportType: ReportType.BulkValuations,\r\n network: null,\r\n firm: null,\r\n startDate: null,\r\n endDate: null,\r\n availableFirms: [],\r\n availableNetworks: [],\r\n };\r\n this.subscribeToStore(NetworkStore, () => this.onNetworkStoreChange());\r\n this.subscribeToStore(CompanyStore, () => this.onCompanyWizardStoreChange());\r\n this.subscribeToStore(BackOfficeProviderBulkValuationReportStore, () =>\r\n this.onBulkValuationReportStoreChange()\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n const networkQuery = { NetworkType: NetworkType.Network, Min: 1, Max: DefaultMaximum };\r\n NetworkAction.getNetwork(networkQuery);\r\n this.updateFirm(null);\r\n }\r\n\r\n private updateFirm(network: string) {\r\n const companySearchQuery = {\r\n CompanyId:\r\n this.state.userInfo != null && this.state.userInfo.IsAdviser && this.state.userInfo.Company != \"\"\r\n ? this.state.userInfo.Company\r\n : null,\r\n FirmType: FirmType.All,\r\n SortDescending: false,\r\n Start: 1,\r\n Count: DefaultMaximum,\r\n OrderBy: CompanyDetailSort.CompanyName,\r\n Network: network,\r\n IncludeInactive:false\r\n };\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser && this.state.userInfo.Company === \"\") {\r\n return;\r\n }\r\n CompanyWizardAction.getFirm(companySearchQuery);\r\n }\r\n\r\n private onNetworkStoreChange() {\r\n const data = NetworkStore.getData();\r\n this.setState({ availableNetworks: data?.networks || [] });\r\n }\r\n\r\n private onCompanyWizardStoreChange() {\r\n const data = CompanyStore.getData();\r\n this.setState({ availableFirms: data?.PageOfResults || [] });\r\n this.updateNetworkCompanyAvailableValue();\r\n this.updateNetworkCompanyDefaultValue();\r\n }\r\n\r\n private updateNetworkCompanyAvailableValue() {\r\n // adviser\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n if (this.state.userInfo.Company != \"\") {\r\n const availableFirm = this.state.availableFirms.filter(\r\n (x) => x.CompanyCode === this.state.userInfo.Company\r\n );\r\n this.setState({ availableFirms: availableFirm });\r\n if (availableFirm[0]?.NetworkName != null) {\r\n const availableNetwork = this.state.availableNetworks.filter(\r\n (n) => n.NetworkName === availableFirm[0].NetworkName\r\n );\r\n this.setState({ availableNetworks: availableNetwork });\r\n } else {\r\n this.setState({ availableNetworks: [] });\r\n }\r\n } else {\r\n this.setState({ availableNetworks: [] });\r\n this.setState({ availableFirms: [] });\r\n }\r\n }\r\n }\r\n\r\n private updateNetworkCompanyDefaultValue() {\r\n if (this.state.userInfo != null && this.state.userInfo.Company != \"\" && this.state.availableFirms.length > 0) {\r\n const firmDefault = this.state.availableFirms.find((f) => f.CompanyCode === this.state.userInfo.Company);\r\n this.setState({ firm: firmDefault });\r\n if (firmDefault?.NetworkName != null) {\r\n const networkDefault = this.state.availableNetworks.find(\r\n (n) => n.NetworkName === firmDefault.NetworkName\r\n );\r\n this.setState({ network: networkDefault });\r\n }\r\n }\r\n }\r\n\r\n private onBulkValuationReportStoreChange() {\r\n const data = BackOfficeProviderBulkValuationReportStore.getData();\r\n this.setState({ BulkValuationReport: data ?? [], isLoading: false });\r\n this.setState({ BulkValuationReportMatched: data?.filter((x) => x.DocumentId != 0) });\r\n }\r\n\r\n private renderFilter() {\r\n const { reportType, network, firm, startDate, endDate, availableNetworks, availableFirms } = this.state;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n return ReportTypeMap[v];\r\n }}\r\n placeholder=\"Please select\"\r\n label=\"Report type\"\r\n selected={reportType}\r\n required={\"Please select report type\"}\r\n onChange={(v) => {\r\n this.setState({ reportType: v });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n return option != null ? option.NetworkName : \"All\";\r\n }}\r\n label={\"Network\"}\r\n selected={network}\r\n onChange={(v) => {\r\n this.onNetworkSelectionChange(v);\r\n this.setState({ network: v });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n return option != null ? option?.CompanyName : \"All\";\r\n }}\r\n label={\"Firm\"}\r\n selected={firm}\r\n onChange={(v) => {\r\n this.setState({ firm: v });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ startDate: v });\r\n }}\r\n atLeast={{\r\n value: addYears(new Date(), -7),\r\n errorMessage: \"Please select a more recent date\",\r\n }}\r\n atMost={{\r\n value: addDays(new Date(), -1),\r\n errorMessage: \"Please select a date in the past\",\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select start date\"\r\n />\r\n
\r\n
\r\n {\r\n this.setState({ endDate: v });\r\n }}\r\n atLeast={{\r\n value: startDate ? startDate : addYears(new Date(), -7),\r\n errorMessage: \"Please select a more recent date\",\r\n }}\r\n atMost={{\r\n value: startDate\r\n ? addYears(startDate, 1).getTime() > new Date().getTime()\r\n ? addDays(new Date(), -1)\r\n : addYears(startDate, 1)\r\n : addDays(new Date(), -1),\r\n errorMessage: \"Please select a date in the past\",\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select end date\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private onNetworkSelectionChange(network: NetworkHistoryModel) {\r\n this.updateFirm(network?.Network);\r\n }\r\n\r\n private onClickSearch() {\r\n if (this.isValid()) {\r\n //1 : Bulk Contract Enquiry, 2 : Bulk Transaction History\r\n const bulkFileTypeId = this.state.reportType == ReportType.BulkValuations ? 1 : 2;\r\n const networkId = this.state.network === null ? 0 : this.state.network.NetworkId;\r\n let companyCode = this.state.firm === null ? null : this.state.firm.CompanyCode;\r\n if (\r\n this.state.userInfo != null &&\r\n this.state.userInfo.IsAdviser &&\r\n this.state.network === null &&\r\n this.state.firm === null\r\n ) {\r\n if (this.state.userInfo.Company != \"\") {\r\n companyCode = this.state.userInfo.Company;\r\n } else {\r\n this.setState({ BulkValuationReport: [] });\r\n this.setState({ BulkValuationReportMatched: [] });\r\n return;\r\n }\r\n }\r\n this.setState({ isLoading: true });\r\n CompanyWizardAction.getBackOfficeProviderBulkValuationReports(\r\n bulkFileTypeId,\r\n networkId,\r\n companyCode,\r\n JsonDateParser.toJsonDateNoOffset(this.state.startDate),\r\n JsonDateParser.toJsonDateNoOffset(this.state.endDate)\r\n );\r\n }\r\n }\r\n\r\n private renderTable() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
\r\n

Filter Report History

\r\n {this.renderFilter()}\r\n {this.renderTable()}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { BackOfficeProviderBulkValuationReport } from \"../../../../../../Wrap/Models/Models/BackOfficeIntegration/BackOfficeProviderBulkValuationReport\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\n\r\ninterface IReportSearchResultTableProps {\r\n data: BackOfficeProviderBulkValuationReport[];\r\n isLoading: boolean;\r\n}\r\n\r\nexport const ReportSearchResultTable = (props: IReportSearchResultTableProps) => {\r\n if (!props.data) {return null;}\r\n const PAGE_SIZE = 10;\r\n const [tableData, setTableData] = React.useState([]);\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n\r\n React.useEffect(() => {\r\n setCurrentPage(1);\r\n doPagination(1, props.data);\r\n }, [props.data]);\r\n\r\n const doPagination = (pageIndex, data) => {\r\n const startIndex = (pageIndex - 1) * PAGE_SIZE;\r\n const endIndex = pageIndex * PAGE_SIZE;\r\n setTableData(data.slice(startIndex, endIndex));\r\n };\r\n\r\n const col: ITableConfig[] = [\r\n {\r\n title: \"Filename\",\r\n key: \"FileName\",\r\n render: (data: string) => {\r\n return data;\r\n },\r\n },\r\n {\r\n title: \"Date generated\",\r\n key: \"DateGenerated\",\r\n render: (data: Date) => {\r\n return JsonDateParser.getFormatDateString(new Date(data), \"dd MM yyyy\", true);\r\n },\r\n },\r\n {\r\n title: \"Download link\",\r\n key: \"FileNameEncryption\",\r\n render: (data: string) => {\r\n return (\r\n \r\n {} : () => openDocument(data)}>\r\n {data === null ? \"Unmatched\" : \"Download\"}\r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n const openDocument = (fileNameEncryption: string) => {\r\n window.open(`/popups/loaddocstore.aspx?filename=${fileNameEncryption}&encrypt=yes`, \"_blank\");\r\n };\r\n\r\n return (\r\n {\r\n setCurrentPage(pageIndex);\r\n doPagination(pageIndex, props.data);\r\n },\r\n pageSize: 10,\r\n currentPage: currentPage,\r\n }}\r\n />\r\n );\r\n};\r\n","export enum ReportType {\r\n BulkValuations,\r\n}\r\n\r\nexport const ReportTypeArray = [ReportType.BulkValuations];\r\n\r\nexport const ReportTypeMap = {\r\n [ReportType.BulkValuations]: \"Bulk Valuations\",\r\n};\r\n\r\nexport const DefaultMaximum = 999999;\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { PartLoading } from \"../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { ServiceProposition } from \"../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AssetUnderManagementModel } from \"../../../../Wrap/Models/Models/Business/AssetUnderManagement/AssetUnderManagementModel\";\r\nimport { CompanySummary } from \"../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { CoachMarkerContext } from \"../../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { checkPermission } from \"../../../Shared/Permission/PermissionHelper\";\r\nimport { getQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { BusinessManagementAction } from \"./Action/BusinessManagementAction\";\r\nimport { Aum } from \"./Component/Aum/Aum\";\r\nimport { BusinessManagementHeader } from \"./Component/BusinessManagementHeader\";\r\nimport { Charges } from \"./Component/Charges\";\r\nimport { ClientSummary } from \"./Component/ClientSummary\";\r\nimport Search from \"./Component/Search/Search.component\";\r\nimport { WrapperSummary } from \"./Component/WrapperSummary\";\r\nimport { businessManagementCoachmarkerConfig, BusinessManagementTab } from \"./Resource/Content\";\r\nimport { BusinessManagementStore } from \"./Store/Variable\";\r\n\r\ninterface IBusinessManagementProps extends React.Props {}\r\n\r\ninterface IBusinessManagementState {\r\n data?: AssetUnderManagementModel;\r\n selectedTab?: BusinessManagementTab;\r\n firmHierarchyId: string;\r\n selectedFirm: CompanySummary;\r\n multiPropsFilter: ServiceProposition[];\r\n selectedProposition: ServiceProposition[];\r\n code: string;\r\n}\r\n\r\nexport class BusinessManagement extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n selectedTab: BusinessManagementTab.AUM,\r\n firmHierarchyId: getQueryParameters()[\"firm\"],\r\n code: getQueryParameters()[\"code\"],\r\n multiPropsFilter: [],\r\n selectedFirm: null,\r\n selectedProposition: [],\r\n };\r\n\r\n this.subscribeToStore(BusinessManagementStore, () => this.onBusinessManagementStoreChange());\r\n }\r\n\r\n public componentDidMount() {\r\n if (this.state.firmHierarchyId) {\r\n this.getCompanyProposition(this.state.firmHierarchyId);\r\n const { setPageConfig } = this.context;\r\n // Setup Coachmarks for this page\r\n //setPageConfig(businessManagementCoachmarkerConfig);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n const { setPageConfig } = this.context;\r\n setPageConfig(null);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, firmHierarchyId, code, selectedProposition } = this.state;\r\n if (!checkPermission(UserClaim.AdviserPortalBusinessManagementReadWrite)) {\r\n return null;\r\n }\r\n\r\n if (!firmHierarchyId || !code) {\r\n return (\r\n
\r\n

Select the firm you'd like to view

\r\n
\r\n {\r\n if (!firm) {\r\n return;\r\n }\r\n this.onSelectFirm(firm);\r\n }}\r\n />\r\n
\r\n );\r\n } else if (selectedProposition.length == 0) {\r\n return ;\r\n } else {\r\n return (\r\n
\r\n this.setState({ selectedProposition: v })}\r\n />\r\n {this.getTabs()}\r\n
{this.getContent()}
\r\n
\r\n );\r\n }\r\n }\r\n\r\n private onBusinessManagementStoreChange() {\r\n const data = BusinessManagementStore.getData();\r\n this.setState({\r\n data,\r\n });\r\n }\r\n\r\n private getPastYear(toDate: Date): Date {\r\n return this.isLeapDay(toDate)\r\n ? new Date(toDate.getFullYear() - 1, 2, 1)\r\n : new Date(toDate.getFullYear() - 1, toDate.getMonth(), toDate.getDate() + 1);\r\n }\r\n\r\n private onSelectFirm(firm: CompanySummary) {\r\n window.location.assign(window.location.href + `?firm=${firm?.HierarchyId}&code=${firm?.CompanyCode}`);\r\n }\r\n\r\n private getCompanyProposition(hierarchyId) {\r\n BusinessManagementAction.getCompanyServiceProposition(hierarchyId, (val: Array) => {\r\n this.setState({\r\n multiPropsFilter: val,\r\n selectedProposition: val,\r\n });\r\n });\r\n }\r\n\r\n private isLeapDay(toDate: Date) {\r\n const year = toDate.getFullYear();\r\n const isLeapYear = year % 100 === 0 ? year % 400 === 0 : year % 4 === 0;\r\n const leapdaystr = toDate.getFullYear() + \"/02/29\";\r\n const todaystr = JsonDateParser.getFormatDateString(toDate, \"yyyy/MM/dd\");\r\n return isLeapYear && todaystr === leapdaystr;\r\n }\r\n\r\n private getContent(): JSX.Element {\r\n switch (this.state.selectedTab) {\r\n case BusinessManagementTab.AUM:\r\n return ;\r\n case BusinessManagementTab.WrapperSummary:\r\n return ;\r\n case BusinessManagementTab.Charges:\r\n return ;\r\n case BusinessManagementTab.ClientSummary:\r\n return ;\r\n }\r\n }\r\n\r\n private getTabs(): JSX.Element {\r\n const availableTabs = [\r\n BusinessManagementTab.AUM,\r\n BusinessManagementTab.WrapperSummary,\r\n BusinessManagementTab.Charges,\r\n BusinessManagementTab.ClientSummary,\r\n ];\r\n\r\n const tabs = [];\r\n\r\n for (const key of availableTabs) {\r\n tabs.push(\r\n this.setState({ selectedTab: key })}\r\n >\r\n {key}\r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n {tabs}\r\n
\r\n );\r\n }\r\n}\r\nBusinessManagement.contextType = CoachMarkerContext;\r\n","import * as React from \"react\";\r\nimport { DateHelper } from \"../../../../../../react-core/Helpers/DateHelper\";\r\nimport { formatMoney } from \"../../../../../../react-core/Utils/Money\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { SubAccountTypeArrayMap } from \"../../../../../Admin/Company/CompanyWizard/Resource/Content\";\r\nimport { subAccountTypeMap } from \"../../../Clients/PortfolioDashboard/Components/Performance/Resource/Contents\";\r\n\r\nexport interface IAssetHoldingsTableRow {\r\n subAccountType: SubAccountType;\r\n startValue: number;\r\n endValue: number;\r\n}\r\n\r\ninterface IAssetHoldingsTableProps {\r\n asAtStart: Date;\r\n asAtEnd: Date;\r\n rows: IAssetHoldingsTableRow[];\r\n}\r\n\r\nconst AssetHoldingsTable = (props: IAssetHoldingsTableProps) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {props.rows.map((row) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n £\r\n {formatMoney({ Currency: CurrencyCode.GBP, Amount: calculateDifference(row) }, true, 2)}\r\n \r\n \r\n );\r\n })}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Product\r\n Asset holdings as at {DateHelper.getDateStringAsddmmmyyyy(props.asAtStart)}\r\n \r\n Asset holdings as at {DateHelper.getDateStringAsddmmmyyyy(props.asAtEnd)}\r\n Difference
\r\n \r\n \r\n {subAccountTypeMap[row.subAccountType]}\r\n \r\n \r\n £{formatMoney({ Currency: CurrencyCode.GBP, Amount: row.startValue }, true, 2)}\r\n \r\n £{formatMoney({ Currency: CurrencyCode.GBP, Amount: row.endValue }, true, 2)}\r\n
Portfolio total\r\n £\r\n {formatMoney(\r\n {\r\n Currency: CurrencyCode.GBP,\r\n Amount: props.rows.reduce((total, row) => (total += row.startValue || 0), 0),\r\n },\r\n true,\r\n 2\r\n )}\r\n \r\n £\r\n {formatMoney(\r\n {\r\n Currency: CurrencyCode.GBP,\r\n Amount: props.rows.reduce((total, row) => (total += row.endValue || 0), 0),\r\n },\r\n true,\r\n 2\r\n )}\r\n \r\n £{formatMoney({ Currency: CurrencyCode.GBP, Amount: calculateTotalDifference() }, true, 2)}\r\n
\r\n );\r\n\r\n function calculateTotalDifference(): number {\r\n return props.rows.reduce((total, row) => (total += calculateDifference(row)), 0);\r\n }\r\n\r\n function calculateDifference(row: IAssetHoldingsTableRow): number {\r\n const difference = (row.endValue || 0) - (row.startValue || 0);\r\n return difference;\r\n }\r\n};\r\n\r\nexport default AssetHoldingsTable;\r\n","import * as React from \"react\";\r\nimport { DateHelper } from \"../../../../../../react-core/Helpers/DateHelper\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { addDays, addMonths, addYears } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { formatMoney } from \"../../../../../../react-core/Utils/Money\";\r\nimport { ObjectComparer } from \"../../../../../../react-core/Utils/ObjectComparer\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { ExternalTransferStatus } from \"../../../../../../Wrap/Constants/Enums/Transfer/ExternalTransferStatus\";\r\nimport { AssetUnderManagementModel } from \"../../../../../../Wrap/Models/Models/Business/AssetUnderManagement/AssetUnderManagementModel\";\r\nimport LineChart from \"../../../../../Shared/Chart/LineChart/LineChart.component\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { DateRange } from \"../../../../../Shared/Components/DateRange\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { LoadingSkeletonType } from \"../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeleton } from \"../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { BusinessManagementAction } from \"../../Action/BusinessManagementAction\";\r\nimport { AumContent } from \"../../Resource/Content\";\r\nimport { BusinessManagementStore } from \"../../Store/Variable\";\r\nimport AssetHoldingsTable, { IAssetHoldingsTableRow } from \"./AssetHoldingsTable\";\r\n\r\nimport AumBreakdown from \"./AumBreakdown\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { DateOptions } from \"../../../../../Shared/Components/Resource/Contents\";\r\n\r\ninterface IAumProps extends React.Props {\r\n selectedProposition: ServiceProposition[];\r\n}\r\n\r\ninterface IAumState {\r\n data: AssetUnderManagementModel;\r\n isLoading: boolean;\r\n from: Date;\r\n to: Date;\r\n dateSelected: string;\r\n}\r\n\r\nexport class Aum extends BaseComponent {\r\n constructor(props: IAumProps) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n isLoading: true,\r\n from: addMonths(new Date(), -3),\r\n to: addDays(new Date(), -1),\r\n dateSelected: \"6\",\r\n };\r\n this.subscribeToStore(BusinessManagementStore, () => this.onStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n this.search(this.state.from, this.state.to, this.props.selectedProposition)\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"aum\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/aum\",\r\n pageTitle: `${document.title} - dashboard - aum`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n onStoreChange() {\r\n const data = BusinessManagementStore.getData();\r\n this.setState({ data, isLoading: false });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (ObjectComparer.arraysDiffer(nextProps.selectedProposition, this.props.selectedProposition)) {\r\n this.search(this.state.from, this.state.to, nextProps.selectedProposition);\r\n }\r\n }\r\n\r\n search(from, to, selectedProposition) {\r\n this.setState({ isLoading: true });\r\n BusinessManagementAction.GetCommonData(\r\n getQueryParameters()[\"firm\"],\r\n JsonDateParser.toJsonDateNoOffset(addDays(new Date(), -1)),\r\n JsonDateParser.toJsonDateNoOffset(from),\r\n JsonDateParser.toJsonDateNoOffset(to),\r\n ExternalTransferStatus.Pending,\r\n selectedProposition\r\n );\r\n }\r\n\r\n resolveAssetHoldingsTableRows(): IAssetHoldingsTableRow[] {\r\n const rows: IAssetHoldingsTableRow[] = [];\r\n\r\n (this.state.data?.EndDateProductAssetHoldings || []).forEach((endDateHolding) => {\r\n const startDateHolding = (this.state.data?.StartDateProductAssetHoldings || []).find(\r\n (assetHolding) => assetHolding.ProductType == endDateHolding.ProductType\r\n );\r\n\r\n rows.push({\r\n startValue: startDateHolding?.Value?.Amount,\r\n endValue: endDateHolding?.Value?.Amount,\r\n subAccountType: endDateHolding.ProductType,\r\n });\r\n });\r\n\r\n return rows;\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n render() {\r\n return (\r\n
\r\n

{AumContent.title}

\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n {\r\n if (dateSelected != this.state.dateSelected) {\r\n this.addEvent({\r\n event: \"aumtab_interaction\",\r\n eventParameters: {\r\n eventAction: \"date range selector\",\r\n eventCategory: eventCategoryForGTM.aumTab,\r\n eventLabel: CommonHelper.getOptionsTxt(\r\n dateSelected,\r\n DateOptions\r\n ).toLowerCase(),\r\n },\r\n });\r\n }\r\n this.setState({ from, to, dateSelected }, () =>\r\n this.search(from, to, this.props.selectedProposition)\r\n );\r\n }}\r\n excludeToday\r\n excludeSinceAccountOpening\r\n maxDate={addDays(new Date(), -1)}\r\n />\r\n
\r\n
\r\n\r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n {\r\n return {\r\n xValue: dataPoint.DateForChart,\r\n yValue: dataPoint.Value.Amount,\r\n };\r\n }) || [],\r\n },\r\n ]}\r\n tooltipFormatter={(tooltipContext) => {\r\n const seriesName = tooltipContext.series.getName();\r\n const date = DateHelper.getDateStringAsddmmmyyyy(\r\n new Date(tooltipContext.x),\r\n true\r\n );\r\n const amount = `£${formatMoney(\r\n {\r\n Currency: CurrencyCode.GBP,\r\n Amount: tooltipContext.y,\r\n },\r\n true,\r\n 2\r\n )}`;\r\n\r\n return `${seriesName}: ${amount} as at ${date}`;\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n )}\r\n {this.state.isLoading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n

Asset holdings

\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { AUMPerformanceTableModel } from \"../../../../../../Wrap/Models/Models/Business/AssetUnderManagement/AUMPerformanceTableModel\";\r\nimport { AumContent } from \"../../Resource/Content\";\r\nimport AumTile from \"./AumTile\";\r\n\r\ninterface IAumBreakdownProps {\r\n data?: AUMPerformanceTableModel;\r\n isLoading: boolean;\r\n}\r\n\r\nconst AumBreakdown = (props: IAumBreakdownProps) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AumBreakdown;\r\n","import * as React from \"react\";\r\nimport { Spinner } from \"../../../../../../react-core/Html/Spinner\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { LoadingSkeletonType } from \"../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport MoneyDisplayWithUpperDecimal from \"../../../../../Shared/Money/MoneyDisplayWithUpperDecimal.component\";\r\n\r\ninterface IAumTileProps {\r\n title: string;\r\n amount: number;\r\n includeOperator?: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\nconst AumTile = (props: IAumTileProps) => {\r\n return (\r\n
\r\n

{props.title}

\r\n \r\n \r\n {(props.includeOperator == null || props.includeOperator) &&
}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AumTile;\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { MoneyDisplayHelper } from \"../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { addDays } from \"../../../../../react-core/utils/date\";\r\nimport TableFilterDropdown from \"../../../../../react-core/Html/Components/TableFilterDropdown\";\r\nimport { MultiplePropFilter } from \"./MultiplePropFilter\";\r\nimport { AssetUnderManagementModel } from \"../../../../../Wrap/Models/Models/Business/AssetUnderManagement/AssetUnderManagementModel\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { ServicePropositionMap } from \"../../../../Shared/Entities/Maps/ServicePropositionMap\";\r\nimport CoachMarker from \"../../../../Shared/CoachMarkers/CoachMarker\";\r\n\r\ninterface IBusinessManagementHeaderProps extends React.Props {\r\n data: AssetUnderManagementModel;\r\n onMultiPropsFilterChange: (selected) => void;\r\n multiPropsFilter: ServiceProposition[];\r\n}\r\n\r\ninterface IBusinessManagementHeaderState {\r\n selectedProposition: ServiceProposition[];\r\n}\r\n\r\nexport class BusinessManagementHeader extends React.Component<\r\n IBusinessManagementHeaderProps,\r\n IBusinessManagementHeaderState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n selectedProposition: [],\r\n };\r\n }\r\n\r\n private dropdown;\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n let formatMoney = (\r\n
\r\n 0.00\r\n
\r\n );\r\n const yesterday = addDays(new Date(), -1);\r\n const date = JsonDateParser.getFormatDateString(yesterday, \"dd MM yyyy\", true, true);\r\n if (data) {\r\n const _formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(\r\n Math.abs(data?.AUMPerformanceTableData?.TotalAssets),\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n );\r\n const _arry = _formatMoney.split(\".\");\r\n\r\n formatMoney = (\r\n
\r\n {_arry[0]}\r\n .{_arry[1]}\r\n
\r\n );\r\n }\r\n const showTotal =\r\n this.state.selectedProposition.length == this.props.multiPropsFilter.length ||\r\n this.state.selectedProposition.length == 0;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {\"Business management\"}\r\n

\r\n \r\n (this.dropdown = ref)}\r\n labelSrOnly=\"Business management client filter\"\r\n >\r\n this.dropdown(true)}\r\n onApply={(d) => {\r\n this.dropdown(true);\r\n this.props.onMultiPropsFilterChange(d);\r\n this.setState({ selectedProposition: d });\r\n }}\r\n />\r\n {\" \"}\r\n Showing{\" \"}\r\n {showTotal\r\n ? \"Total\"\r\n : this.state.selectedProposition.map((v) => {\r\n return ServicePropositionMap.getString(v) + \" \";\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n Last updated {date}\r\n
\r\n
\r\n
\r\n
\r\n {formatMoney}\r\n
{\"Total asset holdings\"}
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { addMonths, addYears } from \"../../../../../react-core/utils/date\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Adviser } from \"../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ExcelExportAction } from \"../../../../Shared/ExcelExport/Actions/ExcelExportAction\";\r\nimport { ExcelExportButton } from \"../../../../Shared/ExcelExport/ExcelExportButton\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { LoadingSkeletonType } from \"../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { BusinessManagementAction } from \"../Action/BusinessManagementAction\";\r\nimport { BMContent } from \"../Resource/Content\";\r\nimport { ChargesColumnChart } from \"./Charges/ChargesColumnChart\";\r\nimport { ExpandableTableCharges } from \"./Charges/ExpandableTableCharges\";\r\nimport { AdviserDropdown } from \"./Search/AdviserDropdown\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { DateOptions } from \"../../../../Shared/Components/Resource/Contents\";\r\n\r\ninterface IChargesProps {\r\n selectedProposition: ServiceProposition[];\r\n}\r\n\r\nexport const Charges = (props: IChargesProps) => {\r\n enum Views {\r\n Table,\r\n Chart,\r\n }\r\n const [view, setView] = useState(Views.Chart);\r\n const [data, setData] = useState(null);\r\n const [isLoading, setisLoading] = useState(false);\r\n const [fromDate, setFromDate] = useState(addMonths(new Date(), -3));\r\n const [toDate, setToDate] = useState(new Date());\r\n const [companyHierarchyId, setCompanyHierarchyId] = useState(getQueryParameters()[\"firm\"]);\r\n const [adviserHierarchyId, setAdviserHierarchyId] = useState(null);\r\n\r\n useEffect(() => {\r\n search(null, addMonths(new Date(), -3), new Date(), null);\r\n }, [props.selectedProposition]);\r\n\r\n useEffect(() => {\r\n addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"advisercharges\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/advisercharges\",\r\n pageTitle: `${document.title} - business management - adviser charges`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }, []);\r\n const { addEvent } = new AdviserSiteTagManager();\r\n const search = (advisor: Adviser, from, to, dateSelected) => {\r\n if (dateSelected) {\r\n addEvent({\r\n event: \"adviserchargestab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.adviserChargesTab,\r\n eventLabel: `submit - ${CommonHelper.getOptionsTxt(\r\n dateSelected,\r\n DateOptions\r\n ).toLowerCase()} - adviser charges`,\r\n },\r\n });\r\n }\r\n setisLoading(true);\r\n BusinessManagementAction.getAdviserCharges(\r\n getQueryParameters()[\"firm\"],\r\n advisor?.HierarchyId,\r\n from,\r\n to,\r\n props.selectedProposition,\r\n (d) => {\r\n setisLoading(false);\r\n setData(d);\r\n setFromDate(from);\r\n setToDate(to);\r\n setAdviserHierarchyId(advisor?.HierarchyId);\r\n }\r\n );\r\n };\r\n\r\n return (\r\n \r\n

Adviser charges

\r\n search(advisor, from, to, dateSelected.toLowerCase())}\r\n isFromTo\r\n />\r\n \r\n
\r\n
\r\n {\r\n addEvent({\r\n event: \"adviserchargestab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.adviserChargesTab,\r\n eventLabel: \"adviser charges - chart\",\r\n },\r\n });\r\n setView(Views.Chart);\r\n }}\r\n aria-pressed={view == Views.Chart}\r\n className=\"column-chart-view-button\"\r\n title=\"Column chart view\"\r\n >\r\n Set pie chart view\r\n \r\n \r\n
\r\n
\r\n {\r\n addEvent({\r\n event: \"adviserchargestab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.adviserChargesTab,\r\n eventLabel: \"adviser charges - table\",\r\n },\r\n });\r\n setView(Views.Table);\r\n }}\r\n aria-pressed={view == Views.Table}\r\n className=\"table-view-button\"\r\n title=\"Data table view\"\r\n >\r\n Set table view\r\n \r\n \r\n
\r\n
\r\n {\r\n addEvent({\r\n event: \"adviserchargestab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.adviserChargesTab,\r\n eventLabel: \"export to excel\",\r\n },\r\n });\r\n return ExcelExportAction.generateAdviserChargeReport(\r\n companyHierarchyId,\r\n adviserHierarchyId,\r\n fromDate,\r\n toDate,\r\n props.selectedProposition\r\n );\r\n }}\r\n selectedAccount={null}\r\n >\r\n
\r\n
\r\n \r\n
\r\n {view == Views.Chart ? : }\r\n
\r\n
\r\n {checkPermission(UserClaim.AdviserPortalLinkAdviserFirmTermsCanView) && (\r\n {\r\n addEvent({\r\n event: \"adviserchargestab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.adviserChargesTab,\r\n eventLabel: \"adviser firm terms\",\r\n },\r\n });\r\n }}\r\n >\r\n Click to see your adviser firm terms\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import React from \"react\";\r\nimport useApplicationRegistrationCookiePopup from \"../../../../../Shared/Cookies/ChoicesCookie/useApplicationRegistrationCookiePopup.hook\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { ChartLegendToggleButton } from \"./ChartLegendToggleButton\";\r\n\r\nexport const adviceChargesTypes = [\r\n {\r\n name: \"Initial adviser charge\",\r\n color: \"#87C0CD\",\r\n cssModifier: \"iac squared\",\r\n wrapperTypeEnum: \"InitialAdviserCharge\",\r\n },\r\n {\r\n name: \"Ongoing adviser charge\",\r\n color: \"#3581D7\",\r\n cssModifier: \"oac squared\",\r\n wrapperTypeEnum: \"OngoingAdviserCharge\",\r\n },\r\n {\r\n name: \"Regular payment adviser charge\",\r\n color: \"#2B3252\",\r\n cssModifier: \"rp squared\",\r\n wrapperTypeEnum: \"RegularPaymentAdviserCharge\",\r\n },\r\n { name: \"Adviser ad hoc charge\", color: \"#FF8A00\", cssModifier: \"adHoc squared\", wrapperTypeEnum: \"AdHocCharge\" },\r\n];\r\n\r\ninterface IAdviceChargesToggleBarProps {\r\n types: string[];\r\n originType: string[];\r\n onChange: (types) => void;\r\n}\r\n\r\nexport const AdviceChargesToggleBar = (props: IAdviceChargesToggleBarProps) => {\r\n const _adviceChargesTypes = adviceChargesTypes.filter((ele) => props.originType?.some((item) => item == ele.name));\r\n const { addEvent } = new AdviserSiteTagManager();\r\n return (\r\n
\r\n {_adviceChargesTypes.map((bo: any, index: number) => {\r\n return (\r\n
\r\n {\r\n addEvent({\r\n event: \"adviserchargestab_interaction\",\r\n eventParameters: {\r\n eventAction: \"chart filter\",\r\n eventCategory: eventCategoryForGTM.adviserChargesTab,\r\n eventLabel: `${bo.name} - ${v ? \"yes\" : \"no\"}`,\r\n },\r\n });\r\n if (v) {\r\n props.onChange(props.types.concat(bo.name));\r\n } else {\r\n props.onChange(props.types.filter((ele) => ele != bo.name));\r\n }\r\n }}\r\n />\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport Highcharts from \"highcharts\";\r\nimport HighchartsReact from \"highcharts-react-official\";\r\nimport { MonthChargeTypesValuationModel } from \"../../../../../../Wrap/Models/Models/AdviserCharges/MonthChargeTypesValuationModel\";\r\nimport { AdviceChargesToggleBar } from \"./AdviceChargesToggleBar\";\r\nimport { useState } from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\n\r\ninterface IChargesColumnChartProps {\r\n data: MonthChargeTypesValuationModel[];\r\n}\r\n\r\nconst options = (data: MonthChargeTypesValuationModel[], types: string[]): Highcharts.Options => {\r\n data = data.slice().reverse();\r\n return {\r\n chart: {\r\n renderTo: \"container\",\r\n type: \"column\",\r\n backgroundColor: \"transparent\",\r\n },\r\n legend: {\r\n enabled: false,\r\n },\r\n\r\n title: {\r\n text: null,\r\n },\r\n\r\n credits: {\r\n enabled: false,\r\n },\r\n\r\n xAxis: {\r\n categories: data.map((ele) => {\r\n return `${JsonDateParser.getMonthNameMapping(\r\n ele.MonthOfYear.Month,\r\n true\r\n )} ${ele.MonthOfYear.Year.toString().substr(2, 2)}`;\r\n }),\r\n crosshair: true,\r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: null,\r\n },\r\n\r\n labels: {\r\n formatter: function () {\r\n return MoneyDisplayHelper.getMoneyFormat({ Amount: this.value, Currency: CurrencyCode.GBP });\r\n },\r\n },\r\n },\r\n tooltip: {\r\n pointFormatter: function () {\r\n return `${this.series.name}: ${MoneyDisplayHelper.getMoneyFormat({\r\n Amount: this.y,\r\n Currency: CurrencyCode.GBP,\r\n })}`;\r\n },\r\n },\r\n plotOptions: {\r\n column: {\r\n pointPadding: 0,\r\n borderWidth: 0,\r\n },\r\n },\r\n\r\n series: [\r\n {\r\n type: \"column\",\r\n name: \"Initial adviser charge\",\r\n color: \"#0057B7\",\r\n data: data.map((ele) => ele.Valuation.IACTotal.Amount),\r\n },\r\n {\r\n type: \"column\",\r\n name: \"Ongoing adviser charge\",\r\n color: \"#72246c\",\r\n data: data.map((ele) => ele.Valuation.OACTotal.Amount),\r\n },\r\n {\r\n type: \"column\",\r\n name: \"Regular payment adviser charge\",\r\n color: \"#008264\",\r\n data: data.map((ele) => ele.Valuation.RIACTotal.Amount),\r\n },\r\n {\r\n type: \"column\",\r\n name: \"Adviser ad hoc charge\",\r\n color: \"#E24082\",\r\n data: data.map((ele) => ele.Valuation.AACTotal.Amount),\r\n },\r\n ].filter((ele) => types.includes(ele.name)) as Highcharts.SeriesOptionsType[],\r\n };\r\n};\r\n\r\nexport const ChargesColumnChart = (props: IChargesColumnChartProps) => {\r\n if (!props.data) {return null;}\r\n if (props.data.length == 0) {\r\n return ;\r\n }\r\n const noInitital = props.data.every((charge) => charge?.Valuation?.IACTotal?.Amount == 0);\r\n const noOngoing = props.data.every((charge) => charge?.Valuation?.OACTotal?.Amount == 0);\r\n const noRegular = props.data.every((charge) => charge?.Valuation?.RIACTotal?.Amount == 0);\r\n const noAdHoc = props.data.every((charge) => charge?.Valuation?.AACTotal?.Amount == 0);\r\n const types = [];\r\n if (!noInitital) {types.push(\"Initial adviser charge\");}\r\n if (!noOngoing) {types.push(\"Ongoing adviser charge\");}\r\n if (!noRegular) {types.push(\"Regular payment adviser charge\");}\r\n if (!noAdHoc) {types.push(\"Adviser ad hoc charge\");}\r\n const [chargeTypes, setChargesTypes] = useState(types.concat());\r\n if (types.length == 0)\r\n {return ;}\r\n\r\n return (\r\n <>\r\n {noInitital && (\r\n \r\n )}\r\n {noOngoing && (\r\n \r\n )}\r\n {noRegular && (\r\n \r\n )}\r\n {noAdHoc && (\r\n \r\n )}\r\n \r\n
\r\n setChargesTypes(types)}\r\n types={chargeTypes}\r\n originType={types}\r\n />\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\n\r\nexport const ChartLegendToggleButton = (props: any) => {\r\n const { product, cssWrapper } = props;\r\n const [isOn, setIsOn] = useState(true);\r\n\r\n return (\r\n {\r\n setIsOn(!isOn);\r\n props.onClick(!isOn);\r\n }}\r\n className={\"chart-legend-toggle-button \" + product.cssModifier + cssWrapper}\r\n >\r\n \r\n Click to toggle\r\n {product.name}\r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { UnmountClosed } from \"react-collapse\";\r\nimport { DateHelper } from \"../../../../../../react-core/Helpers/DateHelper\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { MonthChargeTypesDetailModel } from \"../../../../../../Wrap/Models/Models/AdviserCharges/MonthChargeTypesDetailModel\";\r\nimport { MonthChargeTypesValuationModel } from \"../../../../../../Wrap/Models/Models/AdviserCharges/MonthChargeTypesValuationModel\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\n\r\ninterface IExpandableTableChargesProps {\r\n data: MonthChargeTypesValuationModel[];\r\n}\r\n\r\nexport const ExpandableTableCharges = (props: IExpandableTableChargesProps) => {\r\n if (!props.data) {return null;}\r\n if (props.data.length == 0)\r\n {return ;}\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.data.map((ele) => {\r\n return ;\r\n })}\r\n \r\n
Adviser nameInitial Adviser chargeOngoing Adviser chargeRegular payment adviser chargeAd hoc chargeTotal
\r\n
\r\n );\r\n};\r\n\r\nconst ExpandableTableChargesRow = (props: { ele: MonthChargeTypesValuationModel }) => {\r\n const [expanded, setExpanded] = useState(false);\r\n return (\r\n <>\r\n \r\n \r\n setExpanded(!expanded)}\r\n >\r\n \r\n Click to expand details for this row\r\n {`${JsonDateParser.getMonthNameMapping(props.ele.MonthOfYear.Month)} ${\r\n props.ele.MonthOfYear.Year\r\n }`}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.ele.MonthChargeTypesDetails.map((row: MonthChargeTypesDetailModel) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Adviser nameInitial Adviser chargeOngoing Adviser chargeRegular payment adviser chargeAd hoc chargeTotal
{row.AdviserName}\r\n {MoneyDisplayHelper.getMoneyFormat(row.IAC)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(row.OAC)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(row.RIAC)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(row.AAC)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(row.Total)}\r\n
Total\r\n {MoneyDisplayHelper.getMoneyFormat(props.ele.Valuation.IACTotal)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(props.ele.Valuation.OACTotal)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(props.ele.Valuation.RIACTotal)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(props.ele.Valuation.AACTotal)}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat({\r\n Amount:\r\n props.ele.Valuation.IACTotal.Amount +\r\n props.ele.Valuation.OACTotal.Amount +\r\n props.ele.Valuation.RIACTotal.Amount +\r\n props.ele.Valuation.AACTotal.Amount,\r\n Currency: CurrencyCode.GBP,\r\n })}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DateHelper } from \"../../../../../react-core/Helpers/DateHelper\";\r\nimport { MoneyDisplayHelper } from \"../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { addDays, addYears } from \"../../../../../react-core/utils/date\";\r\nimport { CurrencyCode } from \"../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { AccountCreationHistoryModel } from \"../../../../../Wrap/Models/Domains/Account/AccountCreationHistoryModel\";\r\nimport { ClientSummaryGroupModel } from \"../../../../../Wrap/Models/Models/Business/ClientSummary/ClientSummaryGroupModel\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { LoadingSkeletonType } from \"../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { BusinessManagementAction } from \"../Action/BusinessManagementAction\";\r\nimport { ClientSummaryChart } from \"./ClientSummary/ClientSummaryChart\";\r\nimport { ClientSummaryTable } from \"./ClientSummary/ClientSummaryTable\";\r\nimport { NewAccountsChart } from \"./ClientSummary/NewAccountsChart\";\r\nimport { AdviserDropdown } from \"./Search/AdviserDropdown\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { DateOptions } from \"../../../../Shared/Components/Resource/Contents\";\r\n\r\ninterface IClientSummaryProps {\r\n selectedProposition: ServiceProposition[];\r\n}\r\n\r\nexport const ClientSummary = (props: IClientSummaryProps) => {\r\n const [data, setData] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isLoading2, setIsLoading2] = useState(false);\r\n const [startGroup, setStartGroup] = useState({ GroupStartValue: [] });\r\n const [query, setQuery] = useState<{ hierarchyId: string; asAt: Date }>({\r\n hierarchyId: getQueryParameters()[\"firm\"],\r\n asAt: addDays(new Date(), -1),\r\n });\r\n const [newAccounts, setNewAccounts] = useState(null);\r\n\r\n useEffect(() => {\r\n search(null, addDays(new Date(), -1));\r\n newAccountSearch(null, addYears(new Date(), -1), addDays(new Date(), -1));\r\n }, [props.selectedProposition]);\r\n\r\n useEffect(() => {\r\n addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"clientsummary\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/clientsummary\",\r\n pageTitle: `${document.title} - business management - client summary`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }, []);\r\n\r\n const { addEvent } = new AdviserSiteTagManager();\r\n\r\n const filterData = (d) => {\r\n const data = d.map((ele: ClientSummaryGroupModel, index) => {\r\n const label = d[index + 1]\r\n ? `${MoneyDisplayHelper.FromatMoneyDisplay(\r\n ele.GroupStartValue,\r\n CurrencyCode.GBP\r\n )} - ${MoneyDisplayHelper.FromatMoneyDisplay(d[index + 1].GroupStartValue, CurrencyCode.GBP)}`\r\n : `> ${MoneyDisplayHelper.FromatMoneyDisplay(ele.GroupStartValue, CurrencyCode.GBP)}`;\r\n return {\r\n GroupStartValue: label,\r\n Count: Number(ele.Count.toFixed(2)),\r\n Accounts: ele.Accounts,\r\n };\r\n });\r\n setStartGroup({ GroupStartValue: d.map((ele) => ele.GroupStartValue) });\r\n setIsLoading(false);\r\n setData(data);\r\n };\r\n\r\n const search = (advisor, asAt) => {\r\n setIsLoading(true);\r\n let hierarchyId = getQueryParameters()[\"firm\"];\r\n if (advisor) {\r\n hierarchyId = advisor.HierarchyId;\r\n }\r\n setQuery({ hierarchyId: hierarchyId, asAt: asAt });\r\n BusinessManagementAction.getClientSummary(hierarchyId, asAt, props.selectedProposition, (d) => {\r\n filterData(d);\r\n });\r\n };\r\n\r\n const setSetting = (settings) => {\r\n setIsLoading(true);\r\n BusinessManagementAction.setClientSummary(\r\n settings,\r\n query.hierarchyId,\r\n query.asAt,\r\n props.selectedProposition,\r\n (d) => {\r\n filterData(d);\r\n }\r\n );\r\n };\r\n\r\n const newAccountSearch = (advisor, from, to) => {\r\n setIsLoading2(true);\r\n let hierarchyId = getQueryParameters()[\"firm\"];\r\n if (advisor) {\r\n hierarchyId = advisor.HierarchyId;\r\n }\r\n BusinessManagementAction.getNewAccounts(\r\n hierarchyId,\r\n DateHelper.toStartOfDay(from),\r\n DateHelper.toStartOfDay(to),\r\n props.selectedProposition,\r\n (d) => {\r\n setNewAccounts(d);\r\n setIsLoading2(false);\r\n }\r\n );\r\n };\r\n\r\n return (\r\n
\r\n

All Account statuses will be included in the figures below.

\r\n

Account summary

\r\n {\r\n addEvent({\r\n event: \"clientsummarytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.clientSummaryTab,\r\n eventLabel: `submit - date widget`,\r\n },\r\n });\r\n search(advisor, asAt);\r\n }}\r\n isFromTo={false}\r\n />\r\n \r\n {data == null ? null : data.length == 0 ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n setSetting(setting)}\r\n setting={startGroup}\r\n />\r\n }\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

New accounts

\r\n {\r\n addEvent({\r\n event: \"clientsummarytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.clientSummaryTab,\r\n eventLabel: `submit - ${CommonHelper.getOptionsTxt(\r\n dateSelected,\r\n DateOptions\r\n ).toLowerCase()} - client summary`,\r\n },\r\n });\r\n newAccountSearch(advisor, from, to);\r\n }}\r\n isFromTo\r\n />\r\n \r\n
\r\n {newAccounts == null ? null : newAccounts.length == 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport * as Highcharts from \"highcharts\";\r\nimport HighchartsReact from \"highcharts-react-official\";\r\nimport { ClientSummaryGroupModel } from \"../../../../../../Wrap/Models/Models/Business/ClientSummary/ClientSummaryGroupModel\";\r\n\r\ninterface IAssetAllocationChart {\r\n data: ClientSummaryGroupModel[];\r\n}\r\n\r\nexport const ClientSummaryChart = (props: IAssetAllocationChart) => {\r\n const _data = props.data.concat();\r\n if (!_data || _data.length == 0) {return null;}\r\n let countSum = 0;\r\n _data.forEach((x) => (countSum += x.Count));\r\n const Data = _data.map((ele) => {\r\n return {\r\n name: ele.GroupStartValue.toString(),\r\n y: Number((ele.Count > 0 ? (ele.Count / countSum) * 100 : 0).toFixed(2)),\r\n };\r\n });\r\n\r\n const options: Highcharts.Options = {\r\n chart: {\r\n renderTo: \"container\",\r\n type: \"pie\",\r\n width: 300,\r\n height: 300,\r\n backgroundColor: \"rgba(255,255,255,0)\",\r\n },\r\n colors: [\"#0057B7\", \"#72246c\", \"#008264\", \"#E24082\", \"#000000\", \"#A7A8A9\"],\r\n title: {\r\n text: \"\",\r\n },\r\n navigator: {\r\n enabled: false,\r\n },\r\n rangeSelector: {\r\n enabled: false,\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n yAxis: {\r\n title: {\r\n text: \"client count\",\r\n },\r\n },\r\n plotOptions: {\r\n pie: {\r\n shadow: false,\r\n },\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return \"\" + this.point.name + \": \" + this.y + \" %\";\r\n },\r\n },\r\n series: [\r\n {\r\n name: \"Client summary\",\r\n type: \"pie\",\r\n data: Data,\r\n size: \"80%\",\r\n innerSize: \"93%\",\r\n selected: false,\r\n showInLegend: false,\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { Accordion } from \"../../../../../../react-core/Html/Accordion\";\r\nimport { UserClientSummaryGroupSettingModel } from \"../../../../../../Wrap/Models/Domains/Users/UserClientSummaryGroupSettingModel\";\r\nimport { ClientSummaryGroupModel } from \"../../../../../../Wrap/Models/Models/Business/ClientSummary/ClientSummaryGroupModel\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { EditRangePopup } from \"./EditRangePopup\";\r\nimport { StaticUrls } from \"../../../../Resoures/StaticUrls\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\n\r\ninterface IClientSummaryTableProps {\r\n data: ClientSummaryGroupModel[];\r\n saveSetting: (settings) => void;\r\n setting: UserClientSummaryGroupSettingModel;\r\n}\r\n\r\nexport const ClientSummaryTable = (props: IClientSummaryTableProps) => {\r\n const [lightbox, setLightbox] = useState(false);\r\n const [lightboxData, setLightboxData] = useState({});\r\n const [totalLightbox, setTotalLightbox] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n const { addEvent } = new AdviserSiteTagManager();\r\n const getPtype = (index: number) => {\r\n switch (index) {\r\n case 0:\r\n return \"first-range mr-28\";\r\n case 1:\r\n return \"second-range mr-28\";\r\n case 2:\r\n return \"third-range mr-28\";\r\n case 3:\r\n return \"fourth-range mr-28\";\r\n case 4:\r\n return \"fifth-range mr-28\";\r\n case 5:\r\n return \"sixth-range mr-28\";\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n if (!props.data) {return null;}\r\n\r\n const total = props.data.reduce((sum, cur) => (sum = sum + cur.Count), 0);\r\n return (\r\n <>\r\n {\r\n return (\r\n <>\r\n \r\n

{row.GroupStartValue}

\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: (\r\n {\r\n addEvent({\r\n event: \"clientsummarytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.clientSummaryTab,\r\n eventLabel: `edit groups`,\r\n },\r\n });\r\n setShowEdit(true);\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n ),\r\n key: \"Count\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n addEvent({\r\n event: \"clientsummarytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.clientSummaryTab,\r\n eventLabel: `group ${index + 1}`,\r\n },\r\n });\r\n setLightboxData(row);\r\n setLightbox(true);\r\n }}\r\n >\r\n {data > 1 ? `${data} Clients` : `${data} Client`}\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", tfTdCssWrapper: \"cell-right\" },\r\n {\r\n data: (\r\n {\r\n setTotalLightbox(true);\r\n }}\r\n >\r\n {total > 1 ? `${total} clients` : `${total} client`}\r\n \r\n ),\r\n },\r\n ]}\r\n />\r\n {lightbox && (\r\n setLightbox(false)}\r\n title={lightboxData?.GroupStartValue?.toString()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(lightboxData?.Accounts || []).map((ele) => {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
Account nameAccountValue
{ele.AccountName}\r\n {checkPermission(UserClaim.AdviserPortalPerformanceSummaryCanView) ? (\r\n {\r\n window.location.assign(\r\n StaticUrls.ClientDashboardUrl(ele.HierarchyId, \"summary\")\r\n );\r\n }}\r\n className=\"hyperlink\"\r\n >\r\n {ele.ClAccountId}\r\n \r\n ) : (\r\n ele.ClAccountId\r\n )}\r\n {MoneyDisplayHelper.FromatMoneyDisplay(ele.Value.Amount,CurrencyCode.GBP, true,2)}
\r\n \r\n )}\r\n {totalLightbox && (\r\n setTotalLightbox(false)}\r\n title=\"Total accounts\"\r\n >\r\n {props.data.map((item) => {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(item.Accounts || []).map((ele) => {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
Account nameAccountValue
{ele.AccountName}\r\n {checkPermission(\r\n UserClaim.AdviserPortalPerformanceSummaryCanView\r\n ) ? (\r\n {\r\n window.location.assign(\r\n StaticUrls.ClientDashboardUrl(\r\n ele.HierarchyId,\r\n \"summary\"\r\n )\r\n );\r\n }}\r\n className=\"hyperlink\"\r\n >\r\n {ele.ClAccountId}\r\n \r\n ) : (\r\n ele.ClAccountId\r\n )}\r\n {MoneyDisplayHelper.FromatMoneyDisplay(ele.Value.Amount,CurrencyCode.GBP, true,2) }
\r\n
\r\n \r\n );\r\n })}\r\n \r\n )}\r\n {showEdit && (\r\n setShowEdit(false)}\r\n onSave={(setting) => props.saveSetting(setting)}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { UserClientSummaryGroupSettingModel } from \"../../../../../../Wrap/Models/Domains/Users/UserClientSummaryGroupSettingModel\";\r\n\r\ninterface IEditRangePopupProps {\r\n data: UserClientSummaryGroupSettingModel;\r\n onSave: (setting) => void;\r\n isShow: boolean;\r\n onClose: () => void;\r\n}\r\n\r\ninterface IEditRangePopupState {\r\n setting: number[];\r\n}\r\n\r\nexport class EditRangePopup extends FormComponent {\r\n constructor(props: IEditRangePopupProps) {\r\n super(props);\r\n this.state = {\r\n setting: props.data.GroupStartValue.concat(),\r\n };\r\n }\r\n\r\n render() {\r\n const props = this.props;\r\n const setting = this.state.setting;\r\n return (\r\n <>\r\n {props.isShow && (\r\n props.onClose()}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n {setting.map((ele, index) => {\r\n return (\r\n
\r\n {index == setting.length - 1 ? \"> \" : \"\"}\r\n
\r\n {\r\n const _data = setting.concat();\r\n _data[index] = v;\r\n this.setState({ setting: _data });\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Value must be greater that the previous Groups 'From' amount\",\r\n validator: (v) => {\r\n if (index == 0) {return true;}\r\n return v > setting[index - 1] + 0.01;\r\n },\r\n },\r\n ]}\r\n disabled={index == 0}\r\n value={ele}\r\n required=\"Please enter\"\r\n currency={CurrencyCode.GBP}\r\n />\r\n
\r\n {index == setting.length - 1 ? null : (\r\n
\r\n {}}\r\n value={Number((setting[index + 1] - 0.01).toFixed(2))}\r\n disabled\r\n currency={CurrencyCode.GBP}\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n \r\n {\r\n props.onClose();\r\n props.onSave({ GroupStartValue: [0, 100000, 250000, 500000, 750000, 1000000] });\r\n }}\r\n >\r\n Apply default\r\n \r\n {\r\n if (this.isValid()) {\r\n props.onClose();\r\n props.onSave({ GroupStartValue: setting });\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import Highcharts from \"highcharts\";\r\nimport HighchartsReact from \"highcharts-react-official\";\r\nimport React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountCreationHistoryModel } from \"../../../../../../Wrap/Models/Domains/Account/AccountCreationHistoryModel\";\r\n\r\ninterface INewAccountsChartProps {\r\n data: AccountCreationHistoryModel[];\r\n}\r\n\r\nconst options = (data: AccountCreationHistoryModel[]): Highcharts.Options => {\r\n return {\r\n chart: {\r\n renderTo: \"container\",\r\n type: \"column\",\r\n backgroundColor: \"transparent\",\r\n },\r\n legend: {\r\n enabled: false,\r\n },\r\n\r\n title: {\r\n text: null,\r\n },\r\n\r\n credits: {\r\n enabled: false,\r\n },\r\n\r\n xAxis: {\r\n categories: data.map((ele) =>\r\n JsonDateParser.getFormatDateString(JsonDateParser.toDate(ele.DateCreated), \"dd MM yy\", true)\r\n ),\r\n crosshair: true,\r\n },\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: null,\r\n },\r\n },\r\n\r\n plotOptions: {\r\n column: {\r\n pointPadding: 0,\r\n borderWidth: 0,\r\n pointWidth: 15,\r\n },\r\n },\r\n\r\n series: [\r\n {\r\n type: \"column\",\r\n name: \"New accounts\",\r\n color: \"#3581D7\",\r\n data: data.map((ele) => ele.CountOfAccountsCreated),\r\n },\r\n ],\r\n };\r\n};\r\n\r\nexport const NewAccountsChart = (props: INewAccountsChartProps) => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { CheckboxGroup } from \"../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { ServicePropositionMap } from \"../../../../Shared/Entities/Maps/ServicePropositionMap\";\r\nimport { BusinessManagementPropositionDispatcher, BusinessManagementPropositionStore } from \"../Store/Variable\";\r\n\r\ninterface IMultiplePropFilterProps {\r\n multiPropsFilter: ServiceProposition[];\r\n onCancel: VoidFunction;\r\n onApply: (selected) => void;\r\n}\r\n\r\nexport const MultiplePropFilter = (props: IMultiplePropFilterProps) => {\r\n const [selectedProposition, setSelectedProposition] = useState(\r\n BusinessManagementPropositionStore.getData()\r\n );\r\n const getPropositionList = () => {\r\n return props.multiPropsFilter.map((item, index) => {\r\n return {\r\n label: ServicePropositionMap.getString(item),\r\n onChange: (v) => {\r\n if (v) {\r\n setSelectedProposition(selectedProposition.concat(item));\r\n } else {\r\n setSelectedProposition(selectedProposition.filter((e) => e != item));\r\n }\r\n },\r\n value: selectedProposition.some((x) => x == item),\r\n disabled: props.multiPropsFilter.length == 1,\r\n };\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n props.onApply(selectedProposition);\r\n BusinessManagementPropositionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: selectedProposition,\r\n });\r\n }}\r\n disabled={selectedProposition.length == 0}\r\n >\r\n {\"Apply\"}\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { addDays, addMonths } from \"../../../../../../react-core/utils/date\";\r\nimport { AdviserWizardAction } from \"../../../../../Admin/Adviser/Actions/AdviserWizardAction\";\r\nimport { DateRange } from \"../../../../../Shared/Components/DateRange\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { datePickerOptions } from \"../../../Clients/Common/Resource/Contents\";\r\n\r\ninterface IAviserDropdownProps {\r\n onSearch: (advisor, from, to?, dateSelected?: string) => void;\r\n isFromTo: boolean;\r\n}\r\n\r\nexport const AdviserDropdown = (props: IAviserDropdownProps) => {\r\n const [advisors, setAdvisors] = React.useState([]);\r\n const [advisor, setAdvisor] = React.useState(null);\r\n const [asAt, setAsAt] = React.useState(addDays(new Date(), -1));\r\n const [from, setFrom] = React.useState(addMonths(new Date(), -3));\r\n const [to, setTo] = React.useState(addDays(new Date(), -1));\r\n const [dateSelected, setDateSelected] = React.useState(\"Past 3 months\");\r\n\r\n React.useEffect(() => {\r\n AdviserWizardAction.getAdviser(\r\n { Company: getQueryParameters()[\"code\"], Network: null, CurrentPage: 1, ResultsPerPage: 999 },\r\n (d) => {\r\n setAdvisors([null].concat(d.Results));\r\n }\r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!props.isFromTo && (\r\n
\r\n
\r\n setAdvisor(d)}\r\n getText={(o) => (o ? o.Name : \"All\")}\r\n selected={advisor}\r\n />\r\n
\r\n
\r\n setAsAt(d)}\r\n selected={asAt}\r\n {...datePickerOptions}\r\n todayButton={null}\r\n lessThan={{\r\n value: new Date(),\r\n errorMessage: \"Date can not be today or future\",\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {props.isFromTo && (\r\n
\r\n
\r\n setAdvisor(d)}\r\n getText={(o) => (o ? o.Name : \"All\")}\r\n selected={advisor}\r\n />\r\n
\r\n
\r\n {\r\n setFrom(from);\r\n setTo(to);\r\n setDateSelected(dateSelected);\r\n }}\r\n excludeToday\r\n excludeSinceAccountOpening\r\n maxDate={addDays(new Date(), -1)}\r\n />\r\n
\r\n\r\n
\r\n props.onSearch(advisor, from, to, dateSelected)}\r\n >\r\n Submit\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { IAddClientModel } from \"../../../Clients/AddClient/Components/AddClientWizard\";\r\nimport { Filter } from \"../../../Clients/AddClient/Components/ClientType/Filter\";\r\n\r\ninterface ISearchProps {\r\n onChangeFirmHierarchyId: (firmHierarchyId: CompanySummary) => void;\r\n}\r\n\r\nconst Search = (props: ISearchProps) => {\r\n const filterRef = React.useRef();\r\n const [filterState, setFilterState] = React.useState<{\r\n firm: CompanySummary;\r\n networkName: string;\r\n }>({\r\n firm: null,\r\n networkName: null,\r\n });\r\n\r\n return (\r\n <>\r\n {\r\n filterRef.current = ref;\r\n }}\r\n onFilterSelectionChange={onChangeFilterSelection}\r\n onOneDefaultCompany={(company) => props.onChangeFirmHierarchyId(company)}\r\n onChange={() => {}}\r\n />\r\n\r\n \r\n \r\n );\r\n\r\n function onClickUpdate() {\r\n if (filterRef.current?.isValid()) {props.onChangeFirmHierarchyId(filterState.firm);}\r\n }\r\n\r\n function onChangeFilterSelection(value: IAddClientModel) {\r\n if (value?.SelectedFirm) {\r\n setFilterState({\r\n firm: value?.SelectedFirm,\r\n networkName: value?.SelectedNetwork?.NetworkName,\r\n });\r\n }\r\n }\r\n};\r\n\r\nexport default Search;\r\n","import React from \"react\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IAddClientModel } from \"../../../Clients/AddClient/Components/AddClientWizard\";\r\nimport { Filter } from \"../../../Clients/AddClient/Components/ClientType/Filter\";\r\n\r\ninterface IWorkflowDashboardSearchProps {\r\n onSearch: (selectedFirm: CompanySummary, selectedAdviser?: number) => void;\r\n}\r\n\r\nconst WorkflowDashboardSearch = (props: IWorkflowDashboardSearchProps) => {\r\n const filterRef = React.useRef();\r\n const [filterState, setFilterState] = React.useState<{\r\n adviser: number;\r\n firm: CompanySummary;\r\n networkName: string;\r\n }>({\r\n adviser: null,\r\n firm: null,\r\n networkName: null,\r\n });\r\n const [showWarningMsg, setShowWarningMsg] = React.useState(false);\r\n\r\n return (\r\n <>\r\n {showWarningMsg && }\r\n {\r\n filterRef.current = ref;\r\n }}\r\n onFilterSelectionChange={onChangeFilterSelection}\r\n onOneDefaultCompany={(company) => props.onSearch(company, null)}\r\n onChange={() => {}}\r\n adviserOptional={true}\r\n />\r\n\r\n \r\n \r\n );\r\n\r\n function isValid() {\r\n if (filterState.firm) {\r\n return true;\r\n }\r\n setShowWarningMsg(true);\r\n return false;\r\n }\r\n\r\n function onClickSearch() {\r\n if (isValid() && filterRef.current?.isValid()) {\r\n props.onSearch(filterState.firm, filterState.adviser);\r\n }\r\n }\r\n\r\n function onChangeFilterSelection(value: IAddClientModel) {\r\n setShowWarningMsg(false);\r\n if (value.SelectedFirm) {\r\n setFilterState({\r\n adviser: value?.SelectedAdviser?.AdvisorId,\r\n firm: value?.SelectedFirm,\r\n networkName: value?.SelectedNetwork?.NetworkName,\r\n });\r\n } else if (value?.Organisation?.OwnerAdviserId) {\r\n const filter = filterState;\r\n filter.adviser = value?.Organisation?.OwnerAdviserId;\r\n setFilterState(filter);\r\n }\r\n }\r\n};\r\n\r\nexport default WorkflowDashboardSearch;\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DatePicker } from \"../../../../../react-core/Datepicker/DatePicker\";\r\nimport { MoneyDisplayHelper } from \"../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { addDays } from \"../../../../../react-core/utils/date\";\r\nimport { CurrencyCode } from \"../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { ProductWrapperValuation } from \"../../../../../Wrap/Models/Models/Business/AssetUnderManagement/ProductWrapperValuation\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { LoadingSkeletonType } from \"../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { Table } from \"../../../../Shared/Table/Table\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { subAccountTypeMap } from \"../../Clients/PortfolioDashboard/Components/Performance/Resource/Contents\";\r\nimport { datePickerOptions } from \"../../Clients/Common/Resource/Contents\";\r\nimport { BusinessManagementAction } from \"../Action/BusinessManagementAction\";\r\nimport { ProductPopup } from \"./WrapperSummary/ProductPopup\";\r\nimport { WrapperSummaryDonut } from \"./WrapperSummary/WrapperSummaryDonut\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\n\r\ninterface IWrapperSummaryProps {\r\n selectedProposition: ServiceProposition[];\r\n}\r\n\r\nexport const WrapperSummary = (props: IWrapperSummaryProps) => {\r\n const [asAt, setAsAt] = useState(addDays(new Date(), -1));\r\n const [data, setData] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [productData, setProductData] = useState(null);\r\n const [isProductLoading, setIsProductLoading] = useState(false);\r\n const [selectedProduct, setSelectedProduct] = useState(null);\r\n\r\n useEffect(() => {\r\n search(addDays(new Date(), -1));\r\n }, [props.selectedProposition]);\r\n\r\n useEffect(() => {\r\n addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"wrappersummary\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/wrappersummary\",\r\n pageTitle: `${document.title} - business management - wrapper summary`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }, []);\r\n\r\n const search = (asAt) => {\r\n if (!asAt.isNullOrEmpty) {\r\n setIsLoading(true);\r\n BusinessManagementAction.getWrapSummary(\r\n getQueryParameters()[\"firm\"],\r\n asAt,\r\n props.selectedProposition,\r\n (d) => {\r\n setData(d);\r\n setIsLoading(false);\r\n }\r\n );\r\n }\r\n };\r\n\r\n const getProductDetail = (row: ProductWrapperValuation, min: number, max: number) => {\r\n setIsProductLoading(true);\r\n BusinessManagementAction.getProductDetailForWrapperSummary(\r\n getQueryParameters()[\"firm\"],\r\n asAt,\r\n row.ProductType,\r\n props.selectedProposition,\r\n min,\r\n max,\r\n (d) => {\r\n setProductData(d);\r\n setIsProductLoading(false);\r\n }\r\n );\r\n };\r\n\r\n let total = 0;\r\n (data || []).map((item) => {\r\n total = total + Math.round(item.Value.Amount * 100) / 100;\r\n });\r\n\r\n const { addEvent } = new AdviserSiteTagManager();\r\n return (\r\n
\r\n

All sub-account statuses will be included in the figures below.

\r\n

Wrapper summary

\r\n
\r\n
\r\n {\r\n if (v > addDays(new Date(), -1)) {return;}\r\n addEvent({\r\n event: \"wrappersummarytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.wrapperSummaryTab,\r\n eventLabel: \"date widget\",\r\n },\r\n });\r\n setAsAt(v);\r\n search(v);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {data && (\r\n {\r\n return (\r\n <>\r\n \r\n {\r\n addEvent({\r\n event: \"wrappersummarytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory:\r\n eventCategoryForGTM.wrapperSummaryTab,\r\n eventLabel: subAccountTypeMap[row.ProductType],\r\n },\r\n });\r\n setSelectedProduct(row);\r\n getProductDetail(row, 1, 10);\r\n }}\r\n >\r\n {subAccountTypeMap[row.ProductType]}\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Allocation\",\r\n key: \"Allocation\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return `${data}%`;\r\n },\r\n },\r\n {\r\n title: \"Value\",\r\n key: \"Value\",\r\n tdCssWrapper: \"cell-right text-highlight text-bold\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(row.Value);\r\n },\r\n },\r\n ]}\r\n noDefaultCssWrapper\r\n cssWrapper=\"accounts-table products-summary-table\"\r\n TotalBody={[\r\n { data: \"Total\" },\r\n { data: \"100%\", tfTdCssWrapper: \"cell-right\" },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormat({\r\n Amount: total,\r\n Currency: CurrencyCode.GBP,\r\n }),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n getProductDetail(selectedProduct, min, max)}\r\n productData={selectedProduct}\r\n isShow={selectedProduct != null}\r\n onClose={() => {\r\n setSelectedProduct(null);\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { ProductWrapperValuation } from \"../../../../../../Wrap/Models/Models/Business/AssetUnderManagement/ProductWrapperValuation\";\r\nimport { ProductUnderlyingAccountValuationCollectionModel } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Valution/ProductUnderlyingAccountValuationCollectionModel\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { subAccountTypeMap } from \"../../../Clients/PortfolioDashboard/Components/Performance/Resource/Contents\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { WithDrawalReview } from \"../../../Clients/Common/Review/Component/WithDrawalReview\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { string } from \"prop-types\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IProductPopupProps {\r\n isShow: boolean;\r\n data: ProductUnderlyingAccountValuationCollectionModel;\r\n productData: ProductWrapperValuation;\r\n isLoading: boolean;\r\n onChangePage: (min, max) => void;\r\n onClose: () => void;\r\n}\r\n\r\nexport const ProductPopup = (props: IProductPopupProps) => {\r\n const [curPage, setCurPage] = React.useState(1);\r\n if (!props.data || !props.data.PageOfResults || !props.productData) {return null;}\r\n\r\n return (\r\n <>\r\n {props.isShow && (\r\n props.onClose()}\r\n title={subAccountTypeMap[props.productData?.ProductType]}\r\n >\r\n \r\n (a.Name > b.Name ? 1 : -1))}\r\n col={[\r\n {\r\n title: \"Client name\",\r\n key: \"Name\",\r\n render: (data, row) => {\r\n return (\r\n {\r\n CommonHelper.isNullOrEmpty(row.CustomerHierarchyId)\r\n ? Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: row.HierarchyId,\r\n }).summary\r\n )\r\n : Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: row.CustomerHierarchyId,\r\n }).summary\r\n );\r\n }}\r\n >\r\n {row.Name}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Account\",\r\n key: \"ClAccountId\",\r\n tdCssWrapper: \"cell-left\",\r\n thCssWrapper: \"cell-left\",\r\n render: (data, row) => {\r\n return (\r\n {\r\n CommonHelper.isNullOrEmpty(row.CustomerHierarchyId)\r\n ? Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: row.HierarchyId,\r\n }).summary\r\n )\r\n : Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: row.CustomerHierarchyId,\r\n }).summary\r\n );\r\n }}\r\n >\r\n {row.ClAccountId}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Value\",\r\n key: \"Value\",\r\n tdCssWrapper: \"cell-right\",\r\n thCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 2 },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormat(props.productData.Value),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n needPagination={{\r\n totalNumOfResult: props.data.TotalNumberOfResults,\r\n onPaginationChange: (pageIndex, pageSize) => {\r\n setCurPage(pageIndex);\r\n props.onChangePage((pageIndex - 1) * 10 + 1, pageIndex * 10);\r\n },\r\n currentPage: curPage,\r\n }}\r\n showEmptyMsg={true}\r\n />\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import Highcharts from \"highcharts\";\r\nimport HighchartsReact from \"highcharts-react-official\";\r\nimport * as React from \"react\";\r\nimport { ProductWrapperValuation } from \"../../../../../../Wrap/Models/Models/Business/AssetUnderManagement/ProductWrapperValuation\";\r\n\r\ninterface IWrapperSummaryDonutProps {\r\n data: ProductWrapperValuation[];\r\n}\r\n\r\nconst options = (data: ProductWrapperValuation[]): Highcharts.Options => {\r\n return {\r\n chart: {\r\n renderTo: \"container\",\r\n type: \"pie\",\r\n backgroundColor: \"transparent\",\r\n height: 240,\r\n },\r\n title: {\r\n text: \"\",\r\n },\r\n navigator: {\r\n enabled: false,\r\n },\r\n rangeSelector: {\r\n enabled: false,\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n yAxis: {\r\n title: {\r\n text: \"Total percent market share\",\r\n },\r\n },\r\n plotOptions: {\r\n pie: {\r\n shadow: false,\r\n },\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return \"\" + this.point.x + \": \" + this.y + \" %\";\r\n },\r\n },\r\n series: [\r\n {\r\n name: \"Asset Classes\",\r\n type: \"pie\",\r\n data: data.map((ele) => ({\r\n color: ele.Color,\r\n x: ele.Label,\r\n y: ele.Allocation,\r\n })),\r\n innerSize: \"90%\",\r\n selected: false,\r\n showInLegend: false,\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n },\r\n ],\r\n };\r\n};\r\n\r\nexport const WrapperSummaryDonut = (props: IWrapperSummaryDonutProps) => {\r\n if (!props.data || props.data.length == 0) {return null;}\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { CoachMarkerSetType } from \"../../../../../Wrap/Models/Models/CoachMarkers/CoachMarkerSetType\";\r\nimport { CoachMarkerStepPosition } from \"../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { ICoachMarkerPageConfig } from \"../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\n\r\nexport enum BusinessManagementTab {\r\n AUM = \"AUM\",\r\n WrapperSummary = \"Wrapper summary\",\r\n Charges = \"Adviser charges\",\r\n ClientSummary = \"Account summary\",\r\n}\r\n\r\nexport const BMContent = {\r\n FBRCWarning:\r\n 'This does not include FBRC payments. Please use the \"Commission Paying Accounts\" report on the Adviser Management Info Reports screen to get this data',\r\n};\r\n\r\nexport const AumContent = {\r\n title: \"Assets under management\",\r\n currentAssetHoldings: \"Current asset holdings\",\r\n pendingCashTransfersIn: \"Pending cash transfers in\",\r\n pendingAssetTransfersIn: \"Pending asset transfers in\",\r\n totalAssetHoldings: \"Total asset holdings\",\r\n figuresWarning:\r\n \"Please note, these figures do not include any pending assets that are being sold or transferred from the platform.\",\r\n};\r\n\r\nexport const businessManagementCoachmarkerConfig: ICoachMarkerPageConfig = {\r\n coachMarkerSetType: CoachMarkerSetType.FnzOneBusinessManagement,\r\n steps: [\r\n {\r\n title: \"Proposition type filter\",\r\n stepPosition: CoachMarkerStepPosition.BottomLeft,\r\n stepKey: \"business-management-client-filter\",\r\n positionLeft: -320,\r\n positionTop: 60,\r\n description: (\r\n <>\r\n This filter allows you to view business management information for all proposition types or by Wrap\r\n or Fundzone clients (if applicable).\r\n \r\n ),\r\n },\r\n ],\r\n};\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { BusinessManagementPropositionDispatcher } from \"./Variable\";\r\n\r\nexport interface BusinessManagementPropositionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: ServiceProposition[];\r\n}\r\n\r\nexport class BusinessManagementPropositionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(BusinessManagementPropositionDispatcher, (actionData) =>\r\n this.onBusinessManagementPropositionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): BusinessManagementPropositionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return JSON.parse(JSON.stringify(this.getState().data));\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): BusinessManagementPropositionStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onBusinessManagementPropositionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { AssetUnderManagementModel } from \"../../../../../Wrap/Models/Models/Business/AssetUnderManagement/AssetUnderManagementModel\";\r\nimport { BusinessManagementDispatcher } from \"./Variable\";\r\n\r\nexport interface BusinessManagementStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: AssetUnderManagementModel;\r\n}\r\n\r\nexport class BusinessManagementStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(BusinessManagementDispatcher, (actionData) =>\r\n this.onBusinessManagementStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): BusinessManagementStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return JSON.parse(JSON.stringify(this.getState().data));\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): BusinessManagementStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onBusinessManagementStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../react-core/Flux/Dispatcher\";\r\nimport { BusinessManagementPropositionStatic } from \"./BusinessManagementPropositionStatic\";\r\nimport { BusinessManagementStatic } from \"./BusinessManagementStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const BusinessManagementDispatcher: Dispatcher = new Dispatcher();\r\nexport const BusinessManagementStore: BusinessManagementStatic = new BusinessManagementStatic();\r\n\r\nexport const BusinessManagementPropositionDispatcher: Dispatcher = new Dispatcher();\r\nexport const BusinessManagementPropositionStore: BusinessManagementPropositionStatic = new BusinessManagementPropositionStatic();\r\n","import { ProspectClient } from \"../../../../../../Wrap/Api/Customer/Prospect\";\r\nimport { Prospect } from \"../../../../../../Wrap/Models/Models/Customer/Prospect\";\r\nimport { Organisation } from \"../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { OrganisationClient } from \"../../../../../../Wrap/Api/Customer/Organisation\";\r\nimport { AddClientDispatcher } from \"../Stores/Variable\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { CompanyServicePropositionClient } from \"../../../../../../Wrap/Api/Company/CompanyServiceProposition\";\r\n\r\nexport class AddClientAction {\r\n public static submitClientDetails(clientModel: Prospect, callBack?) {\r\n const client = new ProspectClient();\r\n const promise = client\r\n .post(clientModel)\r\n .onSuccess((data) => {\r\n AddClientDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n })\r\n .onError((error) => {\r\n AddClientDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: error,\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public static getCompanyProposition(hierarchy: string, callBack?) {\r\n const client = new CompanyServicePropositionClient();\r\n const promise = client\r\n .get(0, hierarchy)\r\n .onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n })\r\n .onError((error) => {});\r\n return promise;\r\n }\r\n\r\n public static submitTrustDetail(organisation: Organisation, callBack?) {\r\n const client = new OrganisationClient();\r\n const promise = client\r\n .post(organisation)\r\n .onSuccess((data) => {\r\n AddClientDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n })\r\n .onError((error) => {\r\n AddClientDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: error,\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { CustomerMatchingClient } from \"../../../../../../Wrap/Api/Customer/CustomerMatching\";\r\nimport { IJsonDate } from \"../../../../../../Wrap/System/IJsonDate\";\r\nimport { CustomerMatchingDispatcher, CustomerMatchingStore } from \"../Stores/Variable\";\r\n\r\nexport class CustomerMatchingAction{\r\n\r\n public static getMatchingCustomers(firstName: string, lastName: string, dateofBirth: IJsonDate, ownerAdviserId: number, pageIndex: number, pageSize: number, callBack) {\r\n const client = new CustomerMatchingClient();\r\n const promise = client.get(firstName + \"%\", lastName + \"%\", dateofBirth, ownerAdviserId, pageIndex, pageSize);\r\n\r\n promise.onSuccess((res) => {\r\n let data = JSON.parse(JSON.stringify(CustomerMatchingStore.getData()));\r\n if (!data) {data = {};}\r\n data = res;\r\n CustomerMatchingDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n console.log(data);\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n CustomerMatchingDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n }","import * as React from \"react\";\r\nimport { Contents } from \"../../../../Resoures/Contents\";\r\nimport { OldNewTrustWizard, steppers } from \"../Resource/Contents\";\r\nimport { ClientType } from \"./ClientType/ClientType\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { StepType } from \"../../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { ClientDetails } from \"./ClientDetails/ClientDetails\";\r\nimport { AddClientAction } from \"../Actions/AddClientAction\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { TrustDetail } from \"./Organisation/TrustDetail\";\r\nimport { TrustMember } from \"./Organisation/TrustMember\";\r\nimport { Organisation } from \"../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { CustomerType } from \"../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { WizardComponent } from \"../../../../../Shared/Process/WizardComponent\";\r\nimport { Prospect } from \"../../../../../../Wrap/Models/Models/Customer/Prospect\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { FullClientDetailHelper } from \"../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { PhysicalAddressType } from \"../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { FATCABusinessType } from \"../../../../../../Wrap/Constants/Enums/Customer/FATCABusinessType\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\n\r\nexport const enum Journey {\r\n Quote,\r\n NewBusiness,\r\n CreateAnotherClient,\r\n AddClient,\r\n NewTrust,\r\n}\r\nexport interface IAddClientModel {\r\n CustomerType?: CustomerType;\r\n Prospect?: Prospect;\r\n Organisation?: Organisation;\r\n SelectedNetwork?: NetworkHistoryModel;\r\n SelectedFirm?: CompanySummary;\r\n SelectedFirmHierarchy?: string;\r\n SelectedAdviser?: Adviser;\r\n SelectedFirmProposition?: Array;\r\n}\r\n\r\nexport class AddClientWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ data: { CustomerType: CustomerType.NotSpecified }, isLoading: false });\r\n }\r\n onSubmit() {}\r\n\r\n onSubmitClient(from: number, journeyType: Journey) {\r\n const isPass = this.child[from]?.isValid();\r\n if (!isPass) {\r\n this.setState((preState) => ({ isShowErrorMsg: preState.errorMsg.length > 0 }));\r\n } else {\r\n this.setState({ isLoading: true });\r\n this.saveCustomer(journeyType);\r\n }\r\n }\r\n\r\n saveCustomer(journeyType: Journey) {\r\n if (this.state.data?.CustomerType == CustomerType.Individual && this.state.data.Prospect) {\r\n AddClientAction.submitClientDetails(this.state.data.Prospect, (data) => {\r\n this.navigateAfterSubmittion(journeyType, data);\r\n });\r\n } else if (\r\n (this.state.data?.CustomerType == CustomerType.CorporateTrust ||\r\n this.state.data?.CustomerType == CustomerType.Trust) &&\r\n this.state.data.Organisation\r\n ) {\r\n const _model: Organisation = this.state.data.Organisation;\r\n _model?.OrganisationMembers?.forEach((x) => {\r\n if (\r\n FullClientDetailHelper.isSameAddress(\r\n x?.Individual?.AddressDetails[0]?.Address,\r\n x?.Individual?.AddressDetails[1]?.Address\r\n )\r\n ) {\r\n const index = x?.Individual?.AddressDetails.findIndex(\r\n (y) =>\r\n y.PhysicalAddressType == PhysicalAddressType.Postal ||\r\n y.PhysicalAddressType == PhysicalAddressType.Registered\r\n );\r\n x?.Individual?.AddressDetails.splice(index, 1);\r\n }\r\n });\r\n\r\n AddClientAction.submitTrustDetail(_model, (data) => {\r\n this.navigateAfterSubmittion(journeyType, data);\r\n });\r\n }\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {\r\n this.setState({ onPosting: false });\r\n\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n if (\r\n (this.state.data?.CustomerType == CustomerType.CorporateTrust ||\r\n this.state.data?.CustomerType == CustomerType.Trust) &&\r\n this.state.data.Organisation?.FATCABusinessType == FATCABusinessType.InvestmentBody &&\r\n from == 1 &&\r\n this.state.extraInfo?.showLightbox == false\r\n ) {\r\n this.setState({ extraInfo: { ...this.state.extraInfo, showLightbox: true } });\r\n } else {\r\n this.setState({ extraInfo: { ...this.state.extraInfo, showLightbox: false } });\r\n this.goToNextStep(toUrl, params);\r\n }\r\n }\r\n }\r\n\r\n private goToNextStep(toUrl, params) {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n\r\n customeRender() {\r\n if (!this.state.extraInfo?.showLightbox) {return null;}\r\n return (\r\n this.onStepperLeave(1, 2)}\r\n >\r\n

\r\n An Entity Self Certification form will need to be completed and sent to us before we can activate\r\n the new account. Once you have completed the wizard please go to the literature library and complete\r\n the Entity Self Certification form. Once we have received the completed form the account will be\r\n activated.\r\n

\r\n \r\n \r\n );\r\n }\r\n\r\n private navigateAfterSubmittion(journeyType: Journey, data: any) {\r\n switch (journeyType) {\r\n case Journey.Quote:\r\n if (checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite))\r\n {Navigator.navigateTo(Urls.get().QuoteWrapperSelection, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { customerid: data.Id.toString(), isnewclient: true },\r\n });}\r\n break;\r\n case Journey.NewBusiness:\r\n if (checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite))\r\n {Navigator.navigateTo(Urls.get().FullClientDetail, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { customerid: data.Id.toString(), isnewclient: true },\r\n });}\r\n break;\r\n case Journey.CreateAnotherClient:\r\n this.setState({ data: { CustomerType: CustomerType.NotSpecified }, isLoading: false }, () => {\r\n if (checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite))\r\n {Navigator.navigateTo(Urls.get().ClientType);}\r\n });\r\n break;\r\n case Journey.AddClient:\r\n if (checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView))\r\n {Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, data.Id),\r\n }).activity\r\n );}\r\n break;\r\n case Journey.NewTrust:\r\n if (checkPermission(UserClaim.AdviserPortalDluTrustCreateCanView))\r\n {window.location.href = OldNewTrustWizard + `?customerid=${data.Id.toString()}`;}\r\n break;\r\n }\r\n }\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n Navigator.navigateTo(Urls.get().main.Dashboard);\r\n }\r\n\r\n setStepperConfig() {\r\n this.stepperConfig = [\r\n {\r\n title: steppers.clientTypeSelection,\r\n url: Urls.get().ClientType,\r\n path: Contents.URLMap.clientType,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n },\r\n ];\r\n if (this.state.data?.CustomerType == CustomerType.Individual) {\r\n this.stepperConfig.push({\r\n title: steppers.clientDetails,\r\n url: Urls.get().ClientDetails,\r\n path: Contents.URLMap.clientDetails,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n type: StepType.Custom,\r\n component: (\r\n this.onSubmitClient(1, journeyType)}\r\n />\r\n ),\r\n });\r\n }\r\n if (this.state.data?.CustomerType == CustomerType.Trust) {\r\n this.stepperConfig.push({\r\n title: \"Trust detail\",\r\n url: Urls.get().TrustDetail,\r\n path: Contents.URLMap.trustDetail,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n this.stepperConfig.push({\r\n title: \"Trust member\",\r\n url: Urls.get().TrustMember,\r\n path: Contents.URLMap.trustMember,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n type: StepType.Custom,\r\n component: (\r\n this.onSubmitClient(2, journeyType)}\r\n onPrevious={() => this.onStepperLeave(2, 1)}\r\n />\r\n ),\r\n });\r\n }\r\n if (this.state.data?.CustomerType == CustomerType.CorporateTrust) {\r\n this.stepperConfig.push({\r\n title: \"Corporate detail\",\r\n url: Urls.get().CorporateDetail,\r\n path: Contents.URLMap.corporateDetail,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n this.stepperConfig.push({\r\n title: \"Corporate member\",\r\n url: Urls.get().CorporateMember,\r\n path: Contents.URLMap.corporateMember,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n type: StepType.Custom,\r\n component: (\r\n this.onSubmitClient(2, journeyType)}\r\n onPrevious={() => this.onStepperLeave(2, 1)}\r\n />\r\n ),\r\n });\r\n }\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Add new client\";\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { titleLabels } from \"../../Resource/Contents\";\r\nimport { validationMessage } from \"../../Resource/Validation\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Prospect } from \"../../../../../../../Wrap/Models/Models/Customer/Prospect\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { GenderMap } from \"../../../../../../Shared/Entities/Maps/GenderMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\n\r\ninterface IClientDetailProps extends IProcessComponentProps {\r\n data: Prospect;\r\n}\r\n\r\ninterface IClientDetailState {}\r\n\r\nexport class ClientDetail extends ProcessComponent {\r\n constructor(props: IClientDetailProps) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data && !this.props.data.Title) {\r\n this.props.onChange({ Title: TitleMap.getString(Title.Mr) });\r\n }\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n TitleMap.getString(option)}\r\n onChange={(value) => this.props.onChange({ Title: TitleMap.getString(value) })}\r\n required={validationMessage.titleValidation}\r\n />\r\n this.props.onChange({ FirstName: value })}\r\n required={validationMessage.firstNameValidation}\r\n />\r\n this.props.onChange({ Surname: value })}\r\n required={validationMessage.surnameValidation}\r\n />\r\n \r\n this.props.onChange({ DateOfBirth: JsonDateParser.toJsonDate(selectedDate) })\r\n }\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n required={validationMessage.dateOfBirthValidation}\r\n />\r\n GenderMap.getString(option)}\r\n onChange={(value) => {\r\n this.props.onChange({ Gender: value });\r\n }}\r\n selected={data?.Gender}\r\n required={validationMessage.genderValidation}\r\n />\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { steppers, ButtonLabels } from \"../../Resource/Contents\";\r\nimport { ClientDetail } from \"./ClientDetail\";\r\nimport { ContactDetail } from \"./ContactDetail\";\r\nimport { IAddClientModel, Journey } from \"../AddClientWizard\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { CustomerMatching } from \"../CustomerMatching/CustomertMatching\";\r\nimport { CustomerMatchingAction } from \"../../Actions/CustomerMatchingAction\";\r\nimport { CustomerSearchModel } from \"../../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { validationMessage } from \"../../Resource/Validation\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport AdviserSiteTagManager from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\n\r\ninterface IClientDetailsProps extends IProcessComponentProps {\r\n data: IAddClientModel;\r\n onSubmit: (journeyType: Journey) => void;\r\n}\r\n\r\ninterface IClientDetailsState {\r\n isOpen: boolean;\r\n isCustomerMatchingOpen: boolean;\r\n customerMatchingResult: CustomerSearchModel;\r\n journeyType: Journey;\r\n}\r\n\r\nexport class ClientDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { isOpen: false, isCustomerMatchingOpen: false, customerMatchingResult: null, journeyType: null };\r\n }\r\n\r\n private naviagetToPreviousPage() {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().ClientType);\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname,\r\n pageTitle: `${document.title} - add new client - cliet details`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n private getCustomerMatchingData(pageIndex, pageSize) {\r\n const { data } = this.props;\r\n CustomerMatchingAction.getMatchingCustomers(\r\n data.Prospect.FirstName,\r\n data.Prospect.Surname,\r\n data.Prospect.DateOfBirth,\r\n data.Prospect.OwnerAdviserId,\r\n pageIndex,\r\n pageSize,\r\n (result: CustomerSearchModel) => {\r\n if (result.CustomerList && result.CustomerList?.length > 0) {\r\n this.setState({ isCustomerMatchingOpen: true, customerMatchingResult: result });\r\n } else {\r\n this.props.onSubmit(this.state.journeyType);\r\n }\r\n }\r\n );\r\n }\r\n\r\n isValid() {\r\n const data: IAddClientModel = this.props.data;\r\n let flag = super.isValid();\r\n if (!data?.Prospect?.FirstName) {\r\n this.props.showErrorMsgPopUp([validationMessage.firstNameValidation], true);\r\n flag = false;\r\n }\r\n if (!data?.Prospect?.Surname) {\r\n this.props.showErrorMsgPopUp([validationMessage.surnameValidation], true);\r\n flag = false;\r\n }\r\n if (!data?.Prospect?.DateOfBirth) {\r\n this.props.showErrorMsgPopUp([validationMessage.dateOfBirthValidation], true);\r\n flag = false;\r\n }\r\n return flag;\r\n }\r\n\r\n private submitClient(journeyType: Journey) {\r\n if (this.isValid()) {\r\n this.setState({ journeyType: journeyType });\r\n this.getCustomerMatchingData(1, 10);\r\n }\r\n }\r\n\r\n private onPageChange(pageIndex, pageSize) {\r\n this.getCustomerMatchingData(pageIndex, pageSize);\r\n }\r\n\r\n private onDismissCustomerMatchings() {\r\n this.props.onSubmit(this.state.journeyType);\r\n }\r\n\r\n render() {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n

{steppers.clientDetails}

\r\n {data.CustomerType === CustomerType.Individual && (\r\n <>\r\n {\r\n this.onDataChange(onChange, changes, data, \"Prospect\");\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n {\r\n this.onDataChange(onChange, changes, data, \"Prospect\");\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n )}\r\n\r\n
\r\n
\r\n {\r\n this.naviagetToPreviousPage();\r\n }}\r\n className=\"prev-button\"\r\n >\r\n \r\n {ButtonLabels.previousLabel}\r\n \r\n
\r\n
\r\n
\r\n \r\n this.updateStatePart((x) => {\r\n x.isOpen = !this.state.isOpen;\r\n })\r\n }\r\n >\r\n {ButtonLabels.nextLabel}\r\n \r\n \r\n {this.state.isOpen && (\r\n
\r\n
\r\n \r\n \r\n \r\n this.submitClient(Journey.CreateAnotherClient)}\r\n >\r\n {ButtonLabels.createAnotherClient}\r\n \r\n
\r\n
\r\n )}\r\n {this.state.isCustomerMatchingOpen && (\r\n this.setState({ isCustomerMatchingOpen: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n this.onPageChange(pageIndex, pageSize)}\r\n onDismissMatches={() => this.onDismissCustomerMatchings()}\r\n displayChooseClientOption={false}\r\n >\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { PhoneNumberDetails } from \"../../../Common/ClientDetails/PhoneNumberDetails\";\r\nimport { Email } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { Prospect } from \"../../../../../../../Wrap/Models/Models/Customer/Prospect\";\r\nimport { validationMessage } from \"../../Resource/Validation\";\r\nimport { titleLabels } from \"../../Resource/Contents\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IContactDetailProps extends IProcessComponentProps {\r\n data: Prospect;\r\n}\r\n\r\ninterface IContactDetailState {}\r\n\r\nexport class ContactDetail extends ProcessComponent {\r\n render() {\r\n const { data } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Contact preference\")}\r\n
\r\n
\r\n {\r\n this.props.onChange({ EmailAddress: value });\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n />\r\n
\r\n
\r\n {\r\n this.props.onChange({ PhoneNumbers: value });\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { steppers } from \"../../Resource/Contents\";\r\nimport { Filter } from \"./Filter\";\r\nimport { ClientTypeSelection } from \"./ClientTypeSelection\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { IAddClientModel } from \"../AddClientWizard\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\n\r\ninterface IClientTypeProps extends IProcessComponentProps {\r\n data: IAddClientModel;\r\n}\r\n\r\ninterface IClientTypeState {}\r\n\r\nexport class ClientType extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname,\r\n pageTitle: `${document.title} - add new client - cliet type`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n isValid() {\r\n const data: IAddClientModel = this.props.data;\r\n let flag = super.isValid();\r\n if (!data?.Prospect?.OwnerAdviserId) {\r\n this.props.showErrorMsgPopUp([\"Please select an adviser.\"], true);\r\n flag = false;\r\n }\r\n if (!data?.CustomerType) {\r\n this.props.showErrorMsgPopUp([\"Please select a client type.\"], true);\r\n flag = false;\r\n }\r\n return flag;\r\n }\r\n render() {\r\n const { data, onChange } = this.props;\r\n const ownerAdviserId = data?.Prospect?.OwnerAdviserId;\r\n return (\r\n <>\r\n

{steppers.clientTypeSelection}

\r\n onChange(value)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => onChange()}\r\n ReadWriteAccessAdviserOnly={true}\r\n />\r\n \r\n this.props.onChange({\r\n CustomerType: type,\r\n Individual: { OwnerAdviserId: ownerAdviserId },\r\n Organisation: { OwnerAdviserId: ownerAdviserId },\r\n })\r\n }\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CustomerTypeArrays, CustomerTypeArraysMap, titleLabels } from \"../../Resource/Contents\";\r\nimport { RadioGroup } from \"../../../../../../../react-core/Html/RadioGroup\";\r\nimport { validationMessage } from \"../../Resource/Validation\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IClientTypeSelectionProps extends IProcessComponentProps {}\r\n\r\ninterface IClientTypeSelectionState {}\r\n\r\nexport class ClientTypeSelection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {\r\n return CustomerTypeArraysMap[option];\r\n }}\r\n onChange={(value) => this.props.onChange(value)}\r\n required={validationMessage.clientTypeValidation}\r\n selected={this.props.data}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Adviser } from \"../../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { NetworkType } from \"../../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { FirmType } from \"../../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { CompanyDetailSort } from \"../../../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { titleLabels } from \"../../Resource/Contents\";\r\nimport { IAddClientModel } from \"../AddClientWizard\";\r\nimport { SearchInput } from \"../../../../../../Shared/SearchInput/SearchInput\";\r\nimport { NetworkHistoryClient } from \"../../../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { NetworkHistoryModel } from \"../../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { CompanySearchClient } from \"../../../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { CompanySummary } from \"../../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { validationMessage } from \"../../Resource/Validation\";\r\nimport { AdviserWizardAction } from \"../../../../../../Admin/Adviser/Actions/AdviserWizardAction\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AddClientAction } from \"../../Actions/AddClientAction\";\r\n\r\ninterface IFilterProps extends IProcessComponentProps {\r\n onFilterSelectionChange: (changes: IAddClientModel) => void;\r\n excludeAdviser?: boolean;\r\n onOneDefaultCompany?: (company: CompanySummary) => void;\r\n adviserOptional?: boolean;\r\n ReadWriteAccessAdviserOnly?: boolean;\r\n}\r\n\r\nexport const enum SelectionType {\r\n Adviser,\r\n Network,\r\n Firm,\r\n}\r\n\r\ninterface IFilterState {\r\n isAdminUser: boolean;\r\n selectNetwork: NetworkHistoryModel;\r\n selectAdviser: Adviser;\r\n selectFirm: CompanySummary;\r\n advisers: Adviser[];\r\n displayNetworkSearch: boolean;\r\n displayCompanySearch: boolean;\r\n}\r\n\r\nexport class Filter extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = this.getDefaultState();\r\n }\r\n\r\n private getDefaultState() {\r\n return {\r\n isAdminUser: ContextStore.getContext().isAdminUser,\r\n selectNetwork: this.props.data?.SelectedNetwork || null,\r\n selectAdviser: this.props.data?.SelectedAdviser || null,\r\n selectFirm: this.props.data?.SelectedFirm || null,\r\n advisers: [],\r\n displayNetworkSearch: false,\r\n displayCompanySearch: true,\r\n } as IFilterState;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data?.SelectedFirm || this.props.data?.SelectedNetwork) {\r\n this.getAdviser(this.props.data?.SelectedNetwork?.Network, this.props.data?.SelectedFirm?.CompanyCode);\r\n }\r\n\r\n const networkClient = new NetworkHistoryClient();\r\n networkClient.get(null, NetworkType.Network, null, null, null, false, 10, 1).onSuccess((result) => {\r\n if (result.TotalRows > 1) {\r\n this.setState({ displayNetworkSearch: true });\r\n }\r\n });\r\n\r\n const companyClient = new CompanySearchClient();\r\n companyClient\r\n .get(null, null, FirmType.All, null, null, null, true, 1, 10, CompanyDetailSort.CompanyName,false)\r\n .onSuccess((result) => {\r\n if (result.TotalNumberOfResults > 1) {\r\n } else if (result.TotalNumberOfResults == 1) {\r\n this.getAdviser(null, result.PageOfResults[0].CompanyCode);\r\n this.setState({ selectFirm: result.PageOfResults[0], displayCompanySearch: false });\r\n if (this.props.onOneDefaultCompany) {\r\n this.props.onOneDefaultCompany(result.PageOfResults[0]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getAdviser(network, company) {\r\n if (CommonHelper.isNullOrEmpty(company) && CommonHelper.isNullOrEmpty(network)) {\r\n this.setState({ advisers: [] });\r\n } else {\r\n const query = {\r\n Company: company,\r\n Network: network,\r\n CurrentPage: 1,\r\n ResultsPerPage: 999,\r\n ReadWriteOnly: false,\r\n };\r\n if (this.props.ReadWriteAccessAdviserOnly == true) {\r\n query.ReadWriteOnly = true;\r\n }\r\n AdviserWizardAction.getAdviser(query, (result) => {\r\n this.setState({ advisers: result.Results });\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n const { advisers } = this.state;\r\n return (\r\n <>\r\n {this.state.displayNetworkSearch && (\r\n {\r\n return networkClient.get(null, NetworkType.Unknown, v, null, null, false, 20, 1);\r\n }}\r\n onClick={(v) => {\r\n if (!v) {return;}\r\n this.props.onFilterSelectionChange({\r\n SelectedNetwork: v,\r\n SelectedFirm: null,\r\n SelectedAdviser: null,\r\n Prospect: { ...this.props.data?.Prospect, OwnerAdviserId: null },\r\n Organisation: { ...this.props.data?.Organisation, OwnerAdviserId: null },\r\n });\r\n this.getAdviser(v?.Network, null);\r\n this.setState({ selectNetwork: v, selectFirm: null });\r\n }}\r\n resultKey=\"networks\"\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n cssWrapper=\"control-size-430\"\r\n label={titleLabels.networkLabel}\r\n value={this.state.selectNetwork?.NetworkName}\r\n />\r\n )}\r\n {this.state.displayCompanySearch && (\r\n {\r\n return companyClient.get(\r\n null,\r\n v,\r\n FirmType.All,\r\n null,\r\n this.state.selectNetwork?.Network,\r\n null,\r\n true,\r\n 1,\r\n 20,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n );\r\n }}\r\n resultKey={\"PageOfResults\"}\r\n onClick={(v: CompanySummary) => {\r\n if (!v) {return;}\r\n AddClientAction.getCompanyProposition(v.HierarchyId, (data) => {\r\n this.props.onFilterSelectionChange({\r\n SelectedFirmProposition: data,\r\n });\r\n });\r\n\r\n this.props.onFilterSelectionChange({\r\n SelectedFirm: v,\r\n SelectedAdviser: null,\r\n Prospect: { ...this.props.data?.Prospect, OwnerAdviserId: null },\r\n Organisation: { ...this.props.data?.Organisation, OwnerAdviserId: null },\r\n });\r\n this.getAdviser(this.state.selectNetwork?.Network, v?.CompanyCode);\r\n this.setState({ selectFirm: v });\r\n }}\r\n getText={(v: CompanySummary) => v.CompanyName}\r\n cssWrapper=\"control-size-430\"\r\n label={titleLabels.firmLabel}\r\n value={this.state.selectFirm?.CompanyName}\r\n />\r\n )}\r\n {!this.props.excludeAdviser && (\r\n {\r\n return x.AdvisorId;\r\n })\r\n : []\r\n }\r\n getText={(option) => {\r\n return advisers.filter((x) => x.AdvisorId === option)[0].Name;\r\n }}\r\n placeholder={titleLabels.selectAdviser}\r\n label={titleLabels.adviserLabel}\r\n selected={\r\n this.props.data && this.props.data.Prospect ? this.props.data.Prospect.OwnerAdviserId : null\r\n }\r\n onChange={(value) => {\r\n this.props.onFilterSelectionChange({\r\n Prospect: { ...this.props.data?.Prospect, OwnerAdviserId: value },\r\n Organisation: { ...this.props.data?.Organisation, OwnerAdviserId: value },\r\n });\r\n }}\r\n required={this.props.adviserOptional ? null : validationMessage.adviserValidation}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CustomerSearchModel } from \"../../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\nimport { CustomerSearchResult } from \"../../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchResult\";\r\nimport { ITableConfig, Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport AriaTooltip from \"../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { CustomerSearchAction } from \"../../../ClientRecord/Action/CustomerSearchAction\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { PortfolioDashboardAction } from \"../../../PortfolioDashboard/Action/PortfolioDashboardAction\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\n\r\ninterface ICustomerMatchingProps {\r\n data: CustomerSearchModel;\r\n onPageChange: (pageIndex, pageSize) => void;\r\n onDismissMatches: () => void;\r\n displayChooseClientOption: boolean;\r\n onClientChosen?: (customerId: number) => void;\r\n isLoading?: boolean;\r\n}\r\n\r\ninterface ICustomerMatchingState {\r\n currentPage: number;\r\n customerAge: string;\r\n taxIdentifier: string;\r\n postCode: string;\r\n emailAddress: string;\r\n showDismissPopUp: boolean;\r\n showRedirectionPopUp: boolean;\r\n selectedCustomerId: number;\r\n showChooseClientPopUp: boolean;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport class CustomerMatching extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentPage: 1,\r\n customerAge: \"0\",\r\n taxIdentifier: \"\",\r\n postCode: \"\",\r\n emailAddress: \"\",\r\n showDismissPopUp: false,\r\n showRedirectionPopUp: false,\r\n selectedCustomerId: 0,\r\n showChooseClientPopUp: false,\r\n isLoading: true,\r\n };\r\n }\r\n\r\n private getCustomerDetail(customerId: number) {\r\n this.setState({ isLoading: true });\r\n CustomerSearchAction.getCustomerData(customerId, (result) => {\r\n let customerAge,\r\n taxIdentifier,\r\n postCode,\r\n emailAddress = \"Not held\";\r\n if (result?.CustomerTaxResidencyDetails != null && result?.CustomerTaxResidencyDetails.length > 0) {\r\n taxIdentifier = result?.CustomerTaxResidencyDetails[0].TaxReference;\r\n }\r\n if (result?.EmailAddressDetails != null && result?.EmailAddressDetails.length > 0) {\r\n emailAddress = result?.EmailAddressDetails[0].EmailAddress;\r\n }\r\n const residentialAddreses =\r\n result?.AddressDetails != null\r\n ? result?.AddressDetails.filter((x) => x.PhysicalAddressType == PhysicalAddressType.Residential)\r\n : null;\r\n\r\n if (residentialAddreses != null && residentialAddreses.length > 0) {\r\n postCode = result?.AddressDetails[0].Address.PostCode;\r\n }\r\n if (result?.PersonalDetails?.DateOfBirth != null) {\r\n customerAge = JsonDateParser.calculateAge(result?.PersonalDetails.DateOfBirth).toString();\r\n }\r\n\r\n this.setState({\r\n customerAge: customerAge,\r\n taxIdentifier: taxIdentifier,\r\n postCode: postCode,\r\n emailAddress: emailAddress,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n private navigateToClientPortfolio(customerId: number) {\r\n PortfolioDashboardAction.getAccountRoleWithAccountDetails(customerId, (accountRoles) => {\r\n if (\r\n accountRoles != null &&\r\n accountRoles.AccountRoles.some(\r\n (x) =>\r\n x.AccountRoleType == RoleType.IndividualAccountHolder ||\r\n x.AccountRoleType == RoleType.JointAccountHolder ||\r\n x.AccountRoleType == RoleType.Settlor\r\n )\r\n ) {\r\n if (checkPermission(UserClaim.AdviserPortalClientSummaryCanView))\r\n {Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n }).summary\r\n );}\r\n } else {\r\n if (checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView))\r\n {Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n }).activity\r\n );}\r\n }\r\n });\r\n }\r\n\r\n private renderTable() {\r\n const tooltipConfig = () => {\r\n return [\r\n { title: \"Client age\", data: this.state.customerAge },\r\n {\r\n title: (\r\n \r\n Tax /
\r\n Government Identifier\r\n
\r\n ),\r\n data: this.state.taxIdentifier,\r\n },\r\n { title: \"Post code\", data: this.state.postCode },\r\n { title: \"Email address\", data: this.state.emailAddress },\r\n ];\r\n };\r\n\r\n const col: ITableConfig[] = [\r\n {\r\n title: \"Customer ID\",\r\n key: \"CustomerId\",\r\n },\r\n { title: \"First name(s)\", key: \"FirstName\" },\r\n { title: \"Surname\", key: \"LastName\" },\r\n {\r\n title: \"Date of birth\",\r\n\r\n render: (data, row: CustomerSearchResult) => {\r\n return (\r\n {\r\n this.getCustomerDetail(row.CustomerId);\r\n }}\r\n onClose={() => {\r\n this.setState({ taxIdentifier: \"\", postCode: \"\", emailAddress: \"\" });\r\n }}\r\n isLoading={this.state.isLoading}\r\n >\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Date created\",\r\n key: \"DateCreated\",\r\n render: (data) => {\r\n return <>{JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\")};\r\n },\r\n },\r\n {\r\n title: \"\",\r\n key: \"CustomerId\",\r\n render: (data) => {\r\n return (\r\n this.setState({ showRedirectionPopUp: true, selectedCustomerId: data })}\r\n >\r\n Go to client\r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n if (this.props.displayChooseClientOption == true) {\r\n col.push({\r\n title: \"\",\r\n key: \"CustomerId\",\r\n render: (data) => {\r\n return (\r\n this.setState({ showChooseClientPopUp: true, selectedCustomerId: data })}\r\n >\r\n Use this client\r\n \r\n );\r\n },\r\n });\r\n }\r\n\r\n return (\r\n {\r\n this.setState({ currentPage: pageIndex });\r\n this.props.onPageChange(pageIndex, pageSize);\r\n },\r\n currentPage: this.state.currentPage,\r\n }}\r\n />\r\n );\r\n }\r\n render() {\r\n return (\r\n <>\r\n

Existing client(s) with similar details have been identified.

\r\n {this.renderTable()}\r\n
\r\n \r\n
\r\n {this.state.showRedirectionPopUp && (\r\n this.setState({ showRedirectionPopUp: false })}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

\r\n If you wish to view this client record, you lose the information you have entered during\r\n this process.\r\n

\r\n

Are you sure you want to view this client record?

\r\n
\r\n this.setState({ showRedirectionPopUp: false })}\r\n >\r\n No\r\n \r\n this.navigateToClientPortfolio(this.state.selectedCustomerId)}\r\n >\r\n Yes\r\n \r\n
\r\n \r\n )}\r\n {this.state.showChooseClientPopUp && (\r\n this.setState({ showChooseClientPopUp: false })}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

\r\n If you wish to use this client record instead, you lose the information you have entered\r\n during this process. Are you sure you want to continue?\r\n

\r\n
\r\n this.setState({ showChooseClientPopUp: false })}\r\n >\r\n No\r\n \r\n this.props.onClientChosen(this.state.selectedCustomerId)}\r\n >\r\n Yes\r\n \r\n
\r\n \r\n )}\r\n {this.state.showDismissPopUp && (\r\n this.setState({ showDismissPopUp: false })}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

Are you sure you want to dismiss this client record?

\r\n
\r\n this.setState({ showDismissPopUp: false })}\r\n >\r\n No\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { titleLabels } from \"../../Resource/Contents\";\r\nimport { validationMessage } from \"../../Resource/Validation\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { AddAddress } from \"../../../NewBusinessWizard/Components/FullClientDetail/AddAddress\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { GenderMap } from \"../../../../../../Shared/Entities/Maps/GenderMap\";\r\nimport { Marital } from \"../../../NewBusinessWizard/Resource/Contents\";\r\n\r\ninterface IAddBeneficiaryProps extends IProcessComponentProps {\r\n data: FullClientDetailModel;\r\n}\r\n\r\ninterface IAddBeneficiaryState {\r\n useAddressForCorrespondence: boolean;\r\n}\r\n\r\nexport class AddBeneficiary extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n useAddressForCorrespondence: null,\r\n };\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n if (!this.props.data.AddressDetails) {\r\n this.props.showErrorMsgPopUp([\"Please fill in residence address\"], true);\r\n return false;\r\n }\r\n return flag;\r\n }\r\n\r\n private onFullClientChange = (changes: { value: any; path: string }[]) => {\r\n const data = this.props.data;\r\n let _model = { ...data };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n this.props.onChange({ Individual: _model });\r\n };\r\n\r\n public render() {\r\n const { data } = this.props;\r\n let message = ContentDatePicker.CannotBeInThePast;\r\n if (data?.PersonalDetails?.DateOfBirth == null) {\r\n message = ContentDatePicker.CannotBeInTheFuture;\r\n }\r\n return (\r\n <>\r\n TitleMap.getString(option)}\r\n onChange={(v) => this.onFullClientChange([{ value: v, path: \"PersonalDetails.Title\" }])}\r\n required={validationMessage.titleValidation}\r\n />\r\n this.onFullClientChange([{ value: value, path: `PersonalDetails.GivenName` }])}\r\n required={validationMessage.firstNameValidation}\r\n />\r\n \r\n this.onFullClientChange([{ value: value, path: `PersonalDetails.FamilyName` }])\r\n }\r\n required={validationMessage.surnameValidation}\r\n />\r\n {\r\n this.onFullClientChange([\r\n { value: JsonDateParser.toJsonDateNoOffset(v), path: \"PersonalDetails.DateOfBirth\" },\r\n ]);\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n required={validationMessage.dateOfBirthValidation}\r\n />\r\n GenderMap.getString(option)}\r\n onChange={(value) => {\r\n this.onFullClientChange([{ value: value, path: `PersonalDetails.Gender` }]);\r\n }}\r\n selected={data?.PersonalDetails?.Gender}\r\n required={validationMessage.genderValidation}\r\n />\r\n Marital.optionsMap[v]}\r\n onChange={(v) => {\r\n this.onFullClientChange([{ value: v, path: `PersonalDetails.MaritalStatus` }]);\r\n }}\r\n selected={Number(data?.PersonalDetails?.MaritalStatus)}\r\n label=\"Marital status\"\r\n placeholder=\"Please select\"\r\n required=\"Please select marital status\"\r\n />\r\n this.props.onChange({ Address: v })}\r\n address={data?.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )}\r\n canChooseCountry\r\n index={\r\n data?.AddressDetails?.length == 0 || !data?.AddressDetails\r\n ? 0\r\n : !this.props.data?.AddressDetails?.some(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )\r\n ? 1\r\n : data?.AddressDetails?.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )\r\n }\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Residential}\r\n addressList={data?.AddressDetails}\r\n resetUseAddressForCorrespondence={() => {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n disabled={false}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport {\r\n AlphanumericWithSpecialCharacters,\r\n Email,\r\n} from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { Company } from \"../../../../../../../Wrap/Models/Models/Customer/Company\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AddAddress } from \"../../../NewBusinessWizard/Components/FullClientDetail/AddAddress\";\r\nimport { CorporateTrusteeCompanyTypeOption, CompanyTypeMap } from \"../../Resource/Contents\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { EmailAddressType } from \"../../../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { PhoneNumberDetails } from \"../../../Common/ClientDetails/PhoneNumberDetails\";\r\nimport { CompanyType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CompanyType\";\r\nimport { FullClientDetailHelper } from \"../../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { ClientRecordAction } from \"../../../ClientRecord/Action/ClientRecordAction\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { TaxDetailFatca } from \"../../../NewBusinessWizard/Components/FullClientDetail/TaxDetailFatca\";\r\nimport { CustomerContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\n\r\ninterface IAddCorporateTrusteeProps extends IProcessComponentProps {\r\n data: Company;\r\n existingCustomer: boolean;\r\n customerId: number;\r\n ClientModel: FullClientDetailModel;\r\n OwnerAdviserId: number;\r\n onSetClientModel: (ClientModel) => void;\r\n}\r\n\r\ninterface IAddCorporateTrusteeState {\r\n useAddressForCorrespondence: boolean;\r\n isLoading: boolean;\r\n taxResidencyOtherThanUK: boolean;\r\n disableTax: boolean;\r\n existingClientInfo: FullClientDetailModel;\r\n updateClient: boolean;\r\n}\r\n\r\nexport class AddCorporateTrustee extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n useAddressForCorrespondence: null,\r\n isLoading: false,\r\n taxResidencyOtherThanUK: false,\r\n disableTax: false,\r\n existingClientInfo: null,\r\n updateClient: true,\r\n };\r\n this.subscribeToStore(CustomerContextStoreStatic, () => this.onCustomerContextStoreChange());\r\n }\r\n\r\n onCustomerContextStoreChange(): void {\r\n this.loadCustomerFromStore();\r\n\r\n let initArray = [];\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, this.props.data);\r\n initArray = FullClientDetailHelper.updatePostalAddress(initArray, this.props.data);\r\n this.onFullClientChange(initArray);\r\n }\r\n\r\n loadCustomerFromStore(): void {\r\n const val = CustomerContextStoreStatic.getData();\r\n if (this.props.data == null) {\r\n this.props.onChange(val);\r\n }\r\n this.setState({\r\n isLoading: false,\r\n existingClientInfo: val,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, customerId, existingCustomer } = this.props;\r\n if (customerId && existingCustomer && !data?.CompanyName) {\r\n this.getCompanyDetail();\r\n } else {\r\n this.initialiseModel(this.props.data);\r\n }\r\n if (CommonHelper.isNullOrEmpty(this.props.ClientModel)) {\r\n this.populateFullClientDetailsFromProspect();\r\n } else {\r\n this.setState({ updateClient: false });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: any): void {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.customerId != this.props.customerId && this.props.customerId != null) {\r\n this.getCompanyDetail();\r\n }\r\n }\r\n\r\n private getCompanyDetail() {\r\n const { data, customerId } = this.props;\r\n this.setState({ isLoading: true });\r\n ClientRecordAction.getCompanyDetail(customerId.toString(), (result: Company) => {\r\n this.props.onChange(result);\r\n this.initialiseModel(result);\r\n this.setState({ isLoading: false });\r\n });\r\n }\r\n\r\n private initialiseModel(data: Company) {\r\n if (!data?.CompanyType) {\r\n this.props.onChange({ CompanyType: CompanyType.LtdCo });\r\n }\r\n if (data?.AddressDetails && data?.AddressDetails.length == 2) {\r\n if (\r\n FullClientDetailHelper.isSameAddress(data?.AddressDetails[0].Address, data?.AddressDetails[1].Address)\r\n ) {\r\n this.setState({ useAddressForCorrespondence: true });\r\n } else {\r\n this.setState({ useAddressForCorrespondence: false });\r\n }\r\n }\r\n }\r\n\r\n private onFullClientChange = (changes: { value: any; path: string }[]) => {\r\n const data = this.props.data;\r\n let _model = { ...data };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n this.props.onChange(_model);\r\n };\r\n\r\n private onClientChange = (changes: { value: any; path: string }[]) => {\r\n const { ClientModel } = this.props;\r\n\r\n this.props.onSetClientModel(this.setValue(ClientModel, changes));\r\n //console.log(_model);\r\n };\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n if (!this.props.data?.AddressDetails) {\r\n this.props.showErrorMsgPopUp([\"Please fill in registered and correspondence address\"], true);\r\n return false;\r\n }\r\n if (\r\n this.props.data?.AddressDetails.filter((x) => x.PhysicalAddressType == PhysicalAddressType.Registered)\r\n .length == 0\r\n ) {\r\n this.props.showErrorMsgPopUp([\"Please fill in registered address\"], true);\r\n return false;\r\n }\r\n if (\r\n this.props.data?.AddressDetails.filter((x) => x.PhysicalAddressType == PhysicalAddressType.Postal).length ==\r\n 0\r\n ) {\r\n this.props.showErrorMsgPopUp([\"Please fill in correspondence address\"], true);\r\n return false;\r\n }\r\n return flag;\r\n }\r\n\r\n private hasRegisteredAddress(): boolean {\r\n return this.props.data?.AddressDetails?.some(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Registered\r\n );\r\n }\r\n\r\n private setValue = (data, changes: { value: any; path: string }[]) => {\r\n let _model = { ...data };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n return _model;\r\n };\r\n\r\n private populateFullClientDetailsFromProspect() {\r\n const { OwnerAdviserId } = this.props;\r\n\r\n let model: FullClientDetailModel = {\r\n ActorOwnerId: OwnerAdviserId,\r\n ActorId: null,\r\n ActorCategory: AccountRoleActorCategory.Customer,\r\n PersonalDetails: {},\r\n AddressDetails: [],\r\n };\r\n\r\n let initArray = [];\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, model);\r\n initArray = FullClientDetailHelper.updatePostalAddress(initArray, model);\r\n model = this.setValue(model, initArray);\r\n this.props.onSetClientModel(model);\r\n\r\n this.setState({ updateClient: false }); //this.setState({ residencies: model.CustomerTaxResidencyDetails });\r\n }\r\n\r\n public UpdateResidencies() {\r\n // const { residencies } = this.state;\r\n if (!CommonHelper.isNullOrEmpty(this.props?.ClientModel?.CustomerTaxResidencyDetails?.some)) {\r\n const detail = this.props.ClientModel.CustomerTaxResidencyDetails.filter((entry) => {\r\n return entry.IsTaxResident;\r\n }).map(\r\n (entry): CustomerTaxResidencyModel => {\r\n return {\r\n Country: entry.Country,\r\n IsTaxResident: entry.IsTaxResident,\r\n PrimaryTaxResidency: entry.PrimaryTaxResidency,\r\n TaxReferenceType: entry.TaxReferenceType,\r\n TaxReference: entry.TaxReference,\r\n TaxResidencyForPensionRelief: entry.TaxResidencyForPensionRelief,\r\n TaxExempt: entry.TaxExempt,\r\n TaxExemptionReason: entry.TaxExemptionReason,\r\n };\r\n }\r\n );\r\n //this.setState({ residencies: detail });\r\n }\r\n }\r\n public render(): JSX.Element {\r\n const { data, existingCustomer } = this.props;\r\n const { updateClient } = this.state;\r\n if (this.state.isLoading) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n this.props.onChange({ CompanyName: value })}\r\n required={\"Please enter name\"}\r\n />\r\n\r\n {\r\n return CompanyTypeMap[v];\r\n }}\r\n cssWrapper=\"control-size-430\"\r\n required=\"Please select\"\r\n label=\"Company type\"\r\n selected={data?.CompanyType}\r\n validationRules={[\r\n {\r\n errorMessage: \"Please select\",\r\n validator: (v) => {\r\n return v != CompanyType.NotSpecified;\r\n },\r\n },\r\n ]}\r\n onChange={(value) => this.props.onChange({ CompanyType: value })}\r\n />\r\n\r\n this.props.onChange({ Address: v })}\r\n address={data?.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Registered\r\n )}\r\n index={\r\n data?.AddressDetails?.length == 0 || !data?.AddressDetails\r\n ? 0\r\n : !this.hasRegisteredAddress()\r\n ? 1\r\n : data?.AddressDetails?.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Registered\r\n )\r\n }\r\n canChooseCountry={false}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Registered}\r\n addressList={data?.AddressDetails}\r\n resetUseAddressForCorrespondence={() => {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n disabled={false}\r\n />\r\n\r\n {data?.AddressDetails && this.hasRegisteredAddress() && (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n disabled={false}\r\n required={\"Please select\"}\r\n onChange={(v) => {\r\n const data = this.props.data?.AddressDetails;\r\n const index = data?.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Registered\r\n );\r\n\r\n const postalindex = index == 1 ? 0 : 1;\r\n if (v) {\r\n this.onFullClientChange([\r\n {\r\n value: PhysicalAddressType.Postal,\r\n path: `AddressDetails.${postalindex}.PhysicalAddressType`,\r\n },\r\n {\r\n value: data[index].Address.Address1,\r\n path: `AddressDetails.${postalindex}.Address.Address1`,\r\n },\r\n {\r\n value: data[index].Address.Address2,\r\n path: `AddressDetails.${postalindex}.Address.Address2`,\r\n },\r\n {\r\n value: data[index].Address.Address3,\r\n path: `AddressDetails.${postalindex}.Address.Address3`,\r\n },\r\n {\r\n value: data[index].Address.Address4,\r\n path: `AddressDetails.${postalindex}.Address.Address4`,\r\n },\r\n {\r\n value: data[index].Address.Country,\r\n path: `AddressDetails.${postalindex}.Address.Country`,\r\n },\r\n {\r\n value: data[index].Address.PostCode,\r\n path: `AddressDetails.${postalindex}.Address.PostCode`,\r\n },\r\n ]);\r\n } else {\r\n data.splice(postalindex, 1);\r\n this.onFullClientChange([{ value: data, path: `AddressDetails` }]);\r\n }\r\n this.setState({ useAddressForCorrespondence: v });\r\n }}\r\n />\r\n {this.state.useAddressForCorrespondence == false && (\r\n this.props.onChange({ CorrespondenceAddress: v })}\r\n address={data?.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Postal\r\n )}\r\n index={\r\n data?.AddressDetails.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Registered\r\n ) == 0\r\n ? 1\r\n : 0\r\n }\r\n canChooseCountry={false}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Postal}\r\n addressList={data?.AddressDetails}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n disabled={false}\r\n />\r\n )}\r\n \r\n )}\r\n\r\n
\r\n
\r\n {\r\n this.onFullClientChange([\r\n { value: v, path: \"EmailAddressDetails.0.EmailAddress\" },\r\n {\r\n value: EmailAddressType.Primary,\r\n path: \"EmailAddressDetails.0.EmailAddressType\",\r\n },\r\n ]);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n {\r\n this.onFullClientChange([{ value: value, path: \"PhoneNumberDetails\" }]);\r\n }}\r\n disabled={false}\r\n onRef={() => {}}\r\n />\r\n\r\n {!updateClient && (\r\n {\r\n this.props.onSetClientModel(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onClientChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={false}\r\n existingClientInfo={this.state.existingClientInfo}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { CustomerSearchModel } from \"../../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { Prospect } from \"../../../../../../../Wrap/Models/Models/Customer/Prospect\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { NewBusinessAction } from \"../../../NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { AdviserDetail } from \"../../../NewBusinessWizard/Components/FullClientDetail/AdviserDetail\";\r\nimport { ClientDetail as FullClientDetail } from \"../../../NewBusinessWizard/Components/FullClientDetail/ClientDetail\";\r\nimport { ContactDetail as FullContactDetail } from \"../../../NewBusinessWizard/Components/FullClientDetail/ContactDetail\";\r\nimport { TaxDetail } from \"../../../NewBusinessWizard/Components/FullClientDetail/TaxDetail\";\r\nimport { NBSteppers } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { AdviserContextStoreStatic, CustomerContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\nimport { CustomerMatchingAction } from \"../../Actions/CustomerMatchingAction\";\r\nimport { ClientDetail } from \"../ClientDetails/ClientDetail\";\r\nimport { ContactDetail } from \"../ClientDetails/ContactDetail\";\r\nimport { CustomerMatching } from \"../CustomerMatching/CustomertMatching\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { FullClientDetailHelper } from \"../../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { CustomerStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { EmailAddressType } from \"../../../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\n\r\ninterface IAddFullClientProps extends IProcessComponentProps {\r\n data: FullClientDetailModel;\r\n customerId: number;\r\n existingCustomer: boolean;\r\n ownerAdviserId: number;\r\n onSetAdditionalDetails: (customerId, existingCustomer) => void;\r\n onCustomerIdChange(customerId): void;\r\n}\r\n\r\ninterface IAddFullClientState {\r\n data: Prospect;\r\n isCustomerMatchingOpen: boolean;\r\n customerMatchingResult: CustomerSearchModel;\r\n isLoading: boolean;\r\n AdvisorName: string;\r\n existingClientInfo: FullClientDetailModel;\r\n showFullClientDetails: boolean;\r\n}\r\n\r\nexport class AddFullClient extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: {},\r\n isCustomerMatchingOpen: false,\r\n customerMatchingResult: null,\r\n isLoading: false,\r\n AdvisorName: null,\r\n existingClientInfo: null,\r\n showFullClientDetails: props?.data != null,\r\n };\r\n this.subscribeToStore(AdviserContextStoreStatic, () => this.onAdviserContextStoreChange());\r\n this.subscribeToStore(CustomerContextStoreStatic, () => this.onCustomerContextStoreChange());\r\n }\r\n\r\n onCustomerContextStoreChange(): void {\r\n this.loadCustomerFromStore();\r\n this.onAdviserContextStoreChange();\r\n\r\n let initArray = [];\r\n \r\n initArray = FullClientDetailHelper.updatePostalAddress(initArray, this.props.data);\r\n this.onFullClientChange(initArray);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.onCCMChange({ OwnerAdviserId: this.props.ownerAdviserId });\r\n if (this.props.customerId) {\r\n NewBusinessAction.getCustomerData(this.props.customerId);\r\n } else if (this.props.ownerAdviserId) {\r\n NewBusinessAction.getAdviserDetail(\r\n HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Advisor, this.props.ownerAdviserId)\r\n );\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.customerId != this.props.customerId && this.props.customerId != null) {\r\n this.setState({ isLoading: true });\r\n this.props.onChange(null);\r\n NewBusinessAction.getCustomerData(this.props.customerId);\r\n }\r\n if (prevProps.existingCustomer != this.props.existingCustomer) {\r\n this.setState({ showFullClientDetails: this.props.existingCustomer });\r\n }\r\n }\r\n\r\n onAdviserContextStoreChange(): void {\r\n const adv = AdviserContextStoreStatic.getData();\r\n if (adv) {\r\n this.setState({\r\n AdvisorName: adv?.Name,\r\n });\r\n }\r\n }\r\n\r\n loadCustomerFromStore(): void {\r\n const val = CustomerContextStoreStatic.getData();\r\n if (this.props.data == null) {\r\n this.props.onChange(val);\r\n }\r\n this.setState({\r\n isLoading: false,\r\n existingClientInfo: val,\r\n });\r\n }\r\n\r\n isValid() {\r\n return super.isValid() && (!this.props.data || this.checkValidation(this.props.data));\r\n }\r\n\r\n checkValidation(model: FullClientDetailModel) {\r\n const { isValid, errorMsg } = FullClientDetailHelper.fullClientDetailValidation(model);\r\n if (errorMsg.length > 0) {\r\n this.props.showErrorMsgPopUp(errorMsg, true);\r\n }\r\n return isValid;\r\n }\r\n\r\n private getCustomerMatchingData(pageIndex, pageSize) {\r\n const flag = this.isValid();\r\n if (flag) {\r\n const { ownerAdviserId } = this.props;\r\n const { data } = this.state;\r\n CustomerMatchingAction.getMatchingCustomers(\r\n data?.FirstName,\r\n data?.Surname,\r\n data?.DateOfBirth,\r\n ownerAdviserId,\r\n pageIndex,\r\n pageSize,\r\n (result: CustomerSearchModel) => {\r\n if (result.CustomerList && result.CustomerList?.length > 0) {\r\n this.setState({ isCustomerMatchingOpen: true, customerMatchingResult: result });\r\n } else {\r\n this.populateFullClientDetailsFromProspect();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n private populateFullClientDetailsFromProspect() {\r\n const { data } = this.state;\r\n let model: FullClientDetailModel = {\r\n ActorOwnerId: data?.OwnerAdviserId,\r\n ActorId: null,\r\n ActorCategory: AccountRoleActorCategory.Customer,\r\n PersonalDetails: {\r\n Title: TitleMap.getEnum(data?.Title),\r\n GivenName: data?.FirstName,\r\n MiddleName: data?.MiddleName,\r\n FamilyName: data?.Surname,\r\n CustomerStatus: CustomerStatus.Active,\r\n Gender: data?.Gender,\r\n DateOfBirth: data?.DateOfBirth,\r\n },\r\n EmailAddressDetails: [{ EmailAddress: data?.EmailAddress, EmailAddressType: EmailAddressType.Primary }],\r\n PhoneNumberDetails: data?.PhoneNumbers,\r\n AddressDetails: [],\r\n };\r\n\r\n let initArray = [];\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, model);\r\n initArray = FullClientDetailHelper.updatePostalAddress(initArray, model);\r\n model = this.setValue(model, initArray);\r\n this.props.onChange(model);\r\n this.setState({ showFullClientDetails: true });\r\n }\r\n\r\n private onPageChange(pageIndex, pageSize) {\r\n this.getCustomerMatchingData(pageIndex, pageSize);\r\n }\r\n\r\n private onDismissCustomerMatchings() {\r\n this.populateFullClientDetailsFromProspect();\r\n }\r\n\r\n private setValue = (data, changes: { value: any; path: string }[]) => {\r\n let _model = { ...data };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n return _model;\r\n };\r\n\r\n private onFullClientChange = (changes: { value: any; path: string }[]) => {\r\n const { data } = this.props;\r\n\r\n this.props.onChange(this.setValue(data, changes));\r\n //console.log(_model);\r\n };\r\n\r\n private onCCMChange = (changes) => {\r\n const { data } = this.state;\r\n if (data.Title == null) {\r\n data.Title = TitleMap.getString(Title.Miss);\r\n }\r\n const _data = JSON.parse(JSON.stringify(data));\r\n for (const key in changes) {\r\n _data[key] = JSON.parse(JSON.stringify(changes[key]));\r\n }\r\n this.props.showErrorMsgPopUp([], false);\r\n this.setState({ data: _data });\r\n };\r\n\r\n private renderAddBasicDetails() {\r\n const { data } = this.state;\r\n return (\r\n <>\r\n {\r\n this.onCCMChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n {\r\n this.onCCMChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n {this.state.isCustomerMatchingOpen && (\r\n this.setState({ isCustomerMatchingOpen: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n this.onPageChange(pageIndex, pageSize)}\r\n onDismissMatches={() => this.onDismissCustomerMatchings()}\r\n displayChooseClientOption={true}\r\n onClientChosen={(customerId) => this.props.onSetAdditionalDetails(customerId, true)}\r\n >\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderFullClientDetails() {\r\n if (this.state.isLoading || !this.props.data) {\r\n return ;\r\n }\r\n return (\r\n <>\r\n

{NBSteppers.fullClientDetail}

\r\n {}}\r\n onAdviserChange={null}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={false}\r\n existingClientInfo={this.state.existingClientInfo}\r\n index={1}\r\n />\r\n\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={false}\r\n existingClientInfo={this.state.existingClientInfo}\r\n onCorrespondenceAddressChange={() => {}}\r\n />\r\n\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={false}\r\n existingClientInfo={this.state.existingClientInfo}\r\n />\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, ownerAdviserId, customerId } = this.props;\r\n if (this.props.existingCustomer == null) {\r\n return <>;\r\n }\r\n if (customerId != null || this.state.showFullClientDetails) {\r\n return this.renderFullClientDetails();\r\n } else {\r\n return this.renderAddBasicDetails();\r\n }\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AddBeneficiary } from \"./AddBeneficiary\";\r\n\r\ninterface IBeneficiaryDetailProps extends IProcessComponentProps {\r\n data: Array;\r\n memberNumber: number;\r\n ownerAdviserId: number;\r\n}\r\n\r\ninterface IBeneficiaryDetailState {\r\n addBeneficiary: boolean;\r\n expandList: boolean[];\r\n}\r\n\r\nexport class BeneficiaryDetail extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n addBeneficiary: null,\r\n expandList: [],\r\n };\r\n }\r\n\r\n isValid() {\r\n return super.isValid() && this.checkMemberValidation();\r\n }\r\n\r\n private checkMemberValidation() {\r\n const { data } = this.props;\r\n const length = data.length;\r\n if (length == 0) {\r\n return true;\r\n } else if (data[length - 1].Relationships?.length == 0 || data[length - 1].Individual == null) {\r\n this.props.showErrorMsgPopUp([\"Please complete beneficiary details\"], true);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private addBeneficiary() {\r\n const { data } = this.props;\r\n if (data && data.length > 0 && (this.isValidChild(data.length - 1) == false || !this.checkMemberValidation())) {\r\n return;\r\n }\r\n this.onAddMember();\r\n }\r\n\r\n private onAddMember() {\r\n const { data, ownerAdviserId } = this.props;\r\n const { expandList } = this.state;\r\n\r\n const _members = data ? data.concat() : [];\r\n _members.push({\r\n Company: null,\r\n Individual: {\r\n PersonalDetails: { Title: Title.Mr },\r\n ActorCategory: AccountRoleActorCategory.Associate,\r\n ActorOwnerId: ownerAdviserId,\r\n },\r\n Relationships: [RelationshipType.Beneficiary],\r\n Percentage: 0,\r\n });\r\n this.props.onChange(_members);\r\n expandList[expandList.length - 1] = false;\r\n expandList.push(true);\r\n this.setState({ expandList: expandList });\r\n }\r\n\r\n private onRemoveMember(i) {\r\n const { data, onChange } = this.props;\r\n const { expandList } = this.state;\r\n const _data = data.concat();\r\n _data.splice(i, 1);\r\n expandList.splice(i, 1);\r\n this.props.onChange(_data);\r\n this.setState({ expandList: expandList });\r\n }\r\n\r\n private onMemberChange(changes, i) {\r\n const { data, onChange } = this.props;\r\n const _data = data.concat();\r\n const _item = _data[i];\r\n for (const key in changes) {\r\n _item[key] = changes[key];\r\n }\r\n _data[i] = _item;\r\n this.props.onChange(_data);\r\n }\r\n\r\n public render() {\r\n const { data, memberNumber } = this.props;\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n disabled={false}\r\n required={\"Please select\"}\r\n onChange={(v) => {\r\n if (v) {\r\n this.addBeneficiary();\r\n } else {\r\n this.props.onChange([]);\r\n }\r\n this.setState({ addBeneficiary: v });\r\n }}\r\n />\r\n\r\n {this.state.addBeneficiary &&\r\n data &&\r\n data.map((ele, index) => {\r\n return (\r\n (v ? true : this.isValidChild(index))}\r\n isOpen={this.state.expandList[index]}\r\n >\r\n this.onMemberChange(change, index)}\r\n onRef={(ref) => {\r\n this.appendChild(ref, index);\r\n }}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n />\r\n this.onRemoveMember(index)}\r\n />\r\n \r\n );\r\n })}\r\n\r\n {this.state.addBeneficiary && memberNumber < 20 && (\r\n this.addBeneficiary()}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { IAddClientModel } from \"../AddClientWizard\";\r\n\r\ninterface IFATCACountryProps extends IProcessComponentProps {\r\n data: IAddClientModel;\r\n onChangeFromOrganisationDetailTab?: Function;\r\n disable?: boolean;\r\n}\r\n\r\ninterface IFATCACountryState {}\r\n\r\nexport class FATCACountry extends ProcessComponent {\r\n constructor(props: IFATCACountryProps) {\r\n super(props);\r\n this.state = {\r\n AddAnotherTaxResidency: false,\r\n };\r\n }\r\n\r\n render() {\r\n const { data, onChange, onChangeFromOrganisationDetailTab, disable } = this.props;\r\n return (\r\n <>\r\n {data?.Organisation?.FatcaCountries?.map((item, index) => {\r\n return (\r\n <>\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n cssWrapper=\"control-size-430\"\r\n placeholder=\"Please select\"\r\n label=\"Country of Tax Residency\"\r\n selected={item?.CountryOfTaxResidency}\r\n onChange={(v) => {\r\n const _data = data?.Organisation?.FatcaCountries.concat();\r\n _data[index].CountryOfTaxResidency = v;\r\n if (this.props.onChangeFromOrganisationDetailTab) {\r\n onChangeFromOrganisationDetailTab(_data);\r\n } else {\r\n onChange(_data);\r\n }\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Can not add same tax residency twice\",\r\n validator: (v) => {\r\n if (!v) {return true;}\r\n return (\r\n data?.Organisation?.FatcaCountries.filter(\r\n (x) => x.CountryOfTaxResidency == v\r\n )?.length < 2\r\n );\r\n },\r\n },\r\n ]}\r\n required=\"Please select\"\r\n disabled={disable}\r\n />\r\n {\r\n const _data = data?.Organisation?.FatcaCountries.concat();\r\n _data[index].TaxIdentificationNumber = v;\r\n if (this.props.onChangeFromOrganisationDetailTab) {\r\n onChangeFromOrganisationDetailTab(_data);\r\n } else {\r\n onChange(_data);\r\n }\r\n }}\r\n required={\"Please enter\"}\r\n disabled={disable}\r\n />\r\n {index != 4 && data?.Organisation?.FatcaCountries?.length == index + 1 && !disable && (\r\n {\r\n if (this.isValid()) {\r\n const _data = data?.Organisation?.FatcaCountries.concat({});\r\n if (this.props.onChangeFromOrganisationDetailTab) {\r\n onChangeFromOrganisationDetailTab(_data);\r\n } else {\r\n onChange(_data);\r\n }\r\n }\r\n }}\r\n />\r\n )}\r\n {(index != 0 || data?.Organisation?.FatcaCountries?.length > 1) && !disable && (\r\n {\r\n const _data = data?.Organisation?.FatcaCountries.concat();\r\n _data.splice(index, 1);\r\n if (this.props.onChangeFromOrganisationDetailTab) {\r\n onChangeFromOrganisationDetailTab(_data);\r\n } else {\r\n onChange(_data);\r\n }\r\n }}\r\n />\r\n )}\r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport {\r\n Alphanumeric,\r\n AlphanumericWithSeperator,\r\n AlphanumericWithSpecialCharacters,\r\n EndWithTwoNumbers,\r\n} from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport {\r\n CompanyTypeMap,\r\n CompanyTypeOption,\r\n FATCABusinessTypeMap,\r\n FATCABusinessTypeOption,\r\n LawtoApplyMap,\r\n LawtoApplyOption,\r\n} from \"../../Resource/Contents\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { FATCABusinessType } from \"../../../../../../../Wrap/Constants/Enums/Customer/FATCABusinessType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { IAddClientModel } from \"../AddClientWizard\";\r\nimport { CompanyType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CompanyType\";\r\nimport { FATCACountry } from \"./FATCACountry\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\ninterface ITrustDetailProps extends IProcessComponentProps {\r\n data: IAddClientModel;\r\n}\r\n\r\ninterface ITrustDetailState {\r\n AddAnotherTaxResidency: boolean;\r\n}\r\n\r\nexport class TrustDetail extends ProcessComponent {\r\n constructor(props: ITrustDetailProps) {\r\n super(props);\r\n this.state = {\r\n AddAnotherTaxResidency: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data?.CustomerType == CustomerType.CorporateTrust) {\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n CompanyType: CompanyType.NotSpecified,\r\n CustomerType: this.props.data?.CustomerType,\r\n IsNewTrust: false,\r\n },\r\n this.props.data,\r\n \"Organisation\"\r\n );\r\n } else {\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n CustomerType: this.props.data?.CustomerType,\r\n IsNewTrust:\r\n this.props.data?.SelectedFirmProposition?.length > 0 &&\r\n this.props.data?.SelectedFirmProposition.find((x) => x == ServiceProposition.Fundzone) !=\r\n null &&\r\n this.props.data?.SelectedFirmProposition.find((x) => x == ServiceProposition.Wrap) == null\r\n ? false\r\n : true,\r\n },\r\n this.props.data,\r\n \"Organisation\"\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n {\r\n return v.replace(/\\s/g, \"\").length != 0;\r\n },\r\n },\r\n ]}\r\n onChange={(value) => this.onDataChange(onChange, { Name: value }, data, \"Organisation\")}\r\n required={\"Please enter name\"}\r\n maxLength={50}\r\n />\r\n\r\n (v ? \"New\" : \"Existing\")}\r\n onChange={(v) => {\r\n this.onDataChange(this.props.onChange, { IsNewTrust: v }, this.props.data, \"Organisation\");\r\n }}\r\n disabled={\r\n this.props.data?.CustomerType == CustomerType.CorporateTrust ||\r\n (this.props.data?.SelectedFirmProposition?.length > 0 &&\r\n this.props.data?.SelectedFirmProposition.find((x) => x == ServiceProposition.Fundzone) !=\r\n null &&\r\n this.props.data?.SelectedFirmProposition.find((x) => x == ServiceProposition.Wrap) == null)\r\n }\r\n />\r\n\r\n (v.length == 20 || v.length == 0 ? true : false),\r\n },\r\n {\r\n errorMessage: \"LEI code must contain only numbers or letters.\",\r\n validator: (v) => Alphanumeric.test(v),\r\n },\r\n {\r\n errorMessage: \"Last 2 characters of LEI Code must be numbers.\",\r\n validator: (v) => v.length == 0 || EndWithTwoNumbers.test(v),\r\n },\r\n ]}\r\n maxLength={20}\r\n onChange={(value) => this.onDataChange(onChange, { LEICode: value }, data, \"Organisation\")}\r\n />\r\n\r\n \r\n {\r\n return LawtoApplyMap[v];\r\n }}\r\n onChange={(v) =>\r\n this.onDataChange(\r\n onChange,\r\n {\r\n LawToApply: v,\r\n },\r\n data,\r\n \"Organisation\"\r\n )\r\n }\r\n required=\"Please choose Law to apply\"\r\n />\r\n\r\n {data.CustomerType == CustomerType.CorporateTrust && (\r\n {\r\n return CompanyTypeMap[v];\r\n }}\r\n cssWrapper=\"control-size-430\"\r\n required=\"Please select\"\r\n validationRules={[\r\n {\r\n errorMessage: \"Please select\",\r\n validator: (v) => {\r\n return v != CompanyType.NotSpecified;\r\n },\r\n },\r\n ]}\r\n label=\"Company type\"\r\n selected={data?.Organisation?.CompanyType}\r\n onChange={(value) => this.onDataChange(onChange, { CompanyType: value }, data, \"Organisation\")}\r\n />\r\n )}\r\n\r\n {\r\n return FATCABusinessTypeMap[v];\r\n }}\r\n tooltip={`Under UK legislation we are required to collect certain tax information about the type of business that invests with us and possibly report some of that information to HMRC who in turn may share that information with other tax authorities around the world as appropriate.\r\n\r\n The Foreign Account Tax Compliance Act (‘’FATCA’’) was introduced by the U.S. government in 2010. The UK adopted the frame work into UK legislation with an effective date of 1 July 2014. FATCA requires us as platform provider to undertake specified due diligence, reporting and oversight obligations to detect and deter U.S. tax evasion.\r\n \r\n The Common Reporting Standard (‘’CRS’’) was introduced by the OECD and implemented into UK law with an effective date of 1 January 2016. Broadly similar to FATCA, the legislation requires us as platform provider to undertake essentially the same due diligence, reporting and oversight obligations to detect and deter tax evasion.\r\n \r\n Please note that we are unable to provide tax advice in respect of the business type or questions on tax residency in respect of the business. In case of any additional questions we would refer you to your tax advisor and/or the HMRC guidance available online.`}\r\n cssWrapper=\"control-size-430\"\r\n required=\"Please select\"\r\n tooltipCss={\"is-info-icon ml-5 is-wide\"}\r\n validationRules={[\r\n {\r\n errorMessage: \"Please select\",\r\n validator: (v) => {\r\n return v != FATCABusinessType.NotSpecified;\r\n },\r\n },\r\n ]}\r\n label=\"FATCA/CRS Business Type\"\r\n selected={data?.Organisation?.FATCABusinessType}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n onChange,\r\n { FATCABusinessType: v, IsTaxPurposeOtherThanUk: false },\r\n data,\r\n \"Organisation\"\r\n );\r\n }}\r\n />\r\n {(data?.Organisation?.FATCABusinessType == FATCABusinessType.InvestmentBody ||\r\n data?.Organisation?.FATCABusinessType == FATCABusinessType.ActiveNFFE) && (\r\n <>\r\n \r\n {\r\n return v ? \"Yes\" : \"No\";\r\n }}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n onChange,\r\n { IsTaxPurposeOtherThanUk: v, FatcaCountries: v ? [{}] : [] },\r\n data,\r\n \"Organisation\"\r\n );\r\n }}\r\n required=\"Please choose\"\r\n />\r\n \r\n )}\r\n {data?.Organisation?.IsTaxPurposeOtherThanUk && (\r\n <>\r\n {\r\n this.onDataChange(onChange, { FatcaCountries: v }, data, \"Organisation\");\r\n }}\r\n onRef={(ref) => {\r\n this.appendChild(ref);\r\n }}\r\n />\r\n \r\n )}\r\n\r\n {data?.Organisation?.FATCABusinessType === FATCABusinessType.FFI && (\r\n this.onDataChange(onChange, { GIIN: value }, data, \"Organisation\")}\r\n required=\"Please enter\"\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { ButtonLabels, OrganisationMemberPopUpInfo } from \"../../Resource/Contents\";\r\nimport { IAddClientModel, Journey } from \"../AddClientWizard\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { TrustMemberDetails } from \"./TrustMemberDetails\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { BeneficiaryDetail } from \"./BeneficiaryDetail\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\n\r\ninterface ITrustMemberProps extends IProcessComponentProps {\r\n data: IAddClientModel;\r\n onSubmit: (journeyType: Journey) => void;\r\n onPrevious: () => void;\r\n onlyTrustMember?: boolean;\r\n existingMembers?: OrganisationMember[];\r\n disableSettlorOption?: boolean;\r\n disableBeneficiaryOption?: boolean;\r\n disableCorporateTrusteeOption?: boolean;\r\n}\r\n\r\ninterface ITrustMemberState {\r\n AddNewCustomer: boolean;\r\n SearchValue: string;\r\n isOpen: boolean;\r\n showErrorMsg: any;\r\n expandList: boolean[];\r\n showInfoPopUp: boolean;\r\n fullClients: any[];\r\n showBeneficiaryPopUp: boolean;\r\n showSettlorPopUp: boolean;\r\n journeyType: Journey;\r\n}\r\n\r\nexport class TrustMember extends ProcessComponent {\r\n constructor(props: ITrustMemberProps) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n AddNewCustomer: null,\r\n SearchValue: null,\r\n showErrorMsg: null,\r\n expandList: [],\r\n showInfoPopUp: false,\r\n fullClients: [],\r\n showBeneficiaryPopUp: false,\r\n showSettlorPopUp: false,\r\n journeyType: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.addTrustMember();\r\n }\r\n\r\n private isContainsCorporateTrustee;\r\n\r\n isValid() {\r\n const { data, existingMembers } = this.props;\r\n let isValid = super.isValid();\r\n const msg = [];\r\n let isForeignAddress = false;\r\n if (\r\n this.containsRelationship(RelationshipType.IndividualTrustee) == false &&\r\n this.containsRelationship(RelationshipType.CorporateTrustee) == false\r\n ) {\r\n msg.push(OrganisationMemberPopUpInfo.atLeastOneTrustee);\r\n isValid = false;\r\n }\r\n if (\r\n data?.Organisation?.OrganisationMembers?.concat(existingMembers || [])?.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Settlor)\r\n ).length > 2\r\n ) {\r\n msg.push(OrganisationMemberPopUpInfo.moreThanTwoSettlors);\r\n isValid = false;\r\n }\r\n if (\r\n data?.Organisation?.OrganisationMembers?.concat(existingMembers || [])?.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Settlor)\r\n ).length == 0 &&\r\n data?.Organisation?.IsNewTrust == true\r\n ) {\r\n msg.push(OrganisationMemberPopUpInfo.atLeastOneSettlor);\r\n isValid = false;\r\n }\r\n\r\n this.containsCorporateTrustee(data);\r\n if (this.isContainsCorporateTrustee == false) {\r\n data?.Organisation?.OrganisationMembers?.map((x) => {\r\n x.Individual?.AddressDetails?.map((y) => {\r\n if (\r\n y.PhysicalAddressType == PhysicalAddressType.Residential &&\r\n y.Address?.Country != CountryCode.GBR\r\n ) {\r\n isForeignAddress = true;\r\n }\r\n });\r\n });\r\n } else {\r\n data?.Organisation?.OrganisationMembers?.map((x) => {\r\n x.Individual?.AddressDetails?.map((y) => {\r\n if (\r\n y.PhysicalAddressType == PhysicalAddressType.Registered &&\r\n y.Address?.Country != CountryCode.GBR\r\n ) {\r\n isForeignAddress = true;\r\n }\r\n });\r\n });\r\n }\r\n if (isForeignAddress) {\r\n msg.push(OrganisationMemberPopUpInfo.nonUKResidence);\r\n isValid = false;\r\n }\r\n\r\n this.props.showErrorMsgPopUp(msg, true);\r\n return isValid;\r\n }\r\n\r\n private containsCorporateTrustee(data) {\r\n data?.Organisation?.OrganisationMembers?.map((x) => {\r\n x.Relationships.map((y) => {\r\n if (y == RelationshipType.CorporateTrustee) {\r\n this.isContainsCorporateTrustee = true;\r\n } else {\r\n this.isContainsCorporateTrustee = false;\r\n }\r\n });\r\n });\r\n }\r\n\r\n private containsRelationship(relationship: RelationshipType) {\r\n const { data, existingMembers } = this.props;\r\n let containsTrustee = false;\r\n if (\r\n relationship == RelationshipType.Beneficiary &&\r\n data?.Organisation?.Beneficiaries &&\r\n data?.Organisation?.Beneficiaries.length > 0\r\n ) {\r\n return true;\r\n }\r\n const all = (existingMembers || []).concat(data?.Organisation?.OrganisationMembers || []);\r\n if (!all && all.length < 1) {\r\n return false;\r\n }\r\n all.forEach((member) => {\r\n if (member.Relationships?.includes(relationship)) {\r\n containsTrustee = true;\r\n }\r\n });\r\n return containsTrustee;\r\n }\r\n\r\n private checkMemberValidation() {\r\n const organisation = this.props.data?.Organisation;\r\n const length = organisation.OrganisationMembers.length;\r\n if (length == 0) {\r\n return true;\r\n } else if (\r\n organisation.OrganisationMembers[length - 1].Relationships?.length == 0 ||\r\n (organisation.OrganisationMembers[length - 1].Company == null &&\r\n organisation.OrganisationMembers[length - 1].Individual == null)\r\n ) {\r\n this.props.showErrorMsgPopUp([\"Please complete client details\"], true);\r\n return false;\r\n } else if (\r\n (!organisation.OrganisationMembers[length - 1].Relationships.includes(RelationshipType.CorporateTrustee) &&\r\n organisation.OrganisationMembers[length - 1]?.Individual?.AddressDetails?.filter(\r\n (y) => y.PhysicalAddressType == PhysicalAddressType.Residential\r\n )[0]?.Address?.Country != CountryCode.GBR) ||\r\n (organisation.OrganisationMembers[length - 1].Relationships.includes(RelationshipType.CorporateTrustee) &&\r\n organisation.OrganisationMembers[length - 1]?.Company?.AddressDetails?.filter(\r\n (y) => y.PhysicalAddressType == PhysicalAddressType.Registered\r\n )[0]?.Address?.Country != CountryCode.GBR)\r\n ) {\r\n this.props.showErrorMsgPopUp([OrganisationMemberPopUpInfo.nonUKResidence], true);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private addTrustMember() {\r\n const { data, onChange } = this.props;\r\n const organisation = data?.Organisation;\r\n\r\n if (\r\n organisation.OrganisationMembers &&\r\n organisation.OrganisationMembers.length > 0 &&\r\n (this.isValidChild(organisation.OrganisationMembers.length - 1) == false || !this.checkMemberValidation())\r\n ) {\r\n return;\r\n }\r\n this.onAddMember();\r\n }\r\n\r\n private onAddMember() {\r\n const { data, onChange } = this.props;\r\n const organisation = data?.Organisation;\r\n const { expandList, fullClients } = this.state;\r\n\r\n const _members = organisation?.OrganisationMembers ? organisation?.OrganisationMembers.concat() : [];\r\n _members.push({\r\n Company: null,\r\n Individual: null,\r\n Relationships: [],\r\n Percentage: 0,\r\n });\r\n this.onDataChange(onChange, { OrganisationMembers: _members }, data, \"Organisation\");\r\n\r\n expandList[expandList.length - 1] = false;\r\n expandList.push(true);\r\n const _fullClients = fullClients;\r\n _fullClients.push({});\r\n this.setState({ expandList: expandList, fullClients: _fullClients });\r\n }\r\n\r\n private onRemoveMember(i) {\r\n const { data, onChange } = this.props;\r\n const { expandList, fullClients } = this.state;\r\n const _data = data?.Organisation?.OrganisationMembers.concat();\r\n _data.splice(i, 1);\r\n expandList.splice(i, 1);\r\n this.onDataChange(onChange, { OrganisationMembers: _data }, data, \"Organisation\");\r\n fullClients.splice(i, 1);\r\n this.setState({ expandList: expandList, fullClients: fullClients });\r\n }\r\n\r\n private onMemberChange(changes, i) {\r\n const { data, onChange } = this.props;\r\n const _data = data?.Organisation?.OrganisationMembers.concat();\r\n const _item = _data[i];\r\n for (const key in changes) {\r\n _item[key] = changes[key];\r\n }\r\n _data[i] = _item;\r\n this.onDataChange(onChange, { OrganisationMembers: _data }, data, \"Organisation\");\r\n }\r\n\r\n private onClickSubmit(journeyType: Journey) {\r\n this.props.onSubmit(journeyType);\r\n }\r\n\r\n private validateBeforeSubmit(journeyType: Journey) {\r\n let flag = this.isValid() && this.checkMemberValidation();\r\n if (flag) {\r\n const { data } = this.props;\r\n const settlorNum = data?.Organisation?.OrganisationMembers?.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Settlor)\r\n ).length;\r\n const trusteeNum = data?.Organisation?.OrganisationMembers?.filter(\r\n (x) =>\r\n x.Relationships.includes(RelationshipType.IndividualTrustee) ||\r\n x.Relationships.includes(RelationshipType.CorporateTrustee)\r\n ).length;\r\n\r\n if (!this.containsRelationship(RelationshipType.Beneficiary)) {\r\n this.setState({ showBeneficiaryPopUp: true, journeyType: journeyType });\r\n flag = false;\r\n }\r\n if (trusteeNum <= settlorNum) {\r\n this.setState({ showSettlorPopUp: true, journeyType: journeyType });\r\n flag = false;\r\n }\r\n if (settlorNum == 0 && data?.Organisation?.IsNewTrust == true) {\r\n this.setState({ journeyType: journeyType });\r\n flag = false;\r\n }\r\n if (flag) {\r\n this.onClickSubmit(journeyType);\r\n }\r\n }\r\n return flag;\r\n }\r\n\r\n render() {\r\n const {\r\n data,\r\n existingMembers,\r\n disableBeneficiaryOption,\r\n disableSettlorOption,\r\n disableCorporateTrusteeOption,\r\n } = this.props;\r\n const beneficiaryNum = data?.Organisation?.Beneficiaries ? data?.Organisation?.Beneficiaries.length : 0;\r\n const organisationMemberNum = data?.Organisation?.OrganisationMembers\r\n ? data?.Organisation?.OrganisationMembers.length\r\n : 0;\r\n\r\n const memberNum = beneficiaryNum + organisationMemberNum + ((existingMembers || []).length || 0);\r\n return (\r\n <>\r\n
\r\n this.setState({ showInfoPopUp: true })}\r\n >\r\n Trust members explained.\r\n \r\n
\r\n\r\n {this.state.showInfoPopUp && (\r\n this.setState({ showInfoPopUp: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n

{OrganisationMemberPopUpInfo.moreTrusteesThanSettlors}

\r\n

{OrganisationMemberPopUpInfo.line2}

\r\n

{OrganisationMemberPopUpInfo.line3}

\r\n

{OrganisationMemberPopUpInfo.line4}

\r\n \r\n \r\n )}\r\n {(this.state.showBeneficiaryPopUp || this.state.showSettlorPopUp) && (\r\n \r\n this.setState({\r\n showBeneficiaryPopUp: false,\r\n showSettlorPopUp: false,\r\n })\r\n }\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {this.state.showBeneficiaryPopUp &&

{OrganisationMemberPopUpInfo.noBeneficiary}

}\r\n {this.state.showSettlorPopUp &&

{OrganisationMemberPopUpInfo.moreTrusteesThanSettlors}

}\r\n\r\n

{OrganisationMemberPopUpInfo.addMoreTrust}

\r\n
\r\n {\r\n this.setState({\r\n showBeneficiaryPopUp: false,\r\n showSettlorPopUp: false,\r\n });\r\n }}\r\n >\r\n Yes\r\n \r\n {\r\n this.onClickSubmit(this.state.journeyType);\r\n }}\r\n >\r\n No\r\n \r\n
\r\n \r\n )}\r\n {!this.props.onlyTrustMember && (\r\n \r\n )}\r\n\r\n {data?.Organisation?.OrganisationMembers &&\r\n data?.Organisation?.OrganisationMembers.map((ele, index) => {\r\n return (\r\n (v ? true : this.isValidChild(index))}\r\n isOpen={this.state.expandList[index]}\r\n >\r\n {\r\n this.appendChild(ref, index);\r\n }}\r\n data={ele}\r\n onChange={(change) => this.onMemberChange(change, index)}\r\n onSubmit={() => {}}\r\n customerType={this.props.data.CustomerType}\r\n lawToApply={data?.Organisation?.LawToApply}\r\n ownerAdviserId={data?.Organisation.OwnerAdviserId}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n selectedCustomers={data?.Organisation?.OrganisationMembers.map((x) => x.CustomerId)}\r\n disableSettlorOption={\r\n disableSettlorOption || this.props.data?.Organisation?.IsNewTrust == false\r\n }\r\n disableBeneficiaryOption={disableBeneficiaryOption}\r\n disableCorporateTrusteeOption={\r\n disableCorporateTrusteeOption ||\r\n (data?.Organisation?.OrganisationMembers.some((x) =>\r\n x?.Relationships?.includes(RelationshipType.CorporateTrustee)\r\n ) &&\r\n data?.Organisation?.OrganisationMembers.findIndex((x) =>\r\n x?.Relationships?.includes(RelationshipType.CorporateTrustee)\r\n ) != index)\r\n }\r\n existingMembers={existingMembers}\r\n />\r\n this.onRemoveMember(index)}\r\n />\r\n \r\n );\r\n })}\r\n {memberNum < 20 && (\r\n this.addTrustMember()}\r\n />\r\n )}\r\n
\r\n\r\n {!this.props.onlyTrustMember && (\r\n <>\r\n this.appendChild(ref)}\r\n onChange={(changes) =>\r\n this.onDataChange(this.props.onChange, { Beneficiaries: changes }, data, \"Organisation\")\r\n }\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n memberNumber={memberNum}\r\n ownerAdviserId={data?.Organisation.OwnerAdviserId}\r\n />\r\n
\r\n\r\n
\r\n
\r\n {\r\n this.props.onPrevious();\r\n }}\r\n className=\"prev-button\"\r\n >\r\n \r\n {ButtonLabels.previousLabel}\r\n \r\n
\r\n
\r\n
\r\n \r\n this.updateStatePart((x) => {\r\n x.isOpen = !this.state.isOpen;\r\n })\r\n }\r\n >\r\n {ButtonLabels.nextLabel}\r\n \r\n \r\n {this.state.isOpen && (\r\n
\r\n
\r\n {\r\n this.validateBeforeSubmit(Journey.AddClient);\r\n }}\r\n >\r\n {ButtonLabels.addClient}\r\n
\r\n {\r\n this.validateBeforeSubmit(Journey.NewTrust);\r\n }}\r\n >\r\n {ButtonLabels.newBusiness}\r\n
\r\n {\r\n this.validateBeforeSubmit(Journey.CreateAnotherClient);\r\n }}\r\n >\r\n {ButtonLabels.createAnotherClient}\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CustomerSearchClient } from \"../../../../../../../Wrap/Api/Customer/CustomerSearch\";\r\nimport { OrganisationSearchClient } from \"../../../../../../../Wrap/Api/Customer/OrganisationSearch\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { LawType } from \"../../../../../../../Wrap/Constants/Enums/Customer/LawType\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { CustomerStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { EntityType } from \"../../../../../../../Wrap/Constants/Enums/EntityType\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { CustomerSearchModel } from \"../../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { OrganisationSearchModel } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationSearch/OrganisationSearchModel\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SearchInput } from \"../../../../../../Shared/SearchInput/SearchInput\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\n\r\nimport {\r\n RelationshipTypeArray,\r\n RelationshipTypeMap,\r\n CompanyTypeMap,\r\n OrganisationMemberPopUpInfo,\r\n} from \"../../Resource/Contents\";\r\nimport { AddCorporateTrustee } from \"./AddCorporateTrustee\";\r\nimport { AddFullClient } from \"./AddFullClient\";\r\n\r\nexport interface ITrustMemberDetailsProps extends IProcessComponentProps {\r\n data: OrganisationMember;\r\n ownerAdviserId: number;\r\n customerType: CustomerType;\r\n lawToApply: LawType;\r\n selectedCustomers: number[];\r\n onSubmit: (journeyType) => void;\r\n disableSettlorOption?: boolean;\r\n disableBeneficiaryOption?: boolean;\r\n disableCorporateTrusteeOption?: boolean;\r\n existingMembers: OrganisationMember[];\r\n}\r\n\r\ninterface ITrustMemberDetailsState {\r\n SearchValue: string;\r\n isOpen: boolean;\r\n showErrorMsg: any;\r\n hideResult: boolean;\r\n}\r\n\r\nexport class TrustMemberDetails extends ProcessComponent {\r\n constructor(props: ITrustMemberDetailsProps) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n SearchValue: null,\r\n showErrorMsg: null,\r\n hideResult: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n }\r\n\r\n isValid(): boolean {\r\n const { data, lawToApply } = this.props;\r\n const flag = super.isValid();\r\n if (\r\n data?.Relationships?.length > 0 &&\r\n !data?.Relationships?.includes(RelationshipType.CorporateTrustee) &&\r\n !data?.Individual\r\n ) {\r\n this.props.showErrorMsgPopUp([\"Please complete client details\"], true);\r\n return false;\r\n }\r\n //individual trustee age validation\r\n if (\r\n data?.Individual?.PersonalDetails?.DateOfBirth &&\r\n data?.Relationships?.includes(RelationshipType.IndividualTrustee)\r\n ) {\r\n if (\r\n JsonDateParser.calculateAge(data?.Individual?.PersonalDetails?.DateOfBirth) < 16 &&\r\n lawToApply == LawType.ScottishLaw\r\n ) {\r\n this.props.showErrorMsgPopUp([\"Individual trustee must be over 16 years old.\"], true);\r\n return false;\r\n } else if (\r\n JsonDateParser.calculateAge(data?.Individual?.PersonalDetails?.DateOfBirth) < 18 &&\r\n lawToApply != LawType.ScottishLaw\r\n ) {\r\n this.props.showErrorMsgPopUp([\"Individual trustee must be over 18 years old.\"], true);\r\n return false;\r\n }\r\n }\r\n //check at least one new relationship has been added on the customer\r\n const existingRelationships = this.getCustomerExistingRelationships();\r\n if (!(data?.Relationships || []).some((rel) => !existingRelationships.includes(rel))) {\r\n this.props.showErrorMsgPopUp([\"Please select a role for this Trust member\"], true);\r\n return false;\r\n }\r\n if (\r\n existingRelationships.length == 0 &&\r\n data?.Relationships.every((ele) => ele == RelationshipType.Beneficiary)\r\n ) {\r\n this.props.showErrorMsgPopUp([\"Can not add a trust member as beneficiary only here\"], true);\r\n return false;\r\n }\r\n return flag;\r\n }\r\n\r\n private transformIndividualInputSearch(data: CustomerSearchModel) {\r\n const result = data?.CustomerList?.filter((x) => !this.props.selectedCustomers.includes(x.CustomerId));\r\n\r\n if (result.length > 0) {\r\n const customeChildren = (\r\n {\r\n return {row.FirstName + \" \" + row.LastName};\r\n },\r\n },\r\n {\r\n title: \"Date of birth\",\r\n key: \"DateOfBirth\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDateString(new Date(data), \"dd MM yyyy\", true);\r\n },\r\n },\r\n {\r\n title: \"\",\r\n key: \"CustomerId\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n this.props.onChange({ CustomerId: data });\r\n this.setHideSearchCustomerResult();\r\n }}\r\n >\r\n + add client\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n showEmptyMsg={true}\r\n />\r\n );\r\n return this.state.hideResult ? null : customeChildren;\r\n } else {\r\n return (\r\n
    \r\n
  • \r\n
    \r\n No results Found\r\n
    \r\n
  • \r\n
\r\n );\r\n }\r\n }\r\n\r\n private transformOrganisationInputSearch(data: OrganisationSearchModel) {\r\n const result = data?.PageOfResults?.filter((x) => !this.props.selectedCustomers.includes(x.CustomerId));\r\n if (result.length > 0) {\r\n const customeChildren = (\r\n {\r\n return {data};\r\n },\r\n },\r\n {\r\n title: \"Company type\",\r\n key: \"CompanyType\",\r\n render: (data, row, index) => {\r\n return {CompanyTypeMap[data]};\r\n },\r\n },\r\n {\r\n title: \"\",\r\n key: \"CustomerId\",\r\n render: (data, row: Organisation, index) => {\r\n return (\r\n {\r\n this.props.onChange({\r\n CustomerId: data,\r\n });\r\n this.setHideSearchCustomerResult();\r\n // this.onDataChange;\r\n }}\r\n >\r\n + add client\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n showEmptyMsg={true}\r\n />\r\n );\r\n return this.state.hideResult ? null : customeChildren;\r\n } else {\r\n return (\r\n
    \r\n
  • \r\n
    \r\n No results Found\r\n
    \r\n
  • \r\n
\r\n );\r\n }\r\n }\r\n\r\n private renderIndividualDetails() {\r\n const { data, ownerAdviserId } = this.props;\r\n const client = new CustomerSearchClient();\r\n\r\n return (\r\n <>\r\n {data?.ExistingCustomer == true && (\r\n {\r\n return client.get(\r\n null,\r\n CustomerStatus.Active,\r\n v + \"%\",\r\n null,\r\n null,\r\n null,\r\n null,\r\n RoleType.NotSpecified,\r\n ownerAdviserId,\r\n EntityType.Advisor,\r\n ownerAdviserId,\r\n 1,\r\n 10\r\n );\r\n }}\r\n onInputFocus={() => this.setHideSearchCustomerResult(false)}\r\n minLength={3}\r\n customeChildren={(data) => this.transformIndividualInputSearch(data)}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n\r\n {(data?.ExistingCustomer == false || data?.CustomerId != null) && (\r\n this.props.onChange({ Individual: changes })}\r\n onCustomerIdChange={(customerId) =>\r\n this.onDataChange(this.props.onChange, customerId, data, \"CustomerId\")\r\n }\r\n onRef={(ref) => {\r\n this.appendChild(ref);\r\n }}\r\n onSetAdditionalDetails={(customerId, existingCustomer) => {\r\n this.props.onChange({ CustomerId: customerId, ExistingCustomer: existingCustomer });\r\n }}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderCompanyDetails() {\r\n const { data, ownerAdviserId } = this.props;\r\n const client = new OrganisationSearchClient();\r\n return (\r\n <>\r\n {data?.ExistingCustomer == true && (\r\n {\r\n return client.get(\r\n null,\r\n CustomerStatus.Active,\r\n CustomerType.Company,\r\n null,\r\n null,\r\n v,\r\n true,\r\n null,\r\n null,\r\n EntityType.Advisor,\r\n ownerAdviserId,\r\n ownerAdviserId,\r\n 1,\r\n 10\r\n );\r\n }}\r\n onInputFocus={() => this.setHideSearchCustomerResult(false)}\r\n minLength={3}\r\n customeChildren={(data) => this.transformOrganisationInputSearch(data)}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n {(data?.ExistingCustomer == false || data?.CustomerId != null) && (\r\n this.onDataChange(this.props.onChange, changes, data, \"Company\")}\r\n onSetClientModel={(ClientModel) =>\r\n this.onDataChange(this.props.onChange, ClientModel, data, \"Individual\")\r\n }\r\n onRef={(ref) => {\r\n this.appendChild(ref);\r\n }}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n private getConstraint(type: RelationshipType, existingRelationships: RelationshipType[]) {\r\n const { data, disableBeneficiaryOption, disableSettlorOption, disableCorporateTrusteeOption } = this.props;\r\n if (existingRelationships.includes(type)) {\r\n return true;\r\n }\r\n const selectedRelationships = data?.Relationships.concat(existingRelationships);\r\n if (type == RelationshipType.IndividualTrustee) {\r\n return selectedRelationships.includes(RelationshipType.CorporateTrustee);\r\n } else if (type == RelationshipType.CorporateTrustee) {\r\n if (disableCorporateTrusteeOption == true) {\r\n return true;\r\n } else {\r\n return (\r\n selectedRelationships.includes(RelationshipType.Beneficiary) ||\r\n selectedRelationships.includes(RelationshipType.Settlor) ||\r\n selectedRelationships.includes(RelationshipType.IndividualTrustee)\r\n );\r\n }\r\n } else if (type == RelationshipType.Settlor) {\r\n if (disableSettlorOption == true) {\r\n return true;\r\n } else {\r\n return (\r\n selectedRelationships.includes(RelationshipType.Beneficiary) ||\r\n selectedRelationships.includes(RelationshipType.CorporateTrustee)\r\n );\r\n }\r\n } else if (type == RelationshipType.Beneficiary) {\r\n if (disableBeneficiaryOption == true) {\r\n return true;\r\n } else {\r\n return (\r\n selectedRelationships.includes(RelationshipType.CorporateTrustee) ||\r\n selectedRelationships.includes(RelationshipType.Settlor) ||\r\n !selectedRelationships.includes(RelationshipType.IndividualTrustee)\r\n );\r\n }\r\n }\r\n }\r\n\r\n private setHideSearchCustomerResult(hideResult = true) {\r\n this.setState({ hideResult });\r\n }\r\n\r\n private getCustomerExistingRelationships(): RelationshipType[] {\r\n const { data, existingMembers } = this.props;\r\n\r\n let existingRelationships = [];\r\n if (data?.CustomerId) {\r\n existingRelationships = (existingMembers || []).some((x) => x?.CustomerId == data?.CustomerId)\r\n ? (existingMembers || []).find((x) => x?.CustomerId == data?.CustomerId)?.Relationships\r\n : [];\r\n }\r\n return existingRelationships;\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const options = [];\r\n\r\n const existingRelationships = this.getCustomerExistingRelationships();\r\n\r\n RelationshipTypeArray.forEach((type) => {\r\n options.push({\r\n label: RelationshipTypeMap[type],\r\n value: data?.Relationships.includes(type) || existingRelationships.includes(type),\r\n disabled: this.getConstraint(type, existingRelationships),\r\n onChange: (v) => {\r\n if (v) {\r\n const relationships = data?.Relationships;\r\n if (!existingRelationships.includes(v)) {\r\n relationships.push(type);\r\n this.props.onChange({ Relationships: relationships });\r\n }\r\n } else {\r\n let relationships = data?.Relationships;\r\n relationships = relationships.filter((x) => x != type);\r\n if (type == RelationshipType.IndividualTrustee) {\r\n relationships = relationships.filter((x) => x != RelationshipType.Beneficiary);\r\n }\r\n if (relationships.length < 1) {\r\n this.props.onChange({\r\n Relationships: relationships,\r\n ExistingCustomer: null,\r\n CustomerId: null,\r\n Company: null,\r\n Individual: null,\r\n });\r\n }\r\n this.props.onChange({ Relationships: relationships });\r\n }\r\n },\r\n });\r\n });\r\n\r\n return (\r\n <>\r\n {this.state.showErrorMsg &&\r\n this.state.showErrorMsg.map((ele, i) => (\r\n \r\n ))}\r\n\r\n \r\n {this.props.data.Relationships.includes(RelationshipType.Settlor) && (\r\n \r\n )}\r\n \r\n\r\n (v ? \"Existing\" : \"New\")}\r\n onChange={(v) => {\r\n this.props.onChange({\r\n ExistingCustomer: v,\r\n CustomerId: null,\r\n Company: { EmailAddressDetails: [] },\r\n Individual: null,\r\n });\r\n }}\r\n />\r\n {data?.Relationships.length > 0 &&\r\n !data?.Relationships.includes(RelationshipType.CorporateTrustee) &&\r\n this.renderIndividualDetails()}\r\n {data?.Relationships.includes(RelationshipType.CorporateTrustee) && this.renderCompanyDetails()}\r\n\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { Address } from \"../../../../../../Wrap/Models/Domains/Address/Address\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { AriaTooltip } from \"../../../../../Shared/Tooltip/AriaTooltip\";\r\n\r\nexport const SectionHeader = (title: string | JSX.Element, tooltipContent?: string | JSX.Element): JSX.Element => {\r\n return (\r\n

\r\n {title} {tooltipContent && {tooltipContent}}\r\n

\r\n );\r\n};\r\n\r\ninterface IThreeColLayoutProps {\r\n colOne?: JSX.Element | string | React.Component;\r\n colTwo?: JSX.Element | string | React.Component;\r\n colThree?: JSX.Element | string | React.Component;\r\n}\r\n\r\nexport class ThreeColLayout extends BaseComponent {\r\n render() {\r\n return (\r\n
\r\n
{this.props.colOne}
\r\n
{this.props.colTwo}
\r\n
{this.props.colThree}
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport const renderAddComponent = (title: string, onClick: VoidFunction): JSX.Element => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const renderAddress = (address: Address): JSX.Element => {\r\n if (!address) {return null;}\r\n return (\r\n
    \r\n
  • {address.Line1}
  • \r\n
  • {address.Line2}
  • \r\n
  • {address.Line3}
  • \r\n
  • {address.Line4}
  • \r\n
  • {CountryCodeMap.getString(address.CountryCode)}
  • \r\n
  • {address.Postcode}
  • \r\n
\r\n );\r\n};\r\n\r\nexport const emptyAddress: Address = {\r\n Line1: null,\r\n Line2: null,\r\n Line3: null,\r\n Line4: null,\r\n Postcode: null,\r\n CountryCode: null,\r\n};\r\n\r\nexport const TrueFalseRadio = (label: string, key: string, data, onChange: (key, v) => void, required?, options?) => {\r\n return (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => onChange(key, v)}\r\n required={required ? \"Please select \" + label : null}\r\n {...options}\r\n />\r\n );\r\n};\r\n","import { Gender } from \"../../../../../../react-core/Enums/Gender\";\r\nimport { CompanyType } from \"../../../../../../Wrap/Constants/Enums/Customer/CompanyType\";\r\nimport { CustomerType } from \"../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { FATCABusinessType } from \"../../../../../../Wrap/Constants/Enums/Customer/FATCABusinessType\";\r\nimport { LawType } from \"../../../../../../Wrap/Constants/Enums/Customer/LawType\";\r\nimport { RelationshipType } from \"../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\n\r\nexport const steppers = {\r\n clientTypeSelection: \"Client type\",\r\n clientDetails: \"Client details\",\r\n};\r\n\r\nexport const CustomerTypeArrays = [CustomerType.Individual, CustomerType.Trust, CustomerType.CorporateTrust];\r\n\r\nexport const CustomerTypeArraysMap = {\r\n [CustomerType.Individual]: \"Individual\",\r\n [CustomerType.Trust]: \"Trust\",\r\n [CustomerType.CorporateTrust]: \"Corporate\",\r\n [CustomerType.Company]: \"Company\",\r\n};\r\n\r\nexport const enum NeworExisting {\r\n New = 1,\r\n Existing = 2,\r\n}\r\nexport const NeworExistingOption = [NeworExisting.New, NeworExisting.Existing];\r\n\r\nexport const NeworExistingMap = {\r\n [NeworExisting.New]: \"New\",\r\n [NeworExisting.Existing]: \"Existing\",\r\n};\r\n\r\nexport const LawtoApplyOption = [LawType.ScottishLaw, LawType.EnglishLaw, LawType.NorthernIrishLaw];\r\n\r\nexport const LawtoApplyMap = {\r\n [LawType.ScottishLaw]: \"Scottish law\",\r\n [LawType.EnglishLaw]: \"English law\",\r\n [LawType.NorthernIrishLaw]: \"Northern Irish law\",\r\n};\r\n\r\nexport const enum RelationshiptoTrust {\r\n IndividualTrustee = 1,\r\n CorporateTrustee = 2,\r\n Settlor = 3,\r\n Beneficiary = 4,\r\n}\r\nexport const RelationshiptoTrustOption = [\r\n RelationshiptoTrust.IndividualTrustee,\r\n RelationshiptoTrust.CorporateTrustee,\r\n RelationshiptoTrust.Settlor,\r\n RelationshiptoTrust.Beneficiary,\r\n];\r\n\r\nexport const RelationshiptoTrustMap = {\r\n [RelationshiptoTrust.IndividualTrustee]: \"Individual Trustee\",\r\n [RelationshiptoTrust.CorporateTrustee]: \"Corporate Trustee\",\r\n [RelationshiptoTrust.Settlor]: \"Settlor\",\r\n [RelationshiptoTrust.Beneficiary]: \"Beneficiary\",\r\n};\r\n\r\nexport const FATCABusinessTypeOption = [\r\n FATCABusinessType.NotSpecified,\r\n FATCABusinessType.InvestmentBody,\r\n FATCABusinessType.FFI,\r\n FATCABusinessType.RegisteredCharity,\r\n FATCABusinessType.PensionFund,\r\n FATCABusinessType.ActiveNFFE,\r\n];\r\n\r\nexport const FATCABusinessTypeMap = {\r\n [FATCABusinessType.NotSpecified]: \"Please select\",\r\n [FATCABusinessType.InvestmentBody]: \"Investment Body (Passive NFE/NFFE)\",\r\n [FATCABusinessType.FFI]: \"Financial Institution (FFI)\",\r\n [FATCABusinessType.RegisteredCharity]: \"Registered Charity\",\r\n [FATCABusinessType.PensionFund]: \"Pension Fund\",\r\n [FATCABusinessType.ActiveNFFE]: \"Actively Trading Non-Financial Services Business (Active NFFE)\",\r\n};\r\n\r\nexport const CompanyTypeOption = [\r\n CompanyType.NotSpecified,\r\n CompanyType.LtdCo,\r\n CompanyType.PLC,\r\n CompanyType.Partnership,\r\n CompanyType.LLP,\r\n CompanyType.TrustCo,\r\n];\r\n\r\nexport const CorporateTrusteeCompanyTypeOption = [\r\n CompanyType.LtdCo,\r\n CompanyType.PLC,\r\n CompanyType.Partnership,\r\n CompanyType.LLP,\r\n CompanyType.TrustCo,\r\n];\r\n\r\nexport const CompanyTypeMap = {\r\n [CompanyType.NotSpecified]: \"Please select\",\r\n [CompanyType.LtdCo]: \"Ltd Co\",\r\n [CompanyType.PLC]: \"PLC\",\r\n [CompanyType.Partnership]: \"Partnership\",\r\n [CompanyType.LLP]: \"LLP\",\r\n [CompanyType.TrustCo]: \"TrustCo\",\r\n};\r\n\r\nexport const RelationshipTypeMap = {\r\n [RelationshipType.IndividualTrustee]: \"Individual trustee\",\r\n [RelationshipType.CorporateTrustee]: \"Corporate trustee\",\r\n [RelationshipType.Settlor]: \"Settlor\",\r\n [RelationshipType.Beneficiary]: \"Beneficiary\",\r\n};\r\n\r\nexport const RelationshipTypeArray = [\r\n RelationshipType.IndividualTrustee,\r\n RelationshipType.CorporateTrustee,\r\n RelationshipType.Settlor,\r\n RelationshipType.Beneficiary,\r\n];\r\n\r\nexport const TrustTypeMap = {\r\n GIFTPLAN: \"Gift plan\",\r\n DISCOUNTEDGIFTPLAN: \"Discounted gift plan\",\r\n LOANPLAN: \"Loan plan\",\r\n};\r\n\r\nexport const ButtonLabels = {\r\n okLabel: \"Ok\",\r\n nextLabel: \"Next\",\r\n previousLabel: \"Previous\",\r\n createAnotherClient: \"Create another client\",\r\n quote: \"New quote\",\r\n newBusiness: \"Start new business\",\r\n addClient: \"Add client\",\r\n printReview: \"Print review\",\r\n backToDashboard: \"Back to dashboard\",\r\n};\r\n\r\nexport const titleLabels = {\r\n networkLabel: \"Network\",\r\n firmLabel: \"Firm\",\r\n adviserLabel: \"Assign an adviser\",\r\n clientType: \"Client type\",\r\n titleLable: \"Title\",\r\n firstNameLabel: \"First name(s)\",\r\n middleNameLabel: \"Middle name\",\r\n surnameLabel: \"Surname\",\r\n dateOfBirthLabel: \"Date of birth\",\r\n emailLabel: \"Email address\",\r\n landLineLabel: \"Landline number (optional)\",\r\n mobilePhoneLabel: \"Mobile number (optional)\",\r\n genderLabel: \"Gender\",\r\n pleaseSelectLabel: \"Please select\",\r\n selectAdviser: \"Select adviser\",\r\n incompleteDataErrorMessage: \"Please enter the details\",\r\n};\r\n\r\nexport const OrganisationMemberPopUpInfo = {\r\n moreTrusteesThanSettlors: \"It is advised that the number of Trustees is greater than the number of Settlors.\",\r\n line2: \"Where Trust Type is Existing, then a Settlor will not be required.\",\r\n line3:\r\n \"Minimum age of a Settlor for a Discounted Gift Plan is 50 years old, and max age is 6 months prior to 90th Birthday.\",\r\n line4: \"A beneficiary is not required to be entered here if the intended Trust Category will be Discretionary.\",\r\n atLeastOneTrustee: \"At least one Trustee is required.\",\r\n atLeastOneSettlor: \"A settlor will be required if this is a 'New' Trust.\",\r\n noBeneficiary:\r\n \"For new trusts where trust category is Absolute or Flexible a minimum of 1 beneficiary is required.\",\r\n atLeastOneCorporateTrustee: \"At least one Corporate Trustee is required for this type of Trust.\",\r\n settlorToolTip:\r\n \"If you are opening a Discounted Gift Plan, the minimum age of a Settlor on this type of Trust is 50 years old. Additionally, the maximum age is 6 months before the Individuals 90th birthday.\",\r\n addMoreTrust: \"Do you wish to add more Trust members?\",\r\n moreThanTwoSettlors: \"Could not add more than two settlors.\",\r\n removeBoth: \"This trust member will be removed from the Trust.\",\r\n flexibleBeneficary: \"There must be a minimum of one beneficiary at any time when the trusts category is Flexible.\",\r\n shareOfTrustWarning: \"Share of trusts should sum up to 100%.\",\r\n nonUKResidence: \"Trust member is not a U.K. resident.\",\r\n removeTrusteeWarning:\r\n \"You cannot remove the Individual Trustee role only here. Please remove both roles in order to proceed.\",\r\n};\r\n\r\nexport const OldNewTrustWizard = \"/clients/newbusiness/TrustCreate.aspx\";\r\nexport const AddAnotherClient = \"/wpadviser/en-gb/dashboard/home/main/client/addclient/client-type\";\r\n","export const validationMessage = {\r\n genderValidation: \"Please select gender\",\r\n titleValidation: \"Please select title\",\r\n firstNameValidation: \"Please enter first name\",\r\n surnameValidation: \"Please enter surname\",\r\n emailValidation: \"Please enter email address\",\r\n dateOfBirthValidation: \"Please select date of birth\",\r\n dateOfBirthCurrentDateValidation: \"Please select date before current date\",\r\n adviserValidation: \"Please select adviser\",\r\n clientTypeValidation: \"Please select client type\",\r\n firmValidation: \"Please select firm\",\r\n networkValidation: \"Please select network\",\r\n landlienNumberValidation: \"Invalid landline phone number entered\"\r\n};\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { AddClientDispatcher } from \"./Variable\";\r\nimport { Prospect } from \"../../../../../../Wrap/Models/Models/Customer/Prospect\";\r\nimport { ProspectClient } from \"../../../../../../Wrap/Api/Customer/Prospect\";\r\n\r\nexport interface AdviserWizardStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: Prospect;\r\n}\r\n\r\nexport class AddClientStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AddClientDispatcher, (actionData) =>\r\n this.onAddClientStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): AdviserWizardStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): AdviserWizardStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onAddClientStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { CustomerMatchingDispatcher } from \"./Variable\";\r\nimport { CustomerSearchModel } from \"../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\n\r\nexport interface CustomerMatchingStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: CustomerSearchModel;\r\n}\r\n\r\nexport class CustomerMatchingStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(CustomerMatchingDispatcher, (actionData) =>\r\n this.onCustomerMatchingStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): CustomerMatchingStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): CustomerMatchingStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onCustomerMatchingStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { AddClientStoreStatic } from \"./AddClientStoreStatic\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { CustomerMatchingStoreStatic } from \"./CustomerMatchingStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const AddClientDispatcher: Dispatcher = new Dispatcher();\r\nexport const AddClientStore: AddClientStoreStatic = new AddClientStoreStatic();\r\n\r\nexport const CustomerMatchingDispatcher: Dispatcher = new Dispatcher();\r\nexport const CustomerMatchingStore: CustomerMatchingStoreStatic = new CustomerMatchingStoreStatic();\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PersonalDetailClient } from \"../../../../../../Wrap/Api/Customer/PersonalDetail\";\r\nimport { BatchClient } from \"../../../../../../Wrap/Api/Orders/Batch\";\r\nimport { BuySellClient } from \"../../../../../../Wrap/Api/Orders/BuySell\";\r\nimport { OrdersClient } from \"../../../../../../Wrap/Api/Orders/Orders\";\r\nimport { ClientTradableInvestmentClient } from \"../../../../../../Wrap/Api/PortfolioAnalysis/Investment/ClientTradableInvestment\";\r\nimport { OrderDirection } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { BatchType } from \"../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\nimport { BatchInfoModel } from \"../../../../../../Wrap/Models/Domains/Orders/Batch/BatchInfoModel\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { BuyDispatcher } from \"../Store/Variable\";\r\n\r\nexport class BuyAction {\r\n public static initBuyModel() {\r\n const subAccountHierarchyId = getQueryParameters()[\"subaccounthierarchyid\"];\r\n const initModel = {\r\n BatchType: BatchType.OneOff,\r\n OrderType: BatchType.OneOff,\r\n ActionDate: JsonDateParser.toJsonDateNoOffset(new Date()),\r\n HierarchyId: subAccountHierarchyId,\r\n InvestmentList: [],\r\n };\r\n BuyDispatcher.dispatch({ actionType: ActionType.Success, payload: initModel });\r\n }\r\n\r\n public static goToNextStep(from, data, callback) {\r\n if (from == 0) {\r\n return this.getBatchId(data, callback);\r\n } else if (from == 1) {\r\n return this.saveInvestmentSelection(data, callback);\r\n }\r\n callback();\r\n }\r\n\r\n public static saveInvestmentSelection(data, callback) {\r\n this.RoundInvestmentValues(data);\r\n\r\n const client = new BuySellClient();\r\n data.BuyOrSell = OrderDirection.Buy;\r\n client.post(data).onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n \r\n private static RoundInvestmentValues(data) {\r\n const totalPercentage = data.InvestmentList.reduce(\r\n (sum, curr) => (sum = sum + (curr.OrderPercentage ? curr.OrderPercentage : 0)),\r\n 0\r\n );\r\n\r\n if (totalPercentage != 100) {\r\n return;\r\n }\r\n\r\n const totalExpectedValue = data.TotalValue;\r\n let totalCurrentValue = 0;\r\n\r\n data.InvestmentList.forEach((ele) => {\r\n if (ele.OrderValue != null) {\r\n ele.OrderValue = Number(ele.OrderValue.toFixed(2));\r\n totalCurrentValue += ele.OrderValue;\r\n } \r\n });\r\n\r\n const difference = totalCurrentValue - totalExpectedValue;\r\n\r\n if (totalExpectedValue > 0 && difference != 0) {\r\n const highestValueOrder = data.InvestmentList.reduce((prev, current) => (prev && prev.OrderValue > current.OrderValue) ? prev : current);\r\n highestValueOrder.OrderValue = Number((highestValueOrder.OrderValue - difference).toFixed(2));\r\n }\r\n }\r\n\r\n public static getBatchInfo(data: BatchInfoModel, onSuccess: (data: BatchInfoModel) => void, onError?: (error: any) => void) {\r\n let promise;\r\n const client = new BuySellClient();\r\n data.BuyOrSell = OrderDirection.Buy;\r\n promise = client.put(data);\r\n promise.onSuccess((result) => {\r\n onSuccess?.(result);\r\n });\r\n\r\n promise.onError((err) => {\r\n onError?.(err);\r\n });\r\n }\r\n\r\n public static getBatchId(data, callback) {\r\n const batchId = getQueryParameters()[\"batchId\"];\r\n if (batchId) {\r\n BuyDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback([]);}\r\n return data;\r\n }\r\n\r\n let promise;\r\n const client = new BatchClient();\r\n promise = client.post(data);\r\n promise.onSuccess((result) => {\r\n BuyDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: {\r\n ...result,\r\n OrderType: data.OrderType,\r\n InvestmentList: data.InvestmentList || [],\r\n TotalValue: data.TotalValue || [],\r\n AdviceGiven: true,\r\n },\r\n });\r\n\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static submit(data, callback) {\r\n const client = new OrdersClient();\r\n client.post(data).onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getReuseHoldings(hierarchyId, subHierarchyId, batchId, callback) {\r\n const client = new ClientTradableInvestmentClient();\r\n const promise = client.get(hierarchyId, subHierarchyId, batchId).onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RoutingActions } from \"../../../../../react-core/Flux/Variables\";\r\nimport { Objects } from \"../../../../../react-core/Utils/Objects\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { AccountRoleStore, ClientAccountStore } from \"../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { getUrl } from \"../PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { productMap } from \"../SinglePaymentTransferWizard/Resource/Content\";\r\nimport { BuyAction } from \"./Action/BuyAction\";\r\nimport { BuyInvestment } from \"./Components/BuyInvestment/BuyInvestment\";\r\nimport { BuyOrderSetup } from \"./Components/OrderSetup/OrderSetup\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { buyStepperName } from \"./Resource/Content\";\r\nimport { BuyStore } from \"./Store/Variable\";\r\ninterface IBuyWizardState extends IAccountContextWizardComponentState {}\r\n\r\nexport class BuyWizard extends AccountContextWizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(BuyStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n const data = BuyStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n });\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n BuyAction.initBuyModel();\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n BuyAction.goToNextStep(from, this.filterdata(), (d) => {\r\n this.setState({ onPosting: false });\r\n if (d && d.length > 0) {\r\n this.setState({ errorMsg: d.map((ele) => ele.UserMessage), isShowErrorMsg: true });\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(toUrl);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onExit() {\r\n // const params = getQueryParameters();\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n RoutingActions.navigateTo(getUrl(clientAccount, accountRoles, \"summary\"));\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"]\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n BuyAction.submit(this.filterdata(), (result) => {\r\n this.setState({ isSubmitting: false });\r\n if (!result.SubmissionSucceed) {\r\n this.setState({\r\n active: true,\r\n errorMsg: [`There was an error when processing Batch ${result.BatchId}.`],\r\n });\r\n }\r\n });\r\n }\r\n\r\n filterdata(): any {\r\n const data = Objects.cloneObject(this.state.data);\r\n data.InvestmentList = data.InvestmentList.filter(item => item.Instrument.InstrumentCode !== \"GBPCash\")\r\n return data;\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n this.stepperConfig = [\r\n {\r\n title: buyStepperName.orderStep,\r\n url: Urls.get().BuyOrderSetup,\r\n path: Contents.URLMap.orderSetup,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n },\r\n {\r\n title: buyStepperName.ist,\r\n url: Urls.get().BuyInvestmentSelection,\r\n path: Contents.URLMap.ist,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n },\r\n {\r\n title: buyStepperName.review,\r\n url: Urls.get().BuyReview,\r\n path: Contents.URLMap.review,\r\n onSubmit: () => this.onSubmit(),\r\n needPrint: true,\r\n canSubmit: () => this.child[2].isValid(),\r\n component: (\r\n this.setState({ errorMsg: [], isShowErrorMsg: false })}\r\n />\r\n ),\r\n },\r\n {\r\n title: buyStepperName.confirmation,\r\n url: Urls.get().BuyConfiramation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n {\r\n this.state.errorMsg.length > 0 || !checkPermission(UserClaim.AdviserPortalDluOrdersCanView)\r\n ? Navigator.navigateToAndPreserveQueryParameters(Urls.get().BuyReview)\r\n : (window.location.href = `/clients/orders/orders.aspx?claccountid=${this.state.clientAccount?.HeadClAccountId}`);\r\n }}\r\n buttonLabel={this.state.errorMsg.length > 0 ? \"Previous\" : \"Go to transactions\"}\r\n errorMsg={this.state.errorMsg[0]}\r\n successMessage={`We've received your instruction to buy investments for ${this.state.customer?.PersonalDetails?.Name.Given} ${this.state.customer?.PersonalDetails?.Name.Family} (${this.state.clientAccount?.HeadClAccountId}).`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Buy investments\";\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n processProps.subTitle = productMap[getQueryParameters()[\"type\"]];\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../../../react-core/Flux/ActionType\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountAdviceType } from \"../../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ModelPortfolioTabType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ModelPortfolioTabType\";\r\nimport { OrderDirection } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { OrderType } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderType\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AccountStatus } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { Instrument } from \"../../../../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { InstrumentSearchQuery } from \"../../../../../../../Wrap/Models/Domains/Investment/InstrumentSearchQuery\";\r\nimport { PortfolioCashDetail } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Cash/PortfolioCashDetail\";\r\nimport { ClientTradableInvestments } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ClientTradableInvestments\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { DecisionMaker } from \"../../../../../../Shared/IST/Components/DecisionMaker\";\r\nimport { ReuseInvesment } from \"../../../../../../Shared/IST/Components/ReuseInvesment\";\r\nimport { SearchTabs } from \"../../../../../../Shared/IST/Components/Shared/SearchTabs\";\r\nimport { ProcessType, reuseType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { SelectedInvestmentStore } from \"../../../../../../Shared/IST/Store/Variable\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { QuantitySwitch } from \"../../../../../../Shared/QuantitySwitch/QuantitySwitch\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { InvestmentsAction } from \"../../../PortfolioDashboard/Components/Investment/Action/InvestmentAction\";\r\nimport { BuySellAllocationTable } from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTable\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport {\r\n clearAllocation,\r\n initInstrumentList,\r\n transformNewItem,\r\n} from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTableHelper\";\r\nimport { OrderSetupReview } from \"../../../Common/Review/Component/OrderSetupReview\";\r\nimport { hasDecisionMaker } from \"../../../Switch/Resource/Content\";\r\nimport { BuyAction } from \"../../Action/BuyAction\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { RestrictionStore } from \"../../../Common/Restrictions/Variable\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ClientAccountStore, UserStore, TreasuredAssetsStore } from \"../../../../../Stroes/Variable\";\r\nimport { PropositionInvestmentConfig } from \"../../../../../../../Wrap/Models/Domains/Account/PropositionInvestmentConfig\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\nimport { CompanyWizardAction } from \"../../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { DepositProductsQuery } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProductsQuery\";\r\nimport { DepositProduct } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\nimport { InvestmentType } from \"../../../../../../../Wrap/Constants/Enums/InvestmentType\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { TradableInvestment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/TradableInvestment\";\r\nimport { ResultPageModel } from \"../../../../../../../Wrap/Core/SortingAndPaging/Models/ResultPageModel\";\r\nimport { BatchType } from \"../../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\n\r\ninterface IBuyInvestmentProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n isReview: boolean;\r\n}\r\n\r\ninterface IBuyInvestmentState {\r\n isLoading: boolean;\r\n clientHoldings: any;\r\n orderType: OrderType;\r\n availableFunds: number;\r\n status: AccountStatus;\r\n investmenPermission: PropositionInvestmentConfig[];\r\n userInfo: User;\r\n treasuredAssetProductIds: Array;\r\n companyServicePropostion: ServiceProposition[];\r\n depositProducts: Record;\r\n cashInstrument: Instrument;\r\n selectedTab: InvestmentType;\r\n invalidInsuredFunds: string[];\r\n}\r\n\r\nexport class BuyInvestment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n isLoading: true,\r\n clientHoldings: null,\r\n orderType:\r\n props.data.InvestmentList && props.data.InvestmentList.length > 0\r\n ? props.data.InvestmentList[0].Type\r\n : OrderType.Percentage,\r\n availableFunds: 0,\r\n status: null,\r\n investmenPermission: [],\r\n treasuredAssetProductIds: null,\r\n companyServicePropostion: [],\r\n depositProducts: [],\r\n cashInstrument: null,\r\n selectedTab: InvestmentType.HubPortfolios,\r\n invalidInsuredFunds: [],\r\n };\r\n this.subscribeToStore(SelectedInvestmentStore, () => this.onStoreChange());\r\n }\r\n\r\n private getTreasuredAssets() {\r\n const _treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n\r\n if (!_treasuredAssetProductIds) {\r\n const params = getQueryParameters();\r\n\r\n Action.getSubAccountTreasuredAssetsProductIds(params[\"subaccounthierarchyid\"], (data: Array) => {\r\n this.setState({ treasuredAssetProductIds: data });\r\n });\r\n } else {\r\n this.setState({ treasuredAssetProductIds: _treasuredAssetProductIds });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getTreasuredAssets();\r\n InvestmentSelectionAction.setIsUnderTransfer(true);\r\n const params = getQueryParameters();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n if (clientAccount?.AccountServicePropositionId) {\r\n InvestmentSelectionAction.getInvestmentPermission(clientAccount.AccountServicePropositionId, (res) => {\r\n const newRes = [...res];\r\n const elementIndex = newRes.findIndex((x) => x.InvestmentTypeId == InvestmentType.CashDeposits);\r\n if (elementIndex !== -1) {\r\n if (\r\n !(\r\n clientAccount.InvestorType == InvestorType.Individ ||\r\n clientAccount.InvestorType == InvestorType.Individual ||\r\n clientAccount.InvestorType == InvestorType.Joint ||\r\n clientAccount.InvestorType == InvestorType.JointIndividual\r\n )\r\n )\r\n newRes[elementIndex].Enable = false;\r\n }\r\n this.setState({ investmenPermission: newRes });\r\n });\r\n }\r\n if (clientAccount?.Company) {\r\n CompanyWizardAction.getViewCompany(clientAccount?.Company, (res) => {\r\n this.setState({ companyServicePropostion: res?.ServicePropositions });\r\n });\r\n }\r\n if (!this.props.data.InvestmentList) {\r\n this.props.onChange({ InvestmentList: [] });\r\n }\r\n BuyAction.getReuseHoldings(\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n this.props.data.BatchId,\r\n (data: ClientTradableInvestments) => this.populateReuseHoldings(data, params)\r\n );\r\n\r\n this.fetchDepositProductDetails(this.props.data.InvestmentList);\r\n\r\n Action.getPortfolioCash(\r\n params[\"subaccounthierarchyid\"],\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n (result: PortfolioCashDetail[]) => {\r\n if (result.length > 0) {\r\n this.setState({ availableFunds: result[0].AvailBalance });\r\n }\r\n }\r\n );\r\n }\r\n\r\n componentWillUnmount() {\r\n InvestmentSelectionAction.setIsUnderTransfer(false);\r\n }\r\n\r\n async populateReuseHoldings(data: ClientTradableInvestments, params): Promise {\r\n this.setState({ cashInstrument: data.CashInstrument });\r\n\r\n const individual = data.CurrentIndividualHoldings?.filter((ele) => ele.DisplayName != \"GBP Cash\");\r\n data.TargetAllocations = data.TargetAllocations?.filter((ele) => ele.DisplayName != \"GBP Cash\");\r\n\r\n if (individual.length == 0) {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n }\r\n\r\n await this.replaceCashProductInstancesWithTemplates(individual);\r\n\r\n let ids = Array.from(\r\n new Set(\r\n individual\r\n .map((ele) => ele.ProductId)\r\n .concat(data.CurrentModelHoldings.map((ele) => ele.ProductId))\r\n .concat(data.TargetAllocations.map((ele) => ele.ProductId))\r\n )\r\n );\r\n\r\n const query: InstrumentSearchQuery = {\r\n ProductWrapperTypes: [this.props.type],\r\n ProductIds: ids,\r\n CanBeBought: true,\r\n ResultsPerPage: ids.length,\r\n ServiceProposition: data.AccountServiceProposition,\r\n };\r\n let currentAssets = [];\r\n let targetAllocation = [];\r\n\r\n InvestmentSelectionAction.searchInstruments(query, params[\"subaccounthierarchyid\"], (result: Instrument[]) => {\r\n result.forEach((ele) => {\r\n const target = data.TargetAllocations.find((item) => item.ProductId == ele.ProductId);\r\n\r\n const obj = data.CurrentIndividualHoldings.find((item) => item.ProductId == ele.ProductId);\r\n const model = data.CurrentModelHoldings.find((item) => item.ProductId == ele.ProductId);\r\n\r\n if (obj) {\r\n currentAssets = currentAssets.concat(\r\n transformNewItem(\r\n [{ Investment: obj }],\r\n this.state.orderType,\r\n OrderDirection.Buy,\r\n this.props.data.TotalValue\r\n )\r\n );\r\n } else if (model) {\r\n currentAssets = currentAssets.concat(\r\n transformNewItem(\r\n [{ Investment: model }],\r\n this.state.orderType,\r\n OrderDirection.Buy,\r\n this.props.data.TotalValue\r\n )\r\n );\r\n }\r\n\r\n if (target) {\r\n const weighting = target ? target.Weighting : 0;\r\n targetAllocation = targetAllocation.concat(\r\n transformNewItem(\r\n [\r\n {\r\n Investment: {\r\n ...target,\r\n Type: null,\r\n Allocation: Number(weighting.toFixed(2)),\r\n },\r\n },\r\n ],\r\n OrderType.Percentage,\r\n OrderDirection.Buy,\r\n this.props.data.TotalValue,\r\n true,\r\n true\r\n )\r\n );\r\n }\r\n });\r\n\r\n this.setState({\r\n isLoading: false,\r\n status: data.AccountStatus,\r\n clientHoldings: { currentAssets: currentAssets, targetAllocation: targetAllocation },\r\n });\r\n\r\n this.props.onChange({\r\n AccountAdviceType: data.ClientDetail\r\n ? data.ClientDetail.AccountAdviceType\r\n : AccountAdviceType.NotSpecified,\r\n });\r\n });\r\n }\r\n\r\n fetchDepositProductDetails(investmentList) {\r\n const depositProductIds: number[] = Array.from(\r\n new Set(\r\n investmentList\r\n .filter((row) => row.Instrument.Type === ProductType.CashProduct)\r\n .map((row) => row.Instrument.ProductId)\r\n )\r\n );\r\n\r\n if (depositProductIds.length === 0) {\r\n return;\r\n }\r\n\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n const query: DepositProductsQuery = {\r\n ProductIds: depositProductIds,\r\n ServiceProposition: clientAccount.AccountServicePropositionId,\r\n ResultsPerPage: depositProductIds.length,\r\n };\r\n\r\n InvestmentSelectionAction.searchDepositProducts(\r\n query,\r\n getQueryParameters()[\"hierarchyid\"],\r\n (data: ResultPageModel) => {\r\n const depositProducts: Record = data.Results.reduce<\r\n Record\r\n >((acc, product) => {\r\n acc[product.ProductId] = product;\r\n return acc;\r\n }, {});\r\n\r\n this.setState({ depositProducts });\r\n },\r\n (err) => {\r\n console.error(\"Failed to fetch deposit products:\", err);\r\n }\r\n );\r\n }\r\n\r\n async replaceCashProductInstancesWithTemplates(\r\n investments: TradableInvestment[]\r\n ): Promise> {\r\n const cashProductInstanceIds: number[] = Array.from(\r\n new Set(investments.filter((row) => row.Type === ProductType.CashProduct).map((row) => row.ProductId))\r\n );\r\n\r\n if (cashProductInstanceIds.length === 0) return;\r\n\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n const query: DepositProductsQuery = {\r\n ProductIds: cashProductInstanceIds,\r\n ServiceProposition: clientAccount.AccountServicePropositionId,\r\n ResultsPerPage: cashProductInstanceIds.length,\r\n };\r\n\r\n return new Promise((resolve) =>\r\n InvestmentSelectionAction.searchDepositProducts(\r\n query,\r\n getQueryParameters()[\"hierarchyid\"],\r\n (data: ResultPageModel) => {\r\n investments\r\n .filter((x) => x.Type === ProductType.CashProduct)\r\n .forEach((x) => {\r\n const cashProduct: DepositProduct = data.Results.find((y) => y.ProductId === x.ProductId);\r\n x.ProductId = cashProduct.TemplateProductId;\r\n x.InstrumentCode = cashProduct.TemplateProductCode;\r\n });\r\n resolve(data);\r\n },\r\n (err) => {\r\n console.error(\"Failed to fetch cash products:\", err);\r\n }\r\n )\r\n );\r\n }\r\n\r\n isValid() {\r\n if (this.state.isLoading) {\r\n return false;\r\n }\r\n if (RestrictionStore.buyDisabled()) {\r\n return false;\r\n }\r\n if (this.state.invalidInsuredFunds && this.state.invalidInsuredFunds.length > 0) {\r\n return false;\r\n }\r\n const flag = super.isValid();\r\n if (this.state.status != AccountStatus.Active) {\r\n this.props.showErrorMsgPopUp([\"The account is inactive!\"]);\r\n }\r\n const hasNoCash = this.state.availableFunds == 0;\r\n if (hasNoCash) {\r\n this.props.showErrorMsgPopUp([\"Order cannot be placed due to Insufficient Cash!\"]);\r\n }\r\n\r\n const isValid = flag && this.state.status == AccountStatus.Active && !hasNoCash;\r\n\r\n if (isValid) {\r\n const params = getQueryParameters();\r\n InvestmentsAction.setSubAccountTreasuredAssetsProductIds(\r\n params[\"subaccounthierarchyid\"],\r\n this.state.treasuredAssetProductIds || []\r\n );\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n onStoreChange() {\r\n const { InvestmentList } = this.props.data;\r\n\r\n if (SelectedInvestmentStore.getActionType() != ActionType.Success) return;\r\n\r\n const modelType = SelectedInvestmentStore.getData()[0].ModelType;\r\n\r\n const newItem = transformNewItem(\r\n SelectedInvestmentStore.getData(),\r\n modelType == ModelPortfolioTabType.AdviserModel ? OrderType.Percentage : this.state.orderType,\r\n OrderDirection.Buy,\r\n this.props.data.TotalValue,\r\n modelType == ModelPortfolioTabType.AdviserModel ? true : false\r\n );\r\n\r\n const _data = newItem.filter((item) =>\r\n InvestmentList.every(\r\n (ele) =>\r\n ele.InstrumentCode !== item.Instrument.InstrumentCode &&\r\n ele.InstrumentCode !== item.Instrument.ProductCode\r\n )\r\n );\r\n\r\n const investmentList = modelType == ModelPortfolioTabType.AdviserModel ? newItem : InvestmentList.concat(_data);\r\n this.fetchDepositProductDetails(investmentList);\r\n this.validateInsuredFunds(investmentList);\r\n\r\n this.props.onChange({\r\n InvestmentList: investmentList,\r\n });\r\n }\r\n\r\n //Insured funds are only available for SIPP\r\n private validateInsuredFunds(investmentList) {\r\n if (SubAccountTypeHelper.isSIPP(this.props.type)) return;\r\n\r\n const _listOfInsuredFunds = investmentList\r\n .filter((inv) => inv.Instrument.InsuredFund === true)\r\n .map((p) => p.Instrument.InstrumentCode);\r\n\r\n this.setState({ invalidInsuredFunds: _listOfInsuredFunds });\r\n }\r\n\r\n private applyEven = (v) => {\r\n if (!v) {\r\n return;\r\n }\r\n const { InvestmentList } = this.props.data;\r\n const percentage = Number((100 / InvestmentList.length).toFixed(2));\r\n const lastPercentage = Number((100 - percentage * (InvestmentList.length - 1)).toFixed(2));\r\n const _data = InvestmentList.map((ele, index) => {\r\n return {\r\n ...ele,\r\n OrderPercentage: index == InvestmentList.length - 1 ? lastPercentage : percentage,\r\n OrderValue: this.props.data.TotalValue * percentage * 0.01,\r\n BuyOrSell: OrderDirection.Buy,\r\n };\r\n });\r\n this.props.onChange({ InvestmentList: _data });\r\n };\r\n\r\n private onUnderlyingToggle(isToggle, index, row) {\r\n const _data = this.props.data.InvestmentList.concat();\r\n if (isToggle) {\r\n const item = _data[index];\r\n _data[index].isToggle = isToggle;\r\n if (item.underlying) {\r\n this.props.onChange({ InvestmentList: _data });\r\n } else {\r\n if (row.modelPortfolioType) {\r\n InvestmentSelectionAction.getUnderlying(\r\n row.Instrument.ProductId,\r\n ModelPortfolioTabType.HubModel,\r\n (data) => {\r\n _data[index].underlying = data;\r\n this.props.onChange({ InvestmentList: _data });\r\n }\r\n );\r\n } else {\r\n InvestmentsAction.getInvestmentsModelSingle(\r\n getQueryParameters()[\"subaccounthierarchyid\"],\r\n row.Instrument.InstrumentCode,\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n AssetClassType.Tier1,\r\n (result) => {\r\n _data[index].underlying = { ModelPortfolioProducts: [] };\r\n result.forEach((ele) => {\r\n ele.Investments.forEach((item) => {\r\n _data[index].underlying.ModelPortfolioProducts.push({\r\n name: item.DisplayName,\r\n targetAllocation: \"-\",\r\n });\r\n });\r\n });\r\n this.props.onChange({ InvestmentList: _data });\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n _data[index].isToggle = isToggle;\r\n this.props.onChange({ InvestmentList: _data });\r\n }\r\n }\r\n\r\n private onReuseInvestment(v) {\r\n const { onChange } = this.props;\r\n if (v == reuseType.no) {\r\n onChange({ InvestmentList: [] });\r\n } else if (this.state.clientHoldings) {\r\n if (v == reuseType.useTargetAllocation) {\r\n this.setState({ orderType: OrderType.Percentage });\r\n onChange({ InvestmentList: this.state.clientHoldings.targetAllocation });\r\n } else if (v == reuseType.useCurrentAssets) {\r\n this.setState({ orderType: OrderType.Percentage });\r\n onChange({ InvestmentList: this.state.clientHoldings.currentAssets });\r\n this.fetchDepositProductDetails(this.state.clientHoldings.currentAssets);\r\n }\r\n }\r\n }\r\n\r\n private onTreasuredAssetChange = (v: boolean, productId: number) => {\r\n const treasuredAssets = new Set(this.state.treasuredAssetProductIds);\r\n let stateHasChanged = false;\r\n\r\n if (treasuredAssets.has(productId)) {\r\n if (!v) {\r\n treasuredAssets.delete(productId);\r\n stateHasChanged = true;\r\n }\r\n } else {\r\n if (v) {\r\n treasuredAssets.add(productId);\r\n stateHasChanged = true;\r\n }\r\n }\r\n\r\n if (stateHasChanged) {\r\n this.setState({ treasuredAssetProductIds: Array.from(treasuredAssets) });\r\n }\r\n };\r\n\r\n private setTab(v) {\r\n this.setState({ selectedTab: v });\r\n this.upateInvestmentList(v);\r\n }\r\n\r\n private upateInvestmentList(v) {\r\n const { cashInstrument } = this.state;\r\n\r\n if (v == InvestmentType.AdviserPortfolios) {\r\n if (this.props.data.InvestmentList.length == 0) {\r\n this.props.onChange({\r\n InvestmentList: [initInstrumentList(cashInstrument, this.state.orderType, OrderDirection.Buy)],\r\n });\r\n } else if (\r\n !this.props.data.InvestmentList.find((x) => x.Instrument.ProductId == cashInstrument.ProductId)\r\n ) {\r\n this.props.onChange({\r\n InvestmentList: [\r\n initInstrumentList(cashInstrument, this.state.orderType, OrderDirection.Buy),\r\n ].concat(this.props.data.InvestmentList),\r\n });\r\n }\r\n } else {\r\n if (this.props.data.InvestmentList.find((x) => x.Instrument.ProductId == cashInstrument.ProductId)) {\r\n const newItems = this.props.data.InvestmentList.filter(\r\n (item) => item.Instrument.ProductId !== cashInstrument.ProductId\r\n );\r\n this.props.onChange({\r\n InvestmentList: newItems,\r\n });\r\n }\r\n }\r\n }\r\n\r\n private amendPercentageOrderValues(data: any) {\r\n data.InvestmentList = data.InvestmentList.map((ele) => {\r\n if (ele.OrderValue === 0 && ele.OrderPercentage != 0) {\r\n return {\r\n ...ele,\r\n OrderValue: ele.OrderPercentage * data.TotalValue * 0.01,\r\n };\r\n }\r\n return ele;\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n const params = getQueryParameters();\r\n const hasTargetAllocation = data.InvestmentList && data.InvestmentList.some((ele) => ele.isTargetAllocation);\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n if (this.state.orderType === OrderType.Percentage && data.InvestmentList && data.TotalValue) {\r\n this.amendPercentageOrderValues(data);\r\n }\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup buy investments\";\r\n\r\n let notAvailableToBuyMessage =\r\n \"The following Instrument(s): \" +\r\n this.state.invalidInsuredFunds.join(\", \") +\r\n \" cannot be brought forward for this product. Please select a replacement or\" +\r\n \" increase outstanding allocation amount on remaining investments.\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n
\r\n

\r\n Buy investments\r\n

\r\n {RestrictionStore.buyDisabled() && }\r\n \r\n \r\n {\r\n let _data = data.InvestmentList;\r\n if (this.state.orderType == OrderType.Percentage) {\r\n _data = _data.map((ele) => {\r\n return {\r\n ...ele,\r\n OrderValue: ele.OrderPercentage * v * 0.01,\r\n BuyOrSell: OrderDirection.Buy,\r\n };\r\n });\r\n }\r\n onChange({ TotalValue: v, InvestmentList: _data });\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n atMost={{\r\n value: this.state.availableFunds,\r\n errorMessage: \"Value can not be larger than Available funds\",\r\n }}\r\n moreThan={{\r\n value: 0,\r\n errorMessage: \"Value must larger than 0\",\r\n }}\r\n required=\"Please enter\"\r\n />\r\n
\r\n \r\n this.appendChild(ref)}\r\n data={data}\r\n onChange={() => {}}\r\n onReuseInvesment={(v) => this.onReuseInvestment(v)}\r\n />\r\n \r\n
\r\n
\r\n {this.state.orderType == OrderType.Percentage && !hasTargetAllocation && (\r\n this.applyEven(v)}\r\n />\r\n )}\r\n
\r\n
\r\n {!hasTargetAllocation && (\r\n {\r\n onChange({ InvestmentList: clearAllocation(data.InvestmentList, v) });\r\n this.setState({ orderType: v });\r\n }}\r\n hasModel={\r\n data.InvestmentList &&\r\n data.InvestmentList.some(\r\n (ele) =>\r\n ele.Instrument &&\r\n [\r\n ProductType.ManagedModelPortfolio,\r\n ProductType.TailoredModelPortfolio,\r\n ].includes(ele.Instrument.Type)\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n
\r\n this.onUnderlyingToggle(isToggle, index, rowData)}\r\n data={data.InvestmentList}\r\n orderType={this.state.orderType}\r\n onChange={(list) => {\r\n let _totalValue = data.TotalValue;\r\n const changedObject = {\r\n InvestmentList: list.map((ele) => {\r\n return { ...ele, Type: this.state.orderType };\r\n }),\r\n TotalValue: data.TotalValue,\r\n };\r\n if (this.state.orderType != OrderType.Percentage) {\r\n _totalValue = 0;\r\n // calculate total value in real time\r\n list.forEach((ele) => {\r\n _totalValue += ele?.OrderValue || 0;\r\n });\r\n }\r\n changedObject.TotalValue = _totalValue;\r\n onChange(changedObject);\r\n }}\r\n depositProducts={this.state.depositProducts}\r\n process={ProcessType.Buy}\r\n onRef={(ref) => this.appendChild(ref)}\r\n totalValue={data.TotalValue}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onTreasuredAssetChange={this.onTreasuredAssetChange}\r\n ChecktreasuredAsset={this.state.treasuredAssetProductIds}\r\n batchType={data.BatchType}\r\n />\r\n\r\n {this.state.invalidInsuredFunds.length > 0 && (\r\n \r\n )}\r\n\r\n {hasDecisionMaker(data.InvestmentList) && (\r\n this.appendChild(ref)}\r\n data={data}\r\n onChange={(v) => onChange(v)}\r\n clAccountId={params[\"claccountid\"]}\r\n headAccountHierarchyId={clientAccount?.HierarchyId}\r\n companyCode={clientAccount?.Company}\r\n accountAdviceType={\r\n clientAccount?.Discretionary\r\n ? AccountAdviceType.Discretionary\r\n : AccountAdviceType.NonDiscretionary\r\n }\r\n showErrorMsgPopUp={(msg, now) => this.props.showErrorMsgPopUp(msg, now)}\r\n />\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { OrderSetup } from \"../../../Common/OrderSetup/OrderSetup\";\r\n\r\ninterface IOrderSetupProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IOrderSetupState {}\r\n\r\nexport class BuyOrderSetup extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n\r\n return (\r\n onChange(changes)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n process={ProcessType.Buy}\r\n />\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useState } from 'react';\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { OrderSetupReview } from \"../../../Common/Review/Component/OrderSetupReview\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ITableConfig, Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { Order } from \"../../../../../../../Wrap/Models/Domains/Orders/Order\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { BuyAction } from \"../../Action/BuyAction\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { BatchInfoModel } from \"../../../../../../../Wrap/Models/Domains/Orders/Batch/BatchInfoModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { hasDecisionMaker, equlityBondWarning } from \"../../../Switch/Resource/Content\";\r\nimport { DownloadButton } from \"../../../../../../Shared/DownloadButton/DownloadButton\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { CommissionChargeCancelMsg } from \"../../../Common/AdviserCharges/Components/CommissionChargeCancelMsg\";\r\nimport { ExternalFundDocument } from \"../../../Common/Documents/Components/ExternalFundDocument\";\r\nimport { OrderStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderStatus\";\r\nimport { AccountRoleStore } from \"../../../../../Stroes/Variable\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { ClientRecordAction } from \"../../../ClientRecord/Action/ClientRecordAction\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { CashProductDeclarations } from \"../../../Common/Review/Component/CashProductDeclarations\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n onClearError: VoidFunction;\r\n}\r\n\r\ninterface IReviewState {\r\n isLoadingInvestmentList: boolean | null;\r\n investmentList: Array;\r\n residency: Array;\r\n isvalid: boolean;\r\n isCashDeclarationChecked: boolean | null;\r\n}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoadingInvestmentList: true,\r\n investmentList: [],\r\n residency: [],\r\n isvalid: true,\r\n isCashDeclarationChecked: false\r\n };\r\n }\r\n\r\n private navigate() {\r\n this.props.onClearError();\r\n Navigator.navigateTo(Urls.get().BuyInvestmentSelection, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n claccountid: getQueryParameters()[\"claccountid\"],\r\n hierarchyid: getQueryParameters()[\"hierarchyid\"],\r\n subaccounthierarchyid: getQueryParameters()[\"subaccounthierarchyid\"],\r\n batchId: this.props.data.BatchId,\r\n },\r\n });\r\n }\r\n\r\n handleCashDeclarationChange = (event) => {\r\n this.setState({ isCashDeclarationChecked: event });\r\n };\r\n\r\n private getTableColumn() {\r\n const tableColConfig: ITableConfig[] = [\r\n {\r\n title: \"Investment\",\r\n key: \"Description\",\r\n render: (data, row: Order, index) => {\r\n return row.Description;\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n {\r\n title: \"Buy value\",\r\n key: \"OrderValue\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderValue, CurrencyCode.GBP, true, 2);\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Buy quantity\",\r\n key: \"OrderQuantity\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderQuantity, null, false, 4);\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n\r\n {\r\n title: \"Limit price\",\r\n key: \"OrderLimit\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderLimit, null, false, 2);\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"OrderStatus\",\r\n render: (data, row: Order, index) => {\r\n return row.OrderStatus;\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n ]; // all table column config\r\n\r\n return tableColConfig;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.setState({ isLoadingInvestmentList: true });\r\n BuyAction.getBatchInfo(\r\n this.props.data,\r\n (callBack: BatchInfoModel) => {\r\n this.setState({ isLoadingInvestmentList: false });\r\n if (callBack?.InvestmentList?.length > 0) {\r\n this.setState({\r\n investmentList: callBack.InvestmentList,\r\n });\r\n }\r\n },\r\n () => {\r\n this.setState({ isLoadingInvestmentList: false });\r\n }\r\n );\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n ClientRecordAction.getCutomerTaxResidency(accountRoles[0].Customer.CustomerId, (val) => {\r\n this.setState({\r\n residency: val,\r\n });\r\n });\r\n }\r\n\r\n private renderDocuments() {\r\n const claccountid = getQueryParameters()[\"claccountid\"];\r\n const headAccountHierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const chargesInformationQuery = DocumentsHelper.getTaskRequestForChargeInformation(\r\n this.props.data.BatchId,\r\n claccountid,\r\n DocumentTaskRequestTypeEnum.ChargesInformation\r\n );\r\n const config = [\r\n {\r\n title: (\r\n
\r\n Charges Information\r\n \r\n
\r\n ),\r\n data: \" \",\r\n },\r\n ];\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n const validRsidency = this.state.residency.some((x) => x.PrimaryCitizenship || x.IsNationality);\r\n\r\n if (hasDecisionMaker(this.props.data.InvestmentList) && !validRsidency) {\r\n this.props.showErrorMsgPopUp(\r\n [\r\n \"In order to invest in a MiFIR reportable instrument, One of your Primary citizenship or Nationality is yes\",\r\n ],\r\n true\r\n );\r\n return false;\r\n }\r\n if (this.state.investmentList.some((x) => x.SecurityType == \"Cash Product\") && this.state.isCashDeclarationChecked == false) {\r\n this.props.showErrorMsgPopUp(\r\n [\r\n \"In order to invest in a cash deposit you must accept the declaration\",\r\n ],\r\n true\r\n );\r\n return false;\r\n }\r\n return flag;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type } = this.props;\r\n const investmentList = this.state.investmentList;\r\n let orderList = investmentList.filter((o) => o.Status === OrderStatus.Created); \r\n let total = investmentList.reduce((total, ele) => total + ele.OrderValue, 0);\r\n if (data?.InvestmentList.some((item) => item?.InstrumentCode === \"GBPCash\")) {\r\n const cash = data?.InvestmentList?.find((item) => item?.InstrumentCode === \"GBPCash\");\r\n orderList.unshift({\r\n Description: 'GBPCash',\r\n OrderValue: cash?.OrderValue,\r\n OrderQuantity: cash?.OrderQuantity,\r\n OrderStatus: 'Created'\r\n })\r\n\r\n total += cash?.OrderValue;\r\n }\r\n const instrumentCodes: Array = data.InvestmentList.map((item) => item?.InstrumentCode);\r\n return (\r\n <>\r\n {hasDecisionMaker(data.InvestmentList) && (\r\n \r\n )}\r\n

\r\n Review\r\n

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

Order setup

\r\n {\r\n this.props.onClearError();\r\n Navigator.navigateTo(Urls.get().BuyOrderSetup, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n claccountid: getQueryParameters()[\"claccountid\"],\r\n hierarchyid: getQueryParameters()[\"hierarchyid\"],\r\n subaccounthierarchyid: getQueryParameters()[\"subaccounthierarchyid\"],\r\n batchId: data.BatchId,\r\n },\r\n });\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* {\r\n this.props.onClearError();\r\n Navigator.navigateTo(Urls.get().BuyOrderSetup, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n claccountid: getQueryParameters()[\"claccountid\"],\r\n hierarchyid: getQueryParameters()[\"hierarchyid\"],\r\n subaccounthierarchyid: getQueryParameters()[\"subaccounthierarchyid\"],\r\n batchId: data.BatchId,\r\n },\r\n });\r\n }}\r\n >\r\n\r\n */}\r\n
\r\n
\r\n

Buy investments

\r\n this.navigate()}\r\n title=\"Edit\"\r\n >\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n

Explaining charges to your client

\r\n

\r\n It's important that your client understands the costs and charges they will incur based on their\r\n investment choices. The Charges Information Document provides the aggregated costs and charges for\r\n your client's investment.\r\n

\r\n {this.renderDocuments()}\r\n\r\n \r\n
\r\n {\r\n this.props.onChange({ AdviceGiven: v });\r\n }}\r\n label=\"Please indicate if advice was given on this trade.\"\r\n cssWrapper=\"square-checkbox block\"\r\n >\r\n
\r\n {\r\n investmentList.some((x) => x.SecurityType == \"Cash Product\") &&\r\n x.SecurityType === \"Cash Product\")\r\n .map(x => x.InstrumentCode)}\r\n isCashDeclarationChecked={this.state.isCashDeclarationChecked}\r\n onCashDeclarationChanged={this.handleCashDeclarationChange}\r\n />\r\n }\r\n \r\n );\r\n }\r\n}\r\n","export const buyStepperName = {\r\n orderStep: \"Order setup\",\r\n ist: \"Buy investments\",\r\n review: \"Review\",\r\n confirmation: \"Confirmation\",\r\n};\r\n","import { BuyDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\n\r\nexport interface BuyStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class BuyStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(BuyDispatcher, (actionData) => this.onBuyStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): BuyStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): BuyStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onBuyStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { BuyStoreStatic } from \"./BuyStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const BuyDispatcher: Dispatcher = new Dispatcher();\r\nexport const BuyStore: BuyStoreStatic = new BuyStoreStatic();\r\n","import { BuySellClient } from \"../../../../../../Wrap/Api/Orders/BuySell\";\r\nimport { OrdersClient } from \"../../../../../../Wrap/Api/Orders/Orders\";\r\nimport { OrderStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderStatus\";\r\n\r\nexport class CancelOrderAction {\r\n public static getBatchInfo(data, callback) {\r\n const client = new BuySellClient();\r\n const promise = client.put(data);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback(result);}\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static cancel(data, callback) {\r\n const { cancel, batchInfo } = data;\r\n const _batchInfo = JSON.parse(JSON.stringify(batchInfo));\r\n _batchInfo.TransId = 0;\r\n const investments = [];\r\n _batchInfo.InvestmentList.forEach((ele) => {\r\n const cancelled = cancel.includes(ele.InstrumentCode);\r\n if (cancelled) {\r\n investments.push(ele);\r\n }\r\n });\r\n _batchInfo.BuyOrSell = investments[0].BuyOrSell;\r\n _batchInfo.InvestmentList = investments;\r\n const client = new OrdersClient();\r\n client.put(_batchInfo).onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static submit(data, callback) {\r\n const client = new OrdersClient();\r\n client.post(data).onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { WizardComponent } from \"../../../../Shared/Process/WizardComponent\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { CancelOrderAction } from \"./Action/Action\";\r\nimport { CancelOrder } from \"./Component/CancelOrder\";\r\nimport { Review } from \"./Component/Review\";\r\nimport { cancelOrderStepperName } from \"./Resource/Content\";\r\n\r\nexport class CancelOrderWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ data: { cancel: [], batchInfo: null }, isLoading: false });\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n CancelOrderAction.cancel(this.state.data, (d) => {\r\n this.setState({ onPosting: false, data: { batchInfo: d } });\r\n Navigator.navigateToAndPreserveQueryParameters(toUrl);\r\n });\r\n }\r\n }\r\n\r\n onExit() {\r\n window.location.href = `/clients/orders/orders.aspx?claccountid=${getQueryParameters()[\"claccountid\"]}`;\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onSubmit() {}\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n this.stepperConfig = [\r\n {\r\n title: cancelOrderStepperName.cancel,\r\n url: Urls.get().CancelOrder,\r\n path: Contents.URLMap.cancel,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n },\r\n {\r\n title: cancelOrderStepperName.review,\r\n type: StepType.Custom,\r\n url: Urls.get().CancelOrderReview,\r\n path: Contents.URLMap.review,\r\n component: ,\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Cancel Order\";\r\n processProps.needSplitHeader = null;\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { BatchInfoModel } from \"../../../../../../Wrap/Models/Domains/Orders/Batch/BatchInfoModel\";\r\nimport { Order } from \"../../../../../../Wrap/Models/Domains/Orders/Order\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\nimport { ITypographySectionProps, Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { batchTypeArraysMap } from \"../../Common/Resource/Contents\";\r\nimport { CancelOrderAction } from \"../Action/Action\";\r\n\r\ninterface ICancelOrderProps extends IProcessComponentProps {}\r\n\r\ninterface ICancelOrderState {\r\n batchInfo: BatchInfoModel;\r\n isLoading: boolean;\r\n}\r\n\r\nexport class CancelOrder extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n batchInfo: null,\r\n isLoading: true,\r\n };\r\n }\r\n\r\n isValid() {\r\n const len = this.props.data.cancel.length;\r\n if (len == 0) {\r\n this.props.showErrorMsgPopUp([\"No item is cancelled!\"], true);\r\n }\r\n return len > 0;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const params = getQueryParameters();\r\n CancelOrderAction.getBatchInfo(\r\n {\r\n BatchId: params[\"batchid\"],\r\n TransId: 0,\r\n ClAccountId: params[\"claccountid\"],\r\n IsConfirmed: false,\r\n },\r\n (data) => {\r\n this.setState({ batchInfo: data, isLoading: false });\r\n this.props.onChange({ batchInfo: data });\r\n }\r\n );\r\n }\r\n\r\n private getBatchTypographyConfig(data: BatchInfoModel): ITypographySectionProps[] {\r\n const params = getQueryParameters();\r\n return [\r\n { title: \"Tax Wrapper\", data: params[\"claccountid\"] },\r\n { title: \"Batch ID\", data: data.BatchId },\r\n { title: \"Batch type\", data: batchTypeArraysMap[data.BatchType] },\r\n ];\r\n }\r\n\r\n private getTableConfig(): ITableConfig[] {\r\n return [\r\n {\r\n title: \"Cancel\",\r\n key: \"\",\r\n render: (data, row: Order, index) => {\r\n return (\r\n {\r\n const { data } = this.props;\r\n if (v) {\r\n this.props.onChange({ cancel: data.cancel.concat(row.InstrumentCode) });\r\n } else {\r\n this.props.onChange({\r\n cancel: data.cancel.filter((ele) => ele == row.InstrumentCode),\r\n });\r\n }\r\n }}\r\n disabled={row.OrderStatus.toLowerCase() != \"authorised\"}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n title: \"Instrument\",\r\n key: \"Description\",\r\n render: (data, row, index) => {\r\n return (\r\n <>\r\n

{data}

\r\n

{row.InstrumentCode}

\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Order Value\",\r\n key: \"OrderValue\",\r\n render: (data, row, index) => {\r\n return data.toFixed(2);\r\n },\r\n },\r\n\r\n {\r\n title: \"Order Quantity\",\r\n key: \"OrderQuantity\",\r\n render: (data, row, index) => {\r\n return data.toFixed(2);\r\n },\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"OrderStatus\",\r\n render: (data, row: Order, index) => {\r\n return row.OrderStatus;\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n ];\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { batchInfo, isLoading } = this.state;\r\n if (isLoading) {return ;}\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { OrderDirection } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { BatchInfoModel } from \"../../../../../../Wrap/Models/Domains/Orders/Batch/BatchInfoModel\";\r\nimport { Order } from \"../../../../../../Wrap/Models/Domains/Orders/Order\";\r\nimport { Permission } from \"../../../../../Shared/Permission/Permission\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\nimport { ITypographySectionProps, Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { batchTypeArraysMap } from \"../../Common/Resource/Contents\";\r\nimport { CancelOrderAction } from \"../Action/Action\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {}\r\n\r\ninterface IReviewState {\r\n batchInfo: BatchInfoModel;\r\n isLoading: boolean;\r\n isConfirmed: boolean;\r\n isConfiming: boolean;\r\n}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n batchInfo: null,\r\n isLoading: true,\r\n isConfirmed: false,\r\n isConfiming: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getData(false);\r\n }\r\n\r\n private getData = (isConfirmed) => {\r\n this.setState({ isLoading: true });\r\n const params = getQueryParameters();\r\n CancelOrderAction.getBatchInfo(\r\n {\r\n BatchId: params[\"batchid\"],\r\n TransId: this.props.data.batchInfo.TransId,\r\n ClAccountId: params[\"claccountid\"],\r\n IsConfirmed: isConfirmed,\r\n },\r\n (data) => {\r\n this.setState({ batchInfo: data, isLoading: false, isConfirmed: isConfirmed });\r\n }\r\n );\r\n };\r\n\r\n private getBatchTypographyConfig(data: BatchInfoModel): ITypographySectionProps[] {\r\n const params = getQueryParameters();\r\n return [\r\n { title: \"Tax Wrapper\", data: params[\"claccountid\"] },\r\n { title: \"Batch ID\", data: data.BatchId },\r\n { title: \"Batch type\", data: batchTypeArraysMap[data.BatchType] },\r\n ];\r\n }\r\n\r\n private getTableConfig(orderType: OrderDirection): ITableConfig[] {\r\n const tableColConfig: ITableConfig[] = [\r\n {\r\n title: \"Investment\",\r\n key: \"Description\",\r\n render: (data, row: Order, index) => {\r\n return row.Description;\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n {\r\n title: `${orderType == OrderDirection.Buy ? \"Buy\" : \"Sell\"} Value`,\r\n key: \"OrderValue\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderValue, CurrencyCode.GBP, true, 2);\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n {\r\n title: `${orderType == OrderDirection.Buy ? \"Buy\" : \"Sell\"} Quantity`,\r\n key: \"OrderQuantity\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderQuantity, null, false, 4);\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n\r\n {\r\n title: \"Limit Price\",\r\n key: \"OrderLimit\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderLimit, null, false, 2);\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"OrderStatus\",\r\n render: (data, row: Order, index) => {\r\n return row.OrderStatus;\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n ]; // all table column config\r\n\r\n return tableColConfig;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { batchInfo, isLoading } = this.state;\r\n if (isLoading) {return ;}\r\n const buyList = batchInfo.InvestmentList.filter((ele) => ele.BuyOrSell == OrderDirection.Buy);\r\n const buyCancelledTotal = buyList\r\n .filter((ele) => ele.OrderStatus.toLowerCase() == \"cancelled\")\r\n .reduce((total, ele) => {\r\n return total + ele.OrderValue;\r\n }, 0);\r\n const buyTotal = buyList.reduce((total, ele) => {\r\n return total + ele.OrderValue;\r\n }, 0);\r\n\r\n const sellList = batchInfo.InvestmentList.filter((ele) => ele.BuyOrSell == OrderDirection.Sell);\r\n const sellCancelledTotal = sellList\r\n .filter((ele) => ele.OrderStatus.toLowerCase() == \"cancelled\")\r\n .reduce((total, ele) => {\r\n return total + ele.OrderValue;\r\n }, 0);\r\n const sellTotal = sellList.reduce((total, ele) => {\r\n return total + ele.OrderValue;\r\n }, 0);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {buyList && buyList.length > 0 && (\r\n \r\n )}\r\n
\r\n {sellList && sellList.length > 0 && (\r\n \r\n )}\r\n {this.state.isConfirmed ? (\r\n \r\n \r\n (window.location.href = `/clients/orders/orders.aspx?claccountid=${\r\n getQueryParameters()[\"claccountid\"]\r\n }`)\r\n }\r\n >\r\n Go to Transaction\r\n \r\n \r\n ) : (\r\n {\r\n this.setState({ isConfiming: true });\r\n CancelOrderAction.submit(this.state.batchInfo, (result) => {\r\n if (!result.SubmissionSucceed) {\r\n this.props.showErrorMsgPopUp([\r\n `There was an error when processing cancel Batch ${result.BatchId}.`,\r\n ]);\r\n } else {\r\n this.getData(true);\r\n }\r\n });\r\n }}\r\n >\r\n Confirm\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","export const cancelOrderStepperName = {\r\n review: \"Review\",\r\n cancel: \"Cancel Order\",\r\n};\r\n","import { RegularDrawdownClient } from \"../../../../../../Wrap/Api/Drawdown/RegularDrawdown\";\r\nimport { ServiceValidationError } from \"../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\n\r\nexport class CancelRegularCrystallisationAction{\r\n public static cancelRegularCrystallisation(hierarchyId: string, onSuccess: (result: ServiceValidationError[],) => void, onError?: (error) => void) {\r\n const client = new RegularDrawdownClient();\r\n const promise = client.delete(hierarchyId);\r\n promise.onSuccess((result) => {onSuccess(result)});\r\n promise.onError((error) => {if (onError) {onError(error)}});\r\n }\r\n}\r\n","import { RegularDrawdownClient } from \"../../../../../../Wrap/Api/Drawdown/RegularDrawdown\";\r\nimport { RegularDrawdown } from \"../../../../../../Wrap/Models/Domains/Drawdown/RegularDrawdown\";\r\n\r\nexport class GetRegularCrystallisationAction {\r\n public static getRegularCrystallisation(hierarchyId: string, onSuccess: (result: RegularDrawdown) => void, onError?: (error) => void) {\r\n const client = new RegularDrawdownClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {onSuccess(result)});\r\n promise.onError((error) => {if (onError) {onError(error)}});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { CancelRegularCrystallisationAction } from \"./Actions/CancelRegularCrystallisationAction\";\r\nimport { GetRegularCrystallisationAction } from \"./Actions/GetRegularCrystallisationAction\";\r\nimport { CurrentSummary } from \"./Components/CurrentSummary\";\r\nimport { regularCrystallisationContent, successMessage } from \"./Resource/Contents\";\r\ninterface ICancelRegularCrystallisationWizardState extends IAccountContextWizardComponentState {\r\n extraInfo: any;\r\n}\r\nexport class CancelRegularCrystallisationWizard extends AccountContextWizardComponent<\r\n ICancelRegularCrystallisationWizardState\r\n> {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n extraInfo: null,\r\n };\r\n }\r\n\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const params = getQueryParameters();\r\n const hierarchyId = params[\"hierarchyid\"];\r\n GetRegularCrystallisationAction.getRegularCrystallisation(hierarchyId, (result) =>\r\n this.setState({ data: result })\r\n );\r\n this.setState({\r\n extraInfo: { showLightbox: false },\r\n });\r\n }\r\n\r\n setShowLightbox(show: boolean) {\r\n this.setState({ extraInfo: { ...this.state.extraInfo, showLightbox: show } });\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {\r\n const queryParams = getQueryParameters();\r\n const hierarchyId = queryParams[\"hierarchyid\"];\r\n\r\n this.setState({ isSubmitting: true });\r\n CancelRegularCrystallisationAction.cancelRegularCrystallisation(hierarchyId, (result) => {\r\n if (result.length == 0) {\r\n this.setState({ active: false, isSubmitting: false });\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n });\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n //TODO: navigate to customer dashboard\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n\r\n onSubmit() {\r\n this.setShowLightbox(false);\r\n this.onStepperLeave(0, 1);\r\n }\r\n\r\n setStepperConfig() {\r\n const { data, customer } = this.state;\r\n\r\n this.stepperConfig = [\r\n {\r\n title: regularCrystallisationContent.summaryTitle,\r\n url: Urls.get().CancelRegularCrystallisationReview,\r\n path: Contents.URLMap.review,\r\n type: StepType.Custom,\r\n component: (\r\n {\r\n this.setShowLightbox(show);\r\n }}\r\n isActive={this.state.active}\r\n isSubmitting={this.state.isSubmitting}\r\n onConfirm={() => this.onSubmit()}\r\n />\r\n ),\r\n },\r\n {\r\n title: regularCrystallisationContent.confirmationTitle,\r\n url: Urls.get().CancelRegularCrystallisationConfirmation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={successMessage(\r\n customer?.PersonalDetails?.Name.Given,\r\n customer?.PersonalDetails?.Name.Family\r\n )}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const { customer } = this.state;\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Cancel Regular Crystallisation\";\r\n processProps.subTitle = \"SIPP\";\r\n processProps.onSave = null;\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: `${customer?.PersonalDetails?.Name.Given} ${customer?.PersonalDetails?.Name.Family}`,\r\n splitHeaderSub: getQueryParameters()[\"claccountid\"],\r\n };\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DateHelper } from \"../../../../../../react-core/Helpers/DateHelper\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { RegularDrawdown } from \"../../../../../../Wrap/Models/Domains/Drawdown/RegularDrawdown\";\r\nimport { MoneyHelper } from \"../../../../../Shared/Common/MoneyHelper\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { FrequencyTypeMap } from \"../../../../Resoures/Contents\";\r\nimport { getAnnualIncomeBasedOnFrequency } from \"../../GadReviewWizard/Resource/Helper\";\r\nimport { regularCrystallisationContent } from \"../Resource/Contents\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: any;\r\n isSubmitting: boolean;\r\n showLightbox: boolean;\r\n isActive: boolean;\r\n setShowLightbox: (show: boolean) => void;\r\n onConfirm: () => void;\r\n}\r\n\r\nexport class CurrentSummary extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, isActive, isSubmitting, showLightbox } = this.props;\r\n const regularCrystallisationData = data as RegularDrawdown;\r\n\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n const annualIncome = getAnnualIncomeBasedOnFrequency(\r\n regularCrystallisationData.IncomeRequired,\r\n regularCrystallisationData.Frequency\r\n );\r\n const pcls = MoneyHelper.multiplyBy(regularCrystallisationData.ProposedCrystallisation.Amount, 0.25);\r\n return (\r\n
\r\n {showLightbox && this.renderConfirmPopup()}\r\n
\r\n

{regularCrystallisationContent.summaryTitle}

\r\n\r\n
\r\n \r\n {this.renderRow(\r\n regularCrystallisationContent.amount,\r\n MoneyDisplayHelper.getMoneyFormat(regularCrystallisationData.ProposedCrystallisation)\r\n )}\r\n\r\n {this.renderRow(\r\n regularCrystallisationContent.frequency,\r\n FrequencyTypeMap[regularCrystallisationData.Frequency]\r\n )}\r\n\r\n {this.renderRow(\r\n regularCrystallisationContent.date,\r\n DateHelper.getDateStringAsddmmmyyyy(\r\n JsonDateParser.toDate(regularCrystallisationData.NextPaymentDate)\r\n )\r\n )}\r\n\r\n {this.renderRow(\r\n regularCrystallisationContent.pcls,\r\n MoneyDisplayHelper.getMoneyFormat(pcls)\r\n )}\r\n\r\n {this.renderRow(\r\n regularCrystallisationContent.income,\r\n MoneyDisplayHelper.getMoneyFormat(regularCrystallisationData.IncomeRequired)\r\n )}\r\n\r\n {this.renderRow(\r\n regularCrystallisationContent.annualIncome,\r\n MoneyDisplayHelper.getMoneyFormat(annualIncome)\r\n )}\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n isSubmitting || showLightbox ? null : this.props.setShowLightbox(true)\r\n }\r\n className={`next-button ${isSubmitting ? \"btn is-busy\" : \"\"}`}\r\n >\r\n \r\n {regularCrystallisationContent.cancelButton}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderRow(description: string, value: string): JSX.Element {\r\n return (\r\n \r\n {description}\r\n {value}\r\n \r\n );\r\n }\r\n\r\n private renderConfirmPopup(): JSX.Element {\r\n return (\r\n this.props.setShowLightbox(false)}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n
\r\n

{regularCrystallisationContent.lightboxMessage}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","\r\nexport const regularCrystallisationContent = {\r\n summaryTitle: \"Current Summary\",\r\n amount: \"Regular crystallisation amount\",\r\n frequency: \"Frequency of crystallisation\",\r\n date: \"Date of next payment\",\r\n pcls: \"Estimated PCLS\",\r\n income: \"Current regular income\",\r\n annualIncome: \"Annualised income\",\r\n confirmationTitle: \"Confirmation\",\r\n cancelButton: \"Cancel regular crystallisation\",\r\n lightboxMessage: \"Are you sure you want to cancel the regular crystallisation?\"\r\n}\r\n\r\nexport const successMessage = (givenName: string, familyName: string) => `The regular crystallisation for ${givenName} ${familyName} is now cancelled.`;\r\n\r\n","import { HeadAccountCgtSettingsClient } from \"../../../../../../Wrap/Api/Tax/HeadAccountCgtSettings\";\r\nimport { HeadAccountCgtSettings } from \"../../../../../../Wrap/Models/Domains/Tax/HeadAccountCgtSettings\";\r\n\r\nexport class CGTAction {\r\n public static getCGTSettings(hierarchyId: string, callback) {\r\n const client = new HeadAccountCgtSettingsClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static postCGTSettings(settings: HeadAccountCgtSettings, callback) {\r\n const client = new HeadAccountCgtSettingsClient();\r\n const promise = client.post(settings);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { WizardComponent } from \"../../../../Shared/Process/WizardComponent\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../Actions/Action\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { CGTAction } from \"./Action/CGTAction\";\r\nimport { CapitalGainsSettings } from \"./Components/CaptialGainSettings\";\r\n\r\nexport class CaptialGainSettingsWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {}\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const id = getQueryParameters()[\"hierarchyid\"];\r\n CGTAction.getCGTSettings(id, (data) => {\r\n this.setState({\r\n data,\r\n isLoading: false,\r\n });\r\n });\r\n Action.getClientAccount(id);\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n Navigator.navigateTo(Urls.get().main.PortfolioDashboard({\r\n hierarchyId: params[\"clienthierarchyid\"]\r\n }).summary);\r\n }\r\n\r\n onSubmit() {\r\n CGTAction.postCGTSettings(this.state.data, (data) => {\r\n this.onExit();\r\n });\r\n }\r\n\r\n setStepperConfig() {\r\n this.stepperConfig = [\r\n {\r\n title: \"Capital Gains Settings\",\r\n url: Urls.get().CapitalGainsSettings,\r\n path: Contents.URLMap.cgt,\r\n canSubmit: () => this.child[0].isValid(),\r\n onSubmit: () => this.onSubmit(),\r\n component: ,\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Capital Gains Settings\";\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n processProps.needSplitHeader = null;\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { InvestorType } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { HeadAccountCgtSettings } from \"../../../../../../Wrap/Models/Domains/Tax/HeadAccountCgtSettings\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\n\r\ninterface ICGTProps extends IProcessComponentProps {\r\n data: HeadAccountCgtSettings;\r\n}\r\n\r\ninterface ICGTState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport class CapitalGainsSettings extends ProcessComponent {\r\n constructor(props: ICGTProps) {\r\n super(props);\r\n this.state = {\r\n isLoading: CommonHelper.isNullOrEmpty(ClientAccountStore.getClientAccountInfo()),\r\n };\r\n this.subscribeToStore(ClientAccountStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n const data = ClientAccountStore.getClientAccountInfo();\r\n if (data) {\r\n this.setState({ isLoading: false });\r\n }\r\n }\r\n\r\n render() {\r\n const { data, onChange } = this.props;\r\n const accountInfo = ClientAccountStore.getClientAccountInfo();\r\n return (\r\n \r\n

Capital Gain Settings

\r\n\r\n \r\n onChange({ CgtPercentage: v })}\r\n value={data?.CgtPercentage}\r\n cssWrapper=\"control-size-245\"\r\n validationRules={[\r\n {\r\n validator: (v) => {\r\n if (\r\n accountInfo?.InvestorType == InvestorType.Joint ||\r\n accountInfo?.InvestorType == InvestorType.JointIndividual\r\n ) {\r\n return v <= 200;\r\n }\r\n return v <= 100;\r\n },\r\n errorMessage:\r\n accountInfo?.InvestorType == InvestorType.Joint ||\r\n accountInfo?.InvestorType == InvestorType.JointIndividual\r\n ? \"Only number from 0-200 can be saved for Joint account.\"\r\n : \"Only numbers from 0-100 can be saved for Individual and Trust account\",\r\n },\r\n {\r\n validator: (v) => {\r\n return v >= 0;\r\n },\r\n errorMessage:\r\n accountInfo?.InvestorType == InvestorType.Joint ||\r\n accountInfo?.InvestorType == InvestorType.JointIndividual\r\n ? \"Only number from 0-200 can be saved for Joint account.\"\r\n : \"Only numbers from 0-100 can be saved for Individual and Trust account\",\r\n },\r\n ]}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import { AMLCheckClient } from \"../../../../../../Wrap/Api/Customer/AMLCheck\";\r\n\r\nexport class AMLCheckACtion {\r\n public static getAmlCheck(customerId: number, callback) {\r\n const client = new AMLCheckClient();\r\n const promise = client.post(customerId, 0);\r\n promise.onSuccess((res) => {\r\n if (callback) {callback(res);}\r\n });\r\n\r\n promise.onError(() => {\r\n if (callback) {callback(\"An error occured\");}\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { AccountSearchQueryClient } from \"../../../../../../Wrap/Api/Account/AccountSearchQuery\";\r\nimport { AccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/AccountType\";\r\nimport { MultiPropositionType } from \"../../../../../../Wrap/Constants/Enums/Domain/MultiPropositionType\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AdvancedSearchFilterType } from \"../../../../../../Wrap/Constants/Enums/Search/AdvancedSearchFilterType\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { getStatus } from \"../Resource/Contents\";\r\nimport { AccountSearchDispatcher, AccountSearchStore } from \"../Store/Variable\";\r\n\r\nexport interface IBasicSearchQuery {\r\n accountName?: string;\r\n accountNum?: string;\r\n adviser?: string;\r\n accountType?: AccountType;\r\n status?: AccountStatus;\r\n network?: string;\r\n company?: string;\r\n ServicePropositionsToExclude?: MultiPropositionType[];\r\n}\r\n\r\nexport interface IAdvancedSearchQuery {\r\n filterType?: AdvancedSearchFilterType;\r\n wrappers?: SubAccountType[];\r\n investedInMandates?: boolean;\r\n mandateNames?: string[];\r\n hasRegularPayments?: boolean;\r\n hasRegularWithdrawals?: boolean;\r\n}\r\n\r\nexport class AccountSearchAction {\r\n public static searchAccounts(\r\n query: IBasicSearchQuery,\r\n advancedSearchFilter: IAdvancedSearchQuery[],\r\n currentPage,\r\n count,\r\n callBack?: (val: any) => void\r\n ): void {\r\n const wrappers = advancedSearchFilter?.find((ele) => ele?.filterType == AdvancedSearchFilterType.Wrapper);\r\n const mandate = advancedSearchFilter?.find((ele) => ele?.filterType == AdvancedSearchFilterType.Mandate);\r\n const regularPayment = advancedSearchFilter?.find(\r\n (ele) => ele?.filterType == AdvancedSearchFilterType.RegularPayment\r\n );\r\n const regularWithdrawal = advancedSearchFilter?.find(\r\n (ele) => ele?.filterType == AdvancedSearchFilterType.RegularWithdrawal\r\n );\r\n const client = new AccountSearchQueryClient();\r\n const promise = client.get(\r\n query.accountName,\r\n query.accountNum,\r\n query.adviser,\r\n query.accountType,\r\n getStatus(query.status),\r\n query.company,\r\n query.network,\r\n currentPage,\r\n count,\r\n advancedSearchFilter?.length > 0 ? AdvancedSearchFilterType.Wrapper : null, // this can be any value in filter type enum, just need a value to represent advance filter is enabled\r\n wrappers?.wrappers,\r\n mandate?.investedInMandates,\r\n mandate?.mandateNames,\r\n regularPayment?.hasRegularPayments,\r\n regularWithdrawal?.hasRegularWithdrawals,\r\n query.ServicePropositionsToExclude\r\n );\r\n promise.onSuccess((res) => {\r\n let data = JSON.parse(JSON.stringify(AccountSearchStore.getData()));\r\n if (!data) {data = {};}\r\n data = res;\r\n AccountSearchDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n console.log(data);\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n AccountSearchDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { CustomerTaxResidencyClient } from \"../../../../../../Wrap/Api/Customer/CustomerTaxResidency\";\r\nimport { DeathDetailClient } from \"../../../../../../Wrap/Api/Customer/DeathDetail\";\r\nimport { EmploymentDetailClient } from \"../../../../../../Wrap/Api/Customer/EmploymentDetail\";\r\nimport { PersonalDetailClient } from \"../../../../../../Wrap/Api/Customer/PersonalDetail\";\r\nimport { EmploymentDetail } from \"../../../../../../Wrap/Models/Models/Customer/EmploymentDetail\";\r\nimport { PersonalDetail } from \"../../../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { ClientRecordTab } from \"../Resource/Contents\";\r\nimport { AccountRoleDispatcher, ClientRecordDispatcher, ClientRecordStore } from \"../Store/Variable\";\r\nimport { PensionProtectionClient } from \"../../../../../../Wrap/Api/Customer/PensionProtection\";\r\nimport { PensionProtectionDetails } from \"../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { CustomerPhoneNumbersClient } from \"../../../../../../Wrap/Api/Customer/CustomerPhoneNumbers\";\r\nimport { CustomerPhoneNumber } from \"../../../../../../Wrap/Models/Models/Customer/CustomerPhoneNumber\";\r\nimport { CustomerEmailAddressesClient } from \"../../../../../../Wrap/Api/Customer/CustomerEmailAddresses\";\r\nimport { CustomerEmailAddress } from \"../../../../../../Wrap/Models/Models/Customer/CustomerEmailAddress\";\r\nimport { ContactPreferenceDetailClient } from \"../../../../../../Wrap/Api/Customer/ContactPreferenceDetail\";\r\nimport { ContactPreferenceDetails } from \"../../../../../../Wrap/Models/Models/Customer/ContactPreferenceDetails\";\r\nimport { AddressDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { AddressDetailClient } from \"../../../../../../Wrap/Api/Customer/AddressDetail\";\r\nimport { ValidationStatus } from \"../../../../../../Wrap/Core/Web/Validation/ValidationStatus\";\r\nimport { ReportingTaxYearSettingModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/ReportingTaxYearSettingModel\";\r\nimport { ReportingTaxYearSettingClient } from \"../../../../../../Wrap/Api/Customer/ReportingTaxYearSetting\";\r\nimport { RegulatoryCheckDetailsModel } from \"../../../../../../Wrap/Models/Models/Customer/RegulatoryCheckDetailsModel\";\r\nimport { RegulatoryCheckDetailsClient } from \"../../../../../../Wrap/Api/Customer/RegulatoryCheckDetails\";\r\nimport { TaxFormModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/TaxFormModel\";\r\nimport { TaxFormClient } from \"../../../../../../Wrap/Api/Customer/TaxForm\";\r\nimport { NoteDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/NoteDetailModel\";\r\nimport { NoteDetailClient } from \"../../../../../../Wrap/Api/Customer/NoteDetail\";\r\nimport { InstructionWorkInProgressClient } from \"../../../../../../Wrap/Api/Instruction/InstructionWorkInProgress\";\r\nimport { QuoteInstructionClient } from \"../../../../../../Wrap/Api/Quote/QuoteInstruction\";\r\nimport { QuoteToApplyInstructionClient } from \"../../../../../../Wrap/Api/Apply/QuoteToApplyInstruction\";\r\nimport { ApplyModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { AccountRoleByActorClient } from \"../../../../../../Wrap/Api/Account/AccountRoleByActor\";\r\nimport { AccountRoleWithAccountDetails } from \"../../../../../../Wrap/Models/Domains/Customers/AccountRoleWithAccountDetails\";\r\nimport { AccountRoleDetailsClient } from \"../../../../../../Wrap/Api/Customer/AccountRoleDetails\";\r\nimport { OrganisationClient } from \"../../../../../../Wrap/Api/Customer/Organisation\";\r\nimport { Organisation } from \"../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { Company } from \"../../../../../../Wrap/Models/Models/Customer/Company\";\r\nimport { VulnerabilityDetail } from \"../../../../../../Wrap/Models/Models/Customer/VulnerabilityDetail\";\r\nimport { VulnerabilityDetailClient } from \"../../../../../../Wrap/Api/Customer/VulnerabilityDetail\";\r\nimport { VulnerabilityCategory } from \"../../../../../../Wrap/Constants/Enums/Customer/VulnerabilityCategory\";\r\nimport { VulnerabilityType } from \"../../../../../../Wrap/Constants/Enums/Customer/VulnerabilityType\";\r\nimport { VulnerabilityOptions } from \"../../../../../../Wrap/Models/Models/Customer/VulnerabilityOptions\";\r\nimport { VulnerabilityOptionsClient } from \"../../../../../../Wrap/Api/Customer/VulnerabilityOptions\";\r\nimport { TrustDetailClient } from \"../../../../../../Wrap/Api/Account/TrustDetail\";\r\nimport { TrustDetail } from \"../../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { RelationshipType } from \"../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { RelationshipClient } from \"../../../../../../Wrap/Api/Customer/Relationship\";\r\nimport { CompanyActorClient } from \"../../../../../../Wrap/Api/Customer/CompanyActor\";\r\nimport { RegulatoryCheckInfoType } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoType\";\r\nimport { AccountComplianceClient } from \"../../../../../../Wrap/Api/Customer/AccountCompliance\";\r\nimport { TrustMemberDeathDetailValidationClient } from \"../../../../../../Wrap/Api/Customer/TrustMemberDeathDetailValidation\";\r\nimport { ControllingPersonDetailsClient } from \"../../../../../../Wrap/Api/Customer/ControllingPersonDetails\";\r\nimport { ControllingPersonRoleDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/ControllingPersonRoleDetailModel\";\r\nimport { AdditionalDataItemClient } from \"../../../../../../Wrap/Api/Customer/AdditionalDataItem\";\r\nimport { AdditionalDataItemType } from \"../../../../../../Wrap/Constants/Enums/Domain/AdditionalDataItemType\";\r\nimport { ActorOwnerClient } from \"../../../../../../Wrap/Api/Customer/ActorOwner\";\r\n\r\nexport class ClientRecordAction {\r\n public static getPersonalDetail(id: string) {\r\n const client = new PersonalDetailClient();\r\n const promise = client.get(Number(id));\r\n this.updateClientRecordStore(ClientRecordTab.PersonalDetail, promise);\r\n }\r\n\r\n public static putPersonalDetail(data: PersonalDetail, id: string) {\r\n const client = new PersonalDetailClient();\r\n const promise = client.put(Number(id), data);\r\n this.updateClientRecordStore(ClientRecordTab.PersonalDetail, promise);\r\n }\r\n\r\n public static getOrganisationDetail(id: string) {\r\n const client = new OrganisationClient();\r\n const promise = client.get(Number(id), \"\");\r\n this.updateClientRecordStore(ClientRecordTab.OrganisationDetails, promise);\r\n }\r\n\r\n public static putOrganisationDetail(data: Organisation, id: string) {\r\n const client = new OrganisationClient();\r\n const promise = client.put(data);\r\n this.updateClientRecordStore(ClientRecordTab.OrganisationDetails, promise);\r\n }\r\n\r\n public static getCompanyDetail(id: string, callback?) {\r\n const client = new CompanyActorClient();\r\n const promise = client.get(Number(id));\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n if (!callback) {\r\n this.updateClientRecordStore(ClientRecordTab.CompanyDetails, promise);\r\n }\r\n }\r\n\r\n public static putCompanyDetail(data: Company, id: string) {\r\n const client = new CompanyActorClient();\r\n const promise = client.put(Number(id), data);\r\n this.updateClientRecordStore(ClientRecordTab.CompanyDetails, promise);\r\n }\r\n\r\n public static getAccountRoleDetail(customerId: string, callback?) {\r\n const client = new AccountRoleByActorClient();\r\n const promise = client.get(Number(customerId));\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n let data = JSON.parse(JSON.stringify(result));\r\n if (!data) {\r\n data = [];\r\n }\r\n AccountRoleDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n AccountRoleDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getActorOwner(actorId: number, callback?) {\r\n const client = new ActorOwnerClient();\r\n const promise = client.get(actorId);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public static getControllingPersonDetail(customerId: string, callback?) {\r\n const client = new ControllingPersonDetailsClient();\r\n const promise = client.get(Number(customerId));\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static updateControllingPersonType(model: ControllingPersonRoleDetailModel, callback?) {\r\n const client = new ControllingPersonDetailsClient();\r\n const promise = client.put(model);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n public static getPhoneNumberDetail(id: string) {\r\n const client = new CustomerPhoneNumbersClient();\r\n const promise = client.get(Number(id));\r\n this.updateClientRecordStore(ClientRecordTab.ContactDetail, promise);\r\n }\r\n\r\n public static putPhoneNumberDetail(data: CustomerPhoneNumber[], id: string) {\r\n const client = new CustomerPhoneNumbersClient();\r\n const promise = client.put(Number(id), data);\r\n this.updateClientRecordStore(ClientRecordTab.ContactDetail, promise);\r\n }\r\n\r\n public static getEmailDetail(id: string) {\r\n const client = new CustomerEmailAddressesClient();\r\n const promise = client.get(Number(id));\r\n this.updateClientRecordStore(\"EmailDetail\", promise);\r\n }\r\n\r\n public static putEmailDetail(data: CustomerEmailAddress[], id: string) {\r\n const client = new CustomerEmailAddressesClient();\r\n const promise = client.put(Number(id), data);\r\n this.updateClientRecordStore(\"EmailDetail\", promise);\r\n }\r\n\r\n public static getContactPerference(id: string) {\r\n const client = new ContactPreferenceDetailClient();\r\n const promise = client.get(Number(id));\r\n this.updateClientRecordStore(\"ContactPerference\", promise);\r\n }\r\n\r\n public static putContactPerference(data: ContactPreferenceDetails, id: string) {\r\n const client = new ContactPreferenceDetailClient();\r\n const promise = client.put(Number(id), data);\r\n this.updateClientRecordStore(\"ContactPerference\", promise);\r\n }\r\n\r\n public static getPensionProtection(customerId: number) {\r\n const client = new PensionProtectionClient();\r\n const promise = client.get(customerId);\r\n\r\n this.updateClientRecordStore(ClientRecordTab.PensionProtection, promise);\r\n }\r\n\r\n public static savePensionProtection(\r\n customerId: number,\r\n pensionProtection: PensionProtectionDetails,\r\n callback: (data) => void\r\n ) {\r\n const client = new PensionProtectionClient();\r\n const promise = client.post(customerId, pensionProtection);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public static getInstructionWorkInProgress(page: number, pageSize: number, customerId: number) {\r\n const client = new InstructionWorkInProgressClient();\r\n const promise = client.get(page, pageSize, customerId);\r\n this.updateClientRecordStore(\"Activity\", promise);\r\n }\r\n\r\n public static copyQuoteByid(id: number, customerId: number) {\r\n const client = new QuoteInstructionClient();\r\n const promise = client.get(id, null);\r\n promise.onSuccess((result) => {\r\n const quoteCopy = new QuoteToApplyInstructionClient();\r\n const copyPromise = quoteCopy.put(result);\r\n copyPromise\r\n .onSuccess((result: ApplyModel) => {\r\n Navigator.navigateTo(Urls.get().NewBusinessWizard, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n customerid: customerId,\r\n id: result.AccountRoleInstructionId,\r\n quoteid: result.QuoteId,\r\n },\r\n });\r\n })\r\n .onError((error) => { });\r\n });\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getDeathDetail(id: string) {\r\n const client = new DeathDetailClient();\r\n const promise = client.get(Number(id));\r\n this.updateClientRecordStore(\"DeathDetail\", promise);\r\n }\r\n\r\n public static putDeathDetail(data: EmploymentDetail, id: string, callBack?: (result) => void) {\r\n const client = new DeathDetailClient();\r\n const promise = client.put(Number(id), data);\r\n this.updateClientRecordStore(\"DeathDetail\", promise);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static getTrustMemberDeathValidation(id: string, callBack: (result) => void) {\r\n const client = new TrustMemberDeathDetailValidationClient();\r\n const promise = client.get(Number(id));\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static getEmploymentDetail(id: string) {\r\n const client = new EmploymentDetailClient();\r\n const promise = client.get(Number(id));\r\n this.updateClientRecordStore(\"EmploymentDetail\", promise);\r\n }\r\n\r\n public static getAccountRoleAndAccountDetails(customerId: string, callback) {\r\n const client = new AccountRoleDetailsClient();\r\n const promise = client.get(Number(customerId));\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static putEmploymentDetail(data: EmploymentDetail, id: string) {\r\n const client = new EmploymentDetailClient();\r\n const promise = client.put(Number(id), data);\r\n this.updateClientRecordStore(\"EmploymentDetail\", promise);\r\n }\r\n\r\n private static updateClientRecordStore(clientTab: ClientRecordTab | string, promise: any) {\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(ClientRecordStore.getData()));\r\n if (!data) {\r\n data = {};\r\n }\r\n data[clientTab] = result ? result : [];\r\n ClientRecordDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n ClientRecordDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getCutomerTaxResidency(\r\n customerId: number,\r\n callBack?: (val: Array) => void\r\n ) {\r\n const client = new CustomerTaxResidencyClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static removeRelationship(\r\n primaryId: number,\r\n secondaryId: number,\r\n relationship: RelationshipType[],\r\n callback\r\n ) {\r\n const client = new RelationshipClient();\r\n const promise = client.delete(primaryId, secondaryId, relationship);\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static editRelationship(\r\n primaryId: number,\r\n secondaryId: number,\r\n originRelationship: RelationshipType[],\r\n newRelationship: RelationshipType[],\r\n callback\r\n ) {\r\n const client = new RelationshipClient();\r\n const promise = client.post(primaryId, secondaryId, originRelationship, newRelationship);\r\n promise.onSuccess((e) => {\r\n callback(e);\r\n });\r\n }\r\n\r\n public static saveCutomerTaxResidency(\r\n customerId: number,\r\n models: Array,\r\n callBack?: (val: Array) => void\r\n ) {\r\n const client = new CustomerTaxResidencyClient();\r\n const complianceClient = new AccountComplianceClient();\r\n const promise = client.put(customerId, models);\r\n\r\n promise.onSuccess((result) => {\r\n complianceClient.put(customerId).onSuccess(() => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getVulnerabilityOptions(\r\n category: VulnerabilityCategory,\r\n type: VulnerabilityType,\r\n callBack?: (val: VulnerabilityOptions) => void\r\n ) {\r\n const client = new VulnerabilityOptionsClient();\r\n const promise = client.get(category, type);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getCustomerVulnerabilityDetails(\r\n customerId: number,\r\n callBack?: (val: Array) => void\r\n ) {\r\n const client = new VulnerabilityDetailClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static saveVulnerabilityDetail(\r\n customerId: number,\r\n VulnerabilityDetails: Array,\r\n callBack?: (val: any) => void\r\n ) {\r\n const client = new VulnerabilityDetailClient();\r\n const promise = client.put(customerId, VulnerabilityDetails);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static getTaxForm(customerId: number, callBack?: (val: TaxFormModel) => void) {\r\n const client = new TaxFormClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getHighValue(customerId: number, callback?) {\r\n const client = new AdditionalDataItemClient();\r\n const promise = client.get(customerId, AdditionalDataItemType.HighValueCustomer);\r\n\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public static putHighValue(customerId: number, highValueFlag: boolean, callback?) {\r\n const client = new AdditionalDataItemClient();\r\n let promise: any = null;\r\n if (highValueFlag) {\r\n promise = client.put(customerId, AdditionalDataItemType.HighValueCustomer, \"true\");\r\n } else {\r\n promise = client.delete(customerId, AdditionalDataItemType.HighValueCustomer);\r\n }\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public static saveTaxForm(customerId: number, model: TaxFormModel, callBack?: (val: ValidationStatus) => void) {\r\n const client = new TaxFormClient();\r\n const promise = client.put(customerId, model);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getReportingTaxYearSetting(\r\n customerId: number,\r\n callBack?: (val: Array) => void\r\n ) {\r\n const client = new ReportingTaxYearSettingClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static saveReportingTaxYearSetting(\r\n customerId: number,\r\n model: Array,\r\n callBack?: (val: ValidationStatus) => void\r\n ) {\r\n const client = new ReportingTaxYearSettingClient();\r\n const promise = client.put(customerId, model);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getCustomerAddress(customerId: number, callBack?: (val: Array) => void): void {\r\n const client = new AddressDetailClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static saveCustomerAddress(\r\n customerId: number,\r\n addresses: Array,\r\n callBack?: (val: ValidationStatus) => void\r\n ): void {\r\n const client = new AddressDetailClient();\r\n const promise = client.put(customerId, addresses);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static addCustomerAddress(\r\n customerId: number,\r\n address: AddressDetailModel,\r\n callBack?: (val: ValidationStatus) => void\r\n ): void {\r\n const client = new AddressDetailClient();\r\n const promise = client.post(customerId, address);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getCustomerRegulatoryCheckDetails(\r\n customerId: number,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const client = new RegulatoryCheckDetailsClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static saveCustomerRegulatoryCheckDetails(\r\n customerId: number,\r\n regChecks: Array,\r\n editType: RegulatoryCheckInfoType,\r\n callBack?: (val: ValidationStatus) => void\r\n ): void {\r\n const client = new RegulatoryCheckDetailsClient();\r\n const promise = client.put(customerId, editType, regChecks);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static addCustomerRegulatoryCheckDetails(\r\n customerId: number,\r\n regCheck: RegulatoryCheckDetailsModel,\r\n editType: RegulatoryCheckInfoType,\r\n callBack?: (val: ValidationStatus) => void\r\n ): void {\r\n const client = new RegulatoryCheckDetailsClient();\r\n const promise = client.post(customerId, editType, regCheck);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getCustomerNoteDetails(customerId: number, callBack?: (val: Array) => void): void {\r\n const client = new NoteDetailClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static addCustomerNoteDetails(\r\n customerId: number,\r\n note: NoteDetailModel,\r\n callBack?: (val: ValidationStatus) => void\r\n ): void {\r\n const client = new NoteDetailClient();\r\n const promise = client.post(customerId, note);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static saveCustomerNoteDetails(\r\n customerId: number,\r\n note: NoteDetailModel,\r\n callBack?: (val: ValidationStatus) => void\r\n ): void {\r\n const client = new NoteDetailClient();\r\n const promise = client.put(customerId, note);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static deleteCustomerNoteDetails(\r\n customerId: number,\r\n note: NoteDetailModel,\r\n callback?: (val: ValidationStatus) => void\r\n ): void {\r\n const client = new NoteDetailClient();\r\n const promise = client.delete(customerId, note);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getAccountRoleWithAccountDetails(\r\n customerId: string,\r\n callBack?: (val: AccountRoleWithAccountDetails) => void\r\n ) {\r\n const client = new AccountRoleDetailsClient();\r\n const promise = client.get(Number(customerId));\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n\r\n public static getTrustDetails(hierarchyId: string, callBack?: (val: TrustDetail) => void) {\r\n const client = new TrustDetailClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => { });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CustomerSearchClient } from \"../../../../../../Wrap/Api/Customer/CustomerSearch\";\r\nimport { FullClientDetailClient } from \"../../../../../../Wrap/Api/Customer/FullClientDetail\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { EntityType } from \"../../../../../../Wrap/Constants/Enums/EntityType\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { FullClientDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { CustomerSearchDispatcher, CustomerSearchStore } from \"../Store/Variable\";\r\n\r\nexport interface ICustomerSearchQuery {\r\n customerId: number;\r\n customerStatus: CustomerStatus;\r\n firstName: string;\r\n lastName: string;\r\n dateOfBirth: Date;\r\n TaxIdentifier: string;\r\n clAccountId: string;\r\n customerRole: RoleType;\r\n visibleToAdviserId: number;\r\n entityId: number;\r\n entityType: EntityType;\r\n}\r\n\r\nexport class CustomerSearchAction {\r\n public static searchCustomers(\r\n query: ICustomerSearchQuery,\r\n currentPage,\r\n count,\r\n callBack?: (val: any) => void\r\n ): void {\r\n const client = new CustomerSearchClient();\r\n const promise = client.get(\r\n query.customerId,\r\n query.customerStatus,\r\n query.firstName,\r\n query.lastName,\r\n JsonDateParser.toJsonDateNoOffset(query.dateOfBirth),\r\n query.TaxIdentifier,\r\n query.clAccountId,\r\n query.customerRole,\r\n query.entityId,\r\n query.entityType,\r\n query.visibleToAdviserId,\r\n currentPage,\r\n count\r\n );\r\n promise.onSuccess((res) => {\r\n let data = JSON.parse(JSON.stringify(CustomerSearchStore.getData()));\r\n if (!data) {data = {};}\r\n data = res;\r\n CustomerSearchDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n console.log(data);\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n CustomerSearchDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getCustomerData(customerId: number, callBack?: (val: FullClientDetailModel) => void): void {\r\n const client = new FullClientDetailClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { Organisation } from \"../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { WizardComponent } from \"../../../../../Shared/Process/WizardComponent\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { ClientRecordAction } from \"../Action/ClientRecordAction\";\r\nimport { AddTrustMemberAction } from \"../AddTrustMember/Action/AddTrustMemberAction\";\r\nimport { ClientRecordTab } from \"../Resource/Contents\";\r\nimport { ClientRecordStore } from \"../Store/Variable\";\r\nimport { AddBeneficiaries } from \"./Component/AddBeneficiary\";\r\n\r\nexport class AddBeneficiaryWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {}\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.OrganisationDetails])) {\r\n const organisation = JSON.parse(JSON.stringify(data[ClientRecordTab.OrganisationDetails]));\r\n (organisation as Organisation).Beneficiaries = [];\r\n (organisation as Organisation).OrganisationMembers = [];\r\n this.setState({ data: { Organisation: organisation }, isLoading: false });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const id = getQueryParameters()[\"customerid\"];\r\n ClientRecordAction.getOrganisationDetail(id);\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, params[\"customerid\"]),\r\n }).TrustServicing\r\n );\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, onPosting: true });\r\n AddTrustMemberAction.addTrustMembers(this.state.data?.Organisation, (data) => {\r\n this.setState({ isSubmitting: false, active: true, onPosting: false });\r\n this.onExit();\r\n });\r\n }\r\n\r\n setStepperConfig() {\r\n this.stepperConfig = [\r\n {\r\n title: \"Add additional beneficiaries\",\r\n url: Urls.get().AddBeneficiary,\r\n path: Contents.URLMap.beneficiary,\r\n canSubmit: () => this.child[0].isValid(),\r\n onSubmit: () => this.onSubmit(),\r\n component: ,\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Add additional beneficiaries\";\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n processProps.needSplitHeader = null;\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { BeneficiaryDetail } from \"../../../AddClient/Components/Organisation/BeneficiaryDetail\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport { ShareOfTrustTable } from \"../../Components/TrustMember/ShareOfTrustTable\";\r\nimport { TrustMemberTable } from \"../../Components/TrustMember/TrustMemberTable\";\r\nimport { ClientRecordTab } from \"../../Resource/Contents\";\r\nimport { AccountRoleStore, ClientRecordStore } from \"../../Store/Variable\";\r\n\r\ninterface IAddBeneficiariesProps extends IProcessComponentProps {\r\n data: { Organisation: Organisation };\r\n}\r\n\r\ninterface IAddBeneficiariesState {\r\n hasTrustAccount: boolean;\r\n accountId: number;\r\n}\r\n\r\nexport class AddBeneficiaries extends ProcessComponent {\r\n constructor(props: IAddBeneficiariesProps) {\r\n super(props);\r\n this.state = {\r\n hasTrustAccount: false,\r\n accountId: null,\r\n };\r\n this.subscribeToStore(AccountRoleStore, () => {\r\n const result = (AccountRoleStore.getData() || []).filter(\r\n (ele) => ele.AccountRoleType == RoleType.TrustAccountHolder\r\n );\r\n if (result.length > 0) {\r\n this.setState({\r\n hasTrustAccount: true,\r\n accountId: result[0].AccountId,\r\n });\r\n }\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n ClientRecordAction.getAccountRoleDetail(this.props.data?.Organisation?.CustomerId.toString());\r\n this.onDataChange(onChange, { ShareOfTrustItem: [] }, data, \"Organisation\");\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { hasTrustAccount, accountId } = this.state;\r\n const originalData: Organisation = ClientRecordStore.getData()?.[ClientRecordTab.OrganisationDetails];\r\n const memberNum =\r\n (originalData?.OrganisationMembers || []).length +\r\n (originalData?.Beneficiaries || []).length +\r\n (data?.Organisation?.Beneficiaries || []).length;\r\n return (\r\n <>\r\n

{data?.Organisation?.CustomerType == CustomerType.CorporateTrust ? \"Name\" : \"Trust Name\"}

\r\n

{data?.Organisation?.Name}

\r\n \r\n ele.Relationships.every((ele) => ele == RelationshipType.Beneficiary)\r\n )}\r\n isCompanyMember={false}\r\n isBeneficiaryOnly={true}\r\n onDelete={(id) => {}}\r\n onEdit={(id) => {}}\r\n onEditRoles={(id) => {}}\r\n title={\"Existing additional beneficiaries\"}\r\n onClickHistory={(id) => {}}\r\n onClickShareofTrust={() => {}}\r\n showShareOfTrust={false}\r\n />\r\n
\r\n this.appendChild(ref)}\r\n onChange={(changes) =>\r\n this.onDataChange(this.props.onChange, { Beneficiaries: changes }, data, \"Organisation\")\r\n }\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n memberNumber={memberNum}\r\n ownerAdviserId={data?.Organisation?.OwnerAdviserId}\r\n />\r\n
\r\n {hasTrustAccount && !CommonHelper.isNullOrEmpty(data?.Organisation?.Beneficiaries) && (\r\n \r\n x.Relationships.includes(RelationshipType.Beneficiary)\r\n )}\r\n isAddBeneficiary={true}\r\n IsAddAdditionalBeneficiary={true}\r\n onChange={(Organisation) => this.props.onChange({ Organisation })}\r\n accountId={accountId}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={(msg, now) => this.props.showErrorMsgPopUp(msg, now)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { Callbacks } from \"jquery\";\r\nimport { CompanyActorClient } from \"../../../../../../../Wrap/Api/Customer/CompanyActor\";\r\nimport { TrustAuthorisationRequestsClient } from \"../../../../../../../Wrap/Api/Customer/TrustAuthorisationRequests\";\r\nimport { TrustMemberClient } from \"../../../../../../../Wrap/Api/Customer/TrustMember\";\r\nimport { TrustMemberHistoryClient } from \"../../../../../../../Wrap/Api/Customer/TrustMemberHistory\";\r\nimport { TrustServicingModelClient } from \"../../../../../../../Wrap/Api/Customer/TrustServicingModel\";\r\nimport { TrustShareClient } from \"../../../../../../../Wrap/Api/Customer/TrustShare\";\r\nimport { TrustAuthorisationRequestType } from \"../../../../../../../Wrap/Constants/Enums/Customer/TrustAuthorisationRequestType\";\r\nimport { TrustRemovalReason } from \"../../../../../../../Wrap/Constants/Enums/Customer/TrustRemovalReason\";\r\nimport { AuthorisationStatus } from \"../../../../../../../Wrap/Models/Models/Common/AuthorisationStatus\";\r\nimport { Company } from \"../../../../../../../Wrap/Models/Models/Customer/Company\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { TrustMemberBulkRequest } from \"../../../../../../../Wrap/Models/Models/Customer/TrustMemberBulkRequest\";\r\n\r\nexport class AddTrustMemberAction {\r\n public static getTrustServicingModel(customerId: number, callback) {\r\n const client = new TrustServicingModelClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static addTrustMembers(organisation: Organisation, callback) {\r\n const client = new TrustMemberClient();\r\n const promise = client.post(organisation);\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static removeTrustMember(organisation: Organisation, reason: TrustRemovalReason, dateOfDeath, callback) {\r\n const client = new TrustMemberClient();\r\n const promise = client.delete(organisation, reason, dateOfDeath);\r\n promise.onSuccess((d) => {\r\n callback();\r\n });\r\n }\r\n\r\n public static createCompany(company: Company, ownerAdviserId: number, callback) {\r\n const client = new CompanyActorClient();\r\n const promise = client.post(ownerAdviserId, company);\r\n promise.onSuccess((d) => {\r\n callback(d.CustomerId);\r\n });\r\n }\r\n\r\n public static postTrustAuthorisation(\r\n customerId: number,\r\n organisationId: number,\r\n authorisationType: TrustAuthorisationRequestType,\r\n reason: TrustRemovalReason,\r\n callback\r\n ) {\r\n const client = new TrustAuthorisationRequestsClient();\r\n const promise = client.post(customerId, organisationId, authorisationType, reason);\r\n promise.onSuccess((d) => {\r\n callback();\r\n });\r\n }\r\n\r\n public static getShareOfTrust(customerId: number, callback) {\r\n const client = new TrustShareClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static getTrustAuthorisationRequests(\r\n organisationId: number,\r\n reason: TrustRemovalReason,\r\n status: AuthorisationStatus,\r\n trustMemberIds: Array,\r\n callback?\r\n ) {\r\n const client = new TrustAuthorisationRequestsClient();\r\n const promise = client.get(organisationId, reason, status, trustMemberIds);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getTrustMemberHistory(customerId: number, organisationId: number, accountId: number, callback?) {\r\n const client = new TrustMemberHistoryClient();\r\n const promise = client.get(customerId, accountId, organisationId);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static bulkGetTrustMemberHistory(\r\n customerId: Array,\r\n organisationId: number,\r\n accountId: number,\r\n callback?\r\n ) {\r\n const client = new TrustMemberHistoryClient();\r\n const request: TrustMemberBulkRequest = {\r\n CustomerIds: customerId,\r\n AccountId: accountId,\r\n OrganisationId: organisationId\r\n };\r\n const promise = client.post(request);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { Organisation } from \"../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { OrganisationMember } from \"../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { WizardComponent } from \"../../../../../Shared/Process/WizardComponent\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { ClientRecordAction } from \"../Action/ClientRecordAction\";\r\nimport { ClientRecordTab } from \"../Resource/Contents\";\r\nimport { ClientRecordStore } from \"../Store/Variable\";\r\nimport { AddTrustMemberAction } from \"./Action/AddTrustMemberAction\";\r\nimport { AddTrustMembers } from \"./Component/AddTrustMembers\";\r\n\r\nexport class AddTrustMembersWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {}\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.OrganisationDetails])) {\r\n const organisation = JSON.parse(JSON.stringify(data[ClientRecordTab.OrganisationDetails]));\r\n (organisation as Organisation).OrganisationMembers = [];\r\n (organisation as Organisation).Beneficiaries = [];\r\n (organisation as Organisation).ShareOfTrustItem = [];\r\n this.setState({ data: { Organisation: organisation }, isLoading: false });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const id = getQueryParameters()[\"customerid\"];\r\n ClientRecordAction.getOrganisationDetail(id);\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, params[\"customerid\"]),\r\n }).TrustServicing\r\n );\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, onPosting: true });\r\n const data: Organisation = JSON.parse(JSON.stringify(this.state.data?.Organisation));\r\n\r\n //If new trust members to add already hold relationship to the trust, then existing relationships are not added again\r\n const existingMembers: OrganisationMember[] = ClientRecordStore.getData()[ClientRecordTab.OrganisationDetails]\r\n .OrganisationMembers;\r\n data?.OrganisationMembers.forEach((element) => {\r\n const existingRelationships = (existingMembers || []).some((x) => x?.CustomerId == element?.CustomerId)\r\n ? (existingMembers || []).find((x) => x?.CustomerId == element?.CustomerId)?.Relationships\r\n : [];\r\n element.Relationships = element.Relationships.filter((x) => !existingRelationships.includes(x));\r\n });\r\n AddTrustMemberAction.addTrustMembers(data, (data) => {\r\n this.setState({ isSubmitting: false, active: true, onPosting: false });\r\n this.onExit();\r\n });\r\n }\r\n\r\n setStepperConfig() {\r\n this.stepperConfig = [\r\n {\r\n title: \"Add new trust members\",\r\n url: Urls.get().AddTrustMember,\r\n path: Contents.URLMap.trustMember,\r\n canSubmit: () => this.child[0].isValid(),\r\n onSubmit: () => this.onSubmit(),\r\n component: ,\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Add new trust members\";\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n processProps.needSplitHeader = null;\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { TrustDetail } from \"../../../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { TrustMember } from \"../../../AddClient/Components/Organisation/TrustMember\";\r\nimport { TrustMemeberDeclaration } from \"../../../Common/ClientDetails/TrustMemberDeclaration\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport { ShareOfTrustTable } from \"../../Components/TrustMember/ShareOfTrustTable\";\r\nimport { TrustMemberTable } from \"../../Components/TrustMember/TrustMemberTable\";\r\nimport { ClientRecordTab } from \"../../Resource/Contents\";\r\nimport { AccountRoleStore, ClientRecordStore } from \"../../Store/Variable\";\r\n\r\ninterface IAddTrustMembersProps extends IProcessComponentProps {\r\n data: { Organisation: Organisation };\r\n}\r\n\r\ninterface IAddTrustMembersState {\r\n hasTrustAccount: boolean;\r\n accountId: number;\r\n trustDetail: TrustDetail;\r\n showDeleteLightbox: boolean;\r\n deleteItemId: OrganisationMember;\r\n}\r\n\r\nexport class AddTrustMembers extends ProcessComponent {\r\n constructor(props: IAddTrustMembersProps) {\r\n super(props);\r\n this.state = {\r\n hasTrustAccount: false,\r\n accountId: null,\r\n trustDetail: null,\r\n showDeleteLightbox: false,\r\n deleteItemId: null,\r\n };\r\n this.subscribeToStore(AccountRoleStore, () => {\r\n const result = (AccountRoleStore.getData() || []).filter(\r\n (ele) => ele.AccountRoleType == RoleType.TrustAccountHolder\r\n );\r\n if (result.length > 0) {\r\n this.setState({\r\n hasTrustAccount: true,\r\n accountId: result[0].AccountId,\r\n });\r\n this.getTrustDetail(this.getHierarchyId(result[0].AccountId));\r\n }\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n ClientRecordAction.getAccountRoleDetail(this.props.data?.Organisation?.CustomerId.toString());\r\n }\r\n\r\n private getTrustDetail(hierarchyId: string) {\r\n if (hierarchyId) {\r\n ClientRecordAction.getTrustDetails(hierarchyId, (result) => {\r\n this.setState({ trustDetail: result });\r\n });\r\n }\r\n }\r\n\r\n private getHierarchyId(accountId: number) {\r\n return HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Account, accountId);\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { hasTrustAccount, trustDetail, accountId } = this.state;\r\n const originalData: Organisation = ClientRecordStore.getData()?.[ClientRecordTab.OrganisationDetails];\r\n return (\r\n <>\r\n

{data?.Organisation?.CustomerType == CustomerType.CorporateTrust ? \"Name\" : \"Trust Name\"}

\r\n

{data?.Organisation?.Name}

\r\n

Existing trust members

\r\n \r\n !ele.Relationships.includes(RelationshipType.CorporateTrustee) &&\r\n !ele.Relationships.every((ele) => ele == RelationshipType.Beneficiary)\r\n )}\r\n isCompanyMember={false}\r\n isBeneficiaryOnly={false}\r\n onDelete={(id) => this.setState({ showDeleteLightbox: true, deleteItemId: id })}\r\n onEdit={(id) => {}}\r\n onEditRoles={(id) => {}}\r\n onClickHistory={(id) => {}}\r\n onClickShareofTrust={() => {}}\r\n title={\"Individual members\"}\r\n showShareOfTrust={false}\r\n />\r\n
\r\n \r\n ele.Relationships.includes(RelationshipType.CorporateTrustee)\r\n )}\r\n isCompanyMember={true}\r\n isBeneficiaryOnly={false}\r\n onDelete={(id) => this.setState({ showDeleteLightbox: true, deleteItemId: id })}\r\n onEdit={(id) => {}}\r\n onEditRoles={(id) => {}}\r\n onClickHistory={(id) => {}}\r\n onClickShareofTrust={() => {}}\r\n title={\"Corporate members\"}\r\n showShareOfTrust={false}\r\n />\r\n
\r\n {}}\r\n onSubmit={() => {}}\r\n onlyTrustMember\r\n existingMembers={originalData?.OrganisationMembers || []}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableBeneficiaryOption={hasTrustAccount && trustDetail?.TrustCategory == \"Absolute\"}\r\n disableSettlorOption={hasTrustAccount}\r\n disableCorporateTrusteeOption={originalData?.OrganisationMembers?.some((x) =>\r\n x?.Relationships.includes(RelationshipType.CorporateTrustee)\r\n )}\r\n />\r\n
\r\n\r\n {hasTrustAccount &&\r\n !CommonHelper.isNullOrEmpty(data?.Organisation?.OrganisationMembers) &&\r\n data?.Organisation?.OrganisationMembers.some(\r\n (x) => x.Relationships.includes(RelationshipType.Beneficiary) && x?.CustomerId > 0\r\n ) && (\r\n \r\n x.Relationships.includes(RelationshipType.Beneficiary)\r\n )}\r\n isAddBeneficiary={true}\r\n IsAddAdditionalBeneficiary={false}\r\n onChange={(Organisation) => this.props.onChange({ Organisation })}\r\n accountId={accountId}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={(msg, now) => this.props.showErrorMsgPopUp(msg, now)}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import { xorWith } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { PostCodeAnywhereSearchEditor } from \"../../../../../react-core/Html/Address/PostCodeAnywhereSearchEditor\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { UkPostCode } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { CustomerType } from \"../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { PhysicalAddressType } from \"../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { CountryCode } from \"../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { AddressDetailModel } from \"../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { AddressHelper } from \"../../../../Shared/Common/AddressHelper\";\r\nimport { CountryCodeMap } from \"../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { DeleteLightbox } from \"../../../Common/DeleteLightbox\";\r\nimport { FullClientDetailHelper } from \"../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { SectionTable } from \"./Components/SectionTable\";\r\nimport { AddressTypeMap, IClientTabProps } from \"./Resource/Contents\";\r\n\r\ninterface IAddressTabState {\r\n Data: Array;\r\n isLoading: boolean;\r\n showDeleteLightbox: boolean;\r\n addressToDelete: AddressDetailModel;\r\n}\r\ninterface IAddressTabProps extends IClientTabProps {\r\n customerType: CustomerType;\r\n}\r\n\r\nexport class Addresses extends FormComponent {\r\n constructor(props: IAddressTabProps) {\r\n super(props);\r\n this.state = {\r\n Data: [],\r\n isLoading: true,\r\n showDeleteLightbox: false,\r\n addressToDelete: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n ClientRecordAction.getCustomerAddress(Number.parseInt(this.props.id), (val) => {\r\n this.setState({\r\n Data: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (this.state.isLoading) {\r\n return ;\r\n }\r\n const primaryResidential = this.state.Data.filter(\r\n (x) =>\r\n x.PhysicalAddressType == PhysicalAddressType.Residential ||\r\n x.PhysicalAddressType == PhysicalAddressType.Registered\r\n );\r\n const postalAddress = this.state.Data.filter(\r\n (x) =>\r\n x.PhysicalAddressType == PhysicalAddressType.Postal &&\r\n !primaryResidential.find((ele) => FullClientDetailHelper.isSameAddress(ele.Address, x.Address))\r\n );\r\n return (\r\n <>\r\n
\r\n {this.renderSection(\r\n primaryResidential,\r\n !primaryResidential[0]?.PhysicalAddressType\r\n ? this.props.customerType == CustomerType.CorporateTrust ||\r\n this.props.customerType == CustomerType.Company\r\n ? PhysicalAddressType.Registered\r\n : PhysicalAddressType.Residential\r\n : primaryResidential[0]?.PhysicalAddressType\r\n )}\r\n
\r\n {this.renderSection(postalAddress, PhysicalAddressType.Postal)}\r\n
\r\n {this.state.showDeleteLightbox && (\r\n this.setState({ showDeleteLightbox: false })}\r\n onDelete={() => this.onRemove(this.state.addressToDelete)}\r\n content={

Are you sure you want to delete this address?

}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderSection(address: Array, type: PhysicalAddressType): JSX.Element {\r\n if (\r\n type == PhysicalAddressType.Postal &&\r\n !this.state.Data.some(\r\n (x) =>\r\n x.PhysicalAddressType == PhysicalAddressType.Residential ||\r\n x.PhysicalAddressType == PhysicalAddressType.Registered\r\n )\r\n ) {\r\n return (\r\n <>\r\n \r\n this.renderLightBox(data, onDataChange, AddressTypeMap[type])\r\n }\r\n key={AddressTypeMap[type]}\r\n data={{ PhysicalAddressType: type }}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n \r\n );\r\n } else if (address.length == 0) {\r\n if (this.props?.hasReadWriteAccess != true) {\r\n return (\r\n <>\r\n \r\n this.renderLightBox(data, onDataChange, AddressTypeMap[type])\r\n }\r\n key={AddressTypeMap[type]}\r\n data={{ PhysicalAddressType: type }}\r\n canEdit={false}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n this.renderLightBox(data, onDataChange, AddressTypeMap[type])\r\n }\r\n key={AddressTypeMap[type]}\r\n onAdd={(data) => this.onAdd(data)}\r\n data={{ PhysicalAddressType: type }}\r\n />\r\n \r\n );\r\n }\r\n } else {\r\n let columnConfigs = [\r\n { title: \"Country\", data: CountryCodeMap.getString(address[0].Address.Country) },\r\n { title: \"Line1\", data: address[0].Address.Address1 },\r\n { title: \"Line2\", data: address[0].Address.Address2 },\r\n { title: \"Line3\", data: address[0].Address.Address3 },\r\n ];\r\n if (!CommonHelper.isNullOrEmpty(address[0]?.Address?.Address4)) {\r\n columnConfigs = columnConfigs.concat({ title: \"Line4\", data: address[0].Address.Address4 });\r\n }\r\n columnConfigs = columnConfigs.concat({ title: \"Postcode\", data: address[0].Address.PostCode });\r\n return (\r\n <>\r\n \r\n this.renderLightBox(data, onDataChange, AddressTypeMap[type])\r\n }\r\n key={AddressTypeMap[type]}\r\n onSave={(data) => (this.props?.hasReadWriteAccess != true ? null : this.onSave(data))}\r\n onRemove={\r\n address[0].PhysicalAddressType == PhysicalAddressType.Residential ||\r\n address[0].PhysicalAddressType == PhysicalAddressType.Registered ||\r\n this.props?.hasReadWriteAccess != true\r\n ? null\r\n : () => this.setState({ addressToDelete: address[0], showDeleteLightbox: true })\r\n }\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n \r\n );\r\n }\r\n }\r\n private onSave(data): boolean {\r\n if (this.isValid()) {\r\n const type = data.PhysicalAddressType;\r\n const { Data } = this.state;\r\n const index = Data.findIndex((ele) => ele.PhysicalAddressType == type);\r\n Data[index] = data;\r\n ClientRecordAction.saveCustomerAddress(Number.parseInt(this.props.id), Data, (val) => {\r\n this.setState({\r\n Data: Data,\r\n isLoading: false,\r\n });\r\n });\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onAdd(data): boolean {\r\n if (this.isValid()) {\r\n const Data = this.state.Data;\r\n Data.push(data);\r\n ClientRecordAction.addCustomerAddress(Number.parseInt(this.props.id), data, () => {\r\n this.setState({\r\n Data: Data,\r\n isLoading: false,\r\n });\r\n });\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onRemove(data) {\r\n const type = data.PhysicalAddressType;\r\n const { Data } = this.state;\r\n const index = Data.findIndex((ele) => ele.PhysicalAddressType == type);\r\n Data.splice(index, 1);\r\n ClientRecordAction.saveCustomerAddress(Number.parseInt(this.props.id), Data, (val) => {\r\n this.setState({\r\n Data: Data,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n private renderLightBox(ele: AddressDetailModel, onDataChange, header: string): JSX.Element {\r\n if (!ele?.Address?.Country || ele?.Address?.Country == null) {\r\n this.onPostCodeSearchChange(\r\n {\r\n Country: CountryCode.GBR,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }\r\n const { Data } = this.state;\r\n const address = Data.find((x) => x.PhysicalAddressType == ele?.PhysicalAddressType);\r\n return (\r\n <>\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n placeholder=\"Please select\"\r\n label={\"Country\"}\r\n required=\"Please select Country\"\r\n selected={ele?.Address?.Country}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n this.onPostCodeSearchChange(\r\n {\r\n Country: v,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }}\r\n />\r\n

AddressType: {header}

\r\n {}}\r\n useLabelForAddress\r\n onAddressSelected={(v) => {\r\n this.onPostCodeSearchChange(\r\n {\r\n Address1: v.Line1,\r\n Address2: v.Line2,\r\n Address3: v.Line3,\r\n PostCode: v.Postcode,\r\n Country: v.CountryCode,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }}\r\n countryCode={ele?.Address?.Country}\r\n cssWrapper=\"control-size-430\"\r\n label={`Residential address`}\r\n />\r\n {\r\n this.onPostCodeSearchChange(\r\n {\r\n Address1: v,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }}\r\n />\r\n {\r\n this.onPostCodeSearchChange(\r\n {\r\n Address2: v,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }}\r\n />\r\n {\r\n this.onPostCodeSearchChange(\r\n {\r\n Address3: v,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }}\r\n />\r\n {!CommonHelper.isNullOrEmpty(address?.Address?.Address4) && (\r\n {\r\n this.onPostCodeSearchChange(\r\n {\r\n Address4: v,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }}\r\n />\r\n )}\r\n\r\n {\r\n this.onPostCodeSearchChange(\r\n {\r\n PostCode: v,\r\n },\r\n onDataChange,\r\n ele.Address\r\n );\r\n }}\r\n regex={\r\n ele?.Address?.Country == CountryCode.GBR\r\n ? {\r\n value: UkPostCode,\r\n errorMessage: \"You must enter a valid UK postcode.\",\r\n }\r\n : null\r\n }\r\n />\r\n \r\n );\r\n }\r\n\r\n private onPostCodeSearchChange(changes, onDataChange, data) {\r\n const _data = JSON.parse(JSON.stringify(data ? data : {}));\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n onDataChange({ Address: _data });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { CustomerType } from \"../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Organisation } from \"../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { Company } from \"../../../../../Wrap/Models/Models/Customer/Company\";\r\nimport { Permission } from \"../../../../Shared/Permission/Permission\";\r\nimport { Tab } from \"../../../../Shared/Tab/Tab\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { Addresses } from \"./Addresses\";\r\nimport { CompanyDetails } from \"./CompanyDetail\";\r\nimport { HeaderBar } from \"./Components/HeaderBar\";\r\nimport { ContactDetails } from \"./ContactDetails\";\r\nimport { OrganisationDetails } from \"./OrganisationDetails\";\r\nimport { PensionProtection } from \"./PensionProtection\";\r\nimport { PersonalDetails } from \"./PersonalDetails\";\r\nimport { Regulatory } from \"./Regulatory\";\r\nimport { RegulatoryChecks } from \"./RegulatoryChecks\";\r\nimport {\r\n ClientRecordTab,\r\n AllClientRecordTabs,\r\n CompanyClientRecordTabs,\r\n IndividualClientRecordTabs,\r\n OrganisationClientRecordTabs,\r\n} from \"./Resource/Contents\";\r\nimport { ClientRecordStore } from \"./Store/Variable\";\r\nimport { TrustServicing } from \"./TrustServicing\";\r\nimport { ContextStore } from \"../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { PermissionAction } from \"../../../../Shared/Permission/Action/PermissionAction\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\n\r\ninterface IClientRecordProps extends React.Props {}\r\n\r\ninterface IClientRecordState {\r\n data?: any;\r\n tabIndex: ClientRecordTab;\r\n customerType: CustomerType;\r\n name: string;\r\n hasReadWriteAccessToAdviser: boolean;\r\n}\r\n\r\nexport class ClientRecord extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n tabIndex: this.getTabIndex(),\r\n customerType: null,\r\n name: \"\",\r\n hasReadWriteAccessToAdviser: true,\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n const customerId = this.getCustomerId();\r\n PermissionAction.checkUserHavePermissionForAdviserByActor(Number(customerId), (data) => {\r\n this.setState({ hasReadWriteAccessToAdviser: data?.IsReadOnly != true });\r\n });\r\n ClientRecordAction.getAccountRoleDetail(customerId);\r\n ClientRecordAction.getPersonalDetail(customerId);\r\n ClientRecordAction.getOrganisationDetail(customerId);\r\n ClientRecordAction.getCompanyDetail(customerId);\r\n }\r\n\r\n public componentWillReceiveProps() {\r\n const tabIndex = this.getTabIndex();\r\n if (tabIndex !== this.state.tabIndex) {this.getContent(tabIndex, this.getCustomerId());}\r\n }\r\n\r\n private getCustomerId() {\r\n return HierarchyIdHelper.generateHierarchyId(\r\n ContextStore.getUrlParamsHierarchyId(ContextType.Customer)\r\n ).entityId?.toString();\r\n }\r\n\r\n private getTabIndex(): ClientRecordTab {\r\n const i = window.location.pathname.lastIndexOf(\"/\");\r\n const path = window.location.pathname.substr(i + 1);\r\n if (CommonHelper.isNullOrEmpty(path) || path.toLowerCase() == \"detail\") {return null;}\r\n const tabs = AllClientRecordTabs;\r\n let tabIndex: ClientRecordTab = null;\r\n tabs.forEach((element: string) => {\r\n if (element.toLowerCase() === path.toLowerCase().replace(\"-\", \" \")) {\r\n tabIndex = element as ClientRecordTab;\r\n }\r\n });\r\n return tabIndex;\r\n }\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.PersonalDetail])) {\r\n this.setState({\r\n customerType: CustomerType.Individual,\r\n name: `${data[ClientRecordTab.PersonalDetail]?.GivenName} ${\r\n data[ClientRecordTab.PersonalDetail]?.FamilyName\r\n }`,\r\n });\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.OrganisationDetails])) {\r\n const organisation: Organisation = data[ClientRecordTab.OrganisationDetails];\r\n if (organisation?.CustomerType && organisation?.CustomerType !== CustomerType.Company) {\r\n this.setState({\r\n customerType: organisation.CustomerType,\r\n name: data[ClientRecordTab.OrganisationDetails]?.Name,\r\n });\r\n } else {\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.CompanyDetails])) {\r\n const company: Company = data[ClientRecordTab.CompanyDetails];\r\n this.setState({\r\n customerType: CustomerType.Company,\r\n name: company?.CompanyName,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n public getContent(key: ClientRecordTab, id: string) {\r\n if (!key) {return null;}\r\n let _content = null;\r\n const hasReadOnlyAccess =\r\n this.state?.hasReadWriteAccessToAdviser == true && UserStore.getUserInfo()?.IsReadOnly == false;\r\n switch (key) {\r\n case ClientRecordTab.PersonalDetail:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case ClientRecordTab.OrganisationDetails:\r\n if (this.state.customerType === CustomerType.Company) {\r\n _content = (\r\n \r\n \r\n \r\n );\r\n } else {\r\n _content = (\r\n \r\n {}}\r\n onRef={() => {}}\r\n hasReadWriteAccess={hasReadOnlyAccess}\r\n />\r\n \r\n );\r\n }\r\n break;\r\n case ClientRecordTab.RegulatoryChecks:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case ClientRecordTab.Regulatory:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case ClientRecordTab.AddressDetail:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case ClientRecordTab.ContactDetail:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case ClientRecordTab.PensionProtection:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case ClientRecordTab.TrustServicing:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n }\r\n return _content;\r\n }\r\n\r\n private getTabArray = (customerType: CustomerType): ClientRecordTab[] => {\r\n let tabs = [];\r\n\r\n if (customerType == CustomerType.Individual) {\r\n tabs = IndividualClientRecordTabs;\r\n } else if (customerType == CustomerType.Trust || customerType == CustomerType.CorporateTrust) {\r\n tabs = OrganisationClientRecordTabs;\r\n } else if (customerType == CustomerType.Company) {\r\n tabs = CompanyClientRecordTabs;\r\n }\r\n return tabs;\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { tabIndex, customerType, name } = this.state;\r\n const tabs = this.getTabArray(customerType);\r\n if (!customerType) {return null;}\r\n\r\n return (\r\n
\r\n \r\n\r\n {\r\n this.setState({ tabIndex: tab });\r\n }}\r\n />\r\n\r\n
{this.getContent(tabIndex, this.getCustomerId())}
\r\n
\r\n );\r\n }\r\n\r\n private pagePermission = () => {\r\n const permission = new Map();\r\n permission.set(ClientRecordTab.AddressDetail, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n permission.set(ClientRecordTab.PensionProtection, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n permission.set(ClientRecordTab.PersonalDetail, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n permission.set(ClientRecordTab.ContactDetail, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n permission.set(ClientRecordTab.RegulatoryChecks, UserClaim.AdviserPortalCustomerFullyAccessCanView);\r\n permission.set(ClientRecordTab.Regulatory, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n permission.set(ClientRecordTab.OrganisationDetails, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n\r\n return permission;\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { AlphanumericWithSpecialCharacters } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { CompanyType } from \"../../../../../Wrap/Constants/Enums/Customer/CompanyType\";\r\nimport { CustomerType } from \"../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { CustomerStatus } from \"../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { Company } from \"../../../../../Wrap/Models/Models/Customer/Company\";\r\nimport { CompanyTypeMap, CompanyTypeOption, CustomerTypeArraysMap } from \"../AddClient/Resource/Contents\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { SectionTable } from \"./Components/SectionTable\";\r\nimport { ClientRecordTab, customerStatusMap, IClientTabProps } from \"./Resource/Contents\";\r\nimport { AccountRoleStore, ClientRecordStore } from \"./Store/Variable\";\r\n\r\ninterface ICompanyDetailState {\r\n companyDetail: Company;\r\n isCompanyDetailLoading: boolean;\r\n accountRoleDetails: Array;\r\n}\r\n\r\nexport class CompanyDetails extends FormComponent {\r\n constructor(props: IClientTabProps) {\r\n super(props);\r\n this.state = {\r\n companyDetail: null,\r\n isCompanyDetailLoading: true,\r\n accountRoleDetails: AccountRoleStore.getData()?.length > 0 ? AccountRoleStore.getData() : null,\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n this.subscribeToStore(AccountRoleStore, () => this.onAccountRoleStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ isCompanyDetailLoading: true });\r\n ClientRecordAction.getCompanyDetail(this.props.id);\r\n }\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (data[ClientRecordTab.CompanyDetails]) {\r\n const company = data[ClientRecordTab.CompanyDetails];\r\n this.setState({\r\n isCompanyDetailLoading: false,\r\n companyDetail: company,\r\n });\r\n }\r\n }\r\n\r\n private onAccountRoleStoreChange() {\r\n const data = AccountRoleStore.getData();\r\n if (data.length > 0) {\r\n this.setState({ accountRoleDetails: data });\r\n }\r\n }\r\n\r\n private onCompanyDetailSave(data) {\r\n if (this.isValid()) {\r\n this.setState({ isCompanyDetailLoading: true });\r\n ClientRecordAction.putCompanyDetail(data, this.props.id);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private getCompanyDetailColConfig(data: Company, roles: Array) {\r\n if (!data) {return [];}\r\n const config = [\r\n {\r\n title: \"Organisation type\",\r\n data: CustomerTypeArraysMap[CustomerType.Company],\r\n },\r\n {\r\n title: \"Organisation status\",\r\n data:\r\n data.Status == CustomerStatus.Inactive\r\n ? \"Inactive\"\r\n : roles.length\r\n ? customerStatusMap[data.Status]\r\n : \"Prospect\",\r\n },\r\n {\r\n title: \"Organisation name\",\r\n data: data?.CompanyName,\r\n },\r\n {\r\n title: \"Company type\",\r\n data: CompanyTypeMap[data?.CompanyType],\r\n },\r\n ];\r\n return config;\r\n }\r\n\r\n private renderCompanyDetailLightBox(data: Company, onDataChange) {\r\n return (\r\n <>\r\n onDataChange({ CompanyName: value })}\r\n required={\"Please enter name\"}\r\n maxLength={50}\r\n />\r\n {\r\n return CompanyTypeMap[v];\r\n }}\r\n cssWrapper=\"control-size-430\"\r\n required=\"Please select\"\r\n label=\"Company type\"\r\n validationRules={[\r\n {\r\n errorMessage: \"Please select\",\r\n validator: (v) => {\r\n return v != CompanyType.NotSpecified;\r\n },\r\n },\r\n ]}\r\n selected={data?.CompanyType}\r\n onChange={(value) => onDataChange({ CompanyType: value })}\r\n />\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { companyDetail, isCompanyDetailLoading, accountRoleDetails } = this.state;\r\n\r\n return (\r\n
\r\n this.renderCompanyDetailLightBox(data, onDataChange)}\r\n onSave={(data) => this.onCompanyDetailSave(data)}\r\n data={companyDetail}\r\n sectionHeaderCss={\"mb-40\"}\r\n cssWrapper={\"mb-20\"}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { AMLCheckClient } from \"../../../../../../Wrap/Api/Customer/AMLCheck\";\r\nimport { AMLCheckACtion } from \"../Action/AMLCheckAction\";\r\n\r\ninterface IAMLCheckProps {\r\n customerId: number;\r\n onSuccess: () => void;\r\n}\r\n\r\nexport const AMLCheck = (props: IAMLCheckProps) => {\r\n const [isRequested, setisRequested] = useState(false);\r\n const [isSuccess, setIsSuccess] = useState(null);\r\n return (\r\n
\r\n {\r\n setisRequested(true);\r\n AMLCheckACtion.getAmlCheck(props.customerId, (res) => {\r\n if (res !== \"An error occured\") {\r\n props.onSuccess();\r\n } else {\r\n setIsSuccess(false);\r\n }\r\n });\r\n }}\r\n >\r\n {!isRequested ? \"Request Check\" : isSuccess == false ? \"Check failed\" : \"Check in progress\"}\r\n \r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\nexport const AddNewButton = (props: any) => {\r\n return (\r\n
\r\n
\r\n
\r\n props.onClick()}\r\n disabled={props.isReview}\r\n >\r\n {props.name}\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const CreateUserIcon = (props: any) => {\r\n const cssClassNames = classNames(\"create-user-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../Urls\";\r\n\r\ninterface IHeaderBarProps {\r\n clientId: string;\r\n name: string;\r\n}\r\n\r\nexport const HeaderBar = (props: IHeaderBarProps) => {\r\n return (\r\n
\r\n

\r\n {props.name} \r\n

\r\n
Customer ID: {props.clientId}
\r\n {checkPermission(UserClaim.AdviserPortalClientSummaryCanView) && (\r\n
\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n Number(props.clientId)\r\n ),\r\n }).summary\r\n );\r\n }}\r\n className=\"hyperlink-previous\"\r\n >\r\n \r\n Back to summary\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { NoteType } from \"../../../../../../Wrap/Constants/Enums/Customer/NoteType\";\r\nimport { NoteDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/NoteDetailModel\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { DeleteLightbox } from \"../../../../Common/DeleteLightbox\";\r\nimport { SectionHeader } from \"../../Common/SharedComponents\";\r\nimport { AddNewButton } from \"./AddNewButton\";\r\nimport { UserClient } from \"../../../../../../Wrap/Api/User/User\";\r\nimport { IndividualUserFunctionClient } from \"../../../../../../Wrap/Api/User/IndividualUserFunction\";\r\n\r\ninterface IImportantFileProps {\r\n data: Array;\r\n onAdd: (data) => boolean;\r\n onSave: (data) => boolean;\r\n onDelete: (data) => boolean;\r\n hasReadWriteAccess: boolean;\r\n}\r\n\r\nconst getTableConfig = (setNewData, setIsShow, setShowDeleteLightbox, setTextareaRequired, hasReadWriteAccess, hasImportantNotePermission) => {\r\n return [\r\n {\r\n title: \"Note\",\r\n key: \"Note\",\r\n },\r\n {\r\n title: \"Critical flag\",\r\n key: \"NoteType\",\r\n render: (data: NoteType) => {\r\n return data == NoteType.RegulatoryCritical ? \"Yes\" : \"No\";\r\n },\r\n },\r\n hasReadWriteAccess == true\r\n ? {\r\n title: \"Edit\",\r\n key: \"\",\r\n tdCssWrapper: \"cell-center\",\r\n thCssWrapper: \"cell-center\",\r\n render: (data, row: NoteDetailModel) => {\r\n return (\r\n {\r\n if (hasImportantNotePermission){\r\n setNewData(row);\r\n setIsShow(true);\r\n setTextareaRequired(true);\r\n }\r\n }}\r\n disabled={!hasImportantNotePermission}\r\n >\r\n Edit Notes\r\n \r\n \r\n );\r\n },\r\n }\r\n : null,\r\n hasReadWriteAccess == true\r\n ? {\r\n title: \"Remove\",\r\n key: \"\",\r\n tdCssWrapper: \"cell-center\",\r\n thCssWrapper: \"cell-center\",\r\n render: (data, row: NoteDetailModel) => {\r\n return ( hasImportantNotePermission? (\r\n {\r\n setNewData(row);\r\n setShowDeleteLightbox(true);\r\n }}\r\n >\r\n Remove\r\n \r\n ) : null\r\n );\r\n },\r\n }\r\n : null,\r\n ];\r\n};\r\n\r\nexport const ImportantFile = (props: IImportantFileProps) => {\r\n const [newData, setNewData] = useState({ NoteType: NoteType.RegulatoryCheck });\r\n const [isShow, setIsShow] = useState(false);\r\n const [showDeleteLightbox, setShowDeleteLightbox] = useState(false);\r\n const [textareaRequired, setTextareaRequired] = useState(false);\r\n const [hasImportantNotePermission, setHasImportantNotePermission] = useState(false);\r\n const [claccountid, setClaccountid] = useState(0);\r\n\r\n const client = new UserClient();\r\n const promise = client.get();\r\n promise.onSuccess((result) => {\r\n setClaccountid(result.ClientId)\r\n const FunctionName = \"CanModifyImportantNotes\"\r\n const functionCheckClient = new IndividualUserFunctionClient();\r\n const functionCheckPromise = functionCheckClient.get(claccountid, FunctionName);\r\n functionCheckPromise\r\n .onSuccess((data) => {\r\n setHasImportantNotePermission(data);\r\n })\r\n .onError(() => {\r\n setHasImportantNotePermission(false);\r\n });\r\n });\r\n promise.onError((err) => {}); \r\n return (\r\n <>\r\n
\r\n {SectionHeader(\"Important notes\")}\r\n {props?.hasReadWriteAccess == true && (\r\n
\r\n {\r\n if (hasImportantNotePermission){\r\n setIsShow(true);\r\n setTextareaRequired(false);\r\n } \r\n }}\r\n isReview={!hasImportantNotePermission}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n {isShow && (\r\n {\r\n setIsShow(false);\r\n setNewData({ NoteType: NoteType.RegulatoryCheck });\r\n }}\r\n show={isShow}\r\n title={newData?.NoteId ? \"Edit important notes\" : \"Add important notes\"}\r\n >\r\n {\r\n const _newData = JSON.parse(JSON.stringify(newData));\r\n if (v) {\r\n _newData.NoteType = NoteType.RegulatoryCritical;\r\n } else {\r\n _newData.NoteType = NoteType.RegulatoryCheck;\r\n }\r\n setNewData(_newData);\r\n }}\r\n />\r\n
\r\n {\r\n const _newData = JSON.parse(JSON.stringify(newData));\r\n _newData.Note = e.target.value;\r\n setNewData(_newData);\r\n if (e.target.value.trim() !== \"\") {\r\n setTextareaRequired(true);\r\n } else {\r\n setTextareaRequired(false);\r\n }\r\n }}\r\n maxLength={500}\r\n value={newData?.Note}\r\n placeholder={\"Important note is mandatory and has a character limit of 500\"}\r\n required={true}\r\n >\r\n
\r\n\r\n
\r\n
\r\n {\r\n setNewData({ NoteType: NoteType.RegulatoryCheck });\r\n setIsShow(false);\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n if (newData?.NoteId) {\r\n if (props.onSave(newData)) {\r\n setNewData({ NoteType: NoteType.RegulatoryCheck });\r\n setIsShow(false);\r\n }\r\n } else {\r\n if (props.onAdd(newData)) {\r\n setNewData({ NoteType: NoteType.RegulatoryCheck });\r\n setIsShow(false);\r\n }\r\n }\r\n }}\r\n >\r\n {newData?.NoteId ? \"Save changes\" : \"Add\"}\r\n \r\n
\r\n
\r\n \r\n )}\r\n {showDeleteLightbox && (\r\n {\r\n setNewData({ NoteType: NoteType.RegulatoryCheck });\r\n setShowDeleteLightbox(false);\r\n }}\r\n onDelete={() => {\r\n if (props.onDelete(newData)) {\r\n setNewData({ NoteType: NoteType.RegulatoryCheck });\r\n setShowDeleteLightbox(false);\r\n }\r\n }}\r\n content={\r\n <>\r\n

Are you sure?

\r\n \r\n }\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport { RegulatoryTabs } from \"../../Resource/RegulatoryContents\";\r\nimport { TableViewSection } from \"../TableViewSection\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { RoleStatusMap } from \"../../Resource/Contents\";\r\nimport {\r\n ControllingPersonTypeArray,\r\n ControllingPersonTypeMap,\r\n} from \"../../../PortfolioDashboard/Components/Role/Resource/Contents\";\r\nimport { ControllingPersonRoleDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/ControllingPersonRoleDetailModel\";\r\nimport { ControllingPersonType } from \"../../../../../../../Wrap/Constants/Enums/Customer/ControllingPersonType\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { ErrorMessagePopup } from \"../../../../../../Shared/Components/ErrorMessagePopup\";\r\n\r\ninterface IControllingPersonDetailsProps {\r\n customerid: number;\r\n hasReadWriteAccess: boolean;\r\n data: Array;\r\n residencyData: Array;\r\n isLoading: boolean;\r\n onSave: (data: ControllingPersonRoleDetailModel, selectedType: ControllingPersonType) => boolean;\r\n}\r\ninterface IControllingPersonDetailsState {\r\n selectedType: ControllingPersonType;\r\n}\r\nexport class ControllingPersonDetails extends FormComponent<\r\n IControllingPersonDetailsProps,\r\n IControllingPersonDetailsState\r\n> {\r\n constructor(props: IControllingPersonDetailsProps) {\r\n super(props);\r\n this.state = {\r\n selectedType: ControllingPersonType.NotSpecified,\r\n };\r\n }\r\n\r\n hasNonUKTaxResidency(): boolean {\r\n const { residencyData } = this.props;\r\n return residencyData.filter((x) => x.Country != CountryCode.GBR && x.IsTaxResident).length > 0;\r\n }\r\n\r\n render() {\r\n const { data, isLoading } = this.props;\r\n if (isLoading) {\r\n return ;\r\n }\r\n if (data == null || data?.length == 0) {\r\n return null;\r\n }\r\n const columnConfigs = [\r\n {\r\n title: \"Account\",\r\n key: \"ClAccountId\",\r\n },\r\n {\r\n title: \"Legal name/Corporate name\",\r\n key: \"AccountName\",\r\n },\r\n {\r\n title: \"Type of controlling person\",\r\n key: \"ControllingPersonType\",\r\n render: (x) => {\r\n return ControllingPersonTypeMap[x];\r\n },\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"AccountRoleStatus\",\r\n render: (x) => {\r\n return RoleStatusMap[x];\r\n },\r\n },\r\n {\r\n title: \"Role start date\",\r\n key: \"RoleStartDate\",\r\n render: (x) => {\r\n return x == null ? \"-\" : JsonDateParser.getFormatDate(x, \"dd/MM/yyyy\");\r\n },\r\n },\r\n {\r\n title: \"Role end date\",\r\n key: \"RoleEndDate\",\r\n render: (x) => {\r\n return x == null ? \"-\" : JsonDateParser.getFormatDate(x, \"dd/MM/yyyy\");\r\n },\r\n },\r\n ];\r\n return (\r\n <>\r\n this.renderLightBox(data, onDataChange)}\r\n onSave={(data) => this.isValid() && this.props.onSave(data, this.state.selectedType)}\r\n data={data}\r\n canAdd={false}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n canRemove={false}\r\n />\r\n \r\n );\r\n }\r\n\r\n renderLightBox(data: ControllingPersonRoleDetailModel, onDataChange): JSX.Element {\r\n return (\r\n <>\r\n

{data.ClAccountId}

\r\n ControllingPersonTypeMap[o]}\r\n placeholder=\"Please select\"\r\n label={\"Type of Controlling person\"}\r\n required=\"Please select a type\"\r\n selected={data?.ControllingPersonType}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n this.onTypeChange(v);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Validation error the controlling person cannot be a blank as tax residence is Non UK\",\r\n validator: (v) => {\r\n // no need check for non not-specifiec value\r\n if (v != ControllingPersonType.NotSpecified) {return true;}\r\n // if value = not specifiec and has non uk tax residency, validation failed\r\n return !this.hasNonUKTaxResidency();\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n onTypeChange(type: ControllingPersonType) {\r\n this.setState({ selectedType: type });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Alphanumeric } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { NationalInsuranceNumber } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { MifirCountryIdentifierClient } from \"../../../../../../../Wrap/Api/Regulations/MifirCountryIdentifier\";\r\nimport { TaxReferenceType } from \"../../../../../../../Wrap/Constants/Enums/Customer/TaxReferenceType\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { MifirIdentifierType } from \"../../../../../../../Wrap/Constants/Enums/Domain/MifirIdentifierType\";\r\nimport { MifirCountryIdentifier } from \"../../../../../../../Wrap/Models/Domains/Regulations/MifirCountryIdentifier\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { NationalIdentifierPair } from \"../../../NewBusinessWizard/Components/FullClientDetail/NationalIdentifierPair\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport { RegulatoryTabs } from \"../../Resource/RegulatoryContents\";\r\nimport {\r\n RegulatoryHelper,\r\n TaxReferenceTypeMap_GBR,\r\n TaxReferenceTypeMap_SGP,\r\n TaxReferenceTypeMap_USA,\r\n} from \"../../Resource/RegulatoryCountryHelper\";\r\nimport { TableViewSection } from \"../TableViewSection\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Lightbox as NewLightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { ControllingPersonRoleDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/ControllingPersonRoleDetailModel\";\r\nimport { RoleStatus } from \"../../../../../../../Wrap/Constants/Enums/RoleStatus\";\r\nimport { ControllingPersonType } from \"../../../../../../../Wrap/Constants/Enums/Customer/ControllingPersonType\";\r\n\r\ninterface ICustomerTaxResidencyTableProps {\r\n customerid: number;\r\n data: Array;\r\n reloadTable: () => void;\r\n hasReadWriteAccess: boolean;\r\n controllingPersonData: Array;\r\n needReload: () => void;\r\n}\r\ninterface ICustomerTaxResidencyTableState {\r\n isLoading: boolean;\r\n mifirCountryIdentifiers: Map;\r\n isEdit: boolean;\r\n showDeleteLightbox: boolean;\r\n showLastDeleteLightbox: boolean;\r\n itemToRemove: number;\r\n}\r\nexport class CustomerTaxResidencyTable extends FormComponent<\r\n ICustomerTaxResidencyTableProps,\r\n ICustomerTaxResidencyTableState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n isEdit: false,\r\n mifirCountryIdentifiers: new Map(),\r\n showDeleteLightbox: false,\r\n showLastDeleteLightbox: false,\r\n itemToRemove: null,\r\n };\r\n }\r\n\r\n private child = null;\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.setState({ isLoading: true });\r\n if (this.props.data) {\r\n this.props.data.map((x) => x.Country && this.loadMifirCountryIdentifier(x.Country));\r\n this.setState({\r\n isLoading: false,\r\n });\r\n }\r\n }\r\n\r\n // return true if this country is requiring tax reference as nationality number\r\n private countryHasTaxReferenceIdentifier(isTaxResident: boolean, country: CountryCode): boolean {\r\n const { mifirCountryIdentifiers } = this.state;\r\n return (\r\n country &&\r\n isTaxResident &&\r\n mifirCountryIdentifiers.has(country) &&\r\n mifirCountryIdentifiers.get(country)[0].IdentifierType == MifirIdentifierType.TaxNumber\r\n );\r\n }\r\n\r\n private getNationalIdentifier(\r\n country: CustomerTaxResidencyModel\r\n ): { nationalIdentifierType: string; nationalIdentifier: string } {\r\n const { mifirCountryIdentifiers } = this.state;\r\n if (country?.IsNationality) {\r\n if (country?.Country == CountryCode.GBR && country?.TaxReference) {\r\n if (country?.TaxReferenceType == TaxReferenceType.GbrUtr) {\r\n return {\r\n nationalIdentifierType: \"Unique Taxpayer Reference\",\r\n nationalIdentifier: country?.TaxReference,\r\n };\r\n } else {\r\n return {\r\n nationalIdentifierType: \"National Insurance Number\",\r\n nationalIdentifier: country?.TaxReference,\r\n };\r\n }\r\n } else {\r\n const countryIdentifiers = mifirCountryIdentifiers.get(country?.Country);\r\n if (country?.NationalIdentifier) {\r\n if (\r\n countryIdentifiers?.length > 0 &&\r\n countryIdentifiers.some((x) => x?.IdentifierType == MifirIdentifierType.NationalIdentifier)\r\n ) {\r\n return {\r\n nationalIdentifierType: countryIdentifiers?.find(\r\n (x) => x?.IdentifierType == MifirIdentifierType.NationalIdentifier\r\n )?.IdentifierTypeWording,\r\n nationalIdentifier: country?.NationalIdentifier,\r\n };\r\n }\r\n return {\r\n nationalIdentifierType: \"Nationality identifier\",\r\n nationalIdentifier: country?.NationalIdentifier,\r\n };\r\n } else if (country?.PassportNumber) {\r\n if (\r\n countryIdentifiers?.length > 0 &&\r\n countryIdentifiers?.some((x) => x?.IdentifierType == MifirIdentifierType.PassportNumber)\r\n ) {\r\n return {\r\n nationalIdentifierType: countryIdentifiers?.find(\r\n (x) => x?.IdentifierType == MifirIdentifierType.PassportNumber\r\n )?.IdentifierTypeWording,\r\n nationalIdentifier: country?.PassportNumber,\r\n };\r\n }\r\n return { nationalIdentifierType: \"Passport\", nationalIdentifier: country?.PassportNumber };\r\n } else if (country?.TaxReference && country?.TaxReference != \"\") {\r\n if (\r\n countryIdentifiers?.length > 0 &&\r\n countryIdentifiers?.some((x) => x?.IdentifierType == MifirIdentifierType.TaxNumber)\r\n ) {\r\n return {\r\n nationalIdentifierType: countryIdentifiers?.find(\r\n (x) => x?.IdentifierType == MifirIdentifierType.TaxNumber\r\n )?.IdentifierTypeWording,\r\n nationalIdentifier: country?.TaxReference,\r\n };\r\n }\r\n }\r\n }\r\n }\r\n return { nationalIdentifierType: \"\", nationalIdentifier: \"\" };\r\n }\r\n\r\n render() {\r\n const {\r\n isLoading,\r\n showDeleteLightbox,\r\n showLastDeleteLightbox,\r\n itemToRemove,\r\n mifirCountryIdentifiers,\r\n } = this.state;\r\n const { data } = this.props;\r\n if (isLoading || mifirCountryIdentifiers.size < data?.length) {\r\n return ;\r\n }\r\n\r\n const columnConfigs = [\r\n { title: \"Country name\", key: \"Country\", render: (x) => {CountryCodeMap.getString(x)} },\r\n { title: \"Client nationality\", key: \"IsNationality\", render: (x) => {x ? \"Yes\" : \"No\"} },\r\n { title: \"Client tax resident\", key: \"IsTaxResident\", render: (x) => {x ? \"Yes\" : \"No\"} },\r\n { title: \"Primary citizenship\", key: \"PrimaryCitizenship\", render: (x) => {x ? \"Yes\" : \"No\"} },\r\n {\r\n title: \"Nationality identifier\",\r\n key: \"NationalIdentifier\",\r\n render: (x, row) => {\r\n return this.getNationalIdentifier(row)?.nationalIdentifier;\r\n },\r\n },\r\n {\r\n title: \"Nationality identifier type\",\r\n render: (x, row) => {\r\n return this.getNationalIdentifier(row)?.nationalIdentifierType;\r\n },\r\n },\r\n {\r\n title: \"Tax identification number\",\r\n key: \"TaxReference\",\r\n render: (x, row) => {\r\n // return row?.IsTaxResident || (row?.IsNationality && row?.TaxReference) ? row?.TaxReference : \"\";\r\n return row?.IsTaxResident ? row?.TaxReference : \"\";\r\n },\r\n },\r\n {\r\n title: \"Tax identification number type\",\r\n key: \"TaxReferenceType\",\r\n render: (x, row) => (\r\n \r\n {x && row?.IsTaxResident\r\n ? mifirCountryIdentifiers\r\n ?.get(row?.Country)\r\n ?.find(\r\n (x) =>\r\n x?.IdentifierType == MifirIdentifierType.TaxNumber &&\r\n x?.Country == row?.Country\r\n ) != null\r\n ? mifirCountryIdentifiers\r\n ?.get(row?.Country)\r\n ?.find(\r\n (x) =>\r\n x?.IdentifierType == MifirIdentifierType.TaxNumber &&\r\n x?.Country == row?.Country\r\n )?.IdentifierTypeWording\r\n : \"Tax identification number\"\r\n : null}\r\n \r\n ),\r\n },\r\n ];\r\n return (\r\n <>\r\n this.renderLightBox(data, onDataChange, isEdit)}\r\n onSave={(data) => this.onSave(data)}\r\n onAdd={(data) => this.onAdd(data)}\r\n canAdd={\r\n data?.length < 6 &&\r\n this.props.hasReadWriteAccess == true &&\r\n checkPermission(UserClaim.AdviserPortalCustomerFullyAccessCanView)\r\n }\r\n canRemove={this.props.hasReadWriteAccess == true}\r\n onRemove={(data) => {\r\n this.setState({ showDeleteLightbox: true, itemToRemove: data });\r\n return true;\r\n }}\r\n data={data}\r\n canEdit={\r\n //TODO Change later\r\n checkPermission(UserClaim.AdviserPortalCustomerFullyAccessCanView) &&\r\n this.props.hasReadWriteAccess == true\r\n }\r\n />\r\n {showDeleteLightbox && (\r\n this.setState({ showDeleteLightbox: false })}\r\n title=\"Delete filter\"\r\n >\r\n

Are you sure you want to delete?

\r\n
\r\n
\r\n this.setState({ showDeleteLightbox: false })}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n this.onRemove(itemToRemove);\r\n this.setState({ showDeleteLightbox: false });\r\n }}\r\n >\r\n Delete\r\n \r\n
\r\n
\r\n \r\n )}\r\n {showLastDeleteLightbox && (\r\n this.setState({ showLastDeleteLightbox: false })}\r\n title=\"Delete filter\"\r\n >\r\n

Client must have at least one nationality

\r\n
\r\n
\r\n this.setState({ showLastDeleteLightbox: false })}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n renderLightBox(data: CustomerTaxResidencyModel, onDataChange, isEdit): JSX.Element {\r\n return (\r\n <>\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n placeholder=\"Please select\"\r\n label={\"Country name\"}\r\n required=\"Please select country\"\r\n selected={data?.Country}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n onDataChange({\r\n Country: v,\r\n IsTaxResident: v == CountryCode.GBR ? true : null,\r\n PrimaryTaxResidency: null,\r\n PrimaryCitizenship: null,\r\n NationalIdentifier: null,\r\n PassportNumber: null,\r\n TaxReferenceType: null,\r\n TaxReference: null,\r\n TaxResidencyForPensionRelief: null,\r\n TaxExempt: null,\r\n TaxExemptionReason: null,\r\n IsNationality: null,\r\n });\r\n this.loadMifirCountryIdentifier(v);\r\n }}\r\n disabled={isEdit}\r\n validationRules={[\r\n {\r\n errorMessage: \"Country already exists\",\r\n validator: (v) => isEdit || this.validateCountry(v),\r\n },\r\n {\r\n errorMessage: \"Please add UK as the first tax resident country\",\r\n validator: (v) => {\r\n if (v && v == CountryCode.GBR) {return true;}\r\n return (this.props.data || []).some((ele) => ele.Country == CountryCode.GBR);\r\n },\r\n },\r\n ]}\r\n />\r\n {((data?.Country != null && this.validateCountry(data?.Country)) || isEdit) &&\r\n this.renderForm(data, onDataChange, isEdit)}\r\n \r\n );\r\n }\r\n\r\n validateCountry(country: CountryCode): boolean {\r\n return !this.props.data.some((x) => x.Country == country);\r\n }\r\n\r\n renderForm(data: CustomerTaxResidencyModel, onDataChange, isEdit: boolean) {\r\n const { mifirCountryIdentifiers } = this.state;\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n onChange={(v) => {\r\n if (!v) {\r\n //if the country is Uk, NINO should not be removed even if UK is no longer the tax residency\r\n if (data?.Country == CountryCode.GBR) {\r\n onDataChange({\r\n PrimaryTaxResidency: null,\r\n IsTaxResident: v,\r\n });\r\n } else {\r\n const obj = {\r\n PrimaryTaxResidency: null,\r\n IsTaxResident: v,\r\n TaxReferenceType: null,\r\n TaxReference: null,\r\n };\r\n if (\r\n mifirCountryIdentifiers.has(data?.Country) &&\r\n mifirCountryIdentifiers.get(data?.Country)[0].IdentifierType ==\r\n MifirIdentifierType.TaxNumber\r\n ) {\r\n obj.TaxReference = data?.TaxReference;\r\n }\r\n\r\n onDataChange(obj);\r\n }\r\n } else {\r\n const obj: any = {\r\n IsTaxResident: v,\r\n };\r\n onDataChange(obj);\r\n }\r\n }}\r\n alwaysValidateOnUpdate={true}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Either the selected country must be your nationality or you need to be the tax resident of this country (or both)\",\r\n validator: (v) => {\r\n const hasNationality = data?.IsNationality == null || data?.IsNationality;\r\n return hasNationality || v == null || v;\r\n },\r\n },\r\n {\r\n errorMessage: \"Client must have at least one tax residency\",\r\n validator: (v) => {\r\n if (v) {return true;}\r\n return (this.props.data || [])\r\n .filter((ele) => ele.Country != data.Country)\r\n .some((ele) => ele.IsTaxResident);\r\n },\r\n },\r\n {\r\n errorMessage:\r\n \"Client mush have controlling person role with specified type for NON UK tax residency\",\r\n validator: (v) => {\r\n // if not mark as tax residency or country is UK, then pass this validation directly\r\n if (data?.Country == CountryCode.GBR || !v) {return true;}\r\n return this.IsAbleToSetNonUKTaxResidency();\r\n },\r\n },\r\n ]}\r\n />\r\n {data?.IsTaxResident && RegulatoryHelper.getTaxReferenceTypeMap(data?.Country) != null && (\r\n {\r\n switch (data?.Country) {\r\n case CountryCode.USA:\r\n return TaxReferenceTypeMap_USA[v];\r\n case CountryCode.GBR:\r\n return TaxReferenceTypeMap_GBR[v];\r\n case CountryCode.SGP:\r\n return TaxReferenceTypeMap_SGP[v];\r\n }\r\n }}\r\n selected={data?.TaxReferenceType ? Number(data?.TaxReferenceType) : null}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n onDataChange({ TaxReferenceType: Number(v) });\r\n }}\r\n required={\"Please select a tax reference type\"}\r\n alwaysValidateOnUpdate={false}\r\n />\r\n )}\r\n {data?.IsTaxResident && (\r\n {\r\n onDataChange({ TaxReference: v });\r\n }}\r\n />\r\n )}\r\n\r\n (v ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n onChange={(v) => {\r\n if (!v && this.props.data?.length == 1 && isEdit) {\r\n this.setState({ showLastDeleteLightbox: true });\r\n return;\r\n }\r\n if (!v) {\r\n onDataChange({\r\n IsNationality: v,\r\n PrimaryCitizenship: null,\r\n NationalIdentifier: null,\r\n PassportNumber: null,\r\n });\r\n } else {\r\n onDataChange({ IsNationality: v });\r\n }\r\n }}\r\n alwaysValidateOnUpdate={true}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Either the selected country must be your nationality or you need to be the tax resident of this country (or both)\",\r\n validator: (v) => {\r\n const isTaxResident = data?.IsTaxResident == null || data?.IsTaxResident;\r\n\r\n return isTaxResident || v == null || v;\r\n },\r\n },\r\n ]}\r\n />\r\n {data?.IsNationality && (\r\n (v ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n onChange={(v) => {\r\n if (data?.Country == CountryCode.GBR) {\r\n onDataChange({ PrimaryCitizenship: v, TaxReferenceType: TaxReferenceType.GbrNino });\r\n } else {\r\n onDataChange({ PrimaryCitizenship: v });\r\n }\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Primary citizenship already exists\",\r\n validator: (v) => !v || this.validatePrimaryCitizenship(data?.Country),\r\n },\r\n ]}\r\n />\r\n )}\r\n {data?.IsNationality &&\r\n /* don't display if client is a tax resident in this country and this country has a Tax Reference */\r\n !this.countryHasTaxReferenceIdentifier(data.IsTaxResident, data.Country) && (\r\n onDataChange(s)}\r\n onRef={(ref) => {\r\n this.child = ref;\r\n }}\r\n mifirCountryIdentifier={\r\n this.state.mifirCountryIdentifiers.has(data.Country)\r\n ? this.state.mifirCountryIdentifiers.get(data.Country)\r\n : []\r\n }\r\n isEdit={isEdit}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n validatePrimaryCitizenship(country: CountryCode): boolean {\r\n return this.props.data.findIndex((x) => x.PrimaryCitizenship === true && x.Country != country) == -1;\r\n }\r\n\r\n onAdd(item: CustomerTaxResidencyModel): boolean {\r\n if (this.isValid() && (this.child == null || this.child.isValid())) {\r\n const { data } = this.props;\r\n data.push(item);\r\n this.saveData(data);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n onSave(item: CustomerTaxResidencyModel): boolean {\r\n if (this.isValid() && (this.child == null || this.child.isValid())) {\r\n const { data } = this.props;\r\n const index = data.findIndex((ele) => ele.Country == item.Country);\r\n data[index] = item;\r\n this.saveData(data);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n onRemove(item: number): boolean {\r\n const { data } = this.props;\r\n console.log(data);\r\n data.splice(item, 1);\r\n this.saveData(data);\r\n return true;\r\n }\r\n\r\n saveData(data: Array) {\r\n ClientRecordAction.saveCutomerTaxResidency(this.props.customerid, data, () => {\r\n this.getData();\r\n this.props.reloadTable();\r\n this.props.needReload();\r\n });\r\n }\r\n loadMifirCountryIdentifier(countryCode: CountryCode) {\r\n const { mifirCountryIdentifiers } = this.state;\r\n if (!mifirCountryIdentifiers.has(countryCode)) {\r\n new MifirCountryIdentifierClient().get(countryCode).onSuccess((data) => {\r\n mifirCountryIdentifiers.set(countryCode, data);\r\n this.setState({ mifirCountryIdentifiers: mifirCountryIdentifiers });\r\n });\r\n }\r\n }\r\n IsAbleToSetNonUKTaxResidency() {\r\n const { controllingPersonData } = this.props;\r\n const activeControllingPerson = controllingPersonData.filter((x) => x.AccountRoleStatus == RoleStatus.Active);\r\n // if no active controlling person role, then no need validate\r\n if (activeControllingPerson.length == 0) {return true;}\r\n // all active ciontrolling person role should have a proper type instead of not specifed\r\n return (\r\n activeControllingPerson.filter((x) => x.ControllingPersonType == ControllingPersonType.NotSpecified)\r\n .length == 0\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport { RegulatoryTabs } from \"../../Resource/RegulatoryContents\";\r\nimport { SectionTable } from \"../SectionTable\";\r\n\r\ninterface IHighValueSectionProps {\r\n customerid: number;\r\n hasReadWriteAccess: boolean;\r\n}\r\ninterface IHighValueSectionState {\r\n data: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\nexport class HighValueSection extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n getData() {\r\n this.setState({ isLoading: true });\r\n ClientRecordAction.getHighValue(this.props.customerid, (val) => {\r\n this.setState({\r\n data: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { data, isLoading } = this.state;\r\n if (isLoading) {\r\n return ;\r\n }\r\n const columnConfigs = [{ title: \"High value\", data: data ? \"Yes\" : \"No\" }];\r\n return (\r\n this.renderLightBox(data, onDataChange)}\r\n onSave={(data) => this.onSave(data?.HighValueFlag)}\r\n data={data}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n );\r\n }\r\n\r\n renderLightBox(data: boolean, onDataChange): JSX.Element {\r\n return (\r\n <>\r\n {\r\n onDataChange({ HighValueFlag: v });\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n onSave(item: boolean): boolean {\r\n if (this.isValid()) {\r\n this.saveData(item);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n saveData(data: boolean) {\r\n ClientRecordAction.putHighValue(this.props.customerid, data, () => {\r\n this.getData();\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { ReportingTaxYearSettingModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/ReportingTaxYearSettingModel\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport { RegulatoryTabs } from \"../../Resource/RegulatoryContents\";\r\nimport { TableViewSection } from \"../TableViewSection\";\r\n\r\ninterface IReportingTaxYearSettingTableProps {\r\n customerid: number;\r\n hasReadWriteAccess: boolean;\r\n}\r\ninterface IReportingTaxYearSettingTableState {\r\n data: Array;\r\n isLoading: boolean;\r\n}\r\nexport class ReportingTaxYearSettingTable extends FormComponent<\r\n IReportingTaxYearSettingTableProps,\r\n IReportingTaxYearSettingTableState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.setState({ isLoading: true });\r\n ClientRecordAction.getReportingTaxYearSetting(Number(this.props.customerid), (val) => {\r\n this.setState({\r\n data: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { data, isLoading } = this.state;\r\n if (isLoading) {\r\n return ;\r\n }\r\n const columnConfigs = [\r\n {\r\n title: \"Tax reporting country\",\r\n key: \"TaxReportingCountry\",\r\n render: (x) => {CountryCodeMap.getString(x)},\r\n },\r\n ];\r\n return (\r\n <>\r\n this.renderLightBox(data, onDataChange)}\r\n onAdd={(data) => this.onAdd(data)}\r\n onRemove={(data) => this.onRemove(data)}\r\n data={data}\r\n canAdd={this.props?.hasReadWriteAccess == true}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n canRemove={this.props?.hasReadWriteAccess == true}\r\n />\r\n \r\n );\r\n }\r\n\r\n renderLightBox(data: ReportingTaxYearSettingModel, onDataChange): JSX.Element {\r\n return (\r\n <>\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n placeholder=\"Please select\"\r\n label={\"Tax reporting country*\"}\r\n required=\"Please select Country\"\r\n selected={data?.TaxReportingCountry}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n onDataChange({ TaxReportingCountry: v });\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n onAdd(item: ReportingTaxYearSettingModel): boolean {\r\n if (this.isValid()) {\r\n const { data } = this.state;\r\n data.push(item);\r\n this.saveData(data);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n onRemove(item: ReportingTaxYearSettingModel): boolean {\r\n const { data } = this.state;\r\n const index = data.findIndex((ele) => ele.TaxReportingCountry == item.TaxReportingCountry);\r\n data.splice(index, 1);\r\n this.saveData(data);\r\n return true;\r\n }\r\n\r\n saveData(data: Array) {\r\n ClientRecordAction.saveReportingTaxYearSetting(this.props.customerid, data, (val) => {\r\n this.getData();\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { EligibilityStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/EligibilityStatus\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { RegulationType } from \"../../../../../../../Wrap/Constants/Enums/Domain/RegulationType\";\r\nimport { CustomerCompliance } from \"../../../../../../../Wrap/Models/Domains/Regulations/CustomerCompliance\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { AccountInfoAction } from \"../../../PortfolioDashboard/Components/Role/Action/AccountInfoAction\";\r\nimport {\r\n EligibilityStatusMap,\r\n EligibilityStatusOptions,\r\n} from \"../../../PortfolioDashboard/Components/Role/Resource/Contents\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { SellAction } from \"../../../Sell/Action/SellAction\";\r\nimport { Contents } from \"../../../PortfolioDashboard/Components/Transactions/Resource/Contents\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\n\r\ninterface ITaxComplianceAgreementProps {\r\n customerId: number;\r\n hasReadWriteAccess: boolean;\r\n customerComplianceList: Array;\r\n loadCompleted: () => void;\r\n firstLoad: boolean;\r\n}\r\n\r\ninterface ITaxComplianceAgreementState {\r\n readOnly: boolean;\r\n customerComplianceList: Array;\r\n showLightbox: boolean;\r\n accountRoles: Array;\r\n customerName: string;\r\n}\r\n\r\nexport class TaxComplianceAgreement extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n readOnly: true,\r\n customerComplianceList: [],\r\n showLightbox: false,\r\n accountRoles: [],\r\n customerName: \"\",\r\n };\r\n }\r\n\r\n private table;\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n componentDidUpdate(prevProps: any): void {\r\n if (!this.props.firstLoad && this.props.customerComplianceList != this.state.customerComplianceList) {\r\n this.setState({ customerComplianceList: this.props.customerComplianceList });\r\n this.props.loadCompleted();\r\n }\r\n }\r\n\r\n private getData() {\r\n AccountInfoAction.getCustomerRegulationCompliance(this.props.customerId, (result) => {\r\n this.setState({ customerComplianceList: result });\r\n });\r\n ClientRecordAction.getAccountRoleDetail(\r\n this.props.customerId.toString(),\r\n (results: Array) => {\r\n this.setState({ accountRoles: results });\r\n }\r\n );\r\n this.getCustomerName(this.props.customerId);\r\n }\r\n private getRegulationDescription(regulation: RegulationType) {\r\n switch (regulation) {\r\n case RegulationType.UKFatca:\r\n return \"FATCA - UK\";\r\n case RegulationType.Fatca:\r\n return \"FATCA - USA\";\r\n default:\r\n return `CRS - ${CountryCodeMap.getString(CountryCodeMap.getEnumByCountryCodeId(regulation))}`;\r\n }\r\n }\r\n\r\n private getCustomerName(customerId: number) {\r\n SellAction.getCustomerName(customerId, (result) => {\r\n this.setState({ customerName: result });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { readOnly, customerComplianceList, customerName } = this.state;\r\n\r\n return (\r\n <>\r\n

Tax Compliance Agreements

\r\n (this.table = ref)}\r\n cssWrapper=\"table-first-last-cell-padding-reset\"\r\n col={[\r\n {\r\n title: \"Regulation\",\r\n key: \"Regulation\",\r\n render: (data: string, row: CustomerCompliance, index) => {\r\n return this.getRegulationDescription(row.RegulationName);\r\n },\r\n },\r\n {\r\n title: \"Reportable Customer?\",\r\n key: \"Reportable\",\r\n render: (data: string, row: CustomerCompliance, index) => {\r\n return customerName;\r\n },\r\n },\r\n {\r\n title: \"Indicia Status\",\r\n key: \"EligibilityStatus\",\r\n render: (data, row: CustomerCompliance, index) => {\r\n if (readOnly) {\r\n if (row.EligibilityStatus == EligibilityStatus.NotApplicable) {\r\n return \"N/A\";\r\n }\r\n return EligibilityStatusMap[row.EligibilityStatus];\r\n } else {\r\n return (\r\n
\r\n x.key == row.EligibilityStatus\r\n )[0].key\r\n }\r\n options={EligibilityStatusOptions.map((item) => item.key)}\r\n getText={(x) => CommonHelper.getOptionsTxt(x, EligibilityStatusOptions)}\r\n onChange={(val) => {\r\n customerComplianceList[index].EligibilityStatus = val;\r\n this.setState({ customerComplianceList });\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n },\r\n },\r\n {\r\n title: \"Date First Contacted\",\r\n key: \"DateFirstContacted\",\r\n render: (data, row: CustomerCompliance, index) => {\r\n if (readOnly) {\r\n return row.DateFirstContacted\r\n ? JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.DateFirstContacted),\r\n \"dd-MMM-yyyy\",\r\n true,\r\n true\r\n )\r\n : null;\r\n } else {\r\n return (\r\n {\r\n customerComplianceList[\r\n index\r\n ].DateFirstContacted = JsonDateParser.toJsonDateNoOffset(date);\r\n this.setState({\r\n customerComplianceList: customerComplianceList,\r\n });\r\n }}\r\n todayButton=\"Today\"\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\r\n \"dd/MM/yyyy\",\r\n \"dd-MM-yyyy\",\r\n \"ddMMyyyy\",\r\n \"dd.MM.yyyy\",\r\n \"dd_MM_yyyy\",\r\n \"dd MM yyyy\",\r\n ]}\r\n lessThan={{\r\n value: new Date(),\r\n errorMessage: \"Date of contact cannot be in the future\",\r\n }}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n );\r\n }\r\n },\r\n },\r\n {\r\n title: \"Date Last Contacted\",\r\n key: \"DateLastContacted\",\r\n render: (data, row: CustomerCompliance, index) => {\r\n if (readOnly) {\r\n return row.DateLastContacted\r\n ? JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.DateLastContacted),\r\n \"dd-MMM-yyyy\",\r\n true,\r\n true\r\n )\r\n : null;\r\n } else {\r\n return (\r\n {\r\n customerComplianceList[\r\n index\r\n ].DateLastContacted = JsonDateParser.toJsonDateNoOffset(date);\r\n\r\n this.setState({\r\n customerComplianceList: customerComplianceList,\r\n });\r\n }}\r\n todayButton=\"Today\"\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\r\n \"dd/MM/yyyy\",\r\n \"dd-MM-yyyy\",\r\n \"ddMMyyyy\",\r\n \"dd.MM.yyyy\",\r\n \"dd_MM_yyyy\",\r\n \"dd MM yyyy\",\r\n ]}\r\n atLeast={{\r\n value: JsonDateParser.toDateNoOffset(row.DateFirstContacted),\r\n errorMessage:\r\n \"Date of last contact must be the same day or after the first contact date\",\r\n }}\r\n lessThan={{\r\n value: new Date(),\r\n errorMessage: \"Date of last contact cannot be in the future\",\r\n }}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n );\r\n }\r\n },\r\n },\r\n {\r\n title: \"Date Resolved\",\r\n key: \"DateResolved\",\r\n render: (data, row: CustomerCompliance, index) => {\r\n if (readOnly) {\r\n return row.DateResolved\r\n ? JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.DateResolved),\r\n \"dd-MMM-yyyy\",\r\n true,\r\n true\r\n )\r\n : null;\r\n } else {\r\n return (\r\n {\r\n customerComplianceList[\r\n index\r\n ].DateResolved = JsonDateParser.toJsonDateNoOffset(date);\r\n this.setState({\r\n customerComplianceList: customerComplianceList,\r\n });\r\n }}\r\n todayButton=\"Today\"\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\r\n \"dd/MM/yyyy\",\r\n \"dd-MM-yyyy\",\r\n \"ddMMyyyy\",\r\n \"dd.MM.yyyy\",\r\n \"dd_MM_yyyy\",\r\n \"dd MM yyyy\",\r\n ]}\r\n atLeast={{\r\n value: JsonDateParser.toDateNoOffset(row.DateLastContacted),\r\n errorMessage:\r\n \"Date of resolved must be the same day or after last contact date\",\r\n }}\r\n lessThan={{\r\n value: new Date(),\r\n errorMessage: \"Date of resolved cannot be in the future\",\r\n }}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n );\r\n }\r\n },\r\n },\r\n {\r\n title: \"Self Certification Received?\",\r\n key: \"IsSelfCertificationReceived\",\r\n render: (data, row: CustomerCompliance, index) => {\r\n if (readOnly) {\r\n return row?.IsSelfCertificationReceived ? \"Yes\" : \"No\";\r\n } else {\r\n return (\r\n {\r\n customerComplianceList[\r\n index\r\n ].IsSelfCertificationReceived = !row.IsSelfCertificationReceived;\r\n this.setState({ customerComplianceList });\r\n }}\r\n />\r\n );\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n {this.props.hasReadWriteAccess && readOnly && (\r\n
\r\n this.setState({ readOnly: false })}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n )}\r\n {!readOnly && (\r\n
\r\n \r\n
\r\n )}\r\n {!readOnly && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {this.state.showLightbox && (\r\n {}}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n
\r\n This update will be reflected on all of the following accounts:\r\n {this.state.accountRoles.map((x, index) => {\r\n return (\r\n \r\n {x.ClAccountId}\r\n
\r\n );\r\n })}\r\n \r\n
\r\n this.setState({ showLightbox: false })}\r\n >\r\n Cancel\r\n \r\n this.saveCustomerCompliance()}\r\n >\r\n Submit\r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private canShowLightboxForSubmit() {\r\n if (this.isValid() && this.table.isValid()) {\r\n this.setState({ showLightbox: true });\r\n }\r\n }\r\n\r\n private cancelEdit() {\r\n this.setState({ readOnly: true });\r\n this.getData();\r\n }\r\n\r\n private saveCustomerCompliance() {\r\n if (this.isValid() && this.table.isValid()) {\r\n const { customerComplianceList } = this.state;\r\n customerComplianceList.map((item: CustomerCompliance, index) => {\r\n if (item.CustomerRegulationComplianceId > 0) {\r\n AccountInfoAction.updateCustomerRegulationCompliance(item, (callBack) => {\r\n this.getData();\r\n });\r\n } else {\r\n item.DateTimeAtStatus = JsonDateParser.toJsonDateNoOffset(new Date());\r\n AccountInfoAction.createCustomerRegulationCompliance(item);\r\n }\r\n });\r\n }\r\n this.setState({ readOnly: true, showLightbox: false });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { TaxFormType } from \"../../../../../../../Wrap/Constants/Enums/Customer/TaxFormType\";\r\nimport { TaxResidencyForPensionRelief } from \"../../../../../../../Wrap/Constants/Enums/Customer/TaxResidencyForPensionRelief\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { TaxFormModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/TaxFormModel\";\r\nimport { ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport {\r\n TaxFormTypeMap,\r\n RegulatoryTabs,\r\n TaxFormTypes,\r\n TaxResidencyForPensionReliefMap,\r\n TaxExemptionReasonMap,\r\n TaxExemptionReasons,\r\n TaxResidencyForPensionReliefTypes,\r\n} from \"../../Resource/RegulatoryContents\";\r\nimport { SectionTable } from \"../SectionTable\";\r\n\r\ninterface ITaxFormSectionProps {\r\n customerid: number;\r\n data: Array;\r\n hasReadWriteAccess: boolean;\r\n}\r\ninterface ITaxFormSectionState {\r\n data: TaxFormModel;\r\n isLoading: boolean;\r\n taxExemptionModel: CustomerTaxResidencyModel;\r\n tempResidencyModel: CustomerTaxResidencyModel;\r\n}\r\nexport class TaxFormSection extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n isLoading: false,\r\n taxExemptionModel: null,\r\n tempResidencyModel: null,\r\n };\r\n }\r\n componentDidMount() {\r\n this.getData();\r\n if (this.props.data?.some((x) => x?.Country == CountryCode.GBR)) {\r\n this.setState({ taxExemptionModel: this.props.data.find((x) => x?.Country == CountryCode.GBR), tempResidencyModel: this.props.data.find((x) => x?.Country == CountryCode.GBR) });\r\n }\r\n }\r\n\r\n getData() {\r\n this.setState({ isLoading: true });\r\n ClientRecordAction.getTaxForm(this.props.customerid, (val) => {\r\n this.setState({\r\n data: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { data, isLoading, taxExemptionModel, tempResidencyModel } = this.state;\r\n if (isLoading) {\r\n return ;\r\n }\r\n const columnConfigs = [\r\n { title: \"Forms\", data: TaxFormTypeMap[data?.FormType] },\r\n { title: \"Do you have this form?\", data: data?.HasForm ? \"Yes\" : \"No\" },\r\n ];\r\n if (data && data.ExpiryDate && data.FormType == TaxFormType.W8BEN) {\r\n columnConfigs.push({\r\n title: \"Expiry Date\",\r\n data: JsonDateParser.getFormatDate(data.ExpiryDate, \"dd/MM/yyyy\"),\r\n });\r\n }\r\n if (this.state.taxExemptionModel) {\r\n columnConfigs.push(\r\n {\r\n title: \"Tax residency for pension relief\",\r\n\r\n data: taxExemptionModel?.TaxResidencyForPensionRelief\r\n ? TaxResidencyForPensionReliefMap[taxExemptionModel?.TaxResidencyForPensionRelief]\r\n : null,\r\n },\r\n {\r\n title: \"Tax exempt?\",\r\n data: taxExemptionModel?.TaxExempt ? (taxExemptionModel?.TaxExempt ? \"Yes\" : \"No\") : null,\r\n },\r\n {\r\n title: \"Exemption reason\",\r\n data: taxExemptionModel?.TaxExempt\r\n ? TaxExemptionReasonMap[taxExemptionModel?.TaxExemptionReason]\r\n : \"\",\r\n }\r\n );\r\n }\r\n return (\r\n <>\r\n this.renderLightBox(data, taxExemptionModel, tempResidencyModel, onDataChange)}\r\n onSave={(data) => this.onSave(data, taxExemptionModel, tempResidencyModel)}\r\n onRemove={() => this.onRemove()}\r\n data={data}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n \r\n );\r\n}\r\n\r\nrenderLightBox(data: TaxFormModel, taxExemptionModel: CustomerTaxResidencyModel, tempResidencyModel: CustomerTaxResidencyModel, onDataChange): JSX.Element {\r\n const displayExpiryDate = data && data.FormType == TaxFormType.W8BEN;\r\n return (\r\n <>\r\n TaxFormTypeMap[v]}\r\n label={\"Form type\"}\r\n placeholder={\"Please select\"}\r\n selected={data?.FormType}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n onDataChange({ FormType: v, HasForm: null, ExpiryDate: null });\r\n }}\r\n />\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => onDataChange({ HasForm: v })}\r\n required={\"Please select\"}\r\n />\r\n {displayExpiryDate && (\r\n {\r\n onDataChange({ ExpiryDate: JsonDateParser.toJsonDateNoOffset(v) });\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n />\r\n )}\r\n TaxResidencyForPensionReliefMap[v]}\r\n label={\"Tax residency for pension relief\"}\r\n selected={\r\n taxExemptionModel\r\n ? taxExemptionModel.TaxResidencyForPensionRelief\r\n : TaxResidencyForPensionRelief.Unknown\r\n }\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n this.onTaxExemptionModelChange(\"TaxResidencyForPensionRelief\", v);\r\n }} />\r\n\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.onTaxExemptionModelChange(\"TaxExempt\", v);\r\n }} />\r\n \r\n {tempResidencyModel?.TaxExempt && (\r\n TaxExemptionReasonMap[v]}\r\n label={\"Tax exemption reason\"}\r\n required={\"Please select\"}\r\n placeholder={\"Please select\"}\r\n selected={taxExemptionModel?.TaxExemptionReason}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n this.onTaxExemptionModelChange(\"TaxExemptionReason\", v);\r\n }}\r\n />\r\n )}\r\n\r\n);\r\n}\r\n\r\nprivate onTaxExemptionModelChange(key: string, value: any) {\r\n const { tempResidencyModel } = this.state;\r\n let _data = JSON.parse(JSON.stringify(tempResidencyModel ? tempResidencyModel : {}));\r\n if (!_data) {_data = {};}\r\n _data[key] = value;\r\n if (key == \"TaxExempt\" && value == false) {\r\n _data[\"TaxExemptionReason\"] = null;\r\n }\r\n this.setState({ tempResidencyModel: _data });\r\n }\r\n\r\n onSave(item: TaxFormModel, taxExemptionModel: CustomerTaxResidencyModel, tempResidencyModel: CustomerTaxResidencyModel): boolean {\r\n if (this.isValid()) {\r\n taxExemptionModel.TaxResidencyForPensionRelief = tempResidencyModel.TaxResidencyForPensionRelief;\r\n taxExemptionModel.TaxExempt = tempResidencyModel.TaxExempt;\r\n taxExemptionModel.TaxExemptionReason = tempResidencyModel.TaxExemptionReason;\r\n\r\n this.saveData(item, taxExemptionModel);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\nonRemove(): boolean {\r\n this.setState({ data: null });\r\n const model = this.state.taxExemptionModel;\r\n model.TaxExempt = null;\r\n model.TaxExemptionReason = null;\r\n model.TaxResidencyForPensionRelief = null;\r\n this.saveData(null, model);\r\n return true;\r\n }\r\n\r\nsaveData(data: TaxFormModel, taxExemptionModel: CustomerTaxResidencyModel) {\r\n ClientRecordAction.saveTaxForm(this.props.customerid, data, (val) => {\r\n const customerTaxResidencies = this.props.data.filter((x) => x?.Country != CountryCode.GBR);\r\n customerTaxResidencies.push(taxExemptionModel);\r\n ClientRecordAction.saveCutomerTaxResidency(this.props.customerid, customerTaxResidencies, () => {\r\n this.getData();\r\n });\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const RouteIcon = (props: any) => {\r\n const cssClassNames = classNames(\"route-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\n\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { AccountRoleStore } from \"../Store/Variable\";\r\n\r\ninterface ISectionTableProps {\r\n sectionHeader: string;\r\n columnConfigs: { title: string; data: any }[];\r\n onRef?: (func) => void;\r\n lightboxContent: (data, onDataChange) => JSX.Element | string;\r\n onSave?: (data) => boolean;\r\n onAdd?: (data) => boolean;\r\n onRemove?: VoidFunction;\r\n data: any;\r\n isLoading?: boolean;\r\n sectionHeaderCss?: string;\r\n cssWrapper?: string;\r\n extraButton?: JSX.Element | string;\r\n canEdit?: boolean;\r\n}\r\n\r\nexport const SectionTable = (props: ISectionTableProps) => {\r\n const [lightbox, setLightbox] = useState(false);\r\n const [isEdit, setIsEdit] = useState(true);\r\n const [, setisRequested] = useState(false);\r\n\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n setData(JSON.parse(JSON.stringify(props.data)));\r\n }, [props.data]);\r\n\r\n useEffect(() => {\r\n if (!lightbox) {setData(JSON.parse(JSON.stringify(props.data)));}\r\n }, [lightbox]);\r\n\r\n useEffect(() => {\r\n if (props.onRef) {props.onRef(setLightbox);}\r\n }, []);\r\n\r\n const onDataChange = (changes, replace?: boolean) => {\r\n let _data = JSON.parse(JSON.stringify(data ? data : {}));\r\n if (replace) {\r\n _data = changes;\r\n } else {\r\n if (!_data) {_data = {};}\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n }\r\n setData(_data);\r\n };\r\n if (props.isLoading)\r\n {return (\r\n
\r\n
\r\n

{props.sectionHeader}

\r\n \r\n
\r\n
\r\n );}\r\n return (\r\n
\r\n
\r\n

{props.sectionHeader}

\r\n {props.onAdd && AccountRoleStore.canEditForAdv() && (\r\n {\r\n setLightbox(true);\r\n setIsEdit(false);\r\n }}\r\n >\r\n {props.sectionHeader}\r\n \r\n \r\n )}\r\n
\r\n\r\n
\r\n {props.onSave && }\r\n {AccountRoleStore.canEditForAdv() && (\r\n
\r\n {(props.canEdit == null || props.canEdit == true) && props.onSave && (\r\n {\r\n setLightbox(true);\r\n setIsEdit(true);\r\n setisRequested(false);\r\n }}\r\n >\r\n Edit details\r\n \r\n \r\n )}\r\n {(props.canEdit == null || props.canEdit == true) && props.onRemove && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n\r\n {lightbox && (props.onAdd || props.onSave) ? (\r\n setLightbox(false)}\r\n show={lightbox}\r\n title={props.sectionHeader}\r\n isClickOutsideClose={false}\r\n >\r\n {props.lightboxContent(data, onDataChange)}\r\n
\r\n
\r\n {\r\n setLightbox(false);\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n if (isEdit) {\r\n if (props.onSave(data)) {setLightbox(false);}\r\n } else {\r\n if (props.onAdd(data)) {setLightbox(false);}\r\n }\r\n }}\r\n >\r\n {isEdit ? \"Save changes\" : \"Add\"}\r\n \r\n
\r\n {props.extraButton && props.extraButton}\r\n
\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const SignpostIcon = (props: any) => {\r\n const cssClassNames = classNames(\"signpost-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { CountryCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { RoleStatus } from \"../../../../../../Wrap/Constants/Enums/RoleStatus\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\nimport { SectionHeader } from \"../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { AccountRoleStore } from \"../Store/Variable\";\r\nimport { AddNewButton } from \"./AddNewButton\";\r\n\r\ninterface ITableViewSectionProps {\r\n sectionHeader: string;\r\n columnConfigs: ITableConfig[];\r\n lightboxContent: (data: CustomerTaxResidencyModel, onDataChange, isEdit) => JSX.Element | string;\r\n onSave?: (data) => boolean;\r\n onAdd?: (data) => boolean;\r\n onRemove?: (data) => boolean;\r\n getEmptyData?: any;\r\n data: CustomerTaxResidencyModel[];\r\n canEdit?: boolean;\r\n canAdd?: boolean;\r\n canRemove?: boolean;\r\n}\r\n\r\nexport const TableViewSection = (props: ITableViewSectionProps) => {\r\n const [lightbox, setLightbox] = useState(false);\r\n const [editIndex, setEditIndex] = useState(null);\r\n const [currentFormData, setCurrentFormData] = useState(null);\r\n\r\n const onDataChange = (changes) => {\r\n const _data = JSON.parse(JSON.stringify(currentFormData));\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n setCurrentFormData(_data);\r\n };\r\n\r\n const addNew = () => {\r\n const newdata = props.getEmptyData ? props.getEmptyData() : {};\r\n setLightbox(true);\r\n setEditIndex(null);\r\n setCurrentFormData(newdata);\r\n };\r\n\r\n const editItem = (index, currentData) => {\r\n const _currentData = JSON.parse(JSON.stringify(currentData));\r\n setLightbox(true);\r\n setEditIndex(index);\r\n setCurrentFormData(_currentData);\r\n };\r\n\r\n const renderTable = () => {\r\n const col = props.columnConfigs.map((x) => x);\r\n if (AccountRoleStore.canEditForAdv()) {\r\n col.push({\r\n title: \"\",\r\n render: (ele, row, index) => {\r\n return (\r\n <>\r\n {row?.AccountRoleStatus != RoleStatus.Inactive && (props.canEdit == null || props.canEdit) && (\r\n editItem(index, row)}\r\n >\r\n \r\n Edit\r\n \r\n )}\r\n\r\n {row?.Country != CountryCode.GBR && props?.canRemove != false && (\r\n props.onRemove(index)}\r\n >\r\n \r\n Delete\r\n \r\n )}\r\n \r\n );\r\n },\r\n });\r\n }\r\n return ;\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n {SectionHeader(props.sectionHeader)}\r\n {AccountRoleStore.canEditForAdv() && (\r\n <>\r\n {props.onAdd && (props.canAdd == null || props.canAdd) && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n )}\r\n
\r\n\r\n {renderTable()}\r\n\r\n {lightbox && (props.onAdd || props.onSave) ? (\r\n setLightbox(false)}\r\n show={lightbox}\r\n isClickOutsideClose={false}\r\n title={props.sectionHeader}\r\n >\r\n {props.lightboxContent(currentFormData, onDataChange, editIndex != null)}\r\n
\r\n
\r\n {\r\n setLightbox(false);\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n if (editIndex != null) {\r\n if (props.onSave(currentFormData)) {setLightbox(false);}\r\n } else {\r\n if (props.onAdd(currentFormData)) {setLightbox(false);}\r\n }\r\n }}\r\n >\r\n {editIndex != null ? \"Save\" : \"Add\"}\r\n \r\n
\r\n
\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { AddBeneficiary } from \"../../../AddClient/Components/Organisation/AddBeneficiary\";\r\n\r\ninterface IEditBeneficiaryLightboxProps {\r\n data: FullClientDetailModel;\r\n onClose: () => void;\r\n onSave: (data: FullClientDetailModel) => void;\r\n}\r\n\r\ninterface IEditBeneficiaryLightboxState {\r\n data: FullClientDetailModel;\r\n errorMsg: string[];\r\n}\r\n\r\nexport class EditBeneficiaryLightbox extends FormComponent<\r\n IEditBeneficiaryLightboxProps,\r\n IEditBeneficiaryLightboxState\r\n> {\r\n constructor(props: IEditBeneficiaryLightboxProps) {\r\n super(props);\r\n this.state = {\r\n data: JSON.parse(JSON.stringify(props.data)),\r\n errorMsg: [],\r\n };\r\n }\r\n\r\n private form;\r\n\r\n isValid() {\r\n return super.isValid() && this.form.isValid();\r\n }\r\n\r\n onChange(changes) {\r\n const { data } = this.state;\r\n for (const key in changes) {\r\n data[key] = changes[key];\r\n }\r\n this.setState({ data });\r\n }\r\n\r\n render() {\r\n const { data, errorMsg } = this.state;\r\n\r\n return (\r\n this.props.onClose()}\r\n show={true}\r\n title={\"Edit beneficiary\"}\r\n >\r\n {errorMsg.map((msg) => {\r\n return ;\r\n })}\r\n {\r\n this.onChange(change.Individual);\r\n this.setState({ errorMsg: [] });\r\n }}\r\n onRef={(ref) => {\r\n this.form = ref;\r\n }}\r\n showErrorMsgPopUp={(msg, showNow) => this.setState({ errorMsg: msg })}\r\n />\r\n
\r\n \r\n {\r\n if (this.isValid()) {\r\n this.props.onSave(this.state.data);\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { OrganisationMemberPopUpInfo, RelationshipTypeMap } from \"../../../AddClient/Resource/Contents\";\r\nimport {\r\n checkTrusteeIsSmallerThanSettlor,\r\n checkFinalRelationship,\r\n checkSettlorEqualOrGreaterThanTwo,\r\n} from \"./TrustMemberHelper\";\r\n\r\ninterface IEditRolesLightbox {\r\n data: OrganisationMember[];\r\n editItem: OrganisationMember;\r\n onClose: () => void;\r\n onSave: (customerid: OrganisationMember, newRelationships: RelationshipType[]) => void;\r\n}\r\n\r\nconst getCheckboxOptions = (\r\n originData: OrganisationMember[],\r\n editItem: OrganisationMember,\r\n selectedRoles: RelationshipType[],\r\n setSelectedRoles,\r\n setIsSettlorAdded,\r\n setIsTrusteeSmallerThanSettlor,\r\n setIsRemoveFinalSettlor,\r\n setIsRemoveFinalBeneficiary,\r\n isLastTrustee: boolean,\r\n isTwoSettlors: boolean\r\n) => {\r\n const relationships = editItem?.Relationships || [];\r\n if (relationships.length === 0) {return [];}\r\n if (relationships.length === 1) {\r\n // Trustee only or settlor only\r\n const relationship = relationships[0];\r\n if (relationship == RelationshipType.IndividualTrustee) {\r\n // Trustee only\r\n return [\r\n {\r\n label: RelationshipTypeMap[RelationshipType.IndividualTrustee],\r\n disabled: true,\r\n value: selectedRoles.includes(RelationshipType.IndividualTrustee),\r\n onChange: (v) => {},\r\n },\r\n {\r\n label: RelationshipTypeMap[RelationshipType.Settlor],\r\n disabled:\r\n (selectedRoles.length >= 2 && !selectedRoles.includes(RelationshipType.Settlor)) ||\r\n isTwoSettlors,\r\n value: selectedRoles.includes(RelationshipType.Settlor),\r\n onChange: (v) => {\r\n if (v) {\r\n setIsSettlorAdded(true);\r\n selectedRoles = selectedRoles.concat(RelationshipType.Settlor);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n setIsRemoveFinalSettlor(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Settlor)\r\n );\r\n } else {\r\n setIsSettlorAdded(false);\r\n selectedRoles = selectedRoles.filter((ele) => ele != RelationshipType.Settlor);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n setIsRemoveFinalSettlor(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Settlor)\r\n );\r\n }\r\n },\r\n },\r\n {\r\n label: RelationshipTypeMap[RelationshipType.Beneficiary],\r\n disabled: selectedRoles.length >= 2 && !selectedRoles.includes(RelationshipType.Beneficiary),\r\n value: selectedRoles.includes(RelationshipType.Beneficiary),\r\n onChange: (v) => {\r\n if (v) {\r\n selectedRoles = selectedRoles.concat(RelationshipType.Beneficiary);\r\n setSelectedRoles(selectedRoles);\r\n setIsRemoveFinalBeneficiary(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Beneficiary)\r\n );\r\n } else {\r\n selectedRoles = selectedRoles.filter((ele) => ele != RelationshipType.Beneficiary);\r\n setSelectedRoles(selectedRoles);\r\n setIsRemoveFinalBeneficiary(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Beneficiary)\r\n );\r\n }\r\n },\r\n },\r\n ];\r\n } else if (relationship == RelationshipType.Settlor) {\r\n // Settlor only\r\n return [\r\n {\r\n label: RelationshipTypeMap[RelationshipType.Settlor],\r\n disabled: true,\r\n value: selectedRoles.includes(RelationshipType.Settlor),\r\n onChange: (v) => {},\r\n },\r\n {\r\n label: RelationshipTypeMap[RelationshipType.IndividualTrustee],\r\n disabled: false,\r\n value: selectedRoles.includes(RelationshipType.IndividualTrustee),\r\n onChange: (v) => {\r\n if (v) {\r\n selectedRoles = selectedRoles.concat(RelationshipType.IndividualTrustee);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n } else {\r\n selectedRoles = selectedRoles.filter((ele) => ele != RelationshipType.IndividualTrustee);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n }\r\n },\r\n },\r\n ];\r\n }\r\n } else if (relationships.length === 2) {\r\n if (relationships.includes(RelationshipType.Settlor)) {\r\n // trsutee & settlor\r\n return [\r\n {\r\n label: RelationshipTypeMap[RelationshipType.IndividualTrustee],\r\n disabled: isLastTrustee,\r\n value: selectedRoles.includes(RelationshipType.IndividualTrustee),\r\n onChange: (v) => {\r\n if (v) {\r\n selectedRoles = selectedRoles.concat(RelationshipType.IndividualTrustee);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n } else {\r\n selectedRoles = selectedRoles.filter((ele) => ele != RelationshipType.IndividualTrustee);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n }\r\n },\r\n },\r\n {\r\n label: RelationshipTypeMap[RelationshipType.Settlor],\r\n disabled: false,\r\n value: selectedRoles.includes(RelationshipType.Settlor),\r\n onChange: (v) => {\r\n if (v) {\r\n selectedRoles = selectedRoles.concat(RelationshipType.Settlor);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n setIsRemoveFinalSettlor(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Settlor)\r\n );\r\n } else {\r\n selectedRoles = selectedRoles.filter((ele) => ele != RelationshipType.Settlor);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n setIsRemoveFinalSettlor(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Settlor)\r\n );\r\n }\r\n },\r\n },\r\n ];\r\n } else if (relationships.includes(RelationshipType.Beneficiary)) {\r\n return [\r\n {\r\n label: RelationshipTypeMap[RelationshipType.IndividualTrustee],\r\n disabled: true,\r\n value: selectedRoles.includes(RelationshipType.IndividualTrustee),\r\n onChange: (v) => {},\r\n },\r\n {\r\n label: RelationshipTypeMap[RelationshipType.Beneficiary],\r\n disabled: selectedRoles.length >= 2 && !selectedRoles.includes(RelationshipType.Beneficiary),\r\n value: selectedRoles.includes(RelationshipType.Beneficiary),\r\n onChange: (v) => {\r\n if (v) {\r\n selectedRoles = selectedRoles.concat(RelationshipType.Beneficiary);\r\n setSelectedRoles(selectedRoles);\r\n setIsRemoveFinalBeneficiary(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Beneficiary)\r\n );\r\n } else {\r\n selectedRoles = selectedRoles.filter((ele) => ele != RelationshipType.Beneficiary);\r\n setSelectedRoles(selectedRoles);\r\n setIsRemoveFinalBeneficiary(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Beneficiary)\r\n );\r\n }\r\n },\r\n },\r\n {\r\n label: RelationshipTypeMap[RelationshipType.Settlor],\r\n disabled:\r\n (selectedRoles.length >= 2 && !selectedRoles.includes(RelationshipType.Settlor)) ||\r\n isTwoSettlors,\r\n value: selectedRoles.includes(RelationshipType.Settlor),\r\n onChange: (v) => {\r\n if (v) {\r\n setIsSettlorAdded(true);\r\n selectedRoles = selectedRoles.concat(RelationshipType.Settlor);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n setIsRemoveFinalSettlor(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Settlor)\r\n );\r\n } else {\r\n setIsSettlorAdded(false);\r\n selectedRoles = selectedRoles.filter((ele) => ele != RelationshipType.Settlor);\r\n setSelectedRoles(selectedRoles);\r\n setIsTrusteeSmallerThanSettlor(checkTrusteeIsSmallerThanSettlor(originData, selectedRoles));\r\n setIsRemoveFinalSettlor(\r\n checkFinalRelationship(originData, selectedRoles, RelationshipType.Settlor)\r\n );\r\n }\r\n },\r\n },\r\n ];\r\n }\r\n }\r\n return [];\r\n};\r\n\r\nexport const EditRolesLightbox = (props: IEditRolesLightbox) => {\r\n const [selectedRoles, setSelectedRoles] = React.useState(props.editItem.Relationships || []);\r\n const [isSettlorAdded, setIsSettlorAdded] = useState(false);\r\n const [isTrusteeSmallerThanSettlor, setIsTrusteeSmallerThanSettlor] = useState(false);\r\n const [isRemoveFinalSettlor, setIsRemoveFinalSettlor] = useState(false);\r\n const [isRemoveFinalBeneficiary, setIsRemoveFinalBeneficiary] = useState(false);\r\n const isTwoSettlors = checkSettlorEqualOrGreaterThanTwo(props.data, []);\r\n const isLastTrustee =\r\n props.data.filter((ele) => {\r\n return ele.Relationships.includes(RelationshipType.IndividualTrustee);\r\n }).length == 1;\r\n\r\n return (\r\n props.onClose()}\r\n show={true}\r\n title={\"Trust Servicing - Edit Role(s)\"}\r\n >\r\n

Trust member

\r\n
\r\n {TitleMap.getString(props.editItem?.Individual?.PersonalDetails?.Title) +\r\n \" \" +\r\n props.editItem?.Individual?.PersonalDetails?.GivenName +\r\n \" \" +\r\n props.editItem?.Individual?.PersonalDetails?.FamilyName}\r\n {isSettlorAdded && (\r\n \r\n )}\r\n {isTrusteeSmallerThanSettlor && (\r\n \r\n )}\r\n {isRemoveFinalSettlor && (\r\n \r\n )}\r\n {isRemoveFinalBeneficiary && (\r\n \r\n )}\r\n {selectedRoles.length === 0 && (\r\n \r\n )}\r\n ele.CustomerId != props.editItem?.CustomerId),\r\n props.editItem,\r\n selectedRoles,\r\n setSelectedRoles,\r\n setIsSettlorAdded,\r\n setIsTrusteeSmallerThanSettlor,\r\n setIsRemoveFinalSettlor,\r\n setIsRemoveFinalBeneficiary,\r\n isLastTrustee,\r\n isTwoSettlors\r\n )}\r\n />\r\n
\r\n \r\n {\r\n props.onSave(props.editItem, selectedRoles);\r\n }}\r\n >\r\n Save\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { IJsonDate, JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { TrustAuthorisationRequestType } from \"../../../../../../../Wrap/Constants/Enums/Customer/TrustAuthorisationRequestType\";\r\nimport { TrustRemovalReason } from \"../../../../../../../Wrap/Constants/Enums/Customer/TrustRemovalReason\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { OrganisationMemberPopUpInfo, RelationshipTypeMap } from \"../../../AddClient/Resource/Contents\";\r\nimport { AddTrustMemberAction } from \"../../AddTrustMember/Action/AddTrustMemberAction\";\r\nimport { RemoveReasonTypeMap } from \"../../Resource/Contents\";\r\nimport { ShareOfTrustTable } from \"./ShareOfTrustTable\";\r\nimport { checkFinalBeneficiary, checkTrusteeIsSmallerThanSettlor } from \"./TrustMemberHelper\";\r\n\r\ninterface IRemoveMemberLightboxProps {\r\n organisation: Organisation;\r\n editItem: OrganisationMember;\r\n organisationMembers: Array;\r\n trustCategory: string;\r\n onClose: () => void;\r\n accountId: number;\r\n}\r\n\r\ninterface IRemoveMemberLightboxState {\r\n relationshipsRemoved: Array;\r\n relationshipsSaved: boolean;\r\n relationshipsUpdatedAfterSave: Array;\r\n removeReason: TrustRemovalReason;\r\n dateOfDeath: IJsonDate;\r\n showTrusteesMoreThanSettlorsWarning: boolean;\r\n showFlexibleBeneficiaryWarning: boolean;\r\n updatedOrganisationModel: Organisation;\r\n showShareOfTrustWarning: boolean;\r\n showRemoveTrusteeWarning: boolean;\r\n}\r\n\r\nexport class RemoveMemberLightbox extends FormComponent {\r\n constructor(props: IRemoveMemberLightboxProps) {\r\n super(props);\r\n this.state = {\r\n relationshipsRemoved: [],\r\n relationshipsSaved: false,\r\n relationshipsUpdatedAfterSave: [],\r\n removeReason: null,\r\n dateOfDeath: null,\r\n showTrusteesMoreThanSettlorsWarning: false,\r\n showFlexibleBeneficiaryWarning: false,\r\n updatedOrganisationModel: null,\r\n showShareOfTrustWarning: false,\r\n showRemoveTrusteeWarning: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { organisation } = this.props;\r\n const organisationData = JSON.parse(JSON.stringify(organisation));\r\n organisationData.OrganisationMembers = [];\r\n organisationData.Beneficiaries = [];\r\n organisationData.ShareOfTrustItem = [];\r\n this.setState({ updatedOrganisationModel: organisationData });\r\n if (\r\n checkFinalBeneficiary(this.props.organisationMembers) &&\r\n this.props.trustCategory == \"Flexible\" &&\r\n this.props.editItem?.Relationships?.includes(RelationshipType.Beneficiary)\r\n ) {\r\n this.setState({ showFlexibleBeneficiaryWarning: true });\r\n }\r\n }\r\n\r\n private onSubmit() {\r\n const { editItem, organisation } = this.props;\r\n const { removeReason, relationshipsUpdatedAfterSave } = this.state;\r\n if (\r\n relationshipsUpdatedAfterSave.includes(RelationshipType.IndividualTrustee) ||\r\n relationshipsUpdatedAfterSave.includes(RelationshipType.CorporateTrustee)\r\n ) {\r\n AddTrustMemberAction.postTrustAuthorisation(\r\n editItem?.CustomerId,\r\n organisation?.CustomerId,\r\n TrustAuthorisationRequestType.RemoveAsTrustee,\r\n removeReason,\r\n () => {\r\n this.deleteNonTrusteeRoles();\r\n }\r\n );\r\n } else {\r\n this.deleteNonTrusteeRoles();\r\n }\r\n }\r\n\r\n private deleteNonTrusteeRoles() {\r\n const { editItem } = this.props;\r\n const { removeReason, relationshipsUpdatedAfterSave, dateOfDeath, updatedOrganisationModel } = this.state;\r\n const nonTrusteeRolesToDelete = relationshipsUpdatedAfterSave.filter(\r\n (x) => x != RelationshipType.IndividualTrustee && x != RelationshipType.CorporateTrustee\r\n );\r\n if (nonTrusteeRolesToDelete.length > 0) {\r\n if (editItem?.Individual?.ActorCategory == AccountRoleActorCategory.Associate) {\r\n updatedOrganisationModel.Beneficiaries = [editItem];\r\n updatedOrganisationModel.Beneficiaries[0].Relationships = nonTrusteeRolesToDelete;\r\n } else {\r\n updatedOrganisationModel.OrganisationMembers = [editItem];\r\n updatedOrganisationModel.OrganisationMembers[0].Relationships = nonTrusteeRolesToDelete;\r\n }\r\n AddTrustMemberAction.removeTrustMember(updatedOrganisationModel, removeReason, dateOfDeath, () => {\r\n this.props.onClose();\r\n });\r\n } else {\r\n this.props.onClose();\r\n }\r\n }\r\n\r\n private getRemovalReasons() {\r\n const { trustCategory, organisationMembers, editItem } = this.props;\r\n const { relationshipsRemoved } = this.state;\r\n if (\r\n relationshipsRemoved.includes(RelationshipType.Beneficiary) &&\r\n trustCategory == \"Flexible\" &&\r\n checkFinalBeneficiary(organisationMembers)\r\n ) {\r\n return [];\r\n }\r\n if (relationshipsRemoved.includes(RelationshipType.Beneficiary) && trustCategory == \"Absolute\") {\r\n return [TrustRemovalReason.Death];\r\n } else if (relationshipsRemoved.includes(RelationshipType.Beneficiary)) {\r\n if (editItem?.Individual?.ActorCategory == AccountRoleActorCategory.Associate) {\r\n return [TrustRemovalReason.Death, TrustRemovalReason.Removed];\r\n } else {\r\n return [TrustRemovalReason.Removed];\r\n }\r\n } else {\r\n return [TrustRemovalReason.Removed, TrustRemovalReason.Resignation, TrustRemovalReason.Retirement];\r\n }\r\n }\r\n\r\n private renderBeneficiariesTable() {\r\n const { editItem, organisationMembers, accountId } = this.props;\r\n const { updatedOrganisationModel } = this.state;\r\n return (\r\n <>\r\n {}}\r\n organisation={updatedOrganisationModel}\r\n deletedBeneficiary={editItem}\r\n remainingBeneficiaries={organisationMembers.filter(\r\n (x) =>\r\n x?.Relationships.includes(RelationshipType.Beneficiary) &&\r\n x?.CustomerId != editItem?.CustomerId\r\n )}\r\n isAddBeneficiary={false}\r\n IsAddAdditionalBeneficiary={false}\r\n onChange={(organisation) => this.setState({ updatedOrganisationModel: organisation })}\r\n accountId={accountId}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderRemovalReason() {\r\n const { editItem, organisationMembers, trustCategory } = this.props;\r\n const { relationshipsRemoved, removeReason, relationshipsUpdatedAfterSave } = this.state;\r\n return (\r\n <>\r\n If you are removing an assigned role of a trust member, then a reason must be given.\r\n
\r\n {\r\n return RemoveReasonTypeMap[v];\r\n }}\r\n cssWrapper=\"control-size-300\"\r\n placeholder=\"Please select\"\r\n label=\"Remove reason\"\r\n selected={this.state.removeReason}\r\n onChange={(v) => {\r\n let updatedRelationships = relationshipsRemoved;\r\n // All roles should be removed when reason selected is removed or death,\r\n // with the exception of scenario: trustee+ settlor + removed => trustee role (not valid reason for Settlor)\r\n if (v == TrustRemovalReason.Death || v == TrustRemovalReason.Removed) {\r\n if (\r\n !(\r\n editItem?.Relationships.includes(RelationshipType.Settlor) &&\r\n v == TrustRemovalReason.Removed\r\n )\r\n ) {\r\n updatedRelationships = editItem?.Relationships;\r\n }\r\n }\r\n if (updatedRelationships.includes(RelationshipType.IndividualTrustee)) {\r\n const showWarning = this.checkTrusteesGreaterThanSettlors(updatedRelationships);\r\n this.setState({\r\n showTrusteesMoreThanSettlorsWarning: showWarning,\r\n });\r\n }\r\n\r\n this.setState({ relationshipsUpdatedAfterSave: updatedRelationships, removeReason: v });\r\n }}\r\n required={\"Please select\"}\r\n />\r\n\r\n {removeReason == TrustRemovalReason.Death && (\r\n {\r\n this.setState({ dateOfDeath: JsonDateParser.toJsonDateNoOffset(v) });\r\n }}\r\n showYearDropdown={true}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n atMost={{ value: new Date(), errorMessage: \"Date can not be in the future\" }}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n formGroupCssWrapper=\"control-size-300\"\r\n required=\"Please enter\"\r\n />\r\n )}\r\n\r\n {relationshipsUpdatedAfterSave.includes(RelationshipType.Beneficiary) &&\r\n this.renderBeneficiariesTable()}\r\n\r\n
\r\n \r\n {\r\n if (\r\n this.isValid() &&\r\n (!relationshipsUpdatedAfterSave.includes(RelationshipType.Beneficiary) ||\r\n this.checkShareOfTrustSum())\r\n ) {\r\n this.onSubmit();\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n \r\n );\r\n }\r\n\r\n private checkShareOfTrustSum() {\r\n const { updatedOrganisationModel } = this.state;\r\n let sum = 0;\r\n\r\n if (!CommonHelper.isNullOrEmpty(updatedOrganisationModel?.ShareOfTrustItem)) {\r\n updatedOrganisationModel?.ShareOfTrustItem.forEach((x) => {\r\n const share = x?.Percentage ? Number(x?.Percentage) : 0;\r\n sum = sum + share;\r\n });\r\n }\r\n if (Math.abs(100 - sum) > 0.1 && updatedOrganisationModel?.ShareOfTrustItem?.length > 0) {\r\n this.setState({ showShareOfTrustWarning: true });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private checkTrusteesGreaterThanSettlors(deletedRelatioships: Array) {\r\n const remainingRoles = this.props.editItem.Relationships.filter((x) => !deletedRelatioships.includes(x));\r\n return checkTrusteeIsSmallerThanSettlor(this.props.organisationMembers, remainingRoles);\r\n }\r\n\r\n private validateRoleSelected() {\r\n const { editItem } = this.props;\r\n const { relationshipsRemoved } = this.state;\r\n if (\r\n relationshipsRemoved.includes(RelationshipType.IndividualTrustee) &&\r\n relationshipsRemoved.length == 1 &&\r\n editItem?.Relationships.includes(RelationshipType.Beneficiary)\r\n ) {\r\n this.setState({ showRemoveTrusteeWarning: true });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n render() {\r\n const { editItem, trustCategory, organisationMembers } = this.props;\r\n const {\r\n relationshipsRemoved,\r\n relationshipsSaved,\r\n relationshipsUpdatedAfterSave,\r\n showTrusteesMoreThanSettlorsWarning,\r\n showFlexibleBeneficiaryWarning,\r\n showShareOfTrustWarning,\r\n showRemoveTrusteeWarning,\r\n } = this.state;\r\n const options = [];\r\n editItem?.Relationships.forEach((relationship) => {\r\n options.push({\r\n label: RelationshipTypeMap[relationship],\r\n onChange: (v) => {\r\n if (v) {\r\n const updated = relationshipsRemoved.filter((x) => x != relationship);\r\n if (\r\n v == RelationshipType.IndividualTrustee &&\r\n !this.checkTrusteesGreaterThanSettlors(updated)\r\n ) {\r\n this.setState({ showTrusteesMoreThanSettlorsWarning: false });\r\n }\r\n this.setState({ relationshipsRemoved: updated, showRemoveTrusteeWarning: false });\r\n } else {\r\n const updated = relationshipsRemoved.concat([relationship]);\r\n if (v == RelationshipType.IndividualTrustee && this.checkTrusteesGreaterThanSettlors(updated)) {\r\n this.setState({ showTrusteesMoreThanSettlorsWarning: true });\r\n }\r\n this.setState({ relationshipsRemoved: updated, showRemoveTrusteeWarning: false });\r\n }\r\n },\r\n value: relationshipsSaved\r\n ? !relationshipsUpdatedAfterSave.includes(relationship)\r\n : !relationshipsRemoved.includes(relationship),\r\n disabled:\r\n relationshipsSaved ||\r\n (trustCategory == \"Flexible\" &&\r\n relationship == RelationshipType.Beneficiary &&\r\n checkFinalBeneficiary(organisationMembers)) ||\r\n relationship == RelationshipType.Settlor,\r\n });\r\n });\r\n return (\r\n <>\r\n this.props.onClose()}\r\n show={true}\r\n title={\"Trust member - Remove trust member\"}\r\n >\r\n {showShareOfTrustWarning && (\r\n
\r\n )}\r\n\r\n {showTrusteesMoreThanSettlorsWarning && (\r\n
\r\n )}\r\n\r\n {showFlexibleBeneficiaryWarning && (\r\n
\r\n )}\r\n\r\n {showRemoveTrusteeWarning && (\r\n
\r\n )}\r\n

Trust member

\r\n\r\n {editItem?.Relationships.includes(RelationshipType.CorporateTrustee) && (\r\n

{editItem?.Company?.CompanyName}

\r\n )}\r\n {!editItem?.Relationships.includes(RelationshipType.CorporateTrustee) && (\r\n

\r\n {TitleMap.getString(editItem?.Individual?.PersonalDetails?.Title) +\r\n \" \" +\r\n editItem?.Individual?.PersonalDetails?.GivenName +\r\n \" \" +\r\n editItem?.Individual?.PersonalDetails?.FamilyName}\r\n

\r\n )}\r\n\r\n
\r\n \r\n {relationshipsSaved == false && (\r\n <>\r\n \r\n {\r\n if (this.validateRoleSelected()) {\r\n this.setState({\r\n relationshipsSaved: true,\r\n relationshipsUpdatedAfterSave: relationshipsRemoved,\r\n });\r\n }\r\n }}\r\n disabled={relationshipsRemoved.length == 0}\r\n >\r\n Save\r\n \r\n \r\n )}\r\n {relationshipsSaved == true && this.renderRemovalReason()}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { ShareOfTrustItem } from \"../../../../../../../Wrap/Models/Models/Customer/ShareOfTrustItem\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { AdditionalDataItemType } from \"../../../../../../../Wrap/Constants/Enums/Domain/AdditionalDataItemType\";\r\nimport { AddTrustMemberAction } from \"../../AddTrustMember/Action/AddTrustMemberAction\";\r\nimport { OrganisationMemberPopUpInfo } from \"../../../AddClient/Resource/Contents\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\n\r\ninterface IShareOfTrustTableProps extends IProcessComponentProps {\r\n organisation: Organisation;\r\n deletedBeneficiary: OrganisationMember;\r\n remainingBeneficiaries: Array;\r\n isAddBeneficiary: boolean;\r\n IsAddAdditionalBeneficiary: boolean;\r\n accountId: number;\r\n}\r\n\r\ninterface IShareOfTrustTableState {\r\n applyEqualShare: boolean;\r\n currentShares: Array;\r\n}\r\n\r\nexport class ShareOfTrustTable extends ProcessComponent {\r\n constructor(props: IShareOfTrustTableProps) {\r\n super(props);\r\n this.state = {\r\n applyEqualShare: false,\r\n currentShares: [],\r\n };\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n const { organisation, isAddBeneficiary, IsAddAdditionalBeneficiary } = this.props;\r\n let sum = 0;\r\n let newBeneficiaries;\r\n if (isAddBeneficiary) {\r\n if (IsAddAdditionalBeneficiary) {\r\n newBeneficiaries = organisation?.Beneficiaries?.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Beneficiary)\r\n );\r\n } else {\r\n newBeneficiaries = organisation?.OrganisationMembers?.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Beneficiary)\r\n );\r\n }\r\n }\r\n newBeneficiaries.forEach((x) => {\r\n const share = x?.Percentage ? Number(x?.Percentage) : 0;\r\n sum = sum + share;\r\n });\r\n if (!CommonHelper.isNullOrEmpty(organisation?.ShareOfTrustItem)) {\r\n organisation?.ShareOfTrustItem.forEach((x) => {\r\n const share = x?.Percentage ? Number(x?.Percentage) : 0;\r\n sum = sum + share;\r\n });\r\n }\r\n if (Math.abs(100 - sum) > 0.1) {\r\n this.props.showErrorMsgPopUp([OrganisationMemberPopUpInfo.shareOfTrustWarning], true);\r\n return false;\r\n }\r\n return flag;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const {\r\n deletedBeneficiary,\r\n remainingBeneficiaries,\r\n isAddBeneficiary,\r\n accountId,\r\n organisation,\r\n onChange,\r\n } = this.props;\r\n const beneficiaries = remainingBeneficiaries;\r\n\r\n AddTrustMemberAction.getShareOfTrust(organisation?.CustomerId, (result) => {\r\n this.setState({ currentShares: result });\r\n });\r\n const shareOfTrusts: Array = [];\r\n\r\n beneficiaries.forEach((beneficiary) => {\r\n shareOfTrusts.push({\r\n CustomerId: beneficiary?.CustomerId,\r\n AccountId: accountId,\r\n AccountRoleType:\r\n beneficiary?.Individual?.ActorCategory == AccountRoleActorCategory.Customer\r\n ? RoleType.Beneficiary\r\n : RoleType.AdditionalBeneficiary,\r\n AdditionalDataItemType: AdditionalDataItemType.ShareOfTrust,\r\n Percentage: 0,\r\n });\r\n });\r\n\r\n if (isAddBeneficiary == false) {\r\n if (deletedBeneficiary?.Individual?.ActorOwnerId != 0) {\r\n this.onShareOfTrustChange([\r\n { value: shareOfTrusts, path: `ShareOfTrustItem` },\r\n {\r\n value: {\r\n CustomerId: deletedBeneficiary?.CustomerId,\r\n AccountId: accountId,\r\n AccountRoleType:\r\n deletedBeneficiary?.Individual?.ActorCategory == AccountRoleActorCategory.Customer\r\n ? RoleType.Beneficiary\r\n : RoleType.AdditionalBeneficiary,\r\n AdditionalDataItemType: AdditionalDataItemType.ShareOfTrust,\r\n Percentage: 0,\r\n },\r\n path: `ShareOfTrustToDelete`,\r\n },\r\n ]);\r\n } else {\r\n this.onShareOfTrustChange([{ value: shareOfTrusts, path: `ShareOfTrustItem` }]);\r\n }\r\n } else {\r\n this.onShareOfTrustChange([{ value: shareOfTrusts, path: `ShareOfTrustItem` }]);\r\n }\r\n }\r\n\r\n private applyEqualShare() {\r\n const {\r\n organisation,\r\n deletedBeneficiary,\r\n remainingBeneficiaries,\r\n isAddBeneficiary,\r\n IsAddAdditionalBeneficiary,\r\n } = this.props;\r\n let beneficiaries = remainingBeneficiaries;\r\n let newBeneficiaryCount = 0;\r\n this.setState({ applyEqualShare: true });\r\n if (isAddBeneficiary) {\r\n if (IsAddAdditionalBeneficiary) {\r\n beneficiaries = beneficiaries.concat(organisation?.Beneficiaries);\r\n newBeneficiaryCount = (organisation?.Beneficiaries || []).length;\r\n } else {\r\n const newBeneficiaries = organisation?.OrganisationMembers.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Beneficiary)\r\n );\r\n beneficiaries = beneficiaries.concat(newBeneficiaries);\r\n newBeneficiaryCount = (newBeneficiaries || []).length;\r\n }\r\n } else {\r\n if (deletedBeneficiary != null) {\r\n beneficiaries = beneficiaries.filter((x) => x.CustomerId != deletedBeneficiary?.CustomerId);\r\n }\r\n }\r\n const percentage = CommonHelper.downFixed(100 / beneficiaries.length, 2);\r\n const change = [];\r\n for (let i = 0; i < beneficiaries.length; i++) {\r\n if (i < beneficiaries.length - newBeneficiaryCount) {\r\n change.push({\r\n value: percentage.toString(),\r\n path: `ShareOfTrustItem.${i}.Percentage`,\r\n });\r\n } else {\r\n if (IsAddAdditionalBeneficiary) {\r\n change.push({\r\n value: percentage.toString(),\r\n path: `Beneficiaries.${i - beneficiaries.length + newBeneficiaryCount}.Percentage`,\r\n });\r\n } else {\r\n change.push({\r\n value: percentage.toString(),\r\n path: `OrganisationMembers.${i - beneficiaries.length + newBeneficiaryCount}.Percentage`,\r\n });\r\n }\r\n }\r\n }\r\n this.onShareOfTrustChange(change);\r\n }\r\n\r\n private onShareOfTrustChange = (changes: { value: any; path: string }[]) => {\r\n const { organisation } = this.props;\r\n let _model = { ...organisation };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n this.props.onChange(_model);\r\n };\r\n\r\n private renderBeneficiariesTable() {\r\n const {\r\n organisation,\r\n deletedBeneficiary,\r\n remainingBeneficiaries,\r\n isAddBeneficiary,\r\n IsAddAdditionalBeneficiary,\r\n } = this.props;\r\n const { applyEqualShare, currentShares } = this.state;\r\n let beneficiaries = JSON.parse(JSON.stringify(remainingBeneficiaries));\r\n let newBeneficiaryCount = 0;\r\n if (isAddBeneficiary == true) {\r\n if (IsAddAdditionalBeneficiary) {\r\n beneficiaries = beneficiaries.concat(organisation?.Beneficiaries);\r\n newBeneficiaryCount = (organisation?.Beneficiaries || []).length;\r\n } else {\r\n const newBeneficiaries = organisation?.OrganisationMembers.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Beneficiary)\r\n );\r\n beneficiaries = beneficiaries.concat(newBeneficiaries);\r\n newBeneficiaryCount = (newBeneficiaries || []).length;\r\n }\r\n } else {\r\n if (deletedBeneficiary != null) {\r\n if (deletedBeneficiary?.Individual?.ActorOwnerId != 0) {\r\n beneficiaries.push(deletedBeneficiary);\r\n }\r\n }\r\n }\r\n const lastBeneficiaryIndex =\r\n deletedBeneficiary?.Individual?.ActorOwnerId != 0 ? beneficiaries.length - 1 : beneficiaries.length;\r\n return (\r\n <>\r\n

Share of trust

\r\n {\r\n return TitleMap.getString(v);\r\n },\r\n },\r\n { title: \"First name\", key: \"Individual.PersonalDetails.GivenName\" },\r\n { title: \"Surname\", key: \"Individual.PersonalDetails.FamilyName\" },\r\n {\r\n title: \"Date of birth\",\r\n key: \"Individual.PersonalDetails.DateOfBirth\",\r\n render: (v) => JsonDateParser.getFormatDate(v, \"dd/MM/yyyy\"),\r\n },\r\n {\r\n title: \"Current share of trust %\",\r\n key: \"CustomerId\",\r\n render: (v) => {\r\n const currentShare = currentShares.filter((x) => x.CustomerId == v);\r\n if (!CommonHelper.isNullOrEmpty(currentShare)) {\r\n return currentShare[0].Percentage.toString();\r\n }\r\n return \"0\";\r\n },\r\n },\r\n {\r\n title: \"New share of trust %\",\r\n key: \"\",\r\n render: (data, row: OrganisationMember, index) => {\r\n if (\r\n (isAddBeneficiary && index <= lastBeneficiaryIndex - newBeneficiaryCount) ||\r\n (isAddBeneficiary == false && index != lastBeneficiaryIndex)\r\n ) {\r\n return (\r\n <>\r\n {\r\n this.onShareOfTrustChange([\r\n {\r\n value: v?.toString(),\r\n path: `ShareOfTrustItem.${index}.Percentage`,\r\n },\r\n ]);\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n />\r\n \r\n );\r\n } else if (isAddBeneficiary && index > lastBeneficiaryIndex - newBeneficiaryCount) {\r\n return (\r\n <>\r\n {\r\n if (IsAddAdditionalBeneficiary) {\r\n this.onShareOfTrustChange([\r\n {\r\n value: v?.toString(),\r\n path: `Beneficiaries.${\r\n index -\r\n lastBeneficiaryIndex +\r\n newBeneficiaryCount -\r\n 1\r\n }.Percentage`,\r\n },\r\n ]);\r\n } else {\r\n this.onShareOfTrustChange([\r\n {\r\n value: v?.toString(),\r\n path: `OrganisationMembers.${\r\n index -\r\n lastBeneficiaryIndex +\r\n newBeneficiaryCount -\r\n 1\r\n }.Percentage`,\r\n },\r\n ]);\r\n }\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n />\r\n \r\n );\r\n } else if (!isAddBeneficiary && index == lastBeneficiaryIndex) {\r\n return (\r\n <>\r\n {\r\n this.onShareOfTrustChange([\r\n {\r\n value: v?.toString(),\r\n path: `ShareOfTrustToDelete.Percentage`,\r\n },\r\n ]);\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n />\r\n \r\n );\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n if (v) {\r\n this.applyEqualShare();\r\n } else {\r\n this.setState({ applyEqualShare: false });\r\n }\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return <>{this.renderBeneficiariesTable()};\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { OrganisationMemberPopUpInfo } from \"../../../AddClient/Resource/Contents\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { AccountRoleStore } from \"../../Store/Variable\";\r\nimport { ShareOfTrustTable } from \"../../Components/TrustMember/ShareOfTrustTable\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\n\r\ninterface IShareofTrustLightboxProps {\r\n data: Organisation;\r\n onClose: () => void;\r\n onSave: (orgnisationModel: Organisation) => void;\r\n}\r\n\r\ninterface IShareofTrustLightboxState {\r\n accountId: number;\r\n updatedOrganisationModel: Organisation;\r\n orgnisationMember: Array;\r\n deleteItem: OrganisationMember;\r\n showMessage: boolean;\r\n}\r\n\r\nexport class ShareofTrustLightbox extends FormComponent {\r\n constructor(props: IShareofTrustLightboxProps) {\r\n super(props);\r\n this.state = {\r\n accountId: null,\r\n orgnisationMember: this.resettozero(),\r\n updatedOrganisationModel: this.resetorganisation(),\r\n deleteItem: this.resetdeleteitem(),\r\n showMessage: false,\r\n };\r\n this.subscribeToStore(AccountRoleStore, () => {\r\n const result = (AccountRoleStore.getData() || []).filter(\r\n (ele) => ele.AccountRoleType == RoleType.TrustAccountHolder\r\n );\r\n if (result.length > 0) {\r\n this.setState({\r\n accountId: result[0].AccountId,\r\n });\r\n }\r\n });\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n const { updatedOrganisationModel, showMessage } = this.state;\r\n let sum = 0;\r\n if (!CommonHelper.isNullOrEmpty(updatedOrganisationModel?.ShareOfTrustItem)) {\r\n updatedOrganisationModel?.ShareOfTrustItem.forEach((x) => {\r\n const share = x?.Percentage ? Number(x?.Percentage) : 0;\r\n sum = sum + share;\r\n });\r\n }\r\n\r\n if (Math.abs(100 - sum) > 0.1) {\r\n this.setState({ showMessage: true });\r\n return false;\r\n }\r\n return flag;\r\n }\r\n\r\n private resetdeleteitem() {\r\n const old: OrganisationMember = {\r\n Company: null,\r\n Individual: {\r\n PersonalDetails: { Title: Title.Mr },\r\n ActorCategory: AccountRoleActorCategory.Associate,\r\n ActorOwnerId: 0,\r\n },\r\n Relationships: [RelationshipType.Beneficiary],\r\n Percentage: 0,\r\n };\r\n return old;\r\n }\r\n private resettozero() {\r\n const old = this.props.data;\r\n old.OrganisationMembers.forEach((change) => {\r\n change.Percentage = 0;\r\n });\r\n return old.OrganisationMembers;\r\n }\r\n private resetorganisation() {\r\n const old = this.props.data;\r\n\r\n old.OrganisationMembers = [];\r\n old.Beneficiaries = [];\r\n old.ShareOfTrustItem = [];\r\n\r\n return old;\r\n }\r\n\r\n render() {\r\n const { accountId, updatedOrganisationModel, orgnisationMember, deleteItem } = this.state;\r\n const { showMessage } = this.state;\r\n return (\r\n <>\r\n this.props.onClose()}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {showMessage && (\r\n \r\n )}\r\n ref}\r\n organisation={updatedOrganisationModel}\r\n deletedBeneficiary={deleteItem}\r\n remainingBeneficiaries={orgnisationMember.filter((x) =>\r\n x.Relationships.includes(RelationshipType.Beneficiary)\r\n )}\r\n isAddBeneficiary={false}\r\n IsAddAdditionalBeneficiary={true}\r\n onChange={(data) => this.setState({ updatedOrganisationModel: data })}\r\n accountId={accountId}\r\n />\r\n\r\n
\r\n \r\n {\r\n if (this.isValid()) {\r\n this.props.onSave(updatedOrganisationModel);\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\n\r\nexport const checkTrusteeIsSmallerThanSettlor = (\r\n originData: OrganisationMember[],\r\n selectedRoles: RelationshipType[]\r\n): boolean => {\r\n let originRelationshipArr = [];\r\n originData.forEach((e) => {\r\n originRelationshipArr = originRelationshipArr.concat(e?.Relationships || []);\r\n });\r\n const trusteeNumber =\r\n (originRelationshipArr?.filter((ele) => ele == RelationshipType.IndividualTrustee || ele == RelationshipType.CorporateTrustee)?.length || 0) +\r\n (selectedRoles?.filter((ele) => ele == RelationshipType.IndividualTrustee || ele == RelationshipType.CorporateTrustee)?.length || 0);\r\n const settlorNumber =\r\n (originRelationshipArr?.filter((ele) => ele == RelationshipType.Settlor)?.length || 0) +\r\n (selectedRoles?.filter((ele) => ele == RelationshipType.Settlor)?.length || 0);\r\n return trusteeNumber <= settlorNumber;\r\n};\r\n\r\nexport const checkFinalRelationship = (\r\n originData: OrganisationMember[],\r\n selectedRoles: RelationshipType[],\r\n targetRelationship: RelationshipType\r\n) => {\r\n let originRelationshipArr = [];\r\n originData.forEach((e) => {\r\n originRelationshipArr = originRelationshipArr.concat(e?.Relationships || []);\r\n });\r\n const number =\r\n (originRelationshipArr?.filter((ele) => ele == targetRelationship)?.length || 0) +\r\n (selectedRoles?.filter((ele) => ele == targetRelationship)?.length || 0);\r\n return number == 0;\r\n};\r\n\r\nexport const checkSettlorEqualOrGreaterThanTwo = (\r\n originData: OrganisationMember[],\r\n selectedRoles: RelationshipType[]\r\n): boolean => {\r\n let originRelationshipArr = [];\r\n originData.forEach((e) => {\r\n originRelationshipArr = originRelationshipArr.concat(e?.Relationships || []);\r\n });\r\n const number =\r\n (originRelationshipArr?.filter((ele) => ele == RelationshipType.Settlor)?.length || 0) +\r\n (selectedRoles?.filter((ele) => ele == RelationshipType.Settlor)?.length || 0);\r\n return number >= 2;\r\n};\r\n\r\nexport const checkFinalBeneficiary = (\r\n organisationMembers: OrganisationMember[]\r\n) => {\r\n return organisationMembers?.filter(x => x.Relationships.includes(RelationshipType.Beneficiary)).length == 1\r\n}\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { TrustMemberAction } from \"../../../../../../../Wrap/Constants/Enums/Customer/TrustMemberAction\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { TrustMemberHistory } from \"../../../../../../../Wrap/Models/Models/Customer/TrustMemberHistory\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { ITrustMemberDetailsProps } from \"../../../AddClient/Components/Organisation/TrustMemberDetails\";\r\nimport { AddTrustMemberAction } from \"../../AddTrustMember/Action/AddTrustMemberAction\";\r\nimport { TrustMemberActionMap } from \"../../Resource/Contents\";\r\n\r\ninterface ITrustMemberHistoryLightboxProps {\r\n selectedMember: OrganisationMember;\r\n selectedMemberHistory: TrustMemberHistory[];\r\n isLoading: boolean;\r\n}\r\n\r\ninterface ITrustMemberHistoryLightboxState {}\r\n\r\nexport class TrustMemberHistoryLightbox extends FormComponent<\r\n ITrustMemberHistoryLightboxProps,\r\n ITrustMemberHistoryLightboxState\r\n> {\r\n constructor(props: ITrustMemberHistoryLightboxProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n componentDidMount() {}\r\n\r\n private isActiveMemberHistory(history: TrustMemberHistory) {\r\n if (\r\n history?.Action == TrustMemberAction.ActiveAsBeneiciary ||\r\n history?.Action == TrustMemberAction.ActiveAsSettlor ||\r\n history?.Action == TrustMemberAction.ActiveAsSignatory ||\r\n history?.Action == TrustMemberAction.ActiveAsTrustee\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private getHistoryConfig() {\r\n return [\r\n {\r\n title: \"Change\",\r\n key: \"Action\",\r\n render: (data: TrustMemberAction) => {\r\n return TrustMemberActionMap[data];\r\n },\r\n },\r\n {\r\n title: \"Updated by\",\r\n key: \"UpdatedUser\",\r\n render: (data, row: TrustMemberHistory) => {\r\n if (!data) {return \"-\";}\r\n return row.UpdatedUser;\r\n },\r\n },\r\n {\r\n title: \"Updated time\",\r\n key: \"UpdatedTime\",\r\n render: (data, row) => {\r\n if (!data) {return \"-\";}\r\n return JsonDateParser.getFormatDateString(JsonDateParser.toDate(data), \"dd/MM/yyyy hh:mm:ss\");\r\n },\r\n },\r\n {\r\n title: \"Authorised by\",\r\n key: \"AuthorisedUser\",\r\n render: (data, row: TrustMemberHistory) => {\r\n if (\r\n this.isActiveMemberHistory(row) ||\r\n row?.Action == TrustMemberAction.PendingAuthorisationAsTrustee ||\r\n row?.Action == TrustMemberAction.PendingRemovalAsTrustee\r\n ) {\r\n return \"-\";\r\n } else {\r\n if (!data) {return \"N/A\";}\r\n return row.AuthorisedUser;\r\n }\r\n },\r\n },\r\n {\r\n title: \"Authorised time\",\r\n key: \"AuthorisedTime\",\r\n render: (data, row) => {\r\n if (\r\n this.isActiveMemberHistory(row) ||\r\n row?.Action == TrustMemberAction.PendingAuthorisationAsTrustee ||\r\n row?.Action == TrustMemberAction.PendingRemovalAsTrustee\r\n ) {\r\n return \"-\";\r\n } else {\r\n if (!data) {return \"N/A\";}\r\n return JsonDateParser.getFormatDateString(JsonDateParser.toDate(data), \"dd/MM/yyyy hh:mm:ss\");\r\n }\r\n },\r\n },\r\n ];\r\n }\r\n\r\n render() {\r\n const { selectedMember, selectedMemberHistory, isLoading } = this.props;\r\n if (isLoading) {\r\n return ;\r\n }\r\n return (\r\n <>\r\n {selectedMember?.Relationships.includes(RelationshipType.CorporateTrustee) && (\r\n

{selectedMember?.Company?.CompanyName}

\r\n )}\r\n {!selectedMember?.Relationships.includes(RelationshipType.CorporateTrustee) && (\r\n

\r\n {TitleMap.getString(selectedMember?.Individual?.PersonalDetails?.Title) +\r\n \" \" +\r\n selectedMember?.Individual?.PersonalDetails?.GivenName +\r\n \" \" +\r\n selectedMember?.Individual?.PersonalDetails?.FamilyName}\r\n

\r\n )}\r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { inArray } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { TrustMemberAction } from \"../../../../../../../Wrap/Constants/Enums/Customer/TrustMemberAction\";\r\nimport { TrustRemovalReason } from \"../../../../../../../Wrap/Constants/Enums/Customer/TrustRemovalReason\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { BulkTrustMemberHistorySearchResult } from \"../../../../../../../Wrap/Models/Models/Customer/BulkTrustMemberHistorySearchResult\";\r\nimport { OrganisationMember } from \"../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { ITableConfig, Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { RelationshipTypeMap, CompanyTypeMap } from \"../../../AddClient/Resource/Contents\";\r\nimport { GenderOptionsMap } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { RemoveReasonTypeMap } from \"../../Resource/Contents\";\r\n\r\ninterface ITrustMemberTableProps {\r\n data: OrganisationMember[];\r\n title?: string;\r\n hasAction?: boolean;\r\n type?: CustomerType;\r\n trustCategory?: string;\r\n isCompanyMember: boolean;\r\n isBeneficiaryOnly: boolean;\r\n hasTrustAccount?: boolean;\r\n onDelete: (customerid: OrganisationMember) => void;\r\n onEdit: (customerid: OrganisationMember) => void;\r\n onEditRoles: (customerid: OrganisationMember) => void;\r\n onClickHistory: (customerid: OrganisationMember) => void;\r\n onClickShareofTrust: () => void;\r\n isTrustServicing?: boolean;\r\n histories?: Array;\r\n invalidMembers?: Array;\r\n showShareOfTrust: boolean;\r\n totalTrustees?: number;\r\n}\r\n\r\nexport class TrustMemberTable extends BaseComponent {\r\n constructor(props: ITrustMemberTableProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getTrustMemberConfig = (\r\n isCompany: boolean,\r\n isBeneficiary: boolean,\r\n isTrustServicing: boolean,\r\n totalTrustees: number\r\n ): ITableConfig[] => {\r\n return [\r\n {\r\n title: \"Role\",\r\n key: \"Relationships\",\r\n render: (data, row: OrganisationMember, index) => {\r\n return (row?.Relationships || []).map((role) => RelationshipTypeMap[role]).join(\" & \");\r\n },\r\n },\r\n !isTrustServicing && this.props.showShareOfTrust\r\n ? {\r\n title: \"Client id\",\r\n key: \"CustomerId\",\r\n render: (data, row) => {\r\n if (isBeneficiary) {return data;}\r\n return (\r\n \r\n window.location.assign(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n data\r\n ),\r\n })\r\n .detail.getUrl()\r\n )\r\n }\r\n >\r\n {data}\r\n \r\n );\r\n },\r\n }\r\n : null,\r\n !isCompany\r\n ? {\r\n title: \"Title\",\r\n key: \"Individual.PersonalDetails.Title\",\r\n render: (data) => {\r\n if (!data) {return null;}\r\n return TitleMap.getString(data);\r\n },\r\n }\r\n : null,\r\n !isCompany\r\n ? {\r\n title: \"Name\",\r\n key: \"Individual.PersonalDetails.FamilyName\",\r\n render: (data, row: OrganisationMember) => {\r\n if (isTrustServicing && !isBeneficiary) {\r\n return (\r\n \r\n window.location.assign(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row.CustomerId\r\n ),\r\n })\r\n .detail.getUrl()\r\n )\r\n }\r\n >\r\n {`${row?.Individual?.PersonalDetails?.GivenName} ${row?.Individual?.PersonalDetails?.FamilyName}`}\r\n \r\n );\r\n }\r\n return `${row?.Individual?.PersonalDetails?.GivenName} ${row?.Individual?.PersonalDetails?.FamilyName}`;\r\n },\r\n }\r\n : null,\r\n !isCompany\r\n ? {\r\n title: \"Gender\",\r\n key: \"Individual.PersonalDetails.Gender\",\r\n render: (data, row) => {\r\n if (!data) {return null;}\r\n return GenderOptionsMap[data];\r\n },\r\n }\r\n : null,\r\n !isCompany\r\n ? {\r\n title: \"Date of birth\",\r\n key: \"Individual.PersonalDetails.DateOfBirth\",\r\n render: (data) => {\r\n if (!data) {return null;}\r\n return JsonDateParser.getFormatDateString(JsonDateParser.toDate(data), \"dd/MM/yyyy\");\r\n },\r\n }\r\n : null,\r\n !isCompany && this.props.showShareOfTrust\r\n ? {\r\n title: (\r\n {\r\n this.props.onClickShareofTrust();\r\n }}\r\n >\r\n Share of Trust\r\n \r\n ),\r\n key: \"Percentage\",\r\n render: (data) => {\r\n if (!data) {return \"-\";}\r\n else {return Number(data).toFixed(2).toString();}\r\n },\r\n }\r\n : null,\r\n isCompany\r\n ? {\r\n title: \"Company name\",\r\n key: \"Company.CompanyName\",\r\n render: (data, row: OrganisationMember) => {\r\n if (isTrustServicing) {\r\n return (\r\n \r\n window.location.assign(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row.CustomerId\r\n ),\r\n })\r\n .detail.getUrl()\r\n )\r\n }\r\n >\r\n {data}\r\n \r\n );\r\n }\r\n return data;\r\n },\r\n }\r\n : null,\r\n isCompany\r\n ? {\r\n title: \"Company type\",\r\n key: \"Company.CompanyType\",\r\n render: (data) => {\r\n if (!data) {return null;}\r\n return CompanyTypeMap[data];\r\n },\r\n }\r\n : null,\r\n isTrustServicing && this.props.hasTrustAccount\r\n ? {\r\n title: \"Status\",\r\n key: \"history\",\r\n render: (data, row: OrganisationMember) => {\r\n const { histories, invalidMembers } = this.props;\r\n if (\r\n histories &&\r\n row &&\r\n row.CustomerId > 0 &&\r\n histories.some((x) => x.CustomerId == row.CustomerId)\r\n ) {\r\n const item = histories.find((x) => x.CustomerId == row.CustomerId);\r\n const reasonList = item.Histories.filter(\r\n (x) => x.RemovealReason != TrustRemovalReason.NotSpecified\r\n );\r\n const reject = item.Histories.some(\r\n (ele) => ele.Action == TrustMemberAction.TrusteeAdditionRejected\r\n );\r\n const reason = reasonList?.pop()?.RemovealReason;\r\n return !(invalidMembers || []).some(\r\n (x) =>\r\n x.CustomerId == row.CustomerId &&\r\n x.Relationships.some((y) => row.Relationships.some((z) => z == y))\r\n ) && !(row as any).HasPending\r\n ? \"Active\"\r\n : reason\r\n ? RemoveReasonTypeMap[reason]\r\n : reject\r\n ? \"Reject\"\r\n : \"\";\r\n }\r\n return null;\r\n },\r\n }\r\n : null,\r\n !isCompany && !isBeneficiary && this.props.hasTrustAccount == false\r\n ? {\r\n title: \"Edit Role(s)\",\r\n key: \"\",\r\n tdCssWrapper: \"cell-center\",\r\n thCssWrapper: \"cell-center\",\r\n render: (data, row: OrganisationMember) => {\r\n return (\r\n this.props.onEditRoles(row)}\r\n >\r\n Edit Role(s)\r\n \r\n \r\n );\r\n },\r\n }\r\n : null,\r\n this.props.hasTrustAccount == true\r\n ? {\r\n title: \"History\",\r\n key: \"\",\r\n tdCssWrapper: \"cell-center\",\r\n thCssWrapper: \"cell-center\",\r\n render: (data, row: OrganisationMember) => {\r\n return this.props.onClickHistory(row)}>History;\r\n },\r\n }\r\n : null,\r\n this.props.hasAction\r\n ? {\r\n title: \"Remove\",\r\n key: \"\",\r\n tdCssWrapper: \"cell-center\",\r\n thCssWrapper: \"cell-center\",\r\n render: (data, row: OrganisationMember) => {\r\n if (\r\n isCompany &&\r\n this.props.type == CustomerType.CorporateTrust &&\r\n this.props.data.filter((ele) =>\r\n ele.Relationships.includes(RelationshipType.CorporateTrustee)\r\n ).length == 1 &&\r\n this.props.hasTrustAccount == false &&\r\n (totalTrustees == 1 && this.props.data.length == totalTrustees)\r\n ) {\r\n return null;\r\n }\r\n if (\r\n !isCompany &&\r\n this.props.type == CustomerType.Trust &&\r\n !isBeneficiary &&\r\n row.Relationships.some((ele) => ele == RelationshipType.IndividualTrustee) &&\r\n this.props.data.filter((ele) =>\r\n ele.Relationships.includes(RelationshipType.IndividualTrustee)\r\n ).length == 1 &&\r\n this.props.hasTrustAccount == false &&\r\n (totalTrustees == 1 && this.props.data.length == totalTrustees)\r\n ) {\r\n return null;\r\n }\r\n if ((totalTrustees == 1 && this.props.data.length == totalTrustees) && !isBeneficiary) {\r\n return null;\r\n }\r\n if (\r\n (this.props.invalidMembers || []).some(\r\n (x) => x.CustomerId == row.CustomerId && inArray(x.Relationships, row.Relationships)\r\n )\r\n ) {\r\n return null;\r\n }\r\n if (\r\n this.props.hasTrustAccount &&\r\n row?.Relationships.includes(RelationshipType.Settlor) &&\r\n row.Relationships.length == 1\r\n ) {\r\n return null;\r\n }\r\n if (\r\n this.props.hasTrustAccount &&\r\n this.props.trustCategory == \"Absolute\" &&\r\n row.Relationships.includes(RelationshipType.Beneficiary) &&\r\n row?.Individual?.ActorCategory == AccountRoleActorCategory.Customer\r\n ) {\r\n return null;\r\n }\r\n return (\r\n this.props.onDelete(row)}\r\n >\r\n Remove\r\n \r\n \r\n );\r\n },\r\n }\r\n : null,\r\n isBeneficiary && this.props.hasAction\r\n ? {\r\n title: \"Edit\",\r\n key: \"\",\r\n tdCssWrapper: \"cell-center\",\r\n thCssWrapper: \"cell-center\",\r\n render: (data, row: OrganisationMember) => {\r\n if ((this.props.invalidMembers || []).some((x) => x.CustomerId == row.CustomerId)) {\r\n return null;\r\n }\r\n return (\r\n {\r\n this.props.onEdit(row);\r\n }}\r\n >\r\n Edit\r\n \r\n \r\n );\r\n },\r\n }\r\n : null,\r\n ];\r\n };\r\n\r\n render() {\r\n const { data, title, isCompanyMember, isBeneficiaryOnly, isTrustServicing, totalTrustees } = this.props;\r\n if (!data) {return null;}\r\n\r\n return (\r\n <>\r\n {title &&

{title}

}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { addDays, addYears } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { VulnerabilityCategory } from \"../../../../../../../Wrap/Constants/Enums/Customer/VulnerabilityCategory\";\r\nimport { VulnerabilityType } from \"../../../../../../../Wrap/Constants/Enums/Customer/VulnerabilityType\";\r\nimport { VulnerabilityDetail } from \"../../../../../../../Wrap/Models/Models/Customer/VulnerabilityDetail\";\r\nimport { VulnerabilitySupportTypeData } from \"../../../../../../../Wrap/Models/Models/Customer/VulnerabilitySupportTypeData\";\r\nimport { VulnerabilityTypeData } from \"../../../../../../../Wrap/Models/Models/Customer/VulnerabilityTypeData\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { ITableConfig, Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\nimport { ClientRecordAction } from \"../../Action/ClientRecordAction\";\r\nimport {\r\n VulnerabilityEndReasons,\r\n VulnerabilitySupportTypeMap,\r\n VulnerabilityTypeMap,\r\n VulnerableCategoryArray,\r\n VulnerableCategoryMap,\r\n} from \"../../Resource/Contents\";\r\nimport { AccountRoleStore } from \"../../Store/Variable\";\r\nimport { AddNewButton } from \"../AddNewButton\";\r\n\r\ninterface IVulnerablePersonTableProps {\r\n customerId: number;\r\n hasReadWriteAccess: boolean;\r\n}\r\n\r\ninterface IVulnerablePersonTableState {\r\n data: Array;\r\n vulnerabilityTypeOptions: Array;\r\n vulnerabilitySupportTypeOptions: Array;\r\n isLoading: boolean;\r\n isEdit: boolean;\r\n editIndex: number;\r\n showEndVulnerabilityPopUp: boolean;\r\n showAddVulnerabilityPopUp: boolean;\r\n vulnerabilityToEnd: VulnerabilityDetail;\r\n vulnerabilityToAdd: VulnerabilityDetail;\r\n}\r\n\r\nexport class VulnerablePersonTable extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n vulnerabilityTypeOptions: null,\r\n vulnerabilitySupportTypeOptions: null,\r\n isEdit: false,\r\n editIndex: null,\r\n isLoading: false,\r\n showEndVulnerabilityPopUp: false,\r\n showAddVulnerabilityPopUp: false,\r\n vulnerabilityToEnd: null,\r\n vulnerabilityToAdd: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getVulnerabilityData();\r\n }\r\n\r\n getVulnerabilityData() {\r\n this.setState({ isLoading: true });\r\n ClientRecordAction.getCustomerVulnerabilityDetails(this.props.customerId, (val) => {\r\n this.setState({\r\n data: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n private getVulnerabilityOptions(category: VulnerabilityCategory, type: VulnerabilityType) {\r\n ClientRecordAction.getVulnerabilityOptions(category, type, (options) => {\r\n if (options.Types && options.Types.length > 0) {\r\n this.setState({ vulnerabilityTypeOptions: options.Types });\r\n }\r\n if (options.SupportTypes && options.SupportTypes.length > 0) {\r\n this.setState({ vulnerabilitySupportTypeOptions: options.SupportTypes });\r\n }\r\n });\r\n }\r\n\r\n private getColumnConfig(): ITableConfig[] {\r\n if (this.state.data && this.state.data[0]) {\r\n const bool = JsonDateParser.toDateNoOffset(this.state.data[0].EndDate) <= addDays(new Date(), 1);\r\n }\r\n\r\n return [\r\n {\r\n title: \"Category 1\",\r\n key: \"VulnerabilityCategory\",\r\n render: (data) => {\r\n return {VulnerableCategoryMap[data]};\r\n },\r\n },\r\n {\r\n title: \"Category 2\",\r\n key: \"VulnerabilityType\",\r\n render: (data) => {\r\n return {VulnerabilityTypeMap[data]};\r\n },\r\n },\r\n {\r\n title: \"Helping hand\",\r\n key: \"VulnerabilitySupportType\",\r\n render: (data) => {\r\n return {VulnerabilitySupportTypeMap[data]};\r\n },\r\n },\r\n {\r\n title: \"Source\",\r\n key: \"InformationSource\",\r\n },\r\n {\r\n title: \"Review date\",\r\n key: \"ReviewDate\",\r\n render: (data) => {\r\n return {JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\")};\r\n },\r\n },\r\n {\r\n title: \"End date\",\r\n key: \"EndDate\",\r\n render: (data) => {\r\n return {JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\")};\r\n },\r\n },\r\n {\r\n title: \"Note\",\r\n key: \"Note\",\r\n },\r\n {\r\n title: \"User ID\",\r\n key: \"UserId\",\r\n render: (data) => {\r\n return {data};\r\n },\r\n },\r\n AccountRoleStore.canEditForAdv() &&\r\n this.props?.hasReadWriteAccess == true && {\r\n title: \"\",\r\n render: (ele, row: VulnerabilityDetail, index) => {\r\n return (\r\n <>\r\n {\r\n this.getVulnerabilityOptions(\r\n row?.VulnerabilityCategory,\r\n row?.VulnerabilityType\r\n );\r\n this.setState({\r\n isEdit: true,\r\n showAddVulnerabilityPopUp: true,\r\n editIndex: index,\r\n vulnerabilityToAdd: row,\r\n });\r\n }}\r\n disabled={\r\n row.EndDate != null && JsonDateParser.toDateNoOffset(row.EndDate) <= new Date()\r\n }\r\n >\r\n \r\n Edit\r\n \r\n this.onRemove(index)}\r\n >\r\n End vulnerability\r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n }\r\n\r\n private onDataChange(changes) {\r\n const { vulnerabilityToAdd } = this.state;\r\n const _data = JSON.parse(JSON.stringify(vulnerabilityToAdd));\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n this.setState({ vulnerabilityToAdd: _data });\r\n }\r\n\r\n private renderLightBox() {\r\n const {\r\n vulnerabilityTypeOptions,\r\n vulnerabilitySupportTypeOptions,\r\n vulnerabilityToAdd,\r\n editIndex,\r\n isEdit,\r\n } = this.state;\r\n const types = vulnerabilityTypeOptions != null ? vulnerabilityTypeOptions : [];\r\n const supportTypes = vulnerabilitySupportTypeOptions != null ? vulnerabilitySupportTypeOptions : [];\r\n\r\n const data = JSON.parse(JSON.stringify(vulnerabilityToAdd));\r\n\r\n const selectedVulnerabilityType = vulnerabilityTypeOptions?.find(\r\n (x) => x?.VulnerabilityType == data?.VulnerabilityType\r\n );\r\n return (\r\n <>\r\n {\r\n this.onDataChange({\r\n VulnerabilityCategory: v,\r\n VulnerabilityType: null,\r\n VulnerabilitySupportType: null,\r\n });\r\n if (v == VulnerabilityCategory.NotSpecified) {\r\n this.setState({ vulnerabilityTypeOptions: null, vulnerabilitySupportTypeOptions: null });\r\n } else {\r\n this.getVulnerabilityOptions(v, VulnerabilityType.NotSpecified);\r\n }\r\n }}\r\n options={VulnerableCategoryArray}\r\n getText={(v) => VulnerableCategoryMap[v]}\r\n placeholder=\"Please select\"\r\n selected={data?.VulnerabilityCategory}\r\n cssWrapper=\"control-size-430 mr-4\"\r\n required=\"Please select\"\r\n />\r\n {data?.VulnerabilityCategory && (\r\n {\r\n this.onDataChange({ VulnerabilityType: v, VulnerabilitySupportType: null });\r\n if (v == VulnerabilityType.NotSpecified) {\r\n this.setState({ vulnerabilitySupportTypeOptions: null });\r\n } else {\r\n this.getVulnerabilityOptions(data?.VulnerabilityCategory, v);\r\n }\r\n }}\r\n options={types.map((x) => x.VulnerabilityType)}\r\n getText={(v) => types.filter((x) => x.VulnerabilityType == v)[0].LongName}\r\n placeholder=\"Please select\"\r\n selected={data?.VulnerabilityType}\r\n cssWrapper=\"control-size-430 mr-4\"\r\n required=\"Please select\"\r\n />\r\n )}\r\n {data?.VulnerabilityCategory && data?.VulnerabilityType && (\r\n {\r\n this.onDataChange({ VulnerabilitySupportType: v });\r\n }}\r\n options={supportTypes.map((x) => x.VulnerabilitySupportType)}\r\n getText={(v) => supportTypes.filter((x) => x.VulnerabilitySupportType == v)[0].LongName}\r\n placeholder=\"Please select\"\r\n selected={data?.VulnerabilitySupportType}\r\n cssWrapper=\"control-size-430 mr-4\"\r\n required=\"Please select\"\r\n />\r\n )}\r\n\r\n {data?.VulnerabilitySupportType && (\r\n <>\r\n {\r\n this.onDataChange({ InformationSource: v });\r\n }}\r\n options={[\"Declared\", \"Observed\"]}\r\n getText={(v) => {\r\n return v;\r\n }}\r\n placeholder=\"Please select\"\r\n selected={data?.InformationSource}\r\n cssWrapper=\"control-size-430 mr-4\"\r\n required=\"Please select\"\r\n />\r\n\r\n this.onDataChange({ StartDate: JsonDateParser.toJsonDateNoOffset(d) })}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n formGroupCssWrapper=\"control-size-430\"\r\n />\r\n \r\n )}\r\n\r\n {data?.VulnerabilitySupportType &&\r\n selectedVulnerabilityType &&\r\n selectedVulnerabilityType?.IsPermanent == false &&\r\n selectedVulnerabilityType?.ReviewAfterMonths == 0 && (\r\n <>\r\n this.onDataChange({ EndDate: JsonDateParser.toJsonDateNoOffset(d) })}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n moreThan={{\r\n errorMessage: \"End date cannot be eariler than live event date\",\r\n value: data?.StartDate\r\n ? JsonDateParser.toDateNoOffset(data?.StartDate)\r\n : addYears(new Date(), -100),\r\n }}\r\n atLeast={{ value: new Date(), errorMessage: \"\" }}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n formGroupCssWrapper=\"control-size-430\"\r\n />\r\n \r\n )}\r\n\r\n {data?.VulnerabilityCategory &&\r\n data?.VulnerabilitySupportType &&\r\n data?.VulnerabilityCategory.valueOf() == VulnerabilityCategory.Complex && (\r\n {\r\n this.onDataChange({ Note: v });\r\n }}\r\n />\r\n )}\r\n {this.state.data[editIndex]?.ReviewDate &&\r\n JsonDateParser.toDate(this.state.data[editIndex]?.ReviewDate) < new Date() && (\r\n this.onDataChange({ ReviewDate: JsonDateParser.toJsonDateNoOffset(d) })}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n moreThan={{\r\n errorMessage: \"Review date cannot be eariler than today\",\r\n value: new Date(),\r\n }}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n formGroupCssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n
\r\n
\r\n {\r\n this.setState({\r\n showAddVulnerabilityPopUp: false,\r\n isEdit: false,\r\n vulnerabilityToAdd: {},\r\n });\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n if (this.onAdd(isEdit)) {\r\n this.setState({\r\n showAddVulnerabilityPopUp: false,\r\n isEdit: false,\r\n vulnerabilityToAdd: {},\r\n });\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private onAdd(isEdit: boolean) {\r\n if (this.isValid()) {\r\n const { data, vulnerabilityToAdd } = this.state;\r\n if (isEdit == true) {\r\n const index = data.findIndex((x) => x.VulnerabilityId == vulnerabilityToAdd.VulnerabilityId);\r\n data[index] = vulnerabilityToAdd;\r\n } else {\r\n data.push(vulnerabilityToAdd);\r\n }\r\n this.saveData(data);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onRemove(index) {\r\n const { data } = this.state;\r\n this.setState({ vulnerabilityToEnd: data[index], showEndVulnerabilityPopUp: true });\r\n return true;\r\n }\r\n\r\n onClickEndVulnerability() {\r\n if (this.isValid()) {\r\n const { data, vulnerabilityToEnd } = this.state;\r\n vulnerabilityToEnd.EndDate = JsonDateParser.toJsonDateNoOffset(new Date());\r\n const updatedData = data.filter((x) => x.VulnerabilityId != vulnerabilityToEnd.VulnerabilityId);\r\n updatedData.push(vulnerabilityToEnd);\r\n this.saveData(updatedData);\r\n }\r\n }\r\n\r\n onClickAdd() {\r\n this.setState({ showAddVulnerabilityPopUp: true });\r\n }\r\n\r\n saveData(data) {\r\n ClientRecordAction.saveVulnerabilityDetail(this.props.customerId, data, () => {\r\n this.getVulnerabilityData();\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n data,\r\n isLoading,\r\n showEndVulnerabilityPopUp,\r\n showAddVulnerabilityPopUp,\r\n vulnerabilityToEnd,\r\n } = this.state;\r\n if (isLoading) {\r\n return ;\r\n }\r\n const activeVulernabilities = data.filter(\r\n (x) => x.EndDate == null || x.EndDate > JsonDateParser.toJsonDateNoOffset(new Date())\r\n );\r\n return (\r\n <>\r\n
\r\n {SectionHeader(\"Vulnerable details\")}\r\n\r\n {AccountRoleStore.canEditForAdv() && this.props.hasReadWriteAccess == true && (\r\n
\r\n this.onClickAdd()}\r\n isReview={activeVulernabilities.length == 10}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n {showEndVulnerabilityPopUp && (\r\n this.setState({ showEndVulnerabilityPopUp: false })}\r\n show={showEndVulnerabilityPopUp}\r\n title={\"End vulnerability\"}\r\n >\r\n {\r\n const data = vulnerabilityToEnd;\r\n data.EndReason = v;\r\n this.setState({ vulnerabilityToEnd: data });\r\n }}\r\n options={VulnerabilityEndReasons}\r\n getText={(v) => {\r\n return v;\r\n }}\r\n placeholder=\"Please select\"\r\n selected={vulnerabilityToEnd?.EndReason}\r\n cssWrapper=\"control-size-430 mr-4\"\r\n required=\"Please select\"\r\n />\r\n
\r\n
\r\n {\r\n this.setState({ showEndVulnerabilityPopUp: false });\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n this.setState({ showEndVulnerabilityPopUp: false });\r\n this.onClickEndVulnerability();\r\n }}\r\n >\r\n Save\r\n \r\n
\r\n
\r\n \r\n )}\r\n {showAddVulnerabilityPopUp && (\r\n this.setState({ showAddVulnerabilityPopUp: false })}\r\n show={showAddVulnerabilityPopUp}\r\n title={\"Add vulnerability\"}\r\n >\r\n {this.renderLightBox()}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Email } from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { arrayMinus } from \"../../../../../react-core/Utils/Arrays\";\r\nimport { CustomerType } from \"../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { ContactType } from \"../../../../../Wrap/Constants/Enums/Domain/ContactType\";\r\nimport { CustomerPhoneNumberType } from \"../../../../../Wrap/Constants/Enums/Domain/CustomerPhoneNumberType\";\r\nimport { EmailAddressType } from \"../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { RoleType } from \"../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { ContactPreferenceDetails } from \"../../../../../Wrap/Models/Models/Customer/ContactPreferenceDetails\";\r\nimport { CustomerEmailAddress } from \"../../../../../Wrap/Models/Models/Customer/CustomerEmailAddress\";\r\nimport { CustomerPhoneNumber } from \"../../../../../Wrap/Models/Models/Customer/CustomerPhoneNumber\";\r\nimport { CheckboxGroup } from \"../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { CountryCodeMap } from \"../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { Permission } from \"../../../../Shared/Permission/Permission\";\r\nimport { ValidatorContents } from \"../../../Common/ValidatorHelper\";\r\nimport { PhoneNumberDetails } from \"../Common/ClientDetails/PhoneNumberDetails\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { SectionTable } from \"./Components/SectionTable\";\r\nimport { VulnerablePersonTable } from \"./Components/VulnerablePerson/VulnerablePersonTable\";\r\nimport {\r\n ClientRecordTab,\r\n ContactPreferenceOption,\r\n ContactPreferenceOptionsMap,\r\n ContactTypeMap,\r\n EmailTypeMap,\r\n IClientTabProps,\r\n} from \"./Resource/Contents\";\r\nimport { AccountRoleStore, AdditionalDataItemStore, ClientRecordStore } from \"./Store/Variable\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { RadiosEditor } from \"../../../../../react-core/Html/RadiosEditor\";\r\nimport { ContextStore } from \"../../../../../react-core/Flux/Variables\";\r\nimport { AdditionalDataItemAction } from \"./Action/AdditionalDataItemAction\";\r\nimport { AdditionalDataItemType } from \"../../../../../Wrap/Constants/Enums/Domain/AdditionalDataItemType\";\r\n\r\ninterface IContactDetailsState {\r\n phoneNumberDetail: CustomerPhoneNumber[];\r\n isPhoneNumberLoading: boolean;\r\n emailDetail: CustomerEmailAddress[];\r\n isEmailLoading: boolean;\r\n contactPreferenceDetail: ContactPreferenceDetails;\r\n isContactPreferenceLoading: boolean;\r\n contactPreferenceOptions: ContactPreferenceOption[];\r\n accountRoleDetails: Array;\r\n isRoleLoading: boolean;\r\n showMarketingErrorMsg: boolean;\r\n marketingOptIn: boolean;\r\n}\r\n\r\nexport class ContactDetails extends FormComponent {\r\n constructor(props: IClientTabProps) {\r\n super(props);\r\n this.state = {\r\n phoneNumberDetail: null,\r\n isPhoneNumberLoading: true,\r\n emailDetail: null,\r\n isEmailLoading: true,\r\n contactPreferenceDetail: null,\r\n isContactPreferenceLoading: true,\r\n contactPreferenceOptions: [],\r\n accountRoleDetails: AccountRoleStore.getData()?.length > 0 ? AccountRoleStore.getData() : null,\r\n isRoleLoading: AccountRoleStore.getData() ? false : true,\r\n showMarketingErrorMsg: false,\r\n marketingOptIn: false,\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n this.subscribeToStore(AccountRoleStore, () => this.onAccountRoleStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n ClientRecordAction.getPhoneNumberDetail(this.props.id);\r\n ClientRecordAction.getEmailDetail(this.props.id);\r\n ClientRecordAction.getContactPerference(this.props.id);\r\n }\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (data[ClientRecordTab.ContactDetail]) {\r\n this.setState({ isPhoneNumberLoading: false, phoneNumberDetail: data[ClientRecordTab.ContactDetail] });\r\n } else {\r\n this.setState({ isPhoneNumberLoading: false });\r\n }\r\n if (data.EmailDetail) {\r\n this.setState({ isEmailLoading: false, emailDetail: data.EmailDetail });\r\n } else {\r\n this.setState({ isEmailLoading: false });\r\n }\r\n if (data.ContactPerference) {\r\n const options = [];\r\n Object.keys(data.ContactPerference).forEach((key) => {\r\n Object.keys(ContactPreferenceOptionsMap).forEach((type) => {\r\n // all keys includes 'contact' so we need to exclude this option first\r\n if (ContactPreferenceOptionsMap[type] === \"Contact\") {\r\n if (\r\n key == \"ContactContactPreference\" &&\r\n data.ContactPerference[key] !== ContactType.NotSpecified\r\n ) {\r\n options.push(Number(type));\r\n }\r\n } else {\r\n if (\r\n key\r\n .toLowerCase()\r\n .includes(ContactPreferenceOptionsMap[type].replace(/\\s+/g, \"\").toLowerCase()) &&\r\n data.ContactPerference[key] !== ContactType.NotSpecified\r\n ) {\r\n options.push(Number(type));\r\n }\r\n }\r\n });\r\n });\r\n this.setState({\r\n isContactPreferenceLoading: false,\r\n contactPreferenceDetail: data.ContactPerference,\r\n contactPreferenceOptions: options,\r\n marketingOptIn: options?.length > 0,\r\n });\r\n } else {\r\n this.setState({ isContactPreferenceLoading: false });\r\n }\r\n }\r\n\r\n private onAccountRoleStoreChange() {\r\n const data = AccountRoleStore.getData();\r\n if (data.length > 0) {\r\n this.setState({ isRoleLoading: false, accountRoleDetails: data });\r\n } else {\r\n this.setState({ isRoleLoading: false });\r\n }\r\n }\r\n\r\n private getEmailColConfig = (data: CustomerEmailAddress) => {\r\n return [\r\n { title: \"Email type\", data: EmailTypeMap[data.EmailAddressType] },\r\n { title: \"Email address\", data: data.EmailAddress },\r\n ];\r\n };\r\n\r\n private getPhoneColConfig = (data: CustomerPhoneNumber[]) => {\r\n const mobile = (data || []).find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Mobile);\r\n const landline = (data || []).find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Home);\r\n return [\r\n { title: \"Landline phone country\", data: CountryCodeMap.getString(landline?.PhoneNumber?.Country) },\r\n {\r\n title: \"Landline phone number\",\r\n data:\r\n landline?.PhoneNumber?.AreaCode != null\r\n ? landline?.PhoneNumber?.AreaCode + \" \" + landline?.PhoneNumber?.Number\r\n : landline?.PhoneNumber?.Number,\r\n },\r\n { title: \"Mobile phone country\", data: CountryCodeMap.getString(mobile?.PhoneNumber?.Country) },\r\n {\r\n title: \"Mobile phone number\",\r\n data:\r\n mobile?.PhoneNumber?.AreaCode != null\r\n ? mobile?.PhoneNumber?.AreaCode + \" \" + mobile?.PhoneNumber?.Number\r\n : mobile?.PhoneNumber?.Number,\r\n },\r\n ];\r\n };\r\n\r\n private getPerferenceColConfig = (data: ContactPreferenceDetails) => {\r\n const isAdmin = ContextStore.getContext()?.isAdminUser;\r\n\r\n const config = [\r\n {\r\n title: \"Marketing Opt In?\",\r\n data: this.state.marketingOptIn ? \"Yes\" : \"No\",\r\n },\r\n {\r\n title: \"Marketing\",\r\n data: ContactTypeMap[data?.MarketingContactPreference],\r\n },\r\n {\r\n title: \"Contact\",\r\n data: ContactTypeMap[data?.ContactContactPreference],\r\n },\r\n {\r\n title: \"Survey\",\r\n data: ContactTypeMap[data?.SurveyContactPreference],\r\n },\r\n {\r\n title: \"Essentials\",\r\n data: ContactTypeMap[data?.EssentialsContactPreference],\r\n },\r\n {\r\n title: \"Additional offers\",\r\n data: ContactTypeMap[data?.AdditionalOffersContactPreference],\r\n },\r\n {\r\n title: \"Third party offers\",\r\n data: ContactTypeMap[data?.ThirdPartyOffersContactPreference],\r\n },\r\n ];\r\n if (checkPermission(UserClaim.AdviserPortalCustomerFullyAccessCanView)) {\r\n config.push({ title: \"Gone away\", data: data?.IsGoneAway ? \"Yes\" : \"No\" });\r\n }\r\n config.push({ title: \"Suppress printing\", data: data?.Paperless ? \"Yes\" : \"No\" });\r\n\r\n return config;\r\n };\r\n\r\n private renderEmailLightBox(data: CustomerEmailAddress, onChange, options) {\r\n return (\r\n <>\r\n onChange({ EmailAddressType: v })}\r\n options={options}\r\n disabled={data?.EmailAddressType == EmailAddressType.Primary}\r\n getText={(v) => EmailTypeMap[v]}\r\n placeholder=\"Please select\"\r\n selected={data?.EmailAddressType}\r\n required={\"Please select email type\"}\r\n />\r\n onChange({ EmailAddress: v })}\r\n />\r\n {\r\n if (v) {\r\n return v == data.EmailAddress ? true : false;\r\n }\r\n return true;\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderPerferenceLightBox(data, onChange) {\r\n const paperlessRadioOptions = { disabled: false };\r\n const { contactPreferenceOptions } = this.state;\r\n const options = [\r\n {\r\n label: ContactPreferenceOptionsMap[ContactPreferenceOption.Marketing],\r\n value: contactPreferenceOptions.includes(ContactPreferenceOption.Marketing),\r\n onChange: (v) => {\r\n if (v) {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.concat([\r\n ContactPreferenceOption.Marketing,\r\n ]),\r\n });\r\n } else {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.filter(\r\n (x) => x != ContactPreferenceOption.Marketing\r\n ),\r\n });\r\n onChange({ MarketingContactPreference: ContactType.NotSpecified });\r\n }\r\n },\r\n },\r\n {\r\n label: ContactPreferenceOptionsMap[ContactPreferenceOption.Contact],\r\n value: contactPreferenceOptions.includes(ContactPreferenceOption.Contact),\r\n onChange: (v) => {\r\n if (v) {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.concat([\r\n ContactPreferenceOption.Contact,\r\n ]),\r\n });\r\n } else {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.filter(\r\n (x) => x != ContactPreferenceOption.Contact\r\n ),\r\n });\r\n onChange({ ContactContactPreference: ContactType.NotSpecified });\r\n }\r\n },\r\n },\r\n {\r\n label: ContactPreferenceOptionsMap[ContactPreferenceOption.Survey],\r\n value: contactPreferenceOptions.includes(ContactPreferenceOption.Survey),\r\n onChange: (v) => {\r\n if (v) {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.concat([ContactPreferenceOption.Survey]),\r\n });\r\n } else {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.filter(\r\n (x) => x != ContactPreferenceOption.Survey\r\n ),\r\n });\r\n onChange({ SurveyContactPreference: ContactType.NotSpecified });\r\n }\r\n },\r\n },\r\n {\r\n label: ContactPreferenceOptionsMap[ContactPreferenceOption.Essentials],\r\n value: contactPreferenceOptions.includes(ContactPreferenceOption.Essentials),\r\n onChange: (v) => {\r\n if (v) {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.concat([\r\n ContactPreferenceOption.Essentials,\r\n ]),\r\n });\r\n } else {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.filter(\r\n (x) => x != ContactPreferenceOption.Essentials\r\n ),\r\n });\r\n onChange({ EssentialsContactPreference: ContactType.NotSpecified });\r\n }\r\n },\r\n },\r\n\r\n {\r\n label: ContactPreferenceOptionsMap[ContactPreferenceOption.AdditionalOffers],\r\n value: contactPreferenceOptions.includes(ContactPreferenceOption.AdditionalOffers),\r\n onChange: (v) => {\r\n if (v) {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.concat([\r\n ContactPreferenceOption.AdditionalOffers,\r\n ]),\r\n });\r\n } else {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.filter(\r\n (x) => x != ContactPreferenceOption.AdditionalOffers\r\n ),\r\n });\r\n onChange({ AdditionalOffersContactPreference: ContactType.NotSpecified });\r\n }\r\n },\r\n },\r\n {\r\n label: ContactPreferenceOptionsMap[ContactPreferenceOption.ThirdPartyOffers],\r\n value: contactPreferenceOptions.includes(ContactPreferenceOption.ThirdPartyOffers),\r\n onChange: (v) => {\r\n if (v) {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.concat([\r\n ContactPreferenceOption.ThirdPartyOffers,\r\n ]),\r\n });\r\n } else {\r\n this.setState({\r\n contactPreferenceOptions: contactPreferenceOptions.filter(\r\n (x) => x != ContactPreferenceOption.ThirdPartyOffers\r\n ),\r\n });\r\n onChange({ ThirdPartyOffersContactPreference: ContactType.NotSpecified });\r\n }\r\n },\r\n },\r\n ];\r\n\r\n if (data[\"IsGoneAway\"]) {\r\n data[\"Paperless\"] = true;\r\n paperlessRadioOptions.disabled = true;\r\n }\r\n return (\r\n <>\r\n {this.state.showMarketingErrorMsg && (\r\n \r\n )}\r\n \r\n (v ? \"Yes\" : \"No\")}\r\n selected={data?.IsGoneAway == true}\r\n onChange={(v) => onChange({ IsGoneAway: v })}\r\n />\r\n \r\n (v ? \"Yes\" : \"No\")}\r\n selected={this.state.marketingOptIn}\r\n onChange={(v) => {\r\n this.setState({ marketingOptIn: v });\r\n if (!v) {\r\n this.setState({ contactPreferenceOptions: [] });\r\n onChange({\r\n MarketingContactPreference: null,\r\n ContactContactPreference: null,\r\n SurveyContactPreference: null,\r\n AdditionalOffersContactPreference: null,\r\n EssentialsContactPreference: null,\r\n ThirdPartyOffersContactPreference: null,\r\n });\r\n }\r\n }}\r\n />\r\n (v ? \"Yes\" : \"No\")}\r\n selected={data?.Paperless == true}\r\n onChange={(v) => onChange({ Paperless: v })}\r\n />\r\n {this.state.marketingOptIn && (\r\n <>\r\n \r\n\r\n {contactPreferenceOptions.includes(ContactPreferenceOption.Marketing) && (\r\n Number(ele))}\r\n getText={(v) => ContactTypeMap[v]}\r\n selected={data?.MarketingContactPreference}\r\n onChange={(v) => onChange({ MarketingContactPreference: v })}\r\n required={\"Please select preferred contact method\"}\r\n placeholder={\"Do not contact\"}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n\r\n {contactPreferenceOptions.includes(ContactPreferenceOption.Contact) && (\r\n Number(ele))}\r\n getText={(v) => ContactTypeMap[v]}\r\n selected={data?.ContactContactPreference}\r\n onChange={(v) => onChange({ ContactContactPreference: v })}\r\n required={\"Please select preferred contact method\"}\r\n placeholder={\"Do not contact\"}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n\r\n {contactPreferenceOptions.includes(ContactPreferenceOption.Survey) && (\r\n Number(ele))}\r\n getText={(v) => ContactTypeMap[v]}\r\n selected={data?.SurveyContactPreference}\r\n onChange={(v) => onChange({ SurveyContactPreference: v })}\r\n required={\"Please select preferred contact method\"}\r\n placeholder={\"Do not contact\"}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n\r\n {contactPreferenceOptions.includes(ContactPreferenceOption.Essentials) && (\r\n Number(ele))}\r\n getText={(v) => ContactTypeMap[v]}\r\n selected={data?.EssentialsContactPreference}\r\n onChange={(v) => onChange({ EssentialsContactPreference: v })}\r\n required={\"Please select preferred contact method\"}\r\n placeholder={\"Do not contact\"}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n\r\n {contactPreferenceOptions.includes(ContactPreferenceOption.AdditionalOffers) && (\r\n Number(ele))}\r\n getText={(v) => ContactTypeMap[v]}\r\n selected={data?.AdditionalOffersContactPreference}\r\n onChange={(v) => onChange({ AdditionalOffersContactPreference: v })}\r\n required={\"Please select preferred contact method\"}\r\n placeholder={\"Do not contact\"}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n\r\n {contactPreferenceOptions.includes(ContactPreferenceOption.ThirdPartyOffers) && (\r\n Number(ele))}\r\n getText={(v) => ContactTypeMap[v]}\r\n selected={data?.ThirdPartyOffersContactPreference}\r\n onChange={(v) => onChange({ ThirdPartyOffersContactPreference: v })}\r\n required={\"Please select preferred contact method\"}\r\n placeholder={\"Do not contact\"}\r\n cssWrapper=\"control-size-430\"\r\n />\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private canRemove(): boolean {\r\n const {\r\n phoneNumberDetail,\r\n emailDetail,\r\n accountRoleDetails,\r\n isEmailLoading,\r\n isPhoneNumberLoading,\r\n isRoleLoading,\r\n } = this.state;\r\n if (isEmailLoading || isPhoneNumberLoading || isRoleLoading) {\r\n return false;\r\n }\r\n const actorRoleTypes = accountRoleDetails?.map((x) => x.AccountRoleType);\r\n\r\n if (\r\n actorRoleTypes?.includes(RoleType.IndividualAccountHolder) ||\r\n actorRoleTypes?.includes(RoleType.PowerOfAttorney) ||\r\n actorRoleTypes?.includes(RoleType.Trustee) ||\r\n actorRoleTypes?.includes(RoleType.Settlor)\r\n ) {\r\n return phoneNumberDetail?.length + emailDetail?.length > 1;\r\n }\r\n return true;\r\n }\r\n\r\n private onRemovePhoneNumber(index: number) {\r\n const _data = this.state.phoneNumberDetail.concat();\r\n _data.splice(index, 1);\r\n this.putPhoneNumber(_data);\r\n return true;\r\n }\r\n\r\n private phoneNumber;\r\n\r\n private onSavePhoneNumber(data) {\r\n if (this.phoneNumber && this.phoneNumber.isValid()) {\r\n this.putPhoneNumber(data);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private putPhoneNumber(data: CustomerPhoneNumber[]) {\r\n this.setState({ isPhoneNumberLoading: true });\r\n ClientRecordAction.putPhoneNumberDetail(data, this.props.id);\r\n }\r\n\r\n private onRemoveEmail(index: number) {\r\n const _data = this.state.emailDetail.concat();\r\n _data.splice(index, 1);\r\n this.putEmail(_data);\r\n return true;\r\n }\r\n\r\n private onSaveEmail(data, index: number) {\r\n if (super.isValid()) {\r\n const _data = this.state.emailDetail.concat();\r\n _data[index] = data;\r\n this.putEmail(_data);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private putEmail(data: CustomerEmailAddress[]) {\r\n this.setState({ isEmailLoading: true });\r\n ClientRecordAction.putEmailDetail(data, this.props.id);\r\n }\r\n\r\n private onSavePreference(data: ContactPreferenceDetails) {\r\n if (this.isValid()) {\r\n if (!data.IsVip) {\r\n // data.MarketingContactPreference = 0;\r\n // data.ContactContactPreference = 0;\r\n // data.SurveyContactPreference = 0;\r\n // data.EssentialsContactPreference = 0;\r\n // data.AdditionalOffersContactPreference = 0;\r\n // data.ThirdPartyOffersContactPreference = 0;\r\n }\r\n if (\r\n data?.IsVip &&\r\n (data.MarketingContactPreference == ContactType.NotSpecified || !data?.MarketingContactPreference) &&\r\n (data.ContactContactPreference == ContactType.NotSpecified || !data?.ContactContactPreference) &&\r\n (data.SurveyContactPreference == ContactType.NotSpecified || !data?.SurveyContactPreference) &&\r\n (data.EssentialsContactPreference == ContactType.NotSpecified || !data?.EssentialsContactPreference) &&\r\n (data.AdditionalOffersContactPreference == ContactType.NotSpecified ||\r\n !data?.AdditionalOffersContactPreference) &&\r\n (data.ThirdPartyOffersContactPreference == ContactType.NotSpecified ||\r\n !data?.ThirdPartyOffersContactPreference)\r\n ) {\r\n this.setState({ showMarketingErrorMsg: true });\r\n return false;\r\n } else {\r\n this.setState({ isContactPreferenceLoading: true, showMarketingErrorMsg: false });\r\n ClientRecordAction.putContactPerference(data, this.props.id);\r\n return true;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private getOptions(map, data, key) {\r\n const hasType = data && data.length > 0 ? data.map((ele) => ele[key]) : [];\r\n const options = arrayMinus(\r\n Object.keys(map).map((ele) => Number(ele)),\r\n hasType\r\n );\r\n return options;\r\n }\r\n\r\n render() {\r\n const {\r\n isEmailLoading,\r\n isPhoneNumberLoading,\r\n phoneNumberDetail,\r\n emailDetail,\r\n isContactPreferenceLoading,\r\n contactPreferenceDetail,\r\n } = this.state;\r\n const emailOptions = this.getOptions(EmailTypeMap, emailDetail, \"EmailAddressType\");\r\n const options = emailOptions.concat();\r\n return (\r\n
\r\n {!isEmailLoading &&\r\n emailDetail &&\r\n emailDetail.map((ele, index) => {\r\n options.push(ele.EmailAddressType);\r\n return (\r\n <>\r\n \r\n this.renderEmailLightBox(data, onDataChange, options)\r\n }\r\n key={`email-${index}`}\r\n data={ele}\r\n onRemove={\r\n ele.EmailAddressType !== EmailAddressType.Primary &&\r\n this.canRemove() &&\r\n this.props?.hasReadWriteAccess == true\r\n ? () => this.onRemoveEmail(index)\r\n : null\r\n }\r\n onSave={(data) => this.onSaveEmail(data, index)}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n
\r\n \r\n );\r\n })}\r\n\r\n {!isPhoneNumberLoading && phoneNumberDetail && (\r\n <>\r\n (\r\n {\r\n this.phoneNumber = ref;\r\n }}\r\n onChange={(changes) => {\r\n onDataChange(changes, true);\r\n }}\r\n />\r\n )}\r\n key={`phone`}\r\n data={phoneNumberDetail || []}\r\n onSave={(data) => this.onSavePhoneNumber(data)}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n
\r\n \r\n )}\r\n {!emailDetail ||\r\n (emailDetail && emailDetail.length < 2 && (\r\n <>\r\n \r\n this.renderEmailLightBox(data, onDataChange, emailOptions)\r\n }\r\n key={`email`}\r\n data={null}\r\n isLoading={isEmailLoading}\r\n onAdd={\r\n (emailDetail && emailDetail.length == 2) || this.props?.hasReadWriteAccess != true\r\n ? null\r\n : (data) => this.onSaveEmail(data, emailDetail ? emailDetail.length : 0)\r\n }\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n
\r\n \r\n ))}\r\n\r\n {this.props.customerType === CustomerType.Individual && (\r\n <>\r\n this.renderPerferenceLightBox(data, onDataChange)}\r\n key={\"contact detail\"}\r\n data={contactPreferenceDetail}\r\n onSave={(data) => this.onSavePreference(data)}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { DatePicker } from \"../../../../../react-core/Datepicker/DatePicker\";\r\nimport { Lightbox } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { RadiosEditor } from \"../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport {\r\n AlphanumericWithSpecialCharacters,\r\n Alphanumeric,\r\n LeiCode,\r\n} from \"../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CompanyType } from \"../../../../../Wrap/Constants/Enums/Customer/CompanyType\";\r\nimport { CustomerType } from \"../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { FATCABusinessType } from \"../../../../../Wrap/Constants/Enums/Customer/FATCABusinessType\";\r\nimport { CountryCode } from \"../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { HierarchyLevelName } from \"../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { RoleType } from \"../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { TrustDetail } from \"../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { Organisation } from \"../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { CountryCodeMap } from \"../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { IAddClientModel } from \"../AddClient/Components/AddClientWizard\";\r\nimport { FATCACountry } from \"../AddClient/Components/Organisation/FATCACountry\";\r\nimport {\r\n CompanyTypeMap,\r\n CompanyTypeOption,\r\n CustomerTypeArraysMap,\r\n FATCABusinessTypeMap,\r\n FATCABusinessTypeOption,\r\n LawtoApplyMap,\r\n LawtoApplyOption,\r\n TrustTypeMap,\r\n} from \"../AddClient/Resource/Contents\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { SectionTable } from \"./Components/SectionTable\";\r\nimport { ClientRecordTab, customerStatusMap } from \"./Resource/Contents\";\r\nimport { AccountRoleStore, ClientRecordStore } from \"./Store/Variable\";\r\n\r\ninterface IOrganisationDetailState {\r\n organisationDetail: Organisation;\r\n isOrganisationDetailLoading: boolean;\r\n trustDetail: TrustDetail;\r\n accountRoleDetails: Array;\r\n showLightbox: boolean;\r\n data: Organisation;\r\n}\r\ninterface IOrganisationDetailProps extends IProcessComponentProps {\r\n id: string;\r\n customerType?: CustomerType;\r\n hasReadWriteAccess: boolean;\r\n}\r\nexport class OrganisationDetails extends ProcessComponent {\r\n constructor(props: IOrganisationDetailProps) {\r\n super(props);\r\n this.state = {\r\n organisationDetail: null,\r\n isOrganisationDetailLoading: true,\r\n trustDetail: null,\r\n accountRoleDetails: null,\r\n showLightbox: false,\r\n data: null,\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n this.subscribeToStore(AccountRoleStore, () => this.onAccountRoleStoreChange());\r\n }\r\n\r\n private onAccountRoleStoreChange() {\r\n const data = AccountRoleStore.getData();\r\n if (data.length > 0) {\r\n this.setState({ accountRoleDetails: data });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n ClientRecordAction.getOrganisationDetail(this.props.id);\r\n ClientRecordAction.getAccountRoleDetail(\r\n this.props.id.toString(),\r\n (results: Array) => {\r\n if (results.length > 0 && results?.some((x) => x?.AccountRoleType == RoleType.TrustAccountHolder)) {\r\n const trustAccountHolder = results?.find((x) => x?.AccountRoleType == RoleType.TrustAccountHolder);\r\n const hierarchyId = HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Account,\r\n trustAccountHolder?.AccountId\r\n );\r\n ClientRecordAction.getTrustDetails(hierarchyId, (trustDetail) => {\r\n this.setState({ trustDetail: trustDetail });\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (data[ClientRecordTab.OrganisationDetails]) {\r\n const organisation: Organisation = data[ClientRecordTab.OrganisationDetails];\r\n if (\r\n organisation.FatcaCountries &&\r\n organisation.FatcaCountries.length > 0 &&\r\n organisation.FatcaCountries[0].CountryOfTaxResidency != CountryCode.GBR\r\n ) {\r\n organisation.IsTaxPurposeOtherThanUk = true;\r\n } else {\r\n organisation.IsTaxPurposeOtherThanUk = false;\r\n }\r\n\r\n this.setState({\r\n isOrganisationDetailLoading: false,\r\n organisationDetail: organisation,\r\n });\r\n }\r\n }\r\n\r\n private onOrganisationDetailSave(data) {\r\n if (this.isValid()) {\r\n if (data?.FATCABusinessType == FATCABusinessType.InvestmentBody) {\r\n this.setState({ showLightbox: true, data: data });\r\n return false;\r\n } else {\r\n this.SaveDetail(data);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private SaveDetail(data: Organisation) {\r\n this.setState({ isOrganisationDetailLoading: true });\r\n ClientRecordAction.putOrganisationDetail(data, this.props.id);\r\n }\r\n\r\n private getOrganisationDetailsColConfig(data: Organisation, role: Array) {\r\n const { trustDetail } = this.state;\r\n if (!data) {return [];}\r\n const config = [\r\n { title: \"Organisation type\", data: CustomerTypeArraysMap[data.CustomerType] },\r\n { title: \"Organisation status\", data: role?.length ? customerStatusMap[data.Status] : \"Prospect\" },\r\n { title: \"Organisation name\", data: data.Name },\r\n { title: \"New or existing\", data: data.IsNewTrust ? \"New\" : \"Existing\" },\r\n { title: \"LEI code\", data: data.LEICode },\r\n { title: \"Law to apply\", data: LawtoApplyMap[data.LawToApply] },\r\n { title: \"FATCA/CRS Business Type\", data: FATCABusinessTypeMap[data.FATCABusinessType] },\r\n ];\r\n\r\n data.FatcaCountries?.map((item, index) => {\r\n config.push({\r\n title: \"Country\",\r\n data: CountryCodeMap.getString(data.FatcaCountries[index]?.CountryOfTaxResidency),\r\n });\r\n config.push({\r\n title: \"Tax identification number\",\r\n data: data.FatcaCountries[index]?.TaxIdentificationNumber,\r\n });\r\n }),\r\n config.push({ title: \"GIIN\", data: data.GIIN });\r\n config.push({\r\n title: \"Date of incorporation\",\r\n data: JsonDateParser.getFormatDate(data.DateOfIncorporation, \"dd/MM/yyyy\"),\r\n });\r\n config.push({\r\n title: \"Country of incorporation\",\r\n data:\r\n data.CountryOfIncorporation == CountryCode.NotSpecified\r\n ? null\r\n : CountryCodeMap.getString(data.CountryOfIncorporation),\r\n });\r\n\r\n if (data?.CustomerType == CustomerType.CorporateTrust) {\r\n config.push({ title: \"Company type\", data: CompanyTypeMap[data.CompanyType] });\r\n }\r\n\r\n if (trustDetail != null) {\r\n config.push({ title: \"Trust type\", data: TrustTypeMap[trustDetail?.TrustType] });\r\n config.push({ title: \"Trust category\", data: trustDetail?.TrustCategory });\r\n }\r\n return config;\r\n }\r\n\r\n private renderOrganisationDetailsLightBox(data: Organisation, onDataChange) {\r\n return (\r\n <>\r\n {\r\n return v.replace(/\\s/g, \"\").length != 0;\r\n },\r\n },\r\n ]}\r\n onChange={(value) => onDataChange({ Name: value })}\r\n required={\"Please enter name\"}\r\n maxLength={50}\r\n />\r\n\r\n {/* (v ? \"New\" : \"Existing\")}\r\n disabled={data?.CustomerType == CustomerType.CorporateTrust}\r\n onChange={(v) => {}}\r\n /> */}\r\n\r\n onDataChange({ LEICode: value })}\r\n />\r\n\r\n \r\n {\r\n return LawtoApplyMap[v];\r\n }}\r\n onChange={(v) =>\r\n onDataChange({\r\n LawToApply: v,\r\n })\r\n }\r\n disabled\r\n required=\"Please choose Law to apply\"\r\n />\r\n\r\n {data.CustomerType == CustomerType.CorporateTrust && (\r\n {\r\n return CompanyTypeMap[v];\r\n }}\r\n cssWrapper=\"control-size-430\"\r\n required=\"Please select\"\r\n validationRules={[\r\n {\r\n errorMessage: \"Please select\",\r\n validator: (v) => {\r\n return v != CompanyType.NotSpecified;\r\n },\r\n },\r\n ]}\r\n label=\"Company type\"\r\n selected={data?.CompanyType}\r\n onChange={(value) => onDataChange({ CompanyType: value })}\r\n />\r\n )}\r\n\r\n {\r\n return FATCABusinessTypeMap[v];\r\n }}\r\n tooltip={`Under UK legislation we are required to collect certain tax information about the type of business that invests with us and possibly report some of that information to HMRC who in turn may share that information with other tax authorities around the world as appropriate.\r\n\r\n The Foreign Account Tax Compliance Act (‘’FATCA’’) was introduced by the U.S. government in 2010. The UK adopted the frame work into UK legislation with an effective date of 1 July 2014. FATCA requires us as platform provider to undertake specified due diligence, reporting and oversight obligations to detect and deter U.S. tax evasion.\r\n \r\n The Common Reporting Standard (‘’CRS’’) was introduced by the OECD and implemented into UK law with an effective date of 1 January 2016. Broadly similar to FATCA, the legislation requires us as platform provider to undertake essentially the same due diligence, reporting and oversight obligations to detect and deter tax evasion.\r\n \r\n Please note that we are unable to provide tax advice in respect of the business type or questions on tax residency in respect of the business. In case of any additional questions we would refer you to your tax advisor and/or the HMRC guidance available online.`}\r\n tooltipCss={\"is-info-icon ml-5 is-wide\"}\r\n cssWrapper=\"control-size-430\"\r\n required=\"Please select\"\r\n validationRules={[\r\n {\r\n errorMessage: \"Please select\",\r\n validator: (v) => {\r\n return v != FATCABusinessType.NotSpecified;\r\n },\r\n },\r\n ]}\r\n label=\"FATCA/CRS Business Type\"\r\n selected={data?.FATCABusinessType}\r\n onChange={(v) => {\r\n onDataChange({\r\n FatcaCountries: [],\r\n IsTaxPurposeOtherThanUk: false,\r\n GIIN: null,\r\n FATCABusinessType: v,\r\n });\r\n }}\r\n />\r\n {(data?.FATCABusinessType == FATCABusinessType.InvestmentBody ||\r\n data?.FATCABusinessType == FATCABusinessType.ActiveNFFE) && (\r\n <>\r\n \r\n {\r\n return v ? \"Yes\" : \"No\";\r\n }}\r\n onChange={(v) => {\r\n if (v == false) {\r\n onDataChange({\r\n IsTaxPurposeOtherThanUk: v,\r\n FatcaCountries: [],\r\n });\r\n } else {\r\n onDataChange({ IsTaxPurposeOtherThanUk: v, FatcaCountries: [{}] });\r\n }\r\n }}\r\n required=\"Please choose\"\r\n disabled={true}\r\n />\r\n \r\n )}\r\n {data?.IsTaxPurposeOtherThanUk == true && (\r\n {}}\r\n onChangeFromOrganisationDetailTab={(v) => {\r\n onDataChange({ FatcaCountries: v });\r\n }}\r\n onRef={(ref) => {\r\n this.appendChild(ref);\r\n }}\r\n disable={true}\r\n />\r\n )}\r\n\r\n {data?.FATCABusinessType === FATCABusinessType.FFI && (\r\n onDataChange({ GIIN: value })}\r\n required=\"Please enter\"\r\n />\r\n )}\r\n\r\n {\r\n onDataChange({ DateOfIncorporation: JsonDateParser.toJsonDateNoOffset(value) });\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n\r\n {\r\n return v != null ? CountryCodeMap.getString(v) : \"\";\r\n }}\r\n onChange={(v) => {\r\n onDataChange({ CountryOfIncorporation: v });\r\n }}\r\n validationRules={[\r\n { errorMessage: \"Please select\", validator: (v) => v !== CountryCode.NotSpecified },\r\n ]}\r\n selected={data.CountryOfIncorporation}\r\n label=\"Country of incorporation\"\r\n />\r\n \r\n );\r\n }\r\n\r\n private lightbox;\r\n\r\n render() {\r\n const { organisationDetail, isOrganisationDetailLoading, accountRoleDetails } = this.state;\r\n return (\r\n
\r\n this.renderOrganisationDetailsLightBox(data, onDataChange)}\r\n onSave={(data) => this.onOrganisationDetailSave(data)}\r\n data={organisationDetail}\r\n sectionHeaderCss={\"mb-40\"}\r\n cssWrapper={\"mb-20\"}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n onRef={(lightbox) => (this.lightbox = lightbox)}\r\n />\r\n {this.state.showLightbox && (\r\n this.setState({ showLightbox: false, data: null })}\r\n >\r\n

\r\n Prior to amending the Trust type to Investment Body (Passive NFE/NFFE) please ensure Abrdn\r\n have received an updated entity self-certification form detailing the controlling persons\r\n details as this needs to be manually added into the platform by Operations as Interested\r\n parties. If the platform Trust type is updated prior to receiving this information then it\r\n will be a FATCA CRS breach.\r\n

\r\n {\r\n this.SaveDetail(this.state.data);\r\n this.setState({ showLightbox: false, data: null });\r\n if (this.lightbox) {this.lightbox(false);}\r\n }}\r\n >\r\n Save\r\n \r\n this.setState({ showLightbox: false, data: null })}\r\n >\r\n Cancel\r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as classNames from \"classNames\";\r\nimport * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { NumberTextBoxEditor } from \"../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../react-core/Html/RadiosEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { PensionProtectionDetails } from \"../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport {\r\n ClientRecordTab,\r\n GrantedTypes,\r\n GrantedTypesMap,\r\n IClientTabProps,\r\n PensionProtectionMap,\r\n} from \"./Resource/Contents\";\r\nimport { ClientRecordStore } from \"./Store/Variable\";\r\n\r\ninterface IPensionProtectionState {\r\n PensionProtection: PensionProtectionDetails;\r\n _data: PensionProtectionDetails;\r\n isLoading: boolean;\r\n errorMsg: string[];\r\n}\r\n\r\ninterface IPensionProtectionProps extends IClientTabProps {\r\n callback?: () => void;\r\n hideHeading?: boolean;\r\n hideContainerClasses?: boolean;\r\n onSaveBack?: (result) => void;\r\n}\r\n\r\nexport class PensionProtection extends FormComponent {\r\n constructor(props: IPensionProtectionProps) {\r\n super(props);\r\n this.state = {\r\n PensionProtection: null,\r\n _data: null,\r\n isLoading: true,\r\n errorMsg: [],\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onClientRecordStoreChange());\r\n }\r\n\r\n private onClientRecordStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n PensionProtection: data[ClientRecordTab.PensionProtection],\r\n _data: JSON.parse(JSON.stringify(data[ClientRecordTab.PensionProtection])),\r\n });\r\n }\r\n\r\n private onSave() {\r\n const { PensionProtection } = this.state;\r\n if (super.isValid()) {\r\n this.setState({ isLoading: true });\r\n ClientRecordAction.savePensionProtection(Number(this.props.id), PensionProtection, (result) => {\r\n if (result.length == 0) {\r\n this.state.errorMsg.push(\"The information has been saved successfully.\");\r\n if (this.props.onSaveBack) {this.props.onSaveBack(PensionProtection);}\r\n } else {\r\n this.setState({ errorMsg: result });\r\n }\r\n ClientRecordAction.getPensionProtection(Number(this.props.id));\r\n });\r\n }\r\n }\r\n\r\n private grantSelected(key: string): string {\r\n const { PensionProtection } = this.state;\r\n const _data = PensionProtection[key];\r\n let flag = null;\r\n GrantedTypes.forEach((ele) => {\r\n if (_data[ele]) {flag = ele;}\r\n });\r\n return flag;\r\n }\r\n\r\n private dataOnchanged(key: string, value: any, entity: string) {\r\n const { PensionProtection, _data } = this.state;\r\n _data[key][entity] = value;\r\n PensionProtection[key][entity] = _data[key][entity];\r\n this.setState({ PensionProtection });\r\n }\r\n\r\n private redioDisable(key: string): boolean {\r\n const { PensionProtection } = this.state;\r\n switch (key) {\r\n case \"PensionEnhancedProtectionDetails\":\r\n return (\r\n PensionProtection.PensionFixedProtectionDetails != null ||\r\n PensionProtection.PensionFixed2014ProtectionDetails != null ||\r\n PensionProtection.PensionFixed2016ProtectionDetails != null\r\n );\r\n case \"PensionPrimaryProtectionDetails\":\r\n return (\r\n PensionProtection.PensionFixedProtectionDetails != null ||\r\n PensionProtection.PensionFixed2014ProtectionDetails != null ||\r\n PensionProtection.PensionFixed2016ProtectionDetails != null ||\r\n PensionProtection.PensionIndividual2014ProtectionDetails != null ||\r\n PensionProtection.PensionIndividual2016ProtectionDetails != null\r\n );\r\n case \"PensionFixedProtectionDetails\":\r\n return (\r\n PensionProtection.PensionFixed2014ProtectionDetails != null ||\r\n PensionProtection.PensionFixed2016ProtectionDetails != null\r\n );\r\n case \"PensionFixed2014ProtectionDetails\":\r\n return (\r\n PensionProtection.PensionFixedProtectionDetails != null ||\r\n PensionProtection.PensionFixed2016ProtectionDetails != null\r\n );\r\n case \"PensionFixed2016ProtectionDetails\":\r\n return (\r\n PensionProtection.PensionFixed2014ProtectionDetails != null ||\r\n PensionProtection.PensionFixedProtectionDetails != null\r\n );\r\n case \"PensionIndividual2014ProtectionDetails\":\r\n return PensionProtection.PensionIndividual2016ProtectionDetails != null;\r\n case \"PensionIndividual2016ProtectionDetails\":\r\n return PensionProtection.PensionIndividual2014ProtectionDetails != null;\r\n }\r\n return false;\r\n }\r\n\r\n componentDidMount() {\r\n ClientRecordAction.getPensionProtection(Number(this.props.id));\r\n }\r\n\r\n render() {\r\n if (this.state.isLoading) {return ;}\r\n\r\n const { PensionProtection, _data, errorMsg } = this.state;\r\n const { callback } = this.props;\r\n const radioOptions = {\r\n cssWrapper: \"rg-150 mb-16\",\r\n options: [true, false],\r\n getText: (v) => (v ? \"Yes\" : \"No\"),\r\n };\r\n return (\r\n
\r\n {!this.props.hideHeading &&

Pension protection

}\r\n\r\n {errorMsg.length > 0 && (\r\n 0}\r\n title={\"Success\"}\r\n contentAfterTitle={null}\r\n onClose={() => this.setState({ errorMsg: [] })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n {this.state.errorMsg.map((error, index) => {\r\n return

{error}

;\r\n })}\r\n {\r\n this.setState({ errorMsg: [] });\r\n if (callback) {callback();}\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {PensionProtectionMap.map((e) => {\r\n let child;\r\n if (PensionProtection[e.key] != null) {\r\n switch (e.key) {\r\n case \"PensionEnhancedProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n this.dataOnchanged(\r\n \"PensionEnhancedProtectionDetails\",\r\n v,\r\n \"PclsEntitlement\"\r\n );\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n \"PensionEnhancedProtectionDetails\",\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"PclsEntitlement\"\r\n );\r\n }}\r\n />\r\n {\r\n this.dataOnchanged(\r\n \"PensionEnhancedProtectionDetails\",\r\n v,\r\n \"CertificateNumber\"\r\n );\r\n }}\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionPrimaryProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n this.dataOnchanged(\r\n \"PensionPrimaryProtectionDetails\",\r\n v,\r\n \"PclsEntitlement\"\r\n );\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n \"PensionPrimaryProtectionDetails\",\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"PclsEntitlement\"\r\n );\r\n }}\r\n />\r\n {\r\n this.dataOnchanged(\r\n \"PensionPrimaryProtectionDetails\",\r\n v,\r\n \"CertificateNumber\"\r\n );\r\n }}\r\n />\r\n {\r\n return !!_data.PensionPrimaryProtectionDetails\r\n .EnhancementFactor;\r\n },\r\n },\r\n ]}\r\n value={_data.PensionPrimaryProtectionDetails.EnhancementFactor}\r\n onChange={(v) => {\r\n this.dataOnchanged(\r\n \"PensionPrimaryProtectionDetails\",\r\n v,\r\n \"EnhancementFactor\"\r\n );\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n \"PensionPrimaryProtectionDetails\",\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"EnhancementFactor\"\r\n );\r\n }}\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionFixedProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n this.dataOnchanged(\r\n \"PensionFixedProtectionDetails\",\r\n v,\r\n \"CertificateNumber\"\r\n );\r\n }}\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionFixed2014ProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n this.dataOnchanged(\r\n \"PensionFixed2014ProtectionDetails\",\r\n v,\r\n \"CertificateNumber\"\r\n );\r\n }}\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionFixed2016ProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n this.dataOnchanged(\r\n \"PensionFixed2016ProtectionDetails\",\r\n v,\r\n \"CertificateNumber\"\r\n );\r\n }}\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionIndividual2014ProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n this.dataOnchanged(\r\n \"PensionIndividual2014ProtectionDetails\",\r\n v,\r\n \"CertificateNumber\"\r\n );\r\n }}\r\n />\r\n {\r\n this.dataOnchanged(\r\n \"PensionIndividual2014ProtectionDetails\",\r\n v,\r\n \"Amount\"\r\n );\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n \"PensionIndividual2014ProtectionDetails\",\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"Amount\"\r\n );\r\n }}\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionIndividual2016ProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n this.dataOnchanged(\r\n \"PensionIndividual2016ProtectionDetails\",\r\n v,\r\n \"CertificateNumber\"\r\n );\r\n }}\r\n />\r\n {\r\n this.dataOnchanged(\r\n \"PensionIndividual2016ProtectionDetails\",\r\n v,\r\n \"Amount\"\r\n );\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n \"PensionIndividual2016ProtectionDetails\",\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"Amount\"\r\n );\r\n }}\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionRelevantOverseasProtectionDetails\":\r\n case \"PensionQropsProtectionDetails\":\r\n case \"PensionCreditProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n PensionProtection[e.key].CertificateNumber = v;\r\n this.setState({ PensionProtection });\r\n }}\r\n />\r\n {\r\n return !!_data[e.key].EnhancementFactor;\r\n },\r\n },\r\n ]}\r\n maxLength={15}\r\n value={PensionProtection[e.key].EnhancementFactor}\r\n onChange={(v) => {\r\n this.dataOnchanged(e.key, v, \"EnhancementFactor\");\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n e.key,\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"EnhancementFactor\"\r\n );\r\n }}\r\n />\r\n GrantedTypesMap[v]}\r\n onChange={(v) => {\r\n GrantedTypes.forEach((t) => {\r\n t == v\r\n ? (PensionProtection[e.key][t] = true)\r\n : (PensionProtection[e.key][t] = false);\r\n });\r\n this.setState({ PensionProtection });\r\n }}\r\n required=\"Please select Granted\"\r\n />\r\n \r\n );\r\n break;\r\n case \"PensionSchemeSpecificProtectionDetails\":\r\n child = (\r\n <>\r\n {\r\n return (\r\n !_data[e.key].ADayFundValue || _data[e.key].PclsEntitlement\r\n );\r\n },\r\n },\r\n ]}\r\n maxLength={15}\r\n value={_data[e.key].PclsEntitlement}\r\n onChange={(v) => {\r\n this.dataOnchanged(e.key, v, \"PclsEntitlement\");\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n e.key,\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"PclsEntitlement\"\r\n );\r\n }}\r\n />\r\n {\r\n return (\r\n !_data[e.key].PclsEntitlement || _data[e.key].ADayFundValue\r\n );\r\n },\r\n },\r\n ]}\r\n maxLength={15}\r\n value={_data[e.key].ADayFundValue}\r\n onChange={(v) => {\r\n this.dataOnchanged(e.key, v, \"ADayFundValue\");\r\n }}\r\n onBlur={(v) => {\r\n this.dataOnchanged(\r\n e.key,\r\n Number(CommonHelper.downFixed(v, 2)),\r\n \"ADayFundValue\"\r\n );\r\n }}\r\n />\r\n {\r\n this.dataOnchanged(e.key, v, \"ProtectedRetirementAge\");\r\n }}\r\n />\r\n \r\n );\r\n default:\r\n break;\r\n }\r\n }\r\n return (\r\n <>\r\n {\r\n if (v) {\r\n if (_data[e.key] == null) {_data[e.key] = {};}\r\n PensionProtection[e.key] = _data[e.key];\r\n if (e.key == \"PensionFixedProtectionDetails\") {\r\n PensionProtection.PensionFixed2014ProtectionDetails = null;\r\n PensionProtection.PensionFixed2016ProtectionDetails = null;\r\n PensionProtection.PensionEnhancedProtectionDetails = null;\r\n PensionProtection.PensionPrimaryProtectionDetails = null;\r\n }\r\n if (e.key == \"PensionFixed2014ProtectionDetails\") {\r\n PensionProtection.PensionFixedProtectionDetails = null;\r\n PensionProtection.PensionFixed2016ProtectionDetails = null;\r\n PensionProtection.PensionEnhancedProtectionDetails = null;\r\n PensionProtection.PensionPrimaryProtectionDetails = null;\r\n }\r\n if (e.key == \"PensionFixed2016ProtectionDetails\") {\r\n PensionProtection.PensionFixed2014ProtectionDetails = null;\r\n PensionProtection.PensionFixedProtectionDetails = null;\r\n PensionProtection.PensionEnhancedProtectionDetails = null;\r\n PensionProtection.PensionPrimaryProtectionDetails = null;\r\n }\r\n if (e.key == \"PensionIndividual2014ProtectionDetails\") {\r\n PensionProtection.PensionIndividual2016ProtectionDetails = null;\r\n PensionProtection.PensionPrimaryProtectionDetails = null;\r\n }\r\n if (e.key == \"PensionIndividual2016ProtectionDetails\") {\r\n PensionProtection.PensionIndividual2014ProtectionDetails = null;\r\n PensionProtection.PensionPrimaryProtectionDetails = null;\r\n }\r\n } else {\r\n PensionProtection[e.key] = null;\r\n }\r\n this.setState({ PensionProtection });\r\n }}\r\n disabled={this.redioDisable(e.key)}\r\n required={\"Please select \" + e.value}\r\n {...radioOptions}\r\n />\r\n {child}\r\n \r\n );\r\n })}\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../react-core/Datepicker/DatePicker\";\r\nimport { MoneyDisplayHelper } from \"../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { PostCodeAnywhereSearchEditor } from \"../../../../../react-core/Html/Address/PostCodeAnywhereSearchEditor\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PhysicalAddressTemplate } from \"../../../../../Wrap/Constants/Enums/Domain/PhysicalAddressTemplate\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { RoleType } from \"../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { DeathDetails } from \"../../../../../Wrap/Models/Models/Customer/DeathDetails\";\r\nimport { EmploymentDetail } from \"../../../../../Wrap/Models/Models/Customer/EmploymentDetail\";\r\nimport { PersonalDetail } from \"../../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { CountryCodeMap } from \"../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { TitleMap } from \"../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { TrueFalseRadio } from \"../NewBusinessWizard/Components/SharedComponents\";\r\nimport { GenderOptions, GenderOptionsMap, Marital, CustomerStatuses } from \"../NewBusinessWizard/Resource/Contents\";\r\nimport {\r\n IndividualEmploymentStatusOptions,\r\n IndividualEmploymentStatusOptionsMap,\r\n} from \"../NewQuoteWizard/Resource/Content\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { SectionTable } from \"./Components/SectionTable\";\r\nimport {\r\n ClientRecordTab,\r\n IClientTabProps,\r\n PreDefinedBusinessCategory,\r\n question,\r\n TrustMemberDeathValidationMsg,\r\n} from \"./Resource/Contents\";\r\nimport { AccountRoleStore, ClientRecordStore } from \"./Store/Variable\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Permission } from \"../../../../Shared/Permission/Permission\";\r\nimport { CustomerStatus } from \"../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { TrustMemberDeathValidationResult } from \"../../../../../Wrap/Models/Models/Customer/TrustMemberDeathValidationResult\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\n\r\ninterface IPersonalDetailsState {\r\n personalDetail: PersonalDetail;\r\n accountRoleDetails: Array;\r\n employmentDetail: EmploymentDetail;\r\n deathDetail: DeathDetails;\r\n isPersonalDetailLoading: boolean;\r\n isRoleLoading: boolean;\r\n isEmploymentDetailLoading: boolean;\r\n isDeathDetailLoading: boolean;\r\n isCrownEmployeeOrArmedForceChanged: boolean;\r\n showFreeTextBusinessCategory: boolean;\r\n freeTextBusinessCategory: string;\r\n isLoadingDeathValidation: boolean;\r\n deathValidationResult: TrustMemberDeathValidationResult[];\r\n}\r\n\r\nexport class PersonalDetails extends FormComponent {\r\n constructor(props: IClientTabProps) {\r\n super(props);\r\n this.state = {\r\n personalDetail: null,\r\n accountRoleDetails: AccountRoleStore.getData()?.length > 0 ? AccountRoleStore.getData() : null,\r\n employmentDetail: null,\r\n deathDetail: null,\r\n isPersonalDetailLoading: true,\r\n isRoleLoading: true,\r\n isEmploymentDetailLoading: true,\r\n isDeathDetailLoading: true,\r\n isCrownEmployeeOrArmedForceChanged: false,\r\n showFreeTextBusinessCategory: false,\r\n freeTextBusinessCategory: \"\",\r\n isLoadingDeathValidation: false,\r\n deathValidationResult: [],\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n this.subscribeToStore(AccountRoleStore, () => this.onAccountRoleStoreChange());\r\n }\r\n\r\n private datePickerOptions = (hasValidate: boolean, particularDate?: Date, particularMessage?: string) => {\r\n return {\r\n showYearDropdown: true,\r\n todayButton: ContentDatePicker.Today,\r\n isClearable: true,\r\n atMost: hasValidate\r\n ? {\r\n value: particularDate != null ? particularDate : new Date(),\r\n errorMessage: particularMessage != null ? particularMessage : \"Date can not be in the future\",\r\n }\r\n : null,\r\n lessThan: null,\r\n dateFormat: ContentDatePicker.DateFormat,\r\n acceptDateFormats: ACCEPT_DATE_FORMATS,\r\n formGroupCssWrapper: \"control-size-300\",\r\n };\r\n };\r\n\r\n private futerDatePickerOptions = (hasValidate: boolean, particularDate?: Date, particularMessage?: string) => {\r\n return {\r\n showYearDropdown: true,\r\n todayButton: ContentDatePicker.Today,\r\n isClearable: true,\r\n atLeast:\r\n hasValidate && particularDate != null\r\n ? {\r\n value: particularDate != null ? particularDate : new Date(\"0001-01-01\"),\r\n errorMessage: particularDate != null ? particularMessage : \"Date input is invalid\",\r\n }\r\n : null,\r\n dateFormat: ContentDatePicker.DateFormat,\r\n acceptDateFormats: ACCEPT_DATE_FORMATS,\r\n formGroupCssWrapper: \"control-size-300\",\r\n };\r\n };\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (data[ClientRecordTab.PersonalDetail]) {\r\n this.setState({ isPersonalDetailLoading: false, personalDetail: data[ClientRecordTab.PersonalDetail] });\r\n }\r\n if (data.EmploymentDetail) {\r\n this.setState({ isEmploymentDetailLoading: false, employmentDetail: data.EmploymentDetail });\r\n }\r\n if (\r\n data.EmploymentDetail?.BusinessCategory &&\r\n PreDefinedBusinessCategory.find((x) => x == data.EmploymentDetail?.BusinessCategory) == null\r\n ) {\r\n this.setState({\r\n showFreeTextBusinessCategory: true,\r\n freeTextBusinessCategory: data.EmploymentDetail?.BusinessCategory,\r\n });\r\n }\r\n if (data.DeathDetail) {\r\n this.setState({\r\n isDeathDetailLoading: false,\r\n deathDetail: data.DeathDetail,\r\n });\r\n }\r\n }\r\n\r\n private onAccountRoleStoreChange() {\r\n const data = AccountRoleStore.getData();\r\n if (data.length > 0) {\r\n this.setState({ accountRoleDetails: data });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n ClientRecordAction.getEmploymentDetail(this.props.id);\r\n ClientRecordAction.getDeathDetail(this.props.id);\r\n this.checkTrustMemberDeathValidation();\r\n }\r\n\r\n private onPersonalDetailSave(data) {\r\n if (this.isValid()) {\r\n this.setState({ isPersonalDetailLoading: true });\r\n ClientRecordAction.putPersonalDetail(data, this.props.id);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onEmploymentDetailSave(data) {\r\n if (this.isValid()) {\r\n this.setState({ isEmploymentDetailLoading: true });\r\n ClientRecordAction.putEmploymentDetail(data, this.props.id);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onDeathDetailSave(data) {\r\n if (\r\n this.state.deathValidationResult.length > 0 &&\r\n (this.state.deathValidationResult[0].IsLastFlexibleBeneficiary ||\r\n this.state.deathValidationResult[0].IsCorrespondence ||\r\n this.state.deathValidationResult[0].IsBeneficiaryNotWithZeroPercentage)\r\n ) {\r\n return false;\r\n } else {\r\n if (this.isValid()) {\r\n this.setState({ isDeathDetailLoading: true });\r\n ClientRecordAction.putDeathDetail(data, this.props.id, () => {\r\n ClientRecordAction.getPersonalDetail(this.props.id);\r\n });\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n private checkTrustMemberDeathValidation() {\r\n this.setState({ isLoadingDeathValidation: true });\r\n ClientRecordAction.getTrustMemberDeathValidation(this.props.id, (result) => {\r\n this.setState({ isLoadingDeathValidation: false, deathValidationResult: result });\r\n });\r\n }\r\n\r\n private getDeathDetailsColConfig(data: DeathDetails) {\r\n if (!data) {return [];}\r\n return [\r\n {\r\n title: \"Death notification on\",\r\n data: JsonDateParser.getFormatDate(data.NotificationDate, \"dd/MM/yyyy\"),\r\n },\r\n { title: \"Death on\", data: JsonDateParser.getFormatDate(data.DateOfDeath, \"dd/MM/yyyy\") },\r\n { title: \"Probate on\", data: JsonDateParser.getFormatDate(data.DateOfProbate, \"dd/MM/yyyy\") },\r\n {\r\n title: \"Proof received on\",\r\n data: JsonDateParser.getFormatDate(data.ProofOfDeathReceivedDate, \"dd/MM/yyyy\"),\r\n },\r\n { title: \"Proof reference\", data: data.ProofOfDeathReference },\r\n ];\r\n }\r\n\r\n private getPersonalDetailsColConfig(\r\n data: PersonalDetail,\r\n isCrownEmployeeOrArmedForce,\r\n role: Array\r\n ) {\r\n if (!data) {return [];}\r\n return [\r\n {\r\n title: \"Full name\",\r\n data: `${TitleMap.getString(data.Title)} ${data.GivenName} ${data.MiddleName || \"\"} ${data.FamilyName}`,\r\n },\r\n {\r\n title: \"Customer status\",\r\n data:\r\n data.CustomerStatus == CustomerStatus.Inactive\r\n ? \"Inactive\"\r\n : role.length && !role.find((f) => f.AccountStatus.toLowerCase() == \"inprogress\")\r\n ? CustomerStatuses.optionsMap[data.CustomerStatus]\r\n : \"Prospect\",\r\n },\r\n { title: \"Gender\", data: GenderOptionsMap[data.Gender] },\r\n { title: \"Marital status\", data: Marital.optionsMap[data.MaritalStatus] },\r\n { title: \"Date of birth\", data: JsonDateParser.getFormatDate(data.DateOfBirth, \"dd/MM/yyyy\") },\r\n { title: \"Town of birth\", data: data.TownOfBirth },\r\n { title: \"Country of birth\", data: CountryCodeMap.getString(data.CountryOfBirth) },\r\n {\r\n title: \"Is Crown Employee or Armed Forces?\",\r\n data: isCrownEmployeeOrArmedForce\r\n ? \"Yes\"\r\n : isCrownEmployeeOrArmedForce == null || isCrownEmployeeOrArmedForce == undefined\r\n ? null\r\n : \"No\",\r\n },\r\n //removing this for now as requested due to Pensions not being built yet\r\n // {\r\n // title: question.consent,\r\n // data: \"Yes\",\r\n // },\r\n ];\r\n }\r\n\r\n private getEmploymentDetailColConfig(data: EmploymentDetail) {\r\n if (!data) {return [];}\r\n return [\r\n {\r\n title: \"Employment status\",\r\n data: IndividualEmploymentStatusOptionsMap[data.IndividualEmploymentStatus],\r\n },\r\n { title: \"Occupation\", data: data.Occupation },\r\n { title: \"Business category\", data: data.BusinessCategory },\r\n { title: \"Employer name\", data: data.EmployerName },\r\n { title: \"Country\", data: CountryCodeMap.getString(data.EmployerAddress?.Country) },\r\n { title: \"PostCode\", data: data.EmployerAddress?.PostCode },\r\n { title: \"Address line 1\", data: data.EmployerAddress?.Address1 },\r\n { title: \"Address line 2\", data: data.EmployerAddress?.Address2 },\r\n { title: \"Address line 3\", data: data.EmployerAddress?.Address3 },\r\n { title: \"Address line 4\", data: data.EmployerAddress?.Address4 },\r\n {\r\n title: \"Annual earnings\",\r\n data:\r\n data?.AnnualEarnings > 0\r\n ? MoneyDisplayHelper.FromatMoneyDisplay(data.AnnualEarnings, data.AnnualEarningsCcy)\r\n : null,\r\n },\r\n { title: \"Length of service with this company\", data: data.LengthOfService },\r\n { title: \"Retirement Date\", data: JsonDateParser.getFormatDate(data.RetirementDate, \"dd/MM/yyyy\") },\r\n {\r\n title: \"Other proceeds\",\r\n data: data?.OtherProceeds\r\n ? MoneyDisplayHelper.FromatMoneyDisplay(Number(data.OtherProceeds), data.AnnualEarningsCcy)\r\n : null,\r\n },\r\n ];\r\n }\r\n\r\n private onAddressChange(changes, originData, onDataChange) {\r\n const _data = originData\r\n ? JSON.parse(JSON.stringify(originData))\r\n : { PhysicalAddressTemplate: PhysicalAddressTemplate.StandardLifeDefault };\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n onDataChange({ EmployerAddress: _data });\r\n }\r\n\r\n private onIsCrownEmployeeOrArmedForceChange(change: boolean) {\r\n const { employmentDetail } = this.state;\r\n let _data = JSON.parse(JSON.stringify(employmentDetail ? employmentDetail : {}));\r\n if (!_data) {_data = {};}\r\n _data[\"IsCrownEmployeeOrArmedForce\"] = change;\r\n this.setState({ isCrownEmployeeOrArmedForceChanged: true, employmentDetail: _data });\r\n }\r\n\r\n private renderEmploymentDetailLightBox(data, onDataChange) {\r\n return (\r\n <>\r\n IndividualEmploymentStatusOptionsMap[v]}\r\n onChange={(v) => {\r\n onDataChange({ IndividualEmploymentStatus: v });\r\n }}\r\n cssWrapper=\"control-size-300\"\r\n selected={data.IndividualEmploymentStatus}\r\n label=\"Employment status\"\r\n placeholder=\"Please select\"\r\n />\r\n {\r\n onDataChange({ Occupation: v });\r\n }}\r\n value={data.Occupation}\r\n maxLength={50}\r\n />\r\n {/* {\r\n onDataChange({ JobTitle: v });\r\n }}\r\n value={data.JobTitle}\r\n maxLength={50}\r\n /> */}\r\n {\r\n onDataChange({ EmployerName: v });\r\n }}\r\n value={data.EmployerName}\r\n maxLength={100}\r\n />\r\n v}\r\n onChange={(v) => {\r\n // if select other we need to show a input box let user to input free text\r\n if (v != \"Other - please specify\") {\r\n this.setState({ showFreeTextBusinessCategory: false, freeTextBusinessCategory: \"\" });\r\n onDataChange({ BusinessCategory: v });\r\n } else {\r\n this.setState({ showFreeTextBusinessCategory: true });\r\n }\r\n }}\r\n selected={\r\n CommonHelper.isNullOrEmpty(data?.BusinessCategory)\r\n ? null\r\n : PreDefinedBusinessCategory.find((x) => x == data?.BusinessCategory) == null\r\n ? \"Other - please specify\"\r\n : data?.BusinessCategory\r\n }\r\n label=\"Business category\"\r\n cssWrapper=\"control-size-300\"\r\n placeholder=\"Please select\"\r\n />\r\n {this.state.showFreeTextBusinessCategory && (\r\n {\r\n onDataChange({ BusinessCategory: v });\r\n this.setState({ freeTextBusinessCategory: v });\r\n }}\r\n value={this.state.freeTextBusinessCategory}\r\n maxLength={100}\r\n required={this.state.showFreeTextBusinessCategory ? \"Please specify a business category\" : null}\r\n />\r\n )}\r\n CountryCodeMap.getString(v)}\r\n onChange={(v) => {\r\n this.onAddressChange({ Country: v }, data.EmployerAddress, onDataChange);\r\n }}\r\n selected={data.EmployerAddress?.Country}\r\n label=\"Country\"\r\n cssWrapper=\"control-size-300\"\r\n placeholder=\"Please select\"\r\n />\r\n {}}\r\n onAddressSelected={(v) =>\r\n this.onAddressChange(\r\n {\r\n Address1: v.Line1,\r\n Address2: v.Line2,\r\n Address3: v.Line3,\r\n PostCode: v.Postcode,\r\n },\r\n data.EmployerAddress,\r\n onDataChange\r\n )\r\n }\r\n cssWrapper=\"control-size-300\"\r\n countryCode={data.EmployerAddress?.Country}\r\n label={`Postcode`}\r\n />\r\n {\r\n this.onAddressChange({ Address1: v }, data.EmployerAddress, onDataChange);\r\n }}\r\n />\r\n {\r\n this.onAddressChange({ Address2: v }, data.EmployerAddress, onDataChange);\r\n }}\r\n />\r\n {\r\n this.onAddressChange({ Address3: v }, data.EmployerAddress, onDataChange);\r\n }}\r\n />\r\n {\r\n this.onAddressChange({ PostCode: v }, data.EmployerAddress, onDataChange);\r\n }}\r\n />\r\n \r\n onDataChange({\r\n AnnualEarnings: v,\r\n AnnualEarningsCcy: data.AnnualEarningsCcy || CurrencyCode.GBP,\r\n })\r\n }\r\n />\r\n {\r\n onDataChange({ LengthOfService: v });\r\n }}\r\n value={data.LengthOfService}\r\n maxLength={10}\r\n />\r\n {\r\n onDataChange({ RetirementDate: JsonDateParser.toJsonDateNoOffset(v) });\r\n }}\r\n {...this.datePickerOptions(false)}\r\n />\r\n {\r\n onDataChange({ OtherProceeds: v });\r\n }}\r\n value={data.OtherProceeds}\r\n maxLength={100}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderPersonalDetailLightBox(\r\n data,\r\n isCrownEmployeeOrArmedForce,\r\n actorRoleTypes,\r\n onDataChange,\r\n showContents\r\n ) {\r\n return (\r\n <>\r\n TitleMap.getString(option)}\r\n onChange={(value) => onDataChange({ Title: value })}\r\n required={\"Please select title\"}\r\n />\r\n onDataChange({ GivenName: v })}\r\n value={data.GivenName}\r\n maxLength={100}\r\n required={\"Please enter first name\"}\r\n />\r\n onDataChange({ FamilyName: v })}\r\n value={data.FamilyName}\r\n maxLength={100}\r\n required={\"Please enter surname\"}\r\n />\r\n CustomerStatuses.optionsMap[v]}\r\n onChange={(v) => {\r\n onDataChange({ CustomerStatus: v });\r\n }}\r\n selected={Number(data.CustomerStatus)}\r\n label=\"Customer status\"\r\n placeholder=\"No current status\"\r\n disabled={true}\r\n />\r\n GenderOptionsMap[v]}\r\n onChange={(v) => {\r\n onDataChange({ Gender: v });\r\n }}\r\n selected={Number(data.Gender)}\r\n label=\"Gender\"\r\n placeholder=\"Please select\"\r\n required={\r\n actorRoleTypes?.includes(RoleType.IndividualAccountHolder) ||\r\n actorRoleTypes?.includes(RoleType.LifeAssured) ||\r\n actorRoleTypes?.includes(RoleType.Trustee) ||\r\n actorRoleTypes?.includes(RoleType.Settlor)\r\n ? \"Please select gender\"\r\n : null\r\n }\r\n />\r\n Marital.optionsMap[v]}\r\n onChange={(v) => {\r\n onDataChange({ MaritalStatus: v });\r\n }}\r\n selected={Number(data.MaritalStatus)}\r\n label=\"Marital status\"\r\n placeholder=\"Please select\"\r\n required={\r\n actorRoleTypes?.includes(RoleType.IndividualAccountHolder) ||\r\n actorRoleTypes?.includes(RoleType.Trustee) ||\r\n actorRoleTypes?.includes(RoleType.Settlor)\r\n ? \"Please select marital status\"\r\n : null\r\n }\r\n />\r\n {\r\n onDataChange({ DateOfBirth: JsonDateParser.toJsonDate(v) });\r\n }}\r\n required={\r\n actorRoleTypes?.includes(RoleType.IndividualAccountHolder) ||\r\n actorRoleTypes?.includes(RoleType.LifeAssured) ||\r\n actorRoleTypes?.includes(RoleType.PowerOfAttorney) ||\r\n actorRoleTypes?.includes(RoleType.LegalRepresentative) ||\r\n actorRoleTypes?.includes(RoleType.Beneficiary) ||\r\n actorRoleTypes?.includes(RoleType.Trustee) ||\r\n actorRoleTypes?.includes(RoleType.TrustAppointer) ||\r\n actorRoleTypes?.includes(RoleType.Settlor) ||\r\n actorRoleTypes?.includes(RoleType.TrustProtector) ||\r\n actorRoleTypes?.includes(RoleType.ControllingPerson)\r\n ? \"Please select date of birth\"\r\n : null\r\n }\r\n {...this.datePickerOptions(true)}\r\n />\r\n {\r\n onDataChange({ TownOfBirth: v });\r\n }}\r\n value={data.TownOfBirth}\r\n maxLength={50}\r\n />\r\n CountryCodeMap.getString(v)}\r\n onChange={(v) => {\r\n onDataChange({ CountryOfBirth: v });\r\n }}\r\n selected={data.CountryOfBirth}\r\n label=\"Country of birth\"\r\n placeholder=\"Please select\"\r\n />\r\n (v ? \"Yes\" : v == null || v == undefined ? null : \"No\")}\r\n onChange={(v) => this.onIsCrownEmployeeOrArmedForceChange(v)}\r\n />\r\n {showContents && TrueFalseRadio(question.consent, \"isVip\", data, (key, v) => onDataChange({}))}\r\n \r\n );\r\n }\r\n\r\n private renderDeathDetailLightBox(data: DeathDetails, onDataChange) {\r\n if (this.state.isLoadingDeathValidation) {\r\n return ;\r\n }\r\n const { deathValidationResult } = this.state;\r\n const correspondenceAccounts = deathValidationResult\r\n .filter((x) => x.IsCorrespondence)\r\n .map((x) => x.ClAccountId);\r\n const lastFlexibleBeneficiaryAccounts = deathValidationResult\r\n .filter((x) => x.IsLastFlexibleBeneficiary)\r\n .map((x) => x.ClAccountId);\r\n const BeneficiaryWithZeroPercentageAccounts = deathValidationResult\r\n .filter((x) => x.IsBeneficiaryNotWithZeroPercentage)\r\n .map((x) => x.ClAccountId);\r\n return (\r\n <>\r\n {correspondenceAccounts.length != 0 && (\r\n \r\n )}\r\n {lastFlexibleBeneficiaryAccounts.length != 0 && (\r\n \r\n )}\r\n {BeneficiaryWithZeroPercentageAccounts.length != 0 && (\r\n \r\n )}\r\n {\r\n onDataChange({ NotificationDate: JsonDateParser.toJsonDate(v) });\r\n }}\r\n disabled={\r\n correspondenceAccounts.length > 0 ||\r\n lastFlexibleBeneficiaryAccounts.length > 0 ||\r\n BeneficiaryWithZeroPercentageAccounts.length > 0\r\n }\r\n {...this.futerDatePickerOptions(\r\n true,\r\n JsonDateParser.toDate(data.DateOfDeath),\r\n \"Death notification date cannot be smaller than death date of \" +\r\n JsonDateParser.toDate(data.DateOfDeath)?.toDateString()\r\n )}\r\n />\r\n\r\n {(data?.NotificationDate || data?.DateOfDeath) && (\r\n {\r\n onDataChange({ DateOfDeath: JsonDateParser.toJsonDate(v) });\r\n }}\r\n disabled={\r\n correspondenceAccounts.length > 0 ||\r\n lastFlexibleBeneficiaryAccounts.length > 0 ||\r\n BeneficiaryWithZeroPercentageAccounts.length > 0\r\n }\r\n {...this.datePickerOptions(\r\n true,\r\n JsonDateParser.toDate(data.NotificationDate),\r\n \"Date of death must be the same day or before the notification date\" +\r\n JsonDateParser.toDate(data.NotificationDate)?.toDateString()\r\n )}\r\n />\r\n )}\r\n {this.state.personalDetail?.CustomerStatus == CustomerStatus.Deceased && (\r\n <>\r\n {\r\n onDataChange({ DateOfProbate: JsonDateParser.toJsonDate(v) });\r\n }}\r\n {...this.datePickerOptions(true)}\r\n />\r\n {\r\n onDataChange({ ProofOfDeathReceivedDate: JsonDateParser.toJsonDate(v) });\r\n }}\r\n {...this.datePickerOptions(true)}\r\n />\r\n {\r\n onDataChange({ ProofOfDeathReference: v });\r\n }}\r\n cssWrapper=\"control-size-300\"\r\n value={data.ProofOfDeathReference}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n personalDetail,\r\n accountRoleDetails,\r\n employmentDetail,\r\n deathDetail,\r\n isPersonalDetailLoading,\r\n isEmploymentDetailLoading,\r\n isDeathDetailLoading,\r\n isRoleLoading,\r\n } = this.state;\r\n return (\r\n
\r\n {\r\n <>\r\n \r\n this.renderPersonalDetailLightBox(\r\n data,\r\n employmentDetail.IsCrownEmployeeOrArmedForce,\r\n accountRoleDetails?.map((x) => x.AccountRoleType),\r\n onDataChange,\r\n false\r\n )\r\n }\r\n onSave={(data) => {\r\n const personalDetailSaved = this.onPersonalDetailSave(data);\r\n const employementDetailSaved = this.state.isCrownEmployeeOrArmedForceChanged\r\n ? this.onEmploymentDetailSave(employmentDetail)\r\n : true;\r\n this.setState({ isCrownEmployeeOrArmedForceChanged: false });\r\n return personalDetailSaved && employementDetailSaved;\r\n }}\r\n data={personalDetail}\r\n sectionHeaderCss={\"mb-40\"}\r\n cssWrapper={\"mb-20\"}\r\n canEdit={this.props?.hasReadWriteAccess}\r\n />\r\n \r\n this.renderEmploymentDetailLightBox(data, onDataChange)\r\n }\r\n onSave={(data) => this.onEmploymentDetailSave(data)}\r\n data={employmentDetail}\r\n sectionHeaderCss={\"mb-40\"}\r\n cssWrapper={\"mb-20\"}\r\n canEdit={this.props?.hasReadWriteAccess}\r\n />\r\n \r\n \r\n this.renderDeathDetailLightBox(data, onDataChange)\r\n }\r\n onSave={(data) => this.onDeathDetailSave(data)}\r\n data={deathDetail}\r\n sectionHeaderCss={\"mb-40\"}\r\n cssWrapper={\"mb-20\"}\r\n canEdit={this.props?.hasReadWriteAccess}\r\n />\r\n \r\n \r\n }\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CustomerTaxResidencyTable } from \"./Components/Regulatory/CustomerTaxResidencyTable\";\r\nimport { ReportingTaxYearSettingTable } from \"./Components/Regulatory/ReportingTaxYearSettingTable\";\r\nimport { IClientTabProps } from \"./Resource/Contents\";\r\nimport { TaxFormSection } from \"./Components/Regulatory/TaxFormSection\";\r\nimport { HighValueSection } from \"./Components/Regulatory/HighValueSection\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Permission } from \"../../../../Shared/Permission/Permission\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { ControllingPersonDetails } from \"./Components/Regulatory/ControllingPersonDetails\";\r\nimport { ControllingPersonRoleDetailModel } from \"../../../../../Wrap/Models/Models/Customer/ControllingPersonRoleDetailModel\";\r\nimport { ControllingPersonRoleDetailCollectionModel } from \"../../../../../Wrap/Models/Models/Customer/ControllingPersonRoleDetailCollectionModel\";\r\nimport { ControllingPersonType } from \"../../../../../Wrap/Constants/Enums/Customer/ControllingPersonType\";\r\nimport { TaxComplianceAgreement } from \"./Components/Regulatory/TaxComplianceAgreement\";\r\nimport { AccountInfoAction } from \"../../../../../applications/Dashboard/Components/Clients/PortfolioDashboard/Components/Role/Action/AccountInfoAction\";\r\nimport { CustomerCompliance } from \"../../../../../Wrap/Models/Domains/Regulations/CustomerCompliance\";\r\n\r\ninterface IRegulatoryState {\r\n customerid: number;\r\n data: Array;\r\n controllingPersonData: Array;\r\n isControllingPersonLoading: boolean;\r\n isLoading: boolean;\r\n loadComplianceTable: boolean;\r\n customerComplianceList: Array;\r\n firstLoadTaxCompliance: boolean;\r\n}\r\nexport class Regulatory extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n customerid: Number(this.props.id),\r\n data: [],\r\n controllingPersonData: [],\r\n isControllingPersonLoading: false,\r\n isLoading: false,\r\n loadComplianceTable: false,\r\n customerComplianceList: [],\r\n firstLoadTaxCompliance: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ isLoading: true, isControllingPersonLoading: true });\r\n this.reloadTable();\r\n }\r\n\r\n reloadTable() {\r\n ClientRecordAction.getCutomerTaxResidency(this.state.customerid, (val) => {\r\n this.setState({\r\n data: val,\r\n isLoading: false,\r\n });\r\n });\r\n\r\n this.getControllerPersonData();\r\n }\r\n\r\n getNewComliance() {\r\n AccountInfoAction.getCustomerRegulationCompliance(this.state.customerid, (result) => {\r\n this.setState({ customerComplianceList: result });\r\n });\r\n }\r\n\r\n loadCompleted() {\r\n this.setState({\r\n loadComplianceTable: false,\r\n });\r\n }\r\n\r\n needReload() {\r\n this.setState({\r\n loadComplianceTable: true,\r\n firstLoadTaxCompliance: false,\r\n });\r\n this.getNewComliance();\r\n }\r\n\r\n private getControllerPersonData() {\r\n ClientRecordAction.getControllingPersonDetail(\r\n this.state.customerid.toString(),\r\n (val: ControllingPersonRoleDetailCollectionModel) => {\r\n this.setState({\r\n controllingPersonData: val?.Results,\r\n isControllingPersonLoading: false,\r\n });\r\n }\r\n );\r\n }\r\n\r\n private onControllingPersonSave(data: ControllingPersonRoleDetailModel, selectedType: ControllingPersonType) {\r\n data.ControllingPersonType = selectedType;\r\n this.setState({ isControllingPersonLoading: true });\r\n ClientRecordAction.updateControllingPersonType(data, (val) => {\r\n this.getControllerPersonData();\r\n });\r\n return true;\r\n }\r\n\r\n render(): JSX.Element {\r\n const { customerid, data, isLoading } = this.state;\r\n if (isLoading) {\r\n return ;\r\n }\r\n return (\r\n
\r\n this.reloadTable()}\r\n needReload={() => this.needReload()}\r\n />\r\n
\r\n \r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n this.onControllingPersonSave(controlPersonData, selectedType)\r\n }\r\n />\r\n
\r\n this.loadCompleted()}\r\n firstLoad={this.state.firstLoadTaxCompliance}\r\n />\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as $ from \"jquery\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Objects } from \"../../../../../react-core/Utils/Objects\";\r\nimport { RegulatoryCheckInfoResult } from \"../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoResult\";\r\nimport { RegulatoryCheckInfoStatus } from \"../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoStatus\";\r\nimport { RegulatoryCheckInfoType } from \"../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoType\";\r\nimport { RegulatoryCheckDetailsModel } from \"../../../../../Wrap/Models/Models/Customer/RegulatoryCheckDetailsModel\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { DataRetention } from \"./Components/RegulatoryChecks/DataRetention\";\r\nimport { SectionTable } from \"./Components/SectionTable\";\r\nimport {\r\n ClientRecordTab,\r\n IClientTabProps,\r\n RegulatoryCheckInfoTypeMap,\r\n RegulatoryCheckResultTypeMap,\r\n RegulatoryCheckTypeMap,\r\n} from \"./Resource/Contents\";\r\nimport { NoteDetailModel } from \"../../../../../Wrap/Models/Models/Customer/NoteDetailModel\";\r\nimport { NoteType } from \"../../../../../Wrap/Constants/Enums/Customer/NoteType\";\r\nimport { CheckboxEditor } from \"../../../../../react-core/Html/CheckboxEditor\";\r\nimport { AMLCheck } from \"./Components/AMLCheck\";\r\nimport { CustomerType } from \"../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { Organisation } from \"../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { ClientRecordStore } from \"./Store/Variable\";\r\nimport { SectionHeader } from \"../Common/SharedComponents\";\r\nimport { AddNewButton } from \"./Components/AddNewButton\";\r\nimport { ImportantFile } from \"./Components/ImportantFile\";\r\nimport { Lightbox } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { AMLCheckACtion } from \"./Action/AMLCheckAction\";\r\n\r\ninterface IRegulatoryCheckState {\r\n Data: Array;\r\n noteData: Array;\r\n isLoading: boolean;\r\n isNoteLoading: boolean;\r\n dataRententionData: any;\r\n customerType: CustomerType;\r\n noteLightBox: boolean;\r\n isEdit: boolean;\r\n isHighRiskCustomer: boolean;\r\n originalHighRiskCustomer: boolean;\r\n}\r\nexport class RegulatoryChecks extends FormComponent {\r\n constructor(props: IClientTabProps) {\r\n super(props);\r\n this.state = {\r\n Data: [],\r\n noteData: null,\r\n isLoading: true,\r\n isNoteLoading: false,\r\n dataRententionData: {\r\n RetentionDate: null,\r\n Reason: \" \",\r\n RequestDeletion: null,\r\n IsDisposalHold: false,\r\n },\r\n customerType: null,\r\n noteLightBox: false,\r\n isEdit: false,\r\n isHighRiskCustomer: null,\r\n originalHighRiskCustomer: null,\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n }\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.PersonalDetail])) {\r\n this.setState({ customerType: CustomerType.Individual });\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.OrganisationDetails])) {\r\n const organisation: Organisation = data[ClientRecordTab.OrganisationDetails];\r\n this.setState({ customerType: organisation.CustomerType });\r\n }\r\n }\r\n\r\n private lightboxRef = null;\r\n\r\n componentDidMount() {\r\n ClientRecordAction.getCustomerRegulatoryCheckDetails(Number.parseInt(this.props.id), (val) => {\r\n this.setState({\r\n Data: val,\r\n isLoading: false,\r\n });\r\n this.getHRCData(val);\r\n });\r\n\r\n ClientRecordAction.getCustomerNoteDetails(Number.parseInt(this.props.id), (val) => {\r\n const regNote = val.filter(\r\n (x) => x.NoteType == NoteType.RegulatoryCheck || x.NoteType == NoteType.RegulatoryCritical\r\n );\r\n this.setState({\r\n noteData: this.orderNotesList(regNote),\r\n isNoteLoading: false,\r\n });\r\n });\r\n ClientRecordAction.getPersonalDetail(this.props.id);\r\n ClientRecordAction.getOrganisationDetail(this.props.id);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { isHighRiskCustomer, isEdit, originalHighRiskCustomer } = this.state;\r\n if (this.state.isLoading || this.state.isNoteLoading) {\r\n return ;\r\n }\r\n const aml = this.state.Data.filter((x) => x.RegulatoryCheckType == RegulatoryCheckInfoType.AML);\r\n const pep = this.state.Data.filter((x) => x.RegulatoryCheckType == RegulatoryCheckInfoType.PEP);\r\n const fs = this.state.Data.filter((x) => x.RegulatoryCheckType == RegulatoryCheckInfoType.FinancialSanction);\r\n const hrc = this.state.Data.filter((x) => x.RegulatoryCheckType == RegulatoryCheckInfoType.HighRiskCustomer);\r\n\r\n return (\r\n
\r\n {this.renderSection(aml, RegulatoryCheckInfoType.AML)}\r\n
\r\n {this.renderSection(pep, RegulatoryCheckInfoType.PEP)}\r\n
\r\n {this.renderSection(fs, RegulatoryCheckInfoType.FinancialSanction)}\r\n
\r\n\r\n

High Risk Customer

\r\n {!this.state.isEdit && (\r\n
\r\n
\r\n
High Risk Customer
\r\n
\r\n
\r\n
\r\n {hrc == null || hrc?.length == 0 || this.state.isHighRiskCustomer == null\r\n ? \"No\"\r\n : this.state.isHighRiskCustomer == true\r\n ? \"Yes\"\r\n : \"No\"}\r\n
\r\n
\r\n
\r\n )}\r\n {this.state.isEdit && (\r\n this.setState({ isHighRiskCustomer: v })}\r\n disabled={!this.state.isEdit}\r\n />\r\n )}\r\n\r\n
\r\n
\r\n {this.props.hasReadWriteAccess && !this.state.isEdit && (\r\n
\r\n this.setState({ isEdit: true })}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n )}\r\n {this.state.isEdit && (\r\n
\r\n \r\n this.setState({\r\n isEdit: false,\r\n isHighRiskCustomer: this.state.originalHighRiskCustomer,\r\n })\r\n }\r\n >\r\n Cancel\r\n \r\n
\r\n )}\r\n {this.state.isEdit && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {this.renderHRCM(hrc, RegulatoryCheckInfoType.HighRiskCustomer)}\r\n
\r\n\r\n {this.renderNote(this.state.noteData)}\r\n {/* Hiding data retention section as backend hasn't been implemented */}\r\n {/*
\r\n {\r\n this.UpdateDataRetentionValues(data);\r\n }}\r\n /> */}\r\n {this.state.noteLightBox && (\r\n {\r\n this.setState({ noteLightBox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox\"\r\n show={this.state.noteLightBox}\r\n title={\"Error\"}\r\n >\r\n

A customer can has up to 50 important notes.

\r\n
\r\n
\r\n {\r\n this.setState({ noteLightBox: false });\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n }\r\n\r\n private saveSetting(regChecks: Array) {\r\n const Data = this.state.Data;\r\n const data = regChecks[0];\r\n\r\n this.setState({ isEdit: false, originalHighRiskCustomer: this.state.isHighRiskCustomer });\r\n if (regChecks == null || regChecks?.length == 0) {\r\n const hrcData: RegulatoryCheckDetailsModel = {\r\n RegulatoryCheckType: RegulatoryCheckInfoType.HighRiskCustomer,\r\n\r\n RegulatoryCheckStatus: RegulatoryCheckInfoStatus.Vetted,\r\n\r\n RegulatoryCheckResult: this.state.isHighRiskCustomer\r\n ? RegulatoryCheckInfoResult.HighRisk\r\n : RegulatoryCheckInfoResult.NotHighRisk,\r\n };\r\n ClientRecordAction.addCustomerRegulatoryCheckDetails(\r\n Number.parseInt(this.props.id),\r\n hrcData,\r\n RegulatoryCheckInfoType.HighRiskCustomer,\r\n (val) => {\r\n ClientRecordAction.getCustomerRegulatoryCheckDetails(Number.parseInt(this.props.id), (val) => {\r\n this.setState({\r\n Data: val,\r\n isLoading: false,\r\n });\r\n this.getHRCData(val);\r\n });\r\n }\r\n );\r\n } else {\r\n const index = Data.findIndex((ele) => ele.RegulatoryCheckType == RegulatoryCheckInfoType.HighRiskCustomer);\r\n data.CheckDateTime = null;\r\n data.RegulatoryCheckResult = this.state.isHighRiskCustomer\r\n ? RegulatoryCheckInfoResult.HighRisk\r\n : RegulatoryCheckInfoResult.NotHighRisk;\r\n Data[index] = data;\r\n ClientRecordAction.saveCustomerRegulatoryCheckDetails(\r\n Number.parseInt(this.props.id),\r\n Data,\r\n RegulatoryCheckInfoType.HighRiskCustomer,\r\n (val) => {\r\n ClientRecordAction.getCustomerRegulatoryCheckDetails(Number.parseInt(this.props.id), (val) => {\r\n this.setState({\r\n Data: val,\r\n isLoading: false,\r\n });\r\n this.getHRCData(val);\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n private renderHRCM(regChecks: Array, type: RegulatoryCheckInfoType): JSX.Element {\r\n if (regChecks == null || regChecks?.length == 0) {\r\n return (\r\n
\r\n
\r\n
\r\n
High Risk Customer last modified
\r\n
\r\n
\r\n
High Risk Customer last modified by
\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n High Risk Customer last modified\r\n
\r\n {JsonDateParser.getFormatDate(regChecks[0].CheckDateTime, \"dd-MM-yyyy hh:mm:ss\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n High Risk Customer last modified by\r\n
{regChecks[0].LastModifiedBy}
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n private getHRCData(val: Array) {\r\n const hrc = val.filter((x) => x.RegulatoryCheckType == RegulatoryCheckInfoType.HighRiskCustomer);\r\n if (hrc != null && hrc[0]?.RegulatoryCheckResult == RegulatoryCheckInfoResult.HighRisk) {\r\n this.setState({\r\n isHighRiskCustomer: true,\r\n originalHighRiskCustomer: true,\r\n });\r\n } else if (hrc == null || hrc[0]?.RegulatoryCheckResult == RegulatoryCheckInfoResult.NotHighRisk) {\r\n this.setState({\r\n isHighRiskCustomer: false,\r\n originalHighRiskCustomer: false,\r\n });\r\n }\r\n }\r\n\r\n private renderNote(note: Array): JSX.Element {\r\n return (\r\n this.onNoteAdd(data, note)}\r\n onSave={(data) => this.onNoteSave(data)}\r\n onDelete={(data) => this.onNoteDelete(data)}\r\n hasReadWriteAccess={this.props?.hasReadWriteAccess}\r\n />\r\n );\r\n }\r\n\r\n private renderSection(regChecks: Array, type: RegulatoryCheckInfoType): JSX.Element {\r\n const aml =\r\n this.state.customerType == CustomerType.Individual && type == RegulatoryCheckInfoType.AML ? (\r\n {\r\n ClientRecordAction.getCustomerRegulatoryCheckDetails(Number.parseInt(this.props.id), (val) => {\r\n this.setState({\r\n Data: val,\r\n isLoading: false,\r\n });\r\n this.lightboxRef(false);\r\n });\r\n }}\r\n />\r\n ) : null;\r\n\r\n if (regChecks == null || regChecks?.length == 0) {\r\n return (\r\n <>\r\n \r\n this.renderLightBox(data, onDataChange, RegulatoryCheckTypeMap[type])\r\n }\r\n key={RegulatoryCheckTypeMap[type]}\r\n onSave={(data) => this.onAdd(data)}\r\n data={{ RegulatoryCheckType: type }}\r\n onRef={(ref) => {\r\n if (type == RegulatoryCheckInfoType.AML) {this.lightboxRef = ref;}\r\n }}\r\n extraButton={aml}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n this.renderLightBox(data, onDataChange, RegulatoryCheckTypeMap[type])\r\n }\r\n key={RegulatoryCheckTypeMap[type]}\r\n onSave={(data) => this.onSave(data)}\r\n data={regChecks[0]}\r\n onRef={(ref) => {\r\n this.lightboxRef = ref;\r\n }}\r\n extraButton={aml}\r\n canEdit={this.props?.hasReadWriteAccess == true}\r\n />\r\n \r\n );\r\n }\r\n }\r\n\r\n private getColumnConfig(ele: RegulatoryCheckDetailsModel, type: string): Array {\r\n const result = [];\r\n if (type == \"AML\") {\r\n result.push({\r\n title: \"AML method\",\r\n data: ele == null ? \" \" : ele.ServiceProvider,\r\n });\r\n }\r\n result.push({\r\n title: `${type} check status`,\r\n data:\r\n ele == null || ele.RegulatoryCheckStatus == null\r\n ? \" \"\r\n : RegulatoryCheckInfoTypeMap[ele.RegulatoryCheckStatus],\r\n });\r\n result.push({\r\n title: `${type} status`,\r\n data:\r\n ele == null || ele.RegulatoryCheckResult == null\r\n ? \" \"\r\n : ele.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n ele.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? \"N/A\"\r\n : RegulatoryCheckResultTypeMap[ele.RegulatoryCheckResult],\r\n });\r\n\r\n result.push({\r\n title: `${type} last modified`,\r\n data:\r\n ele == null || ele.CheckDateTime == null\r\n ? \" \"\r\n : JsonDateParser.getFormatDate(ele.CheckDateTime, \"dd-MM-yyyy hh:mm:ss\"),\r\n });\r\n result.push({\r\n title: `${type} last modified by`,\r\n data: ele == null || CommonHelper.isNullOrEmpty(ele.LastModifiedBy) ? \" \" : ele.LastModifiedBy,\r\n });\r\n if (type == \"AML\") {\r\n result.push({\r\n title: `3rd party AML identifier`,\r\n data:\r\n ele == null || CommonHelper.isNullOrEmpty(ele.ExternalIdentifier) ? (\r\n \" \"\r\n ) : (\r\n
\r\n

{ele.ExternalIdentifier}

\r\n
\r\n ),\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n private onSave(data): boolean {\r\n if (this.isValid()) {\r\n const type = data.RegulatoryCheckType;\r\n const { Data } = this.state;\r\n const index = Data.findIndex((ele) => ele.RegulatoryCheckType == type);\r\n data.CheckDateTime = null;\r\n if (data.RegulatoryCheckResult == null) {\r\n switch (data.RegulatoryCheckType) {\r\n case RegulatoryCheckInfoType.AML:\r\n data.RegulatoryCheckResult = RegulatoryCheckInfoResult.Fail;\r\n break;\r\n case RegulatoryCheckInfoType.PEP:\r\n data.RegulatoryCheckResult = RegulatoryCheckInfoResult.Pep;\r\n break;\r\n case RegulatoryCheckInfoType.FinancialSanction:\r\n data.RegulatoryCheckResult = RegulatoryCheckInfoResult.NonSanction;\r\n break;\r\n }\r\n }\r\n Data[index] = data;\r\n ClientRecordAction.saveCustomerRegulatoryCheckDetails(\r\n Number.parseInt(this.props.id),\r\n Data,\r\n data.RegulatoryCheckType,\r\n (val) => {\r\n ClientRecordAction.getCustomerRegulatoryCheckDetails(Number.parseInt(this.props.id), (val) => {\r\n this.setState({\r\n Data: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n );\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private UpdateDataRetentionValues(updatedData: any) {\r\n const existingModel = Objects.cloneObject(this.state.dataRententionData);\r\n const updatedValue = $.extend(true, existingModel, updatedData);\r\n this.setState({ dataRententionData: updatedValue });\r\n }\r\n\r\n private onAdd(data): boolean {\r\n if (this.isValid()) {\r\n const Data = this.state.Data;\r\n data.CheckDateTime = null;\r\n if (data.RegulatoryCheckResult == null) {\r\n switch (data.RegulatoryCheckType) {\r\n case RegulatoryCheckInfoType.AML:\r\n data.RegulatoryCheckResult = RegulatoryCheckInfoResult.Fail;\r\n break;\r\n case RegulatoryCheckInfoType.PEP:\r\n data.RegulatoryCheckResult = RegulatoryCheckInfoResult.Pep;\r\n break;\r\n case RegulatoryCheckInfoType.FinancialSanction:\r\n data.RegulatoryCheckResult = RegulatoryCheckInfoResult.NonSanction;\r\n break;\r\n }\r\n }\r\n\r\n Data.push(data);\r\n ClientRecordAction.addCustomerRegulatoryCheckDetails(\r\n Number.parseInt(this.props.id),\r\n data,\r\n data.RegulatoryCheckType,\r\n (val) => {\r\n ClientRecordAction.getCustomerRegulatoryCheckDetails(Number.parseInt(this.props.id), (val) => {\r\n this.setState({\r\n Data: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n );\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onNoteAdd(data, note: Array): boolean {\r\n if (note.length >= 50) {\r\n this.setState({ noteLightBox: true });\r\n return true;\r\n }\r\n\r\n if (this.isValid()) {\r\n ClientRecordAction.addCustomerNoteDetails(Number.parseInt(this.props.id), data, (val) => {\r\n ClientRecordAction.getCustomerNoteDetails(Number.parseInt(this.props.id), (val) => {\r\n const regNote = val.filter(\r\n (x) => x.NoteType == NoteType.RegulatoryCheck || x.NoteType == NoteType.RegulatoryCritical\r\n );\r\n this.setState({\r\n noteData: this.orderNotesList(regNote),\r\n isNoteLoading: false,\r\n });\r\n });\r\n });\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n private onNoteSave(data): boolean {\r\n if (this.isValid()) {\r\n ClientRecordAction.saveCustomerNoteDetails(Number.parseInt(this.props.id), data, (val) => {\r\n ClientRecordAction.getCustomerNoteDetails(Number.parseInt(this.props.id), (val) => {\r\n const regNote = val.filter(\r\n (x) => x.NoteType == NoteType.RegulatoryCheck || x.NoteType == NoteType.RegulatoryCritical\r\n );\r\n this.setState({\r\n noteData: this.orderNotesList(regNote),\r\n isNoteLoading: false,\r\n });\r\n });\r\n });\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onNoteDelete(data): boolean {\r\n if (this.isValid()) {\r\n ClientRecordAction.deleteCustomerNoteDetails(Number.parseInt(this.props.id), data, (val) => {\r\n ClientRecordAction.getCustomerNoteDetails(Number.parseInt(this.props.id), (val) => {\r\n const regNote = val.filter(\r\n (x) => x.NoteType == NoteType.RegulatoryCheck || x.NoteType == NoteType.RegulatoryCritical\r\n );\r\n this.setState({\r\n noteData: this.orderNotesList(regNote),\r\n isNoteLoading: false,\r\n });\r\n });\r\n });\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private orderNotesList(notes: Array): Array {\r\n // filter out critial type\r\n const criticalList = notes.filter((e) => e?.NoteType == NoteType.RegulatoryCritical);\r\n // order by create date desc\r\n const _sortedCriticalList = criticalList.sort((a, b) => {\r\n if (JsonDateParser.toDate(a?.ModifiedTime) > JsonDateParser.toDate(b?.ModifiedTime)) {\r\n return -1;\r\n }\r\n if (JsonDateParser.toDate(a?.ModifiedTime) < JsonDateParser.toDate(b?.ModifiedTime)) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n\r\n // filter out normal list\r\n const normalList = notes.filter((e) => e?.NoteType == NoteType.RegulatoryCheck);\r\n // order by create date desc\r\n const _sortedNormalList = normalList.sort((a, b) => {\r\n if (JsonDateParser.toDate(a?.ModifiedTime) > JsonDateParser.toDate(b?.ModifiedTime)) {\r\n return -1;\r\n }\r\n if (JsonDateParser.toDate(a?.ModifiedTime) < JsonDateParser.toDate(b?.ModifiedTime)) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n\r\n const result = _sortedCriticalList.concat(_sortedNormalList);\r\n return result;\r\n }\r\n\r\n private getStatusByType(type: string): any[] {\r\n switch (type) {\r\n case \"AML\":\r\n return [\r\n RegulatoryCheckInfoResult.Pass,\r\n RegulatoryCheckInfoResult.Fail,\r\n RegulatoryCheckInfoResult.Refer,\r\n ];\r\n case \"PEP\":\r\n return [\r\n RegulatoryCheckInfoResult.NonPep,\r\n RegulatoryCheckInfoResult.Pep,\r\n RegulatoryCheckInfoResult.HighRiskPep,\r\n RegulatoryCheckInfoResult.UnconfirmedPep,\r\n ];\r\n case \"Subject to Sanctions\":\r\n return [\r\n RegulatoryCheckInfoResult.NonSanction,\r\n RegulatoryCheckInfoResult.Sanction,\r\n RegulatoryCheckInfoResult.UnconfirmedSanction,\r\n ];\r\n default:\r\n return [];\r\n }\r\n }\r\n\r\n private renderLightBoxForNote(ele: NoteDetailModel, onDataChange): JSX.Element {\r\n return (\r\n <>\r\n {\r\n onDataChange({ Note: v ? \"\" : null, NoteType: NoteType.RegulatoryCheck });\r\n }}\r\n />\r\n {ele?.Note != null && (\r\n {\r\n onDataChange({ Note: v });\r\n }}\r\n />\r\n )}\r\n

\r\n Important File Note last modified\r\n {JsonDateParser.getFormatDate(ele?.ModifiedTime, \"dd-MM-yyyy hh:mm:ss\")}\r\n

\r\n

Important File Note last modified by {ele?.LastModifiedBy}

\r\n \r\n );\r\n }\r\n private renderLightBox(ele: RegulatoryCheckDetailsModel, onDataChange, header: string): JSX.Element {\r\n return (\r\n <>\r\n {header == \"AML\" && (\r\n {\r\n return v;\r\n }}\r\n placeholder=\"Please select\"\r\n label={\"AML method\"}\r\n required={CommonHelper.isNullOrEmpty(ele?.ServiceProvider) ? \"Please select AML method\" : null}\r\n selected={\r\n ele?.ServiceProvider &&\r\n (ele?.ServiceProvider == \"Manual\" || ele?.ServiceProvider == \"Experian\")\r\n ? ele?.ServiceProvider\r\n : null\r\n }\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n onDataChange({ ServiceProvider: v });\r\n }}\r\n />\r\n )}\r\n {header == \"AML\" &&\r\n !CommonHelper.isNullOrEmpty(ele?.ServiceProvider) &&\r\n ele?.ServiceProvider != \"Manual\" &&\r\n ele?.ServiceProvider != \"Experian\" && AML method : {ele?.ServiceProvider}}\r\n\r\n Number(e))}\r\n getText={(v) => {\r\n return RegulatoryCheckInfoTypeMap[v];\r\n }}\r\n placeholder=\"Please select\"\r\n label={`${header} check status`}\r\n required={`Please select ${header} check status`}\r\n selected={ele?.RegulatoryCheckStatus}\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n let isChangeToVetted = false;\r\n if (\r\n (ele.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n ele.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified) &&\r\n v == RegulatoryCheckInfoStatus.Vetted\r\n ) {\r\n isChangeToVetted = true;\r\n }\r\n onDataChange({\r\n RegulatoryCheckStatus: v,\r\n RegulatoryCheckResult:\r\n isChangeToVetted ||\r\n v == RegulatoryCheckInfoStatus.NotVetted ||\r\n v == RegulatoryCheckInfoStatus.SelfCertified\r\n ? null\r\n : ele?.RegulatoryCheckResult,\r\n });\r\n }}\r\n />\r\n\r\n {\r\n return RegulatoryCheckResultTypeMap[v];\r\n }}\r\n placeholder={\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? \"N/A\"\r\n : \"Please select\"\r\n }\r\n label={`${header} status`}\r\n disabled={\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? true\r\n : false\r\n }\r\n required={\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? null\r\n : `Please select ${header} status`\r\n }\r\n selected={\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n ele?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? null\r\n : ele?.RegulatoryCheckResult\r\n }\r\n cssWrapper=\"control-size-430\"\r\n onChange={(v) => {\r\n onDataChange({ RegulatoryCheckResult: v });\r\n }}\r\n />\r\n\r\n

\r\n {header} last modified {JsonDateParser.getFormatDate(ele?.CheckDateTime, \"dd-MM-yyyy hh:mm:ss\")}\r\n

\r\n

\r\n {header} last modified by {ele?.LastModifiedBy}\r\n

\r\n {header == \"AML\" && (\r\n {\r\n onDataChange({ ExternalIdentifier: v });\r\n }}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { Dictionary } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { ContactType } from \"../../../../../../Wrap/Constants/Enums/Domain/ContactType\";\r\nimport { PhysicalAddressType } from \"../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { CustomerPhoneNumberType } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerPhoneNumberType\";\r\nimport { EmailAddressType } from \"../../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { RegulatoryCheckInfoType } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoType\";\r\nimport { RegulatoryCheckInfoResult } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoResult\";\r\nimport { RegulatoryCheckInfoStatus } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoStatus\";\r\nimport { AccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/AccountType\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AdvancedSearchFilterType } from \"../../../../../../Wrap/Constants/Enums/Search/AdvancedSearchFilterType\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { CustomerType } from \"../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { VulnerabilityCategory } from \"../../../../../../Wrap/Constants/Enums/Customer/VulnerabilityCategory\";\r\nimport { VulnerabilityType } from \"../../../../../../Wrap/Constants/Enums/Customer/VulnerabilityType\";\r\nimport { VulnerabilitySupportType } from \"../../../../../../Wrap/Constants/Enums/Customer/VulnerabilitySupportType\";\r\nimport { TrustRemovalReason } from \"../../../../../../Wrap/Constants/Enums/Customer/TrustRemovalReason\";\r\nimport { TrustMemberAction } from \"../../../../../../Wrap/Constants/Enums/Customer/TrustMemberAction\";\r\nimport { RoleStatus } from \"../../../../../../Wrap/Constants/Enums/RoleStatus\";\r\n\r\nexport enum ClientRecordTab {\r\n PersonalDetail = \"Personal details\",\r\n RegulatoryChecks = \"Regulatory checks\",\r\n Regulatory = \"Regulatory\",\r\n AddressDetail = \"Address details\",\r\n ContactDetail = \"Contact details\",\r\n PensionProtection = \"Pension protection\",\r\n OrganisationDetails = \"Organisation details\",\r\n TrustServicing = \"Trust servicing\",\r\n CompanyDetails = \"Company details\",\r\n}\r\n\r\nexport const AllClientRecordTabs = [\r\n ClientRecordTab.PersonalDetail,\r\n ClientRecordTab.AddressDetail,\r\n ClientRecordTab.CompanyDetails,\r\n ClientRecordTab.ContactDetail,\r\n ClientRecordTab.OrganisationDetails,\r\n ClientRecordTab.PensionProtection,\r\n ClientRecordTab.Regulatory,\r\n ClientRecordTab.RegulatoryChecks,\r\n ClientRecordTab.TrustServicing,\r\n];\r\n\r\nexport const IndividualClientRecordTabs = [\r\n ClientRecordTab.PersonalDetail,\r\n ClientRecordTab.RegulatoryChecks,\r\n ClientRecordTab.Regulatory,\r\n ClientRecordTab.AddressDetail,\r\n ClientRecordTab.ContactDetail,\r\n];\r\n\r\nexport const OrganisationClientRecordTabs = [\r\n ClientRecordTab.OrganisationDetails,\r\n ClientRecordTab.TrustServicing,\r\n ClientRecordTab.RegulatoryChecks,\r\n ClientRecordTab.Regulatory,\r\n ClientRecordTab.AddressDetail,\r\n ClientRecordTab.ContactDetail,\r\n];\r\n\r\nexport const CompanyClientRecordTabs = [\r\n ClientRecordTab.OrganisationDetails,\r\n ClientRecordTab.RegulatoryChecks,\r\n ClientRecordTab.Regulatory,\r\n ClientRecordTab.AddressDetail,\r\n ClientRecordTab.ContactDetail,\r\n];\r\n\r\nexport const clientRecordTabContentArray = [\r\n ClientRecordTab.PersonalDetail,\r\n ClientRecordTab.RegulatoryChecks,\r\n ClientRecordTab.Regulatory,\r\n ClientRecordTab.AddressDetail,\r\n ClientRecordTab.ContactDetail,\r\n ClientRecordTab.PensionProtection,\r\n ClientRecordTab.OrganisationDetails,\r\n ClientRecordTab.TrustServicing,\r\n];\r\n\r\nexport interface IClientTabProps {\r\n id: string;\r\n customerType?: CustomerType;\r\n hasReadWriteAccess: boolean;\r\n}\r\n\r\nexport const AddressTypeMap = {\r\n [PhysicalAddressType.Registered]: \"Primary registered\",\r\n [PhysicalAddressType.Residential]: \"Primary residential\",\r\n [PhysicalAddressType.Postal]: \"Correspondence \",\r\n};\r\n\r\nexport const PreDefinedBusinessCategory = [\r\n \"Accounting/Finance/Banking\",\r\n \"Consulting\",\r\n \"Government/Military\",\r\n \"Engineering\",\r\n \"Professional Services\",\r\n \"Research & Development\",\r\n \"Retail & Food and Beverages\",\r\n \"Sales/Marketing/Advertising\",\r\n \"Military Products\",\r\n \"Casino/Gamblin/Gaming\",\r\n \"Money Lenders/Pawn Services\",\r\n \"Society/Club/Association\",\r\n \"Charities\",\r\n \"Other - please specify\",\r\n];\r\nexport const RegulatoryCheckTypeMap = {\r\n [RegulatoryCheckInfoType.AML]: \"AML\",\r\n [RegulatoryCheckInfoType.PEP]: \"PEP\",\r\n [RegulatoryCheckInfoType.FinancialSanction]: \"Subject to Sanctions\",\r\n [RegulatoryCheckInfoType.HighRiskCustomer]: \"High Risk Customer\",\r\n};\r\n\r\nexport const RegulatoryCheckResultTypeMap = {\r\n [RegulatoryCheckInfoResult.Pass]: \"Pass\",\r\n [RegulatoryCheckInfoResult.Fail]: \"Failed\",\r\n [RegulatoryCheckInfoResult.Refer]: \"Refer\",\r\n [RegulatoryCheckInfoResult.NonPep]: \"Non-PEP\",\r\n [RegulatoryCheckInfoResult.Pep]: \"PEP\",\r\n [RegulatoryCheckInfoResult.HighRiskPep]: \"High-risk PEP\",\r\n [RegulatoryCheckInfoResult.UnconfirmedPep]: \"Unconfirmed PEP\",\r\n [RegulatoryCheckInfoResult.NonSanction]: \"Non-Sanction\",\r\n [RegulatoryCheckInfoResult.Sanction]: \"Sanction\",\r\n [RegulatoryCheckInfoResult.UnconfirmedSanction]: \"Unconfirmed Sanction\",\r\n [RegulatoryCheckInfoResult.NotHighRisk]: \"Not High Risk\",\r\n [RegulatoryCheckInfoResult.HighRisk]: \"High Risk\",\r\n};\r\n\r\nexport const RegulatoryCheckInfoTypeMap = {\r\n [RegulatoryCheckInfoStatus.NotVetted]: \"Not vetted\",\r\n [RegulatoryCheckInfoStatus.Vetted]: \"Vetted\",\r\n};\r\n\r\nexport const PensionProtectionMap: Dictionary[] = [\r\n { key: \"PensionEnhancedProtectionDetails\", value: \"Is this client entitled to enhanced protection?\" },\r\n { key: \"PensionPrimaryProtectionDetails\", value: \"Is this client entitled to primary protection?\" },\r\n { key: \"PensionFixedProtectionDetails\", value: \"Is this client entitled to fixed protection 2012?\" },\r\n { key: \"PensionFixed2014ProtectionDetails\", value: \"Is this client entitled to fixed protection 2014?\" },\r\n { key: \"PensionFixed2016ProtectionDetails\", value: \"Is this client entitled to fixed protection 2016?\" },\r\n { key: \"PensionIndividual2014ProtectionDetails\", value: \"Is this client entitled to individual protection 2014?\" },\r\n { key: \"PensionIndividual2016ProtectionDetails\", value: \"Is this client entitled to individual protection 2016?\" },\r\n {\r\n key: \"PensionRelevantOverseasProtectionDetails\",\r\n value:\r\n \"Is this client entitled to a lifetime allowance enhancement factor arising from being a relevant overseas individual?\",\r\n },\r\n {\r\n key: \"PensionQropsProtectionDetails\",\r\n value:\r\n \"Is this client entitled to a lifetime allowance enhancement factor following a transfer from a recognised overseas pension scheme?\",\r\n },\r\n {\r\n key: \"PensionCreditProtectionDetails\",\r\n value:\r\n \"Is this client entitled to a lifetime allowance enhancement factor following receipt of a pension credit?\",\r\n },\r\n {\r\n key: \"PensionSchemeSpecificProtectionDetails\",\r\n value: \"Is one or more of the transfers part of a block transfer?\",\r\n },\r\n];\r\n\r\nexport const GrantedTypesMap = {\r\n IsPre6Apr2012: \"Before 6 April 2012\",\r\n IsPre6Apr2014: \"Between 6 April 2012 and 5 April 2014\",\r\n IsPre6Apr2016: \"Between 6 April 2014 and 5 April 2016\",\r\n IsPost6Apr2016: \"On or after 6 April 2016\",\r\n};\r\n\r\nexport const GrantedTypes = [\"IsPre6Apr2012\", \"IsPre6Apr2014\", \"IsPre6Apr2016\", \"IsPost6Apr2016\"];\r\n\r\nexport const PhoneNumberTypeArray = [\r\n CustomerPhoneNumberType.Business,\r\n CustomerPhoneNumberType.Mobile,\r\n CustomerPhoneNumberType.Home,\r\n];\r\n\r\nexport const PhoneNumberTypeMap = {\r\n [CustomerPhoneNumberType.Business]: \"Work\",\r\n [CustomerPhoneNumberType.Mobile]: \"Mobile\",\r\n [CustomerPhoneNumberType.Home]: \"Home\",\r\n};\r\n\r\nexport const EmailTypeMap = {\r\n [EmailAddressType.Primary]: \"primary\",\r\n [EmailAddressType.Other]: \"other\",\r\n};\r\n\r\nexport const ContactTypeMap = {\r\n [ContactType.Email]: \"Email\",\r\n [ContactType.Phone]: \"Phone\",\r\n [ContactType.Post]: \"Post\",\r\n [ContactType.Sms]: \"SMS\",\r\n};\r\n\r\nexport const question = {\r\n consent:\r\n \"I confirm that the customer has given consent to store special category data relating to health as part of executing the contract\",\r\n};\r\n\r\nexport const accountTypeMap = {\r\n [AccountType.Joint]: \"Joint\",\r\n [AccountType.Individual]: \"Individual\",\r\n [AccountType.Trust]: \"Trust\",\r\n [AccountType.Consolidated]: \"Consolidated\",\r\n};\r\n\r\nexport const accountStatusMap = {\r\n [AccountStatus.Active]: \"Wrap: Active\",\r\n [AccountStatus.PendingTC]: \"Wrap: Pending Terms & Conditions\",\r\n [AccountStatus.PendingCompliance]: \"Wrap: Pending Compliance Check\",\r\n [AccountStatus.Suspended]: \"Wrap: Suspended\",\r\n [AccountStatus.Deceased]: \"Wrap: Deceased\",\r\n [AccountStatus.DeceasedClosed]: \"Wrap: Deceased-Closed\",\r\n [AccountStatus.InActive]: \"Wrap: Inactive\",\r\n [AccountStatus.Closing]: \"Wrap: Closing\",\r\n [AccountStatus.Closed]: \"Wrap: Closed\",\r\n [AccountStatus.RecordOnly]: \"Non-Wrap: Record Only\",\r\n [AccountStatus.Potential]: \"Non-Wrap: Potential\",\r\n [AccountStatus.Introductory]: \"Non-Wrap: Introductor Pack\",\r\n [AccountStatus.Targeted]: \"Non-Wrap: Targeted\",\r\n [AccountStatus.InProgress]: \"Non-Wrap: In Progress\",\r\n [AccountStatus.Submitted]: \"Non-Wrap: Submitted\",\r\n [AccountStatus.Rejected]: \"Non-Wrap: Rejected\",\r\n};\r\n\r\nexport const ALL = 98;\r\nexport const ALL_WRAP = 99;\r\nexport const ALL_NON_WRAP = 100;\r\n\r\nexport const wrapStatuses = [\r\n AccountStatus.Active,\r\n AccountStatus.PendingTC,\r\n AccountStatus.PendingCompliance,\r\n AccountStatus.Suspended,\r\n AccountStatus.Deceased,\r\n AccountStatus.DeceasedClosed,\r\n AccountStatus.Closing,\r\n AccountStatus.Closed,\r\n];\r\n\r\nexport const nonWrapStatuses = [\r\n AccountStatus.RecordOnly,\r\n AccountStatus.Potential,\r\n AccountStatus.Introductory,\r\n AccountStatus.Targeted,\r\n AccountStatus.Submitted,\r\n AccountStatus.Rejected,\r\n];\r\n\r\nexport const getStatus = (status) => {\r\n switch (status) {\r\n case ALL:\r\n return wrapStatuses.concat(nonWrapStatuses);\r\n case ALL_WRAP:\r\n return wrapStatuses;\r\n case ALL_NON_WRAP:\r\n return nonWrapStatuses;\r\n case null:\r\n return null;\r\n default:\r\n return [status];\r\n }\r\n};\r\n\r\nexport const customerStatusMap = {\r\n [CustomerStatus.NotSpecified]: \"All\",\r\n [CustomerStatus.Active]: \"Active\",\r\n [CustomerStatus.Inactive]: \"Inactive\",\r\n [CustomerStatus.Deceased]: \"Deceased\",\r\n};\r\n\r\nexport const roleTypeMap = {\r\n [RoleType.IndividualAccountHolder]: \"Individual account holder\",\r\n [RoleType.JointAccountHolder]: \"Joint account holder\",\r\n [RoleType.TrustAccountHolder]: \"Trust account holder\",\r\n [RoleType.LifeAssured]: \"Life assured\",\r\n [RoleType.AdditionalLifeAssured]: \"Additional life assured\",\r\n [RoleType.Trustee]: \"Trustee\",\r\n [RoleType.AdditionalSignatory]: \"Signatory\",\r\n [RoleType.Beneficiary]: \"Beneficiary\",\r\n [RoleType.RegisteredContact]: \"Registered contact\",\r\n [RoleType.LegalRepresentative]: \"Legal representative/Executor\",\r\n [RoleType.PowerOfAttorney]: \"Power of attorney\",\r\n [RoleType.LetterOfAuthority]: \"Letter of authority\",\r\n [RoleType.Employer]: \"Employer\",\r\n [RoleType.ExSpouse]: \"Ex spouse\",\r\n [RoleType.Dependent]: \"Dependent\",\r\n [RoleType.Nominee]: \"Nominee\",\r\n [RoleType.ThirdPartyPayer]: \"Third party payer\",\r\n [RoleType.PartnerOfAccountHolder]: \"Partner of Account holder\",\r\n [RoleType.AccountAccessLegacy]: \"Account access legacy\",\r\n [RoleType.AccountAccess]: \"Account access\",\r\n [RoleType.Settlor]: \"Settlor\",\r\n [RoleType.AdditionalBeneficiary]: \"Additional beneficiary\",\r\n [RoleType.TrustAppointer]: \"Trust appointer\",\r\n [RoleType.ControllingPerson]: \"Controlling person\",\r\n [RoleType.TrustProtector]: \"Trust protector\",\r\n [RoleType.DirectorController]: \"Director controller\",\r\n [RoleType.ShareholderGT25]: \"Shareholder >25%\",\r\n};\r\n\r\nexport const productWrapperOptions = [\r\n {\r\n label: \"ISA Stocks & Shares\",\r\n type: SubAccountType.StocksIsa,\r\n },\r\n {\r\n label: \"Self-Invested Personal Pension (SIPP)\",\r\n type: SubAccountType.Sipp,\r\n },\r\n {\r\n label: \"Personal Portfolio\",\r\n type: SubAccountType.InvestmentAccount,\r\n },\r\n {\r\n label: \"Offshore Bonds\",\r\n type: SubAccountType.OffshoreBond,\r\n },\r\n {\r\n label: \"Onshore Bonds\",\r\n type: SubAccountType.OnshoreBond,\r\n },\r\n];\r\n\r\nexport const advancedSearchFilterTypeArray = [\r\n AdvancedSearchFilterType.Wrapper,\r\n AdvancedSearchFilterType.Mandate,\r\n AdvancedSearchFilterType.RegularPayment,\r\n AdvancedSearchFilterType.RegularWithdrawal,\r\n];\r\n\r\nexport const advancedSearchFilterTypeMap = {\r\n [AdvancedSearchFilterType.Wrapper]: \"Wrapper\",\r\n [AdvancedSearchFilterType.Mandate]: \"Mandate\",\r\n [AdvancedSearchFilterType.RegularPayment]: \"Regular payments\",\r\n [AdvancedSearchFilterType.RegularWithdrawal]: \"Regular withdrawals\",\r\n};\r\n\r\nexport enum ContactPreferenceOption {\r\n Marketing,\r\n Contact,\r\n Survey,\r\n Essentials,\r\n AdditionalOffers,\r\n ThirdPartyOffers,\r\n}\r\n\r\nexport const ContactPereferenceOptionsArray = [\r\n ContactPreferenceOption.Marketing,\r\n ContactPreferenceOption.Contact,\r\n ContactPreferenceOption.Survey,\r\n ContactPreferenceOption.Essentials,\r\n ContactPreferenceOption.AdditionalOffers,\r\n ContactPreferenceOption.ThirdPartyOffers,\r\n];\r\n\r\nexport const ContactPreferenceOptionsMap = {\r\n [ContactPreferenceOption.Marketing]: \"Marketing\",\r\n [ContactPreferenceOption.Contact]: \"Contact\",\r\n [ContactPreferenceOption.Survey]: \"Survey\",\r\n [ContactPreferenceOption.Essentials]: \"Essentials\",\r\n [ContactPreferenceOption.AdditionalOffers]: \"Additional offers\",\r\n [ContactPreferenceOption.ThirdPartyOffers]: \"Third party offers\",\r\n};\r\n\r\nexport const VulnerabilityEndReasons = [\"Amended\", \"Expired\", \"No longer applicable\", \"Added in error\"];\r\n\r\nexport const VulnerableCategoryArray = [\r\n VulnerabilityCategory.ChannelAccess,\r\n VulnerabilityCategory.PhysicalMental,\r\n VulnerabilityCategory.Capability,\r\n VulnerabilityCategory.MoneyWorries,\r\n VulnerabilityCategory.LifeEvents,\r\n VulnerabilityCategory.Complex,\r\n];\r\n\r\nexport const VulnerableCategoryMap = {\r\n [VulnerabilityCategory.ChannelAccess]: \"Channel & access\",\r\n [VulnerabilityCategory.PhysicalMental]: \"Physical and mental health\",\r\n [VulnerabilityCategory.Capability]: \"Capability\",\r\n [VulnerabilityCategory.MoneyWorries]: \"Money worries\",\r\n [VulnerabilityCategory.LifeEvents]: \"Life events\",\r\n [VulnerabilityCategory.Complex]: \"Complex\",\r\n};\r\n\r\nexport const VulnerabilityTypeMap = {\r\n [VulnerabilityType.NotSpecified]: \"Not specified\",\r\n [VulnerabilityType.Hearing]: \"Hearing\",\r\n [VulnerabilityType.Sight]: \"Sight\",\r\n [VulnerabilityType.Speech]: \"Speech\",\r\n [VulnerabilityType.SevereIllness]: \"Severe or long term illness\",\r\n [VulnerabilityType.PhysicalDisability]: \"Physical disability\",\r\n [VulnerabilityType.MentalHealth]: \"Poor mental health\",\r\n [VulnerabilityType.MemoryLoss]: \"Memory loss\",\r\n [VulnerabilityType.Dyslexia]: \"Dyslexia\",\r\n [VulnerabilityType.LowKnowledge]: \"Low knowledge or confidence in managing financial matters\",\r\n [VulnerabilityType.PoorLiteracy]: \"Poor literacy or numerical skills\",\r\n [VulnerabilityType.PoorDigital]: \"Poor or non-existent digital skills\",\r\n [VulnerabilityType.LearningImpairments]: \"Learning impairments\",\r\n [VulnerabilityType.LowEnglish]: \"Low English language skills\",\r\n [VulnerabilityType.FinancialHardship]: \"Financial hardship\",\r\n [VulnerabilityType.PreviousFraud]: \"Previous fraud exposure\",\r\n [VulnerabilityType.Bereavement]: \"Bereavement\",\r\n [VulnerabilityType.Redundancy]: \"Redundancy\",\r\n [VulnerabilityType.Relationship]: \"Divorce / Relationship breakdown\",\r\n [VulnerabilityType.Birth]: \"Birth of a child\",\r\n [VulnerabilityType.HouseMove]: \"House move\",\r\n [VulnerabilityType.CaringResponsibilities]: \"Caring responsibilities\",\r\n [VulnerabilityType.Retirement]: \"Retirement\",\r\n [VulnerabilityType.ChangedGender]: \"Change of gender\",\r\n [VulnerabilityType.NonStandard]: \"Non standard - prison/Ex-offnder/Refugees\",\r\n [VulnerabilityType.ThreatToLife]: \"Threat to life\",\r\n [VulnerabilityType.RiskOfFinancialLoss]: \"Risk of significant financial loss\",\r\n [VulnerabilityType.Complex]: \"Particularly complex cas\",\r\n};\r\n\r\nexport const VulnerabilitySupportTypeMap = {\r\n [VulnerabilitySupportType.NotSpecified]: \"Not specified\",\r\n [VulnerabilitySupportType.UnableToUsePhone]: \"Unable to use phone - use other contact methods\",\r\n [VulnerabilitySupportType.UnableToUseDigital]: \"Unable to use digital - use other contact methods\",\r\n [VulnerabilitySupportType.UnableToUseWritten]: \"Unable to use written channel - use other contact methods\",\r\n [VulnerabilitySupportType.ThirdPartyMandate]: \"3rd party mandate in place\",\r\n [VulnerabilitySupportType.PowerOfAttorney]: \"Power of Attorney in place\",\r\n [VulnerabilitySupportType.CourtProtection]: \"Court Protection Order/Guardianship in place\",\r\n [VulnerabilitySupportType.DedicatedContact]: \"Dedicated contact within Standard Life\",\r\n [VulnerabilitySupportType.SignLanguage]: \"Signpost external suppor\",\r\n [VulnerabilitySupportType.NextGenText]: \"Next Generation Text required\",\r\n [VulnerabilitySupportType.TextRelay]: \"Text relay required\",\r\n [VulnerabilitySupportType.ExternalAccessibilitySupport]: \"Signpost external accessibility support\",\r\n [VulnerabilitySupportType.SpeakSlower]: \"Speak slower / talk Louder\",\r\n [VulnerabilitySupportType.TakeTime]: \"Take time and adapt call to situation\",\r\n [VulnerabilitySupportType.AudiCD]: \"Audio CD required\",\r\n [VulnerabilitySupportType.Braille]: \"Braille required\",\r\n [VulnerabilitySupportType.LargeFont]: \"Large Font required\",\r\n [VulnerabilitySupportType.VoiceBox]: \"Electronic voice box required\",\r\n [VulnerabilitySupportType.ExtraTime]: \"Requires extra time to communicate\",\r\n [VulnerabilitySupportType.IllHealthProcess]: \"Ill health process applicable\",\r\n [VulnerabilitySupportType.SeriousIllHealthProcess]: \"Serious ill health process applicable\",\r\n [VulnerabilitySupportType.SummaryInWriting]: \"Summary of conversations in writing required\",\r\n [VulnerabilitySupportType.ExternalHealthSupport]: \"Signpost external health support\",\r\n [VulnerabilitySupportType.ExternalCapabilitySupport]: \"Signpost external capability support\",\r\n [VulnerabilitySupportType.FamilyMemberIntepreter]: \"Family member interpreter required\",\r\n [VulnerabilitySupportType.LionbridgeTranslator]: \"Lionbridge language translator required\",\r\n [VulnerabilitySupportType.PrioritiseMoneyOut]: \"Prioritise money out - needs money urgently\",\r\n [VulnerabilitySupportType.EscalationRequired]: \"Escalation required - no solution available\",\r\n [VulnerabilitySupportType.ExternalFinancialSupport]: \"Signpost external financial support\",\r\n [VulnerabilitySupportType.ReferToFraudRep]: \"Refer to local Fraud Rep\",\r\n [VulnerabilitySupportType.ExternalSupport]: \"Signpost external support\",\r\n [VulnerabilitySupportType.CheckPreferences]: \"Be aware of and check preferences with customer\",\r\n [VulnerabilitySupportType.PrisonProcess]: \"Prison process and letters required\",\r\n [VulnerabilitySupportType.CommunicationRequirements]: \"Communication required\",\r\n [VulnerabilitySupportType.TrustedPerson]: \"Trusted person\",\r\n};\r\n\r\nexport const organisationTypeArray = [\r\n CustomerType.NotSpecified,\r\n CustomerType.Trust,\r\n CustomerType.CorporateTrust,\r\n CustomerType.Company,\r\n];\r\n\r\nexport const organisationTypeMap = {\r\n [CustomerType.NotSpecified]: \"All\",\r\n [CustomerType.CorporateTrust]: \"Corporate trust\",\r\n [CustomerType.Trust]: \"Trust\",\r\n [CustomerType.Company]: \"Company\",\r\n};\r\n\r\nexport const organisationStatusMap = {\r\n [CustomerStatus.NotSpecified]: \"All\",\r\n [CustomerStatus.Active]: \"Active\",\r\n [CustomerStatus.Inactive]: \"Inactive\",\r\n};\r\n\r\nexport const RemoveReasonTypeMap = {\r\n [TrustRemovalReason.NotSpecified]: \"\",\r\n [TrustRemovalReason.Death]: \"Deceased\",\r\n [TrustRemovalReason.Resignation]: \"Resignation\",\r\n [TrustRemovalReason.Retirement]: \"Retirement\",\r\n [TrustRemovalReason.Removed]: \"Removed\",\r\n};\r\n\r\nexport const PendingMembersWarningMessage = {\r\n pendingRemoval: \"Cannot remove Trust member - Pending removal as Trustee\",\r\n pendingAdd: \"Cannot remove Trust member - Pending addition as Trustee\",\r\n pendingDeath: \"Cannot remove Trust member - member has a pending status of death on another trust account\",\r\n};\r\n\r\nexport const TrustMemberActionMap = {\r\n [TrustMemberAction.NotSpecified]: \"\",\r\n [TrustMemberAction.ActiveAsBeneiciary]: \"Active as beneficary\",\r\n [TrustMemberAction.ActiveAsSettlor]: \"Active as settlor\",\r\n [TrustMemberAction.ActiveAsSignatory]: \"Active as signatory\",\r\n [TrustMemberAction.ActiveAsTrustee]: \"Active as trustee\",\r\n [TrustMemberAction.AddedAsBeneficiary]: \"Added as beneficiary\",\r\n [TrustMemberAction.Deceased]: \"Deceased\",\r\n [TrustMemberAction.InActiveAsTrustee]: \"Inactive as trustee\",\r\n [TrustMemberAction.RemovedAsBeneficiary]: \"Remove as beneficary\",\r\n [TrustMemberAction.TrusteeAdditionAuthorised]: \"Authorised and added as Trustee\",\r\n [TrustMemberAction.TrusteeAdditionRejected]: \"Authorisation rejected for addition as Trustee\",\r\n [TrustMemberAction.TrusteeRemovalRejected]: \"Authorisation rejected for removal as Trustee\",\r\n [TrustMemberAction.PendingAuthorisationAsTrustee]: \"Pending authorisation as trustee\",\r\n [TrustMemberAction.PendingRemovalAsTrustee]: \"Pending removal as trustee\",\r\n};\r\n\r\nexport const TrustMemberDeathValidationMsg = {\r\n correspondence: \". Before you remove this Trustee, you must select another address for correspondence to go to.\",\r\n lastFlexibleBeneficary: \". At least 1 Beneficiary is required for a Flexible trust account.\",\r\n BeneficiaryWithZeroPercentage: \". Before setting client to Deceased, update their share of Trust to 0.00%.\",\r\n};\r\n\r\nexport const DimCompanyName = \"DIM Company\";\r\n\r\nexport const RoleStatusMap = {\r\n [RoleStatus.Active]: \"Active\",\r\n [RoleStatus.Inactive]: \"Inactive\",\r\n};\r\n","import { TaxFormType } from \"../../../../../../Wrap/Constants/Enums/Customer/TaxFormType\";\r\nimport { TaxExemptionReason } from \"../../../../../../Wrap/Constants/Enums/Customer/TaxExemptionReason\";\r\nimport { TaxResidencyForPensionRelief } from \"../../../../../../Wrap/Constants/Enums/Customer/TaxResidencyForPensionRelief\";\r\n\r\nexport enum RegulatoryTabs {\r\n CustomerTaxResidency = \"Customer tax residency and nationality details\",\r\n CustomerCitizenship = \"Customer citizenship\",\r\n TaxForm = \"Tax form information\",\r\n ReportingTaxYearSetting = \"Reporting tax year setting\",\r\n TaxExemption = \"Tax exemption\",\r\n HighValue = \"High value\",\r\n ControllingPersonDetails = \"Controlling Person Details\",\r\n}\r\n\r\nexport const TaxResidencyForPensionReliefTypes = [\r\n TaxResidencyForPensionRelief.Unknown,\r\n TaxResidencyForPensionRelief.Scottish,\r\n TaxResidencyForPensionRelief.RestOfUK,\r\n TaxResidencyForPensionRelief.Welsh,\r\n];\r\nexport const TaxResidencyForPensionReliefMap = {\r\n [TaxResidencyForPensionRelief.Unknown]: \"Unknown\",\r\n [TaxResidencyForPensionRelief.Scottish]: \"Scottish\",\r\n [TaxResidencyForPensionRelief.RestOfUK]: \"Rest of UK\",\r\n [TaxResidencyForPensionRelief.Welsh]: \"Welsh\",\r\n};\r\n\r\nexport const TaxFormTypes = [TaxFormType.W8BEN, TaxFormType.W9];\r\nexport const TaxFormTypeMap = {\r\n [TaxFormType.W8BEN]: \"W-8BEN\",\r\n [TaxFormType.W9]: \"W-9\",\r\n};\r\n\r\nexport const TaxExemptionReasons = [TaxExemptionReason.NonTaxResident];\r\nexport const TaxExemptionReasonMap = {\r\n [TaxExemptionReason.NonTaxResident]: \"Non tax resident\",\r\n};\r\n\r\nexport const RegulatoryContents = {\r\n CkbNotOwnIdentifier: \"I don't own this identifier\",\r\n LblNationalIdentifier: \"National identifier\",\r\n LblPassport: \"Passport number\",\r\n TaxReferenceType: \"Tax reference type*\",\r\n TaxReference: \"Tax reference*\",\r\n};\r\n","import { TaxReferenceType } from \"../../../../../../Wrap/Constants/Enums/Customer/TaxReferenceType\";\r\nimport { CountryCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { ActorType } from \"../../../../../../Wrap/Constants/Enums/Customer/ActorType\";\r\n\r\nexport const CountryWithoutIdentifier = [\r\n CountryCode.AUT,\r\n CountryCode.DEU,\r\n CountryCode.FRA,\r\n CountryCode.HUN,\r\n CountryCode.IRL,\r\n CountryCode.LUX,\r\n];\r\n\r\nexport const CountryWithPPThenID = [CountryCode.LIE, CountryCode.NLD];\r\n\r\nexport const CountryWithIDThenPP = [\r\n CountryCode.CZE,\r\n CountryCode.LTU,\r\n CountryCode.MLT,\r\n CountryCode.ROU,\r\n CountryCode.SVK,\r\n];\r\n\r\nexport const CountryWithTXOnly = [CountryCode.ESP, CountryCode.GBR, CountryCode.ITA];\r\n\r\nexport const CountryWithIDOnly = [\r\n CountryCode.BEL,\r\n CountryCode.BGR,\r\n CountryCode.DNK,\r\n CountryCode.EST,\r\n CountryCode.FIN,\r\n CountryCode.GRC,\r\n CountryCode.HRV,\r\n CountryCode.ISL,\r\n CountryCode.LVA,\r\n CountryCode.NOR,\r\n CountryCode.SWE,\r\n CountryCode.SLV,\r\n];\r\n\r\nexport const CountryWithIDThenTX = [CountryCode.POL];\r\n\r\nexport const CountryWithTXThenPP = [CountryCode.PRT];\r\n\r\nexport interface INationalityConfig {\r\n priority: number;\r\n Type: string;\r\n title?: string;\r\n mandatory: boolean;\r\n key: string;\r\n}\r\n\r\nexport class RegulatoryHelper {\r\n static getTaxReferenceTypes(actorType: ActorType, country?: CountryCode) {\r\n if (country == CountryCode.USA) {return TaxReferenceTypes_USA;}\r\n if (country == CountryCode.GBR) {return actorType == ActorType.Organisation ? TaxReferenceTypes_GBR_Company : TaxReferenceTypes_GBR_Individual;}\r\n if (country == CountryCode.SGP) {return TaxReferenceTypes_SGP;}\r\n return null;\r\n }\r\n\r\n static getTaxReferenceTypeMap(country?: CountryCode) {\r\n if (country == CountryCode.USA) {return TaxReferenceTypeMap_USA;}\r\n if (country == CountryCode.GBR) {return TaxReferenceTypeMap_GBR;}\r\n if (country == CountryCode.SGP) {return TaxReferenceTypeMap_SGP;}\r\n return null;\r\n }\r\n static getDefaultTaxReferenceType(country?: CountryCode) {\r\n return Number(country.toString() + \"0\");\r\n }\r\n}\r\n\r\nexport const TaxReferenceTypes_USA = [\r\n TaxReferenceType.UsaSsn,\r\n TaxReferenceType.UsaItin,\r\n TaxReferenceType.UsaAtin,\r\n TaxReferenceType.UsaEin,\r\n];\r\nexport const TaxReferenceTypeMap_USA = {\r\n [TaxReferenceType.UsaSsn]: \"Social Security Number\",\r\n [TaxReferenceType.UsaItin]: \"Individual Taxpayer Identification Number\",\r\n [TaxReferenceType.UsaAtin]: \"Adoptions Tax Identification Number\",\r\n [TaxReferenceType.UsaEin]: \"Employer Identification Number\",\r\n};\r\n\r\nexport const TaxReferenceTypes_GBR_Individual = [TaxReferenceType.GbrNino];\r\nexport const TaxReferenceTypes_GBR_Company = [TaxReferenceType.GbrNino, TaxReferenceType.GbrUtr];\r\nexport const TaxReferenceTypeMap_GBR = {\r\n [TaxReferenceType.GbrNino]: \"National Insurance Number\",\r\n [TaxReferenceType.GbrUtr]: \"Unique Taxpayer Reference\",\r\n};\r\n\r\nexport const TaxReferenceTypes_SGP = [TaxReferenceType.SgpNric, TaxReferenceType.SgpFin];\r\nexport const TaxReferenceTypeMap_SGP = {\r\n [TaxReferenceType.SgpNric]: \"National Registration Identity Card\",\r\n [TaxReferenceType.SgpFin]: \"National Registration Identity Card For Foreigners\",\r\n};\r\n\r\nexport const TaxReferenceTypeMap = {\r\n [TaxReferenceType.SgpNric]: \"National Registration Identity Card\",\r\n [TaxReferenceType.SgpFin]: \"National Registration Identity Card For Foreigners\",\r\n [TaxReferenceType.GbrNino]: \"National Insurance Number\",\r\n [TaxReferenceType.GbrUtr]: \"Unique Taxpayer Reference\",\r\n [TaxReferenceType.UsaSsn]: \"Social Security Number\",\r\n [TaxReferenceType.UsaItin]: \"Individual Taxpayer Identification Number\",\r\n [TaxReferenceType.UsaAtin]: \"Adoptions Tax Identification Number\",\r\n [TaxReferenceType.UsaEin]: \"Employer Identification Number\",\r\n [TaxReferenceType.EspTin]: \"Código de identificación fiscal\",\r\n};\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { ContextStore } from \"../../../../../../react-core/Flux/Variables\";\r\nimport { RoleStatus } from \"../../../../../../Wrap/Constants/Enums/RoleStatus\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { AccountRoleDispatcher } from \"./Variable\";\r\n\r\nexport interface AccountRoleStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: Array;\r\n}\r\n\r\nexport class AccountRoleStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AccountRoleDispatcher, (actionData) => this.onAccountRoleStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): AccountRoleStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public canEditForAdv(): boolean {\r\n if (ContextStore.getContext().isAdminUser) {return true;}\r\n if (!this.getState().data) {return false;}\r\n if (this.getState().data.length == 0) {return true;}\r\n return this.getState().data.some(\r\n (x) =>\r\n x.AccountRoleStatus == RoleStatus.Active &&\r\n [\r\n RoleType.IndividualAccountHolder,\r\n RoleType.JointAccountHolder,\r\n RoleType.TrustAccountHolder,\r\n RoleType.Trustee,\r\n RoleType.Settlor,\r\n RoleType.Beneficiary,\r\n RoleType.AdditionalBeneficiary,\r\n RoleType.AccountAccess,\r\n RoleType.AccountAccessLegacy,\r\n ].includes(x.AccountRoleType)\r\n );\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): AccountRoleStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onAccountRoleStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { AccountSearchDispatcher } from \"./Variable\";\r\n\r\nexport interface AccountSearchStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class AccountSearchStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AccountSearchDispatcher, (actionData) => this.onAccountSearchStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): AccountSearchStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): AccountSearchStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onAccountSearchStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { AdditionalDataItemDispatcher } from \"./Variable\";\r\n\r\nexport interface AdditionalDataItemStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class AdditionalDataItemStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AdditionalDataItemDispatcher, (actionData) =>\r\n this.onClientRecordStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): AdditionalDataItemStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): AdditionalDataItemStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onClientRecordStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { AccountRoleWithAccountDetails } from \"../../../../../../Wrap/Models/Domains/Customers/AccountRoleWithAccountDetails\";\r\nimport { ContactPreferenceDetails } from \"../../../../../../Wrap/Models/Models/Customer/ContactPreferenceDetails\";\r\nimport { CustomerEmailAddress } from \"../../../../../../Wrap/Models/Models/Customer/CustomerEmailAddress\";\r\nimport { CustomerPhoneNumber } from \"../../../../../../Wrap/Models/Models/Customer/CustomerPhoneNumber\";\r\nimport { DeathDetails } from \"../../../../../../Wrap/Models/Models/Customer/DeathDetails\";\r\nimport { EmploymentDetail } from \"../../../../../../Wrap/Models/Models/Customer/EmploymentDetail\";\r\nimport { PersonalDetail } from \"../../../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { ClientRecordTab } from \"../Resource/Contents\";\r\nimport { ClientRecordDispatcher } from \"./Variable\";\r\n\r\nexport interface ClientRecordStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: {\r\n [ClientRecordTab.PersonalDetail]: PersonalDetail;\r\n [ClientRecordTab.AddressDetail]: any;\r\n [ClientRecordTab.ContactDetail]: CustomerPhoneNumber[];\r\n [ClientRecordTab.Regulatory]: any;\r\n [ClientRecordTab.RegulatoryChecks]: any;\r\n [ClientRecordTab.PensionProtection]: any;\r\n EmploymentDetail: EmploymentDetail;\r\n DeathDetail: DeathDetails;\r\n EmailDetail: CustomerEmailAddress[];\r\n ContactPerference: ContactPreferenceDetails;\r\n };\r\n}\r\n\r\nexport class ClientRecordStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ClientRecordDispatcher, (actionData) =>\r\n this.onClientRecordStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): ClientRecordStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ClientRecordStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onClientRecordStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { ClientServicePropositionDispatcher } from \"./Variable\";\r\n\r\nexport interface IClientServicePropositionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: {\r\n servicePropositionId: number;\r\n clAccountId: string;\r\n };\r\n}\r\n\r\nexport class ClientServicePropositionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ClientServicePropositionDispatcher, (actionData) =>\r\n this.onClientServicePropositionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): IClientServicePropositionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): IClientServicePropositionStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onClientServicePropositionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { CustomerSearchDispatcher } from \"./Variable\";\r\n\r\nexport interface CustomerSearchStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class CustomerSearchStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(CustomerSearchDispatcher, (actionData) => this.onCustomerSearchStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): CustomerSearchStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): CustomerSearchStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onCustomerSearchStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { OrganisationSearchDispatcher } from \"./Variable\";\r\n\r\nexport interface OrganisationSearchStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class OrganisationSearchStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(OrganisationSearchDispatcher, (actionData) => this.onOrganisationSearchStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): OrganisationSearchStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): OrganisationSearchStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onOrganisationSearchStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}","import { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { FluxResponse } from \"../../../../../Admin/Company/CompanyWizard/Stores/Variable\";\r\nimport { AccountRoleStatic } from \"./AccountRoleStatic\";\r\nimport { AccountSearchStatic } from \"./AccountSearchStatic\";\r\nimport { AdditionalDataItemStatic } from \"./AdditionalDataItemStatic\";\r\nimport { ClientRecordStatic } from \"./ClientRecordStatic\";\r\nimport { ClientServicePropositionStatic } from \"./ClientServicePropositionStatic\";\r\nimport { CustomerSearchStatic } from \"./CustomerSearchStatic\";\r\nimport { OrganisationSearchStatic } from \"./OrganisationSearchStatic\";\r\n\r\nexport const ClientRecordDispatcher: Dispatcher = new Dispatcher();\r\nexport const ClientRecordStore: ClientRecordStatic = new ClientRecordStatic();\r\nexport const ClientServicePropositionDispatcher: Dispatcher = new Dispatcher();\r\nexport const ClientServicePropositionStore: ClientServicePropositionStatic = new ClientServicePropositionStatic();\r\nexport const AccountSearchDispatcher: Dispatcher = new Dispatcher();\r\nexport const AccountSearchStore: AccountSearchStatic = new AccountSearchStatic();\r\nexport const CustomerSearchDispatcher: Dispatcher = new Dispatcher();\r\nexport const CustomerSearchStore: CustomerSearchStatic = new CustomerSearchStatic();\r\nexport const OrganisationSearchDispatcher: Dispatcher = new Dispatcher();\r\nexport const OrganisationSearchStore: OrganisationSearchStatic = new OrganisationSearchStatic();\r\n\r\nexport const AccountRoleDispatcher: Dispatcher = new Dispatcher();\r\nexport const AccountRoleStore: AccountRoleStatic = new AccountRoleStatic();\r\n\r\nexport const AdditionalDataItemDispatcher: Dispatcher = new Dispatcher();\r\nexport const AdditionalDataItemStore: AdditionalDataItemStatic = new AdditionalDataItemStatic();\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { Lightbox } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { TextBoxEditor } from \"../../../../../react-core/Html/TextBoxEditor\";\r\nimport { AccountRoleActorCategory } from \"../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { RelationshipType } from \"../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { TrustAuthorisationRequestType } from \"../../../../../Wrap/Constants/Enums/Customer/TrustAuthorisationRequestType\";\r\nimport { HierarchyLevelName } from \"../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { BulkTrustMemberHistorySearchResult } from \"../../../../../Wrap/Models/Models/Customer/BulkTrustMemberHistorySearchResult\";\r\nimport { FullClientDetailModel } from \"../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { OrganisationMember } from \"../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { Organisation } from \"../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { TrustServicingModel } from \"../../../../../Wrap/Models/Models/Customer/TrustServicingModel\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { DeleteLightbox } from \"../../../Common/DeleteLightbox\";\r\nimport { OrganisationMemberPopUpInfo } from \"../AddClient/Resource/Contents\";\r\nimport { SectionHeader } from \"../Common/SharedComponents\";\r\nimport { NewBusinessAction } from \"../NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { ClientRecordAction } from \"./Action/ClientRecordAction\";\r\nimport { AddTrustMemberAction } from \"./AddTrustMember/Action/AddTrustMemberAction\";\r\nimport { AddNewButton } from \"./Components/AddNewButton\";\r\nimport { EditBeneficiaryLightbox } from \"./Components/TrustMember/EditBeneficiaryLightbox\";\r\nimport { EditRolesLightbox } from \"./Components/TrustMember/EditRolesLightbox\";\r\nimport { RemoveMemberLightbox } from \"./Components/TrustMember/RemoveMemberLightbox\";\r\nimport { TrustMemberHistoryLightbox } from \"./Components/TrustMember/TrustMemberHistoryLightbox\";\r\nimport { TrustMemberTable } from \"./Components/TrustMember/TrustMemberTable\";\r\nimport { IClientTabProps, PendingMembersWarningMessage } from \"./Resource/Contents\";\r\nimport { ShareofTrustLightbox } from \"../../../../Dashboard/Components/Clients/ClientRecord/Components/TrustMember/ShareofTrustLightbox\";\r\nimport { AccountRoleStore } from \"../../../../Dashboard/Components/Clients/ClientRecord/Store/Variable\";\r\nimport { RoleType } from \"../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { getQueryParameters } from \"../../../../../applications/Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\n\r\ninterface ITrustServicingState {\r\n model: TrustServicingModel;\r\n showDeleteLightbox: boolean;\r\n showEditLightbox: boolean;\r\n showEditRoleLightbox: boolean;\r\n showHistoryLightbox: boolean;\r\n editItem: OrganisationMember;\r\n deleteItem: OrganisationMember;\r\n selectedItem: OrganisationMember;\r\n showCorrespondenceWarningLightbox: boolean;\r\n showAddAbsoluteBeneficiaryWarningLightbox: boolean;\r\n pendingActionWarningMessage: string;\r\n showInactiveMemberWarningLightbox: boolean;\r\n histories: Array;\r\n showHistoryLoading: boolean;\r\n showRemoveLastTrusteeWaringLighBox: boolean;\r\n showRemoveLastTrusteeAndCorrespondenceWarningLightbox: boolean;\r\n showAtLeastOneBeneficiaryWarningLightbox: boolean;\r\n showShareofTrustLightbox: boolean;\r\n accountId: number;\r\n}\r\n\r\nexport class TrustServicing extends BaseComponent {\r\n constructor(props: IClientTabProps) {\r\n super(props);\r\n this.state = {\r\n model: null,\r\n showDeleteLightbox: false,\r\n deleteItem: null,\r\n showEditLightbox: false,\r\n showEditRoleLightbox: false,\r\n showHistoryLightbox: false,\r\n editItem: null,\r\n selectedItem: null,\r\n showCorrespondenceWarningLightbox: false,\r\n showAddAbsoluteBeneficiaryWarningLightbox: false,\r\n pendingActionWarningMessage: null,\r\n showInactiveMemberWarningLightbox: false,\r\n histories: [],\r\n showHistoryLoading: true,\r\n showRemoveLastTrusteeWaringLighBox: false,\r\n showRemoveLastTrusteeAndCorrespondenceWarningLightbox: false,\r\n showAtLeastOneBeneficiaryWarningLightbox: false,\r\n showShareofTrustLightbox: false,\r\n accountId: null,\r\n };\r\n this.subscribeToStore(AccountRoleStore, () => {\r\n const result = (AccountRoleStore.getData() || []).filter(\r\n (ele) => ele.AccountRoleType == RoleType.TrustAccountHolder\r\n );\r\n if (result.length > 0) {\r\n this.setState({\r\n accountId: result[0].AccountId,\r\n });\r\n }\r\n });\r\n }\r\n componentDidMount() {\r\n AddTrustMemberAction.getTrustServicingModel(Number(this.props.id), (result) => {\r\n this.setState({ model: result });\r\n this.getHistories();\r\n });\r\n }\r\n\r\n private getData() {\r\n this.setState({ model: null });\r\n AddTrustMemberAction.getTrustServicingModel(Number(this.props.id), (result) => {\r\n this.setState({ model: result });\r\n this.getHistories();\r\n });\r\n }\r\n\r\n private getHistories() {\r\n const { model } = this.state;\r\n if (model && model?.HierarchyId?.EntityId) {\r\n this.setState({ showHistoryLoading: true });\r\n const memberIds = model.Organisation?.OrganisationMembers?.map((x) => x.CustomerId);\r\n const invalidMemberIds = model?.InactiveMembers?.map((x) => x.CustomerId);\r\n const ids = memberIds.concat(invalidMemberIds);\r\n AddTrustMemberAction.bulkGetTrustMemberHistory(\r\n ids,\r\n model?.Organisation?.CustomerId,\r\n model?.HierarchyId?.EntityId,\r\n (data) => {\r\n this.setState({ histories: data, showHistoryLoading: false });\r\n }\r\n );\r\n }\r\n }\r\n private closeDeleteLightbox = () => {\r\n this.setState({ showDeleteLightbox: false, deleteItem: null });\r\n };\r\n\r\n private closeEditLightbox = () => {\r\n this.setState({ showEditLightbox: false, editItem: null });\r\n };\r\n\r\n private closeEditRoleLightbox = () => {\r\n this.setState({ showEditRoleLightbox: false, editItem: null });\r\n };\r\n\r\n private onDeleteRelationship = () => {\r\n ClientRecordAction.removeRelationship(\r\n Number(this.props.id),\r\n this.state.deleteItem?.CustomerId,\r\n this.state.deleteItem.Relationships,\r\n () => {\r\n this.closeDeleteLightbox();\r\n this.getData();\r\n }\r\n );\r\n };\r\n\r\n private onEditBeneficiary = (data: FullClientDetailModel) => {\r\n NewBusinessAction.saveCCMDetail(this.state.editItem?.CustomerId, data, () => {\r\n this.closeEditLightbox();\r\n this.getData();\r\n });\r\n };\r\n\r\n private onEditRoles = (data: OrganisationMember, newRelationships: RelationshipType[]) => {\r\n ClientRecordAction.editRelationship(\r\n Number(this.props.id),\r\n data?.CustomerId,\r\n data?.Relationships,\r\n newRelationships,\r\n () => {\r\n this.closeEditRoleLightbox();\r\n this.getData();\r\n }\r\n );\r\n };\r\n\r\n private renderRelationshipRemove = () => {\r\n const data = (this.state.model?.Organisation?.OrganisationMembers || []).filter(\r\n (ele) => !ele.Relationships.includes(RelationshipType.CorporateTrustee)\r\n );\r\n return (\r\n <>\r\n

Are you sure?

\r\n {this.state.deleteItem?.Relationships.includes(RelationshipType.Settlor) &&\r\n data.filter((ele) => {\r\n return ele.Relationships.includes(RelationshipType.Settlor);\r\n }).length == 1 && (\r\n

{OrganisationMemberPopUpInfo.line2} A settlor will be required if this is a 'New' Trust.

\r\n )}\r\n {this.state.deleteItem?.Relationships.includes(RelationshipType.Beneficiary) &&\r\n data.filter((ele) => {\r\n return ele.Relationships.includes(RelationshipType.Beneficiary);\r\n }).length == 1 &&

{OrganisationMemberPopUpInfo.noBeneficiary}

}\r\n \r\n );\r\n };\r\n\r\n private onClickDelete(member: OrganisationMember, isRemoveBeneficiary: boolean) {\r\n const { model } = this.state;\r\n const pendingAction = model?.MembersWithPendingAction?.find((x) => x?.CustomerId == member?.CustomerId);\r\n const pendingDeath = model?.MembersPendingDeath?.find((x) => x?.CustomerId == member?.CustomerId);\r\n const trustees = model?.Organisation?.OrganisationMembers?.filter((x) =>\r\n x.Relationships?.some(\r\n (y) => y == RelationshipType.IndividualTrustee || y == RelationshipType.CorporateTrustee\r\n )\r\n );\r\n\r\n const trusteeWithNoPendingAction = trustees?.filter(\r\n (x) =>\r\n model?.MembersPendingDeath?.every((y) => y.CustomerId != x.CustomerId) &&\r\n model?.MembersWithPendingAction?.every((y) => y.CustomerId != x.CustomerId)\r\n );\r\n if (!model?.HasTrustAccount) {\r\n this.setState({ showDeleteLightbox: true, deleteItem: member });\r\n } else {\r\n if (\r\n model?.AccountCorrespondenceRecipient?.ActorId == member.CustomerId &&\r\n trusteeWithNoPendingAction?.length == 1 &&\r\n trusteeWithNoPendingAction[0]?.CustomerId == member?.CustomerId\r\n ) {\r\n this.setState({ showRemoveLastTrusteeAndCorrespondenceWarningLightbox: true });\r\n } else if (\r\n trusteeWithNoPendingAction?.length == 1 &&\r\n trusteeWithNoPendingAction[0]?.CustomerId == member?.CustomerId\r\n ) {\r\n this.setState({ showRemoveLastTrusteeWaringLighBox: true });\r\n } else if (model?.AccountCorrespondenceRecipient?.ActorId == member.CustomerId) {\r\n //show warning message when member is a corresopendence recipient\r\n this.setState({ showCorrespondenceWarningLightbox: true });\r\n } else if (pendingAction?.Type == TrustAuthorisationRequestType.AddAsTrustee) {\r\n this.setState({ pendingActionWarningMessage: PendingMembersWarningMessage.pendingAdd });\r\n } else if (pendingAction?.Type == TrustAuthorisationRequestType.RemoveAsTrustee) {\r\n this.setState({ pendingActionWarningMessage: PendingMembersWarningMessage.pendingRemoval });\r\n } else if (pendingDeath) {\r\n this.setState({ pendingActionWarningMessage: PendingMembersWarningMessage.pendingDeath });\r\n } else if (\r\n isRemoveBeneficiary &&\r\n model?.TrustDetail?.TrustCategory == \"Flexible\" &&\r\n this.isLastBeneficiary()\r\n ) {\r\n this.setState({ showAtLeastOneBeneficiaryWarningLightbox: true });\r\n } else {\r\n this.setState({ showDeleteLightbox: true, deleteItem: member });\r\n }\r\n }\r\n }\r\n\r\n private isLastBeneficiary() {\r\n const { model } = this.state;\r\n const data = (model?.Organisation?.OrganisationMembers || []).filter((ele) =>\r\n ele.Relationships.includes(RelationshipType.Beneficiary)\r\n );\r\n\r\n return data.length <= 1;\r\n }\r\n\r\n private onClickHistory(member: OrganisationMember) {\r\n this.setState({ showHistoryLightbox: true, selectedItem: member });\r\n }\r\n\r\n private onClickShareofTrust() {\r\n this.setState({ showShareofTrustLightbox: true });\r\n }\r\n private onCloseShareofTrust() {\r\n this.setState({ showShareofTrustLightbox: false });\r\n }\r\n\r\n private onShareofTrust = (data: Organisation) => {\r\n AddTrustMemberAction.addTrustMembers(data, (data) => {\r\n this.setState({ showShareofTrustLightbox: false });\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n showDeleteLightbox,\r\n showEditLightbox,\r\n editItem,\r\n showEditRoleLightbox,\r\n showCorrespondenceWarningLightbox,\r\n model,\r\n showAddAbsoluteBeneficiaryWarningLightbox,\r\n showInactiveMemberWarningLightbox,\r\n pendingActionWarningMessage,\r\n showHistoryLightbox,\r\n selectedItem,\r\n showRemoveLastTrusteeWaringLighBox,\r\n showRemoveLastTrusteeAndCorrespondenceWarningLightbox,\r\n showAtLeastOneBeneficiaryWarningLightbox,\r\n showShareofTrustLightbox,\r\n } = this.state;\r\n if (!model) {return ;}\r\n const organisation = JSON.parse(JSON.stringify(model?.Organisation));\r\n const trustMemberData = (model?.Organisation?.OrganisationMembers.concat(model?.InactiveMembers) || []).filter(\r\n (ele) =>\r\n !ele.Relationships.includes(RelationshipType.CorporateTrustee) &&\r\n ele.Individual?.ActorCategory == AccountRoleActorCategory.Customer\r\n );\r\n trustMemberData.forEach((member) => {\r\n const pending = (model?.MembersWithPendingAction || []).find((ele) => ele.CustomerId == member.CustomerId);\r\n if (\r\n pending &&\r\n pending.Type == TrustAuthorisationRequestType.AddAsTrustee &&\r\n !member.Relationships.includes(RelationshipType.IndividualTrustee)\r\n ) {\r\n member.Relationships = [RelationshipType.IndividualTrustee].concat(member.Relationships);\r\n (member as any).HasPending = true;\r\n }\r\n });\r\n const trustees = model?.Organisation?.OrganisationMembers?.filter((x) =>\r\n x.Relationships?.some(\r\n (y) => y == RelationshipType.IndividualTrustee || y == RelationshipType.CorporateTrustee\r\n )\r\n );\r\n const trusteeWithNoPendingAction = trustees?.filter(\r\n (x) =>\r\n model?.MembersPendingDeath?.every((y) => y.CustomerId != x.CustomerId) &&\r\n model?.MembersWithPendingAction?.every((y) => y.CustomerId != x.CustomerId)\r\n );\r\n return (\r\n <>\r\n
\r\n {SectionHeader(\"Trust Servicing\")}\r\n {}}\r\n />\r\n
\r\n
\r\n {SectionHeader(\"Trust Members\")}\r\n {model?.Organisation?.OrganisationMembers?.length < 20 &&\r\n this.props.hasReadWriteAccess == true &&\r\n checkPermission(UserClaim.AdviserPortalNewClientReadWrite) && (\r\n
\r\n {\r\n Navigator.navigateTo(Urls.get().AddTrustMember, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { customerid: this.props.id },\r\n });\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n !ele.Relationships.includes(RelationshipType.CorporateTrustee) &&\r\n ele.Individual?.ActorCategory == AccountRoleActorCategory.Customer\r\n )}\r\n type={model?.Organisation?.CustomerType}\r\n trustCategory={model?.TrustDetail?.TrustCategory}\r\n hasAction={this.props.hasReadWriteAccess == true}\r\n isCompanyMember={false}\r\n isBeneficiaryOnly={false}\r\n onDelete={(id) => this.onClickDelete(id, false)}\r\n onEdit={(id) => {}}\r\n onEditRoles={(id) => {\r\n this.setState({ showEditRoleLightbox: true, editItem: id });\r\n }}\r\n showShareOfTrust={true}\r\n onClickHistory={(id) => this.onClickHistory(id)}\r\n onClickShareofTrust={() => this.onClickShareofTrust()}\r\n title={\"Individual members\"}\r\n hasTrustAccount={model?.HasTrustAccount}\r\n isTrustServicing={true}\r\n histories={this.state.histories}\r\n invalidMembers={model?.InactiveMembers}\r\n totalTrustees={(trusteeWithNoPendingAction || []).length}\r\n />\r\n
\r\n ele.Relationships.includes(RelationshipType.CorporateTrustee))}\r\n type={model?.Organisation?.CustomerType}\r\n trustCategory={model?.TrustDetail?.TrustCategory}\r\n isCompanyMember={true}\r\n isBeneficiaryOnly={false}\r\n hasAction={this.props.hasReadWriteAccess == true}\r\n onDelete={(id) => this.onClickDelete(id, false)}\r\n onEdit={(id) => {}}\r\n onEditRoles={(id) => {}}\r\n onClickHistory={(id) => this.onClickHistory(id)}\r\n onClickShareofTrust={() => {}}\r\n title={\"Corporate members\"}\r\n hasTrustAccount={model?.HasTrustAccount}\r\n isTrustServicing={true}\r\n showShareOfTrust={true}\r\n histories={this.state.histories}\r\n invalidMembers={model?.InactiveMembers}\r\n totalTrustees={(trusteeWithNoPendingAction || []).length}\r\n />\r\n
\r\n
\r\n {SectionHeader(\"Additional beneficiaries\")}\r\n {model?.Organisation?.OrganisationMembers?.length < 20 &&\r\n this.props.hasReadWriteAccess == true &&\r\n checkPermission(UserClaim.AdviserPortalNewClientReadWrite) && (\r\n
\r\n {\r\n if (model?.HasTrustAccount && model?.TrustDetail?.TrustCategory == \"Absolute\") {\r\n this.setState({ showAddAbsoluteBeneficiaryWarningLightbox: true });\r\n } else {\r\n Navigator.navigateTo(Urls.get().AddBeneficiary, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: { customerid: this.props.id },\r\n });\r\n }\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n ele.Relationships.every((ele) => ele == RelationshipType.Beneficiary) &&\r\n ele?.Individual?.ActorCategory == AccountRoleActorCategory.Associate\r\n )}\r\n type={model?.Organisation?.CustomerType}\r\n trustCategory={model?.TrustDetail?.TrustCategory}\r\n isCompanyMember={false}\r\n isBeneficiaryOnly={true}\r\n showShareOfTrust={true}\r\n hasAction={this.props.hasReadWriteAccess == true}\r\n onDelete={(id) => this.onClickDelete(id, true)}\r\n onEdit={(id) => this.setState({ showEditLightbox: true, editItem: id })}\r\n onEditRoles={(id) => {}}\r\n onClickHistory={(id) => this.onClickHistory(id)}\r\n onClickShareofTrust={() => this.onClickShareofTrust()}\r\n hasTrustAccount={model?.HasTrustAccount}\r\n isTrustServicing={true}\r\n histories={this.state.histories}\r\n invalidMembers={model?.InactiveMembers}\r\n totalTrustees={(trusteeWithNoPendingAction || []).length}\r\n />\r\n {showDeleteLightbox && !model?.HasTrustAccount && (\r\n this.closeDeleteLightbox()}\r\n onDelete={() => {\r\n this.onDeleteRelationship();\r\n }}\r\n content={this.renderRelationshipRemove()}\r\n />\r\n )}\r\n {showDeleteLightbox && model?.HasTrustAccount && (\r\n {\r\n this.closeDeleteLightbox();\r\n this.getData();\r\n }}\r\n accountId={model?.HierarchyId?.EntityId}\r\n />\r\n )}\r\n {showEditLightbox && (\r\n this.closeEditLightbox()}\r\n onSave={(data) => {\r\n this.onEditBeneficiary(data);\r\n }}\r\n />\r\n )}\r\n {showEditRoleLightbox && (\r\n \r\n !ele.Relationships.includes(RelationshipType.CorporateTrustee) &&\r\n !ele.Relationships.every((ele) => ele == RelationshipType.Beneficiary)\r\n )}\r\n editItem={editItem}\r\n onClose={() => this.closeEditRoleLightbox()}\r\n onSave={(data, selectedRoles) => {\r\n this.onEditRoles(data, selectedRoles);\r\n }}\r\n />\r\n )}\r\n {showCorrespondenceWarningLightbox && (\r\n {\r\n this.setState({ showCorrespondenceWarningLightbox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

\r\n Before you remove this Trustee, you must select another address for correspondence to go to.\r\n You can change correspondence address from the Roles page.\r\n

\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n Number(this.props.id)\r\n ),\r\n }).roles\r\n );\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {showRemoveLastTrusteeAndCorrespondenceWarningLightbox && (\r\n {\r\n this.setState({ showRemoveLastTrusteeAndCorrespondenceWarningLightbox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

You must add a new trustee before removing sole Trustee.

\r\n

\r\n Before you remove this Trustee, you must select another address for correspondence to go to.\r\n You can change correspondence address from the Roles page.\r\n

\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n Number(this.props.id)\r\n ),\r\n }).roles\r\n );\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {showRemoveLastTrusteeWaringLighBox && (\r\n {\r\n this.setState({ showRemoveLastTrusteeWaringLighBox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

You must add a new trustee before removing sole Trustee.

\r\n\r\n {\r\n this.setState({ showRemoveLastTrusteeWaringLighBox: false });\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {showAddAbsoluteBeneficiaryWarningLightbox && (\r\n {\r\n this.setState({ showAddAbsoluteBeneficiaryWarningLightbox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

\r\n You cannot add Beneficiaries after New Business where Trust category = Absolute.\r\n

\r\n {\r\n this.setState({ showAddAbsoluteBeneficiaryWarningLightbox: false });\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {pendingActionWarningMessage != null && (\r\n {\r\n this.setState({ pendingActionWarningMessage: null });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

{pendingActionWarningMessage}

\r\n {\r\n this.setState({ pendingActionWarningMessage: null });\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {showHistoryLightbox && (\r\n {model?.TrustDetail?.ClAccountId}}\r\n unclosable={false}\r\n onClose={() => {\r\n this.setState({ showHistoryLightbox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n x.CustomerId == selectedItem.CustomerId)?.Histories\r\n }\r\n isLoading={this.state.showHistoryLoading}\r\n />\r\n {\r\n this.setState({ showHistoryLightbox: false });\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {showShareofTrustLightbox && (\r\n this.onCloseShareofTrust()}\r\n onSave={(data) => {\r\n this.onShareofTrust(data);\r\n this.getData();\r\n }}\r\n />\r\n )}\r\n {/* {showInactiveMemberWarningLightbox && (\r\n {\r\n this.setState({ showInactiveMemberWarningLightbox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

This member does not have an active role on the account for removal.

\r\n {\r\n this.setState({ showInactiveMemberWarningLightbox: false });\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )} */}\r\n {showAtLeastOneBeneficiaryWarningLightbox && (\r\n {\r\n this.setState({ showAtLeastOneBeneficiaryWarningLightbox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

At least 1 Beneficiary required for the trust account.

\r\n {\r\n this.setState({ showAtLeastOneBeneficiaryWarningLightbox: false });\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { AccountSearchQueryClient } from \"../../../../../../Wrap/Api/Account/AccountSearchQuery\";\r\nimport { AccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/AccountType\";\r\nimport { MultiPropositionType } from \"../../../../../../Wrap/Constants/Enums/Domain/MultiPropositionType\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { getStatus } from \"../Resource/Content\";\r\n\r\nexport interface IBasicSearchQuery {\r\n accountName?: string;\r\n accountNum?: string;\r\n accountType?: AccountType;\r\n status?: AccountStatus;\r\n network?: string;\r\n company?: string;\r\n advCode?: string;\r\n ServicePropositionsToExclude?: MultiPropositionType[];\r\n}\r\n\r\nexport class AccountSearchAction {\r\n public static searchAccounts(query: IBasicSearchQuery, currentPage, count, callBack?: (val: any) => void): void {\r\n const client = new AccountSearchQueryClient();\r\n const promise = client.get(\r\n query.accountName,\r\n query.accountNum,\r\n query.advCode,\r\n query.accountType,\r\n getStatus(query.status),\r\n query.company,\r\n query.network,\r\n currentPage,\r\n count,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n query.ServicePropositionsToExclude\r\n );\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CustomerSearchClient } from \"../../../../../../Wrap/Api/Customer/CustomerSearch\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { EntityType } from \"../../../../../../Wrap/Constants/Enums/EntityType\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\n\r\nexport interface ICustomerSearchQuery {\r\n customerStatus: CustomerStatus;\r\n firstname: string;\r\n lastname: string;\r\n dateOfBirth: Date;\r\n clAccountId: string;\r\n customerRole: RoleType;\r\n visibleToAdviserId: number;\r\n entityType: EntityType;\r\n entityId: number;\r\n}\r\n\r\nexport class CustomerSearchAction {\r\n public static searchCustomers(\r\n query: ICustomerSearchQuery,\r\n currentPage,\r\n count,\r\n callBack?: (val: any) => void\r\n ): void {\r\n const client = new CustomerSearchClient();\r\n\r\n let firstname = query.firstname;\r\n let lastname = query.lastname;\r\n if (firstname && !firstname.includes(\"%\")) {\r\n firstname += \"%\";\r\n }\r\n if (lastname && !lastname.includes(\"%\")) {\r\n lastname += \"%\";\r\n }\r\n const promise = client.get(\r\n null,\r\n query.customerStatus,\r\n firstname,\r\n lastname,\r\n JsonDateParser.toJsonDate(query.dateOfBirth),\r\n null,\r\n query.clAccountId,\r\n query.customerRole,\r\n query.entityId,\r\n query.entityType,\r\n query.visibleToAdviserId,\r\n currentPage,\r\n count\r\n );\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { OrganisationSearchClient } from \"../../../../../../Wrap/Api/Customer/OrganisationSearch\";\r\nimport { CustomerType } from \"../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { EntityType } from \"../../../../../../Wrap/Constants/Enums/EntityType\";\r\n\r\nexport interface IOrganisationSearchQuery {\r\n organisationStatus: CustomerStatus;\r\n organisationName: string;\r\n organisationType: CustomerType;\r\n clAccountId: string;\r\n entityId?: number;\r\n entityType?: EntityType;\r\n}\r\n\r\nexport class OrganisationSearchAction {\r\n public static searchOrganisations(\r\n query: IOrganisationSearchQuery,\r\n currentPage,\r\n count,\r\n callBack?: (val: any) => void\r\n ): void {\r\n const client = new OrganisationSearchClient();\r\n const promise = client.get(\r\n null,\r\n query.organisationStatus,\r\n query.organisationType,\r\n null,\r\n null,\r\n query.organisationName,\r\n true,\r\n query.clAccountId,\r\n null,\r\n query.entityType,\r\n query.entityId,\r\n null,\r\n currentPage,\r\n count\r\n );\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { CustomerSearchModel } from \"../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\nimport { OrganisationSearchModel } from \"../../../../../Wrap/Models/Models/Customer/OrganisationSearch/OrganisationSearchModel\";\r\nimport { AccountSearchModel } from \"../../../../../Wrap/Models/Models/Transformation/Account/AccountSearchModel\";\r\nimport CoachMarker from \"../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { CoachMarkerContext } from \"../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Permission } from \"../../../../Shared/Permission/Permission\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { AccountSearchAction, IBasicSearchQuery } from \"./Action/AccountSearchAction\";\r\nimport { CustomerSearchAction, ICustomerSearchQuery } from \"./Action/CustomerSearchAction\";\r\nimport { IOrganisationSearchQuery, OrganisationSearchAction } from \"./Action/OrganisationSearchAction\";\r\nimport { ClientQuickSearch } from \"./Component/ClientQuickSearch\";\r\nimport { ClientSearchResultTable } from \"./Component/ClientSearchResultTable\";\r\nimport { clientSearchCoachmarkerConfig, clientTypeEnum } from \"./Resource/Content\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport AdviserSiteTagManager from \"../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { AccountSearchPanel } from \"./Component/AccountSearchPanel\";\r\n\r\n// will used to replace the current account search page\r\nexport const CustomerSearch = () => {\r\n const [data, setData] = useState(null);\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [clientType, setClientType] = useState(clientTypeEnum.Individual);\r\n const [query, setQuery] = useState(null);\r\n const [curPage, setCurPage] = useState(1);\r\n const showWarningMsg = getQueryParameters()[\"noresult\"] == \"true\";\r\n\r\n const { setPageConfig } = React.useContext(CoachMarkerContext);\r\n\r\n React.useEffect(() => {\r\n //setPageConfig(clientSearchCoachmarkerConfig);\r\n\r\n return () => {\r\n setPageConfig(null);\r\n };\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n setData(null);\r\n }, [clientType]);\r\n\r\n React.useEffect(() => {\r\n addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname,\r\n pageTitle: `${document.title} - customer`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }, []);\r\n const { addEvent } = new AdviserSiteTagManager();\r\n\r\n const search = (\r\n clientTypeQuery: clientTypeEnum,\r\n query: IOrganisationSearchQuery | ICustomerSearchQuery | IBasicSearchQuery,\r\n pageIndex: number,\r\n pageSize: number\r\n ) => {\r\n setClientType(clientTypeQuery);\r\n setQuery(query);\r\n setCurPage(pageIndex);\r\n setIsSearching(true);\r\n if (clientTypeQuery == clientTypeEnum.Individual) {\r\n CustomerSearchAction.searchCustomers(\r\n query as ICustomerSearchQuery,\r\n pageIndex,\r\n pageSize,\r\n (res: CustomerSearchModel) => {\r\n setData(res);\r\n setIsSearching(false);\r\n }\r\n );\r\n } else if (clientTypeQuery == clientTypeEnum.Organisation) {\r\n OrganisationSearchAction.searchOrganisations(\r\n query as IOrganisationSearchQuery,\r\n pageIndex,\r\n pageSize,\r\n (res: OrganisationSearchModel) => {\r\n setData(res);\r\n setIsSearching(false);\r\n }\r\n );\r\n } else if (clientTypeQuery == clientTypeEnum.Consolidated) {\r\n AccountSearchAction.searchAccounts(\r\n query as IBasicSearchQuery,\r\n pageIndex,\r\n pageSize,\r\n (res: AccountSearchModel) => {\r\n setData(res);\r\n setIsSearching(false);\r\n }\r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n

What do you want to search for?

\r\n
\r\n
\r\n
\r\n \r\n \r\n {\r\n setClientType(clientTypeEnum.Individual);\r\n }}\r\n >\r\n Clients\r\n \r\n setClientType(clientTypeEnum.Organisation)}\r\n >\r\n Organisation\r\n \r\n setClientType(clientTypeEnum.Consolidated)}\r\n >\r\n Consolidated\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {clientType == clientTypeEnum.AdvancedSerach ? (\r\n \r\n ) : (\r\n {\r\n search(clientType, query, 1, 20);\r\n }}\r\n cssWrapper={\"mb-0\"}\r\n />\r\n )}\r\n\r\n
\r\n {showWarningMsg && (\r\n \r\n )}\r\n
\r\n {\r\n search(clientType, query, pageIndex, pageSize);\r\n }}\r\n isSearching={isSearching}\r\n clientType={clientType}\r\n currentPage={curPage}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useRef, useState } from \"react\";\r\nimport { Scroll } from \"../../../../../../react-core/Utils/Scroll\";\r\nimport { AccountSearchAction, IAdvancedSearchQuery } from \"../../ClientRecord/Action/AccountSearchAction\";\r\nimport { AccountSearchResultTable } from \"./AccountSearchResultTable\";\r\nimport { AdvancedSearch } from \"./AdvanceSearch\";\r\nimport { BasicSearch } from \"./BasicSearch\";\r\n\r\nexport const AccountSearchPanel = () => {\r\n const [data, setData] = useState(null);\r\n const [type, setType] = useState(\"basic\");\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [basicQuery, setBasicQuery] = useState({});\r\n const [advancedQuery, setAdvancedQuery] = useState([]);\r\n const searchResults = useRef();\r\n\r\n React.useEffect(() => {\r\n if (data !== null && !isSearching) {\r\n Scroll.scrollToElement(searchResults.current);\r\n }\r\n }, [data, isSearching]);\r\n\r\n const search = (query, currentPage, pageSize) => {\r\n setIsSearching(true);\r\n AccountSearchAction.searchAccounts(query, advancedQuery, currentPage, pageSize, (res) => {\r\n setIsSearching(false);\r\n setData(res);\r\n });\r\n };\r\n\r\n const onSearch = (query) => {\r\n setType(\"basic\");\r\n setBasicQuery(query);\r\n search(query, 1, 10);\r\n };\r\n\r\n const onPageChange = (currentPage, pageSize) => {\r\n if (type == \"basic\") {\r\n search(basicQuery, currentPage, pageSize);\r\n }\r\n };\r\n\r\n const applyFilter = (query: IAdvancedSearchQuery[]) => {\r\n setAdvancedQuery(query);\r\n setData(null);\r\n };\r\n\r\n return (\r\n <>\r\n onSearch(query)}\r\n isSearching={isSearching}\r\n fromToolAndLiterature={false}\r\n />\r\n
\r\n applyFilter(query)} />\r\n\r\n {data !== null && (\r\n
\r\n
\r\n

Results

\r\n
\r\n
\r\n )}\r\n onPageChange(s, c)}\r\n advancedQuery={advancedQuery}\r\n fromToolAndLiterature={false}\r\n basicQuery={basicQuery}\r\n />\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { formatMoney } from \"../../../../../../react-core/Utils/Money\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { RegularPaymentType } from \"../../../../../../Wrap/Constants/Enums/Domain/RegularPaymentType\";\r\nimport { ProductRegularPayment } from \"../../../../../../Wrap/Models/Domains/Valuation/ProductRegularPayment\";\r\nimport { RegularPaymentIn } from \"../../../../../../Wrap/Models/Domains/Valuation/RegularPaymentIn\";\r\nimport { InstructionType } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/InstructionType\";\r\nimport { SubAccountTypeArrayMap } from \"../../../../../Admin/Company/CompanyWizard/Resource/Content\";\r\nimport { AriaTooltip } from \"../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { PortfolioViewActionMenuAdditionalInfoAction } from \"../../../CustomNavigation/Action/PortfolioViewActionMenuAdditionalInfoAction\";\r\nimport { FrequencyTypeArraysMaps } from \"../../Common/Resource/Contents\";\r\n\r\ninterface IAccountSearchRegularDetailsPopUp {\r\n headAccountHierarchyId: string;\r\n displayText: string;\r\n type: string;\r\n}\r\n\r\nexport const AccountSearchRegularDetailsPopUp = (props: IAccountSearchRegularDetailsPopUp) => {\r\n if (!props.headAccountHierarchyId) {return null;}\r\n\r\n const [regularDetails, setRegularDetails] = React.useState([]);\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n\r\n const getCustomerDetail = (headAccountHierarchyId: string) => {\r\n setIsLoading(true);\r\n if (props.type === \"regularPayments\" || props.type === \"regularWithdrawals\") {\r\n PortfolioViewActionMenuAdditionalInfoAction.getRegularPayment(headAccountHierarchyId, (res) => {\r\n setRegularDetails(res?.ProductPayments);\r\n setIsLoading(false);\r\n });\r\n } else {\r\n console.error(\"Invalid type\");\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const tooltipConfig = () => {\r\n const config = [];\r\n if (props.type === \"regularPayments\") {\r\n regularDetails.forEach((x: ProductRegularPayment) => {\r\n x?.Payments.forEach((y: RegularPaymentIn) => {\r\n const isPercentage = y?.RegularPaymentType == RegularPaymentType.Percentage;\r\n config.push(\r\n { title: \"Account\", data: x?.ClAccountId },\r\n { title: \"Product type\", data: SubAccountTypeArrayMap.optionsMap[x?.WrapperType] },\r\n {\r\n title: isPercentage ? \"Percentage\" : \"Amount\",\r\n data:\r\n y?.RegularPaymentType == RegularPaymentType.Percentage\r\n ? MoneyDisplayHelper.getPercentageFormat(y?.Percentage, 2)\r\n : MoneyDisplayHelper.getMoneyFormat(\r\n { Amount: y?.Amount, Currency: CurrencyCode.GBP },\r\n true,\r\n 2\r\n ),\r\n },\r\n { title: \"Frequency\", data: FrequencyTypeArraysMaps[y?.Frequency] }\r\n );\r\n });\r\n });\r\n } else if (props.type === \"regularWithdrawals\") {\r\n regularDetails.forEach((x: ProductRegularPayment) => {\r\n x?.Payments.forEach((y: RegularPaymentIn) => {\r\n const isPercentage = y?.RegularPaymentType == RegularPaymentType.Percentage;\r\n config.push(\r\n { title: \"Account\", data: x?.ClAccountId },\r\n { title: \"Product type\", data: SubAccountTypeArrayMap.optionsMap[x?.WrapperType] },\r\n {\r\n title: isPercentage ? \"Percentage\" : \"Amount\",\r\n data:\r\n y?.RegularPaymentType == RegularPaymentType.Percentage\r\n ? MoneyDisplayHelper.getPercentageFormat(y?.Percentage, 2)\r\n : MoneyDisplayHelper.getMoneyFormat(\r\n { Amount: y?.Amount, Currency: CurrencyCode.GBP },\r\n true,\r\n 2\r\n ),\r\n },\r\n { title: \"Frequency\", data: FrequencyTypeArraysMaps[y?.Frequency] }\r\n );\r\n });\r\n });\r\n }\r\n\r\n return config;\r\n };\r\n\r\n return (\r\n {\r\n getCustomerDetail(props.headAccountHierarchyId);\r\n }}\r\n onClose={() => {\r\n setRegularDetails([]);\r\n }}\r\n isLoading={isLoading}\r\n >\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { RoutingActions } from \"../../../../../../react-core/Flux/Variables\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { AdvancedSearchFilterType } from \"../../../../../../Wrap/Constants/Enums/Search/AdvancedSearchFilterType\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { AccountSearchModel } from \"../../../../../../Wrap/Models/Models/Transformation/Account/AccountSearchModel\";\r\nimport { AccountSearchResult } from \"../../../../../../Wrap/Models/Models/Transformation/Account/AccountSearchResult\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { TextAndDots } from \"../../../../../Shared/Dropdown/TextAndDots\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\nimport { StaticUrls } from \"../../../../Resoures/StaticUrls\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { IAdvancedSearchQuery, IBasicSearchQuery } from \"../../ClientRecord/Action/AccountSearchAction\";\r\nimport { accountStatusMap, DimCompanyName } from \"../../ClientRecord/Resource/Contents\";\r\nimport { AccountSearchRegularDetailsPopUp } from \"./AccountSearchRegularDetailsPopUp\";\r\n\r\ninterface IAccountSearchResultTableProps {\r\n data: AccountSearchModel;\r\n onPageChange: (currentPage, pageSize) => void;\r\n usingInTools?: (row) => void;\r\n errorMsg?: string;\r\n advancedQuery?: Array;\r\n fromToolAndLiterature?: boolean;\r\n basicQuery: IBasicSearchQuery;\r\n}\r\n\r\nexport const AccountSearchResultTable = (props: IAccountSearchResultTableProps) => {\r\n if (!props.data) {return null;}\r\n\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n\r\n const col: ITableConfig[] = [\r\n {\r\n title: \"Account name\",\r\n key: \"AccountName\",\r\n render: (data, row: AccountSearchResult) => {\r\n if (props.fromToolAndLiterature) {\r\n if (props.usingInTools) {\r\n return (\r\n props.usingInTools(row)}>\r\n {data}\r\n \r\n );\r\n }\r\n return checkPermission(UserClaim.AdviserPortalClientSummaryCanView) ? (\r\n \r\n RoutingActions.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row?.CustomerId\r\n ),\r\n })\r\n .summary.getUrl()\r\n )\r\n }\r\n >\r\n {data}\r\n \r\n ) : (\r\n data\r\n );\r\n } else {\r\n if (row?.AccountType == \"Consolidated\") {\r\n return checkPermission(UserClaim.AdviserPortalClientSummaryCanView) ? (\r\n \r\n RoutingActions.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: row?.HierarchyId,\r\n })\r\n .summary.getUrl()\r\n )\r\n }\r\n >\r\n {data}\r\n \r\n ) : (\r\n data\r\n );\r\n } else if (props?.basicQuery?.company == DimCompanyName) {\r\n return checkPermission(UserClaim.AdviserPortalClientSummaryCanView) ? (\r\n \r\n RoutingActions.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: row?.HierarchyId,\r\n })\r\n .summary.getUrl()\r\n )\r\n }\r\n >\r\n {data}\r\n \r\n ) : (\r\n data\r\n );\r\n } else {\r\n return checkPermission(UserClaim.AdviserPortalClientSummaryCanView) ? (\r\n \r\n RoutingActions.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row?.CustomerId\r\n ),\r\n })\r\n .summary.getUrl()\r\n )\r\n }\r\n >\r\n {data}\r\n \r\n ) : (\r\n data\r\n );\r\n }\r\n }\r\n },\r\n },\r\n { title: \"Account number\", key: \"AccountNumber\" },\r\n {\r\n title: \"Account type\",\r\n key: \"AccountType\",\r\n render: (data: string) => {\r\n return data.toLowerCase() == \"individ\" ? \"Individual\" : data;\r\n },\r\n },\r\n { title: \"Adviser\", key: \"AdviserName\" },\r\n {\r\n title: \"Status\",\r\n key: \"Status\",\r\n render: (data) => {\r\n return accountStatusMap[data];\r\n },\r\n },\r\n ];\r\n\r\n if (props.fromToolAndLiterature) {\r\n col.push({\r\n title: \"Action\",\r\n render: (data, row: AccountSearchResult) => {\r\n let textLinks = [\r\n checkPermission(UserClaim.AdviserPortalAccountTransfersCanView)\r\n ? {\r\n title: \"Transactions\",\r\n url: StaticUrls.ClientDashboardUrl(row.HierarchyId, \"4\"),\r\n }\r\n : null,\r\n checkPermission(UserClaim.AdviserPortalDocumentLibraryCanView)\r\n ? {\r\n title: \"Document library\",\r\n url: StaticUrls.ClientDashboardUrl(row.HierarchyId, \"5\"),\r\n }\r\n : null,\r\n checkPermission(UserClaim.AdviserPortalClientPortfolioReportReadWrite)\r\n ? {\r\n title: \"Create client report\",\r\n url: StaticUrls.ClientDashboardUrl(row.HierarchyId),\r\n }\r\n : null,\r\n ];\r\n textLinks = textLinks.filter((x) => x != null);\r\n return <>{row.Status == AccountStatus.Active && };\r\n },\r\n });\r\n }\r\n\r\n if ((props.advancedQuery || [])?.find((x) => x.filterType == AdvancedSearchFilterType.Wrapper)) {\r\n col.push({\r\n title: \"Wrapper\",\r\n key: \"Wrappers\",\r\n });\r\n }\r\n const mandateFilter = (props.advancedQuery || [])?.find((x) => x.filterType == AdvancedSearchFilterType.Mandate);\r\n if (mandateFilter) {\r\n if (mandateFilter.investedInMandates) {\r\n col.push({\r\n title: \"Mandates\",\r\n key: \"MandateName\",\r\n });\r\n } else {\r\n col.push({\r\n title: \"Mandates\",\r\n render: () => {\r\n return \"No mandate holdings\";\r\n },\r\n });\r\n }\r\n }\r\n\r\n const regularPaymentFilter = (props.advancedQuery || [])?.find(\r\n (x) => x.filterType == AdvancedSearchFilterType.RegularPayment\r\n );\r\n if (regularPaymentFilter) {\r\n if (regularPaymentFilter.hasRegularPayments) {\r\n col.push({\r\n title: \"Regular payment\",\r\n render: (data, row: AccountSearchResult) => {\r\n return (\r\n \r\n );\r\n },\r\n });\r\n } else {\r\n col.push({\r\n title: \"Regular payment\",\r\n render: () => {\r\n return \"No\";\r\n },\r\n });\r\n }\r\n }\r\n\r\n const regularWithdrawalFilter = (props.advancedQuery || [])?.find(\r\n (x) => x.filterType == AdvancedSearchFilterType.RegularWithdrawal\r\n );\r\n if (regularWithdrawalFilter) {\r\n if (regularWithdrawalFilter.hasRegularWithdrawals) {\r\n col.push({\r\n title: \"Regular withdrawal\",\r\n render: (data, row: AccountSearchResult) => {\r\n return (\r\n \r\n );\r\n },\r\n });\r\n } else {\r\n col.push({\r\n title: \"Regular withdrawal\",\r\n render: () => {\r\n return \"No\";\r\n },\r\n });\r\n }\r\n }\r\n\r\n return (\r\n {\r\n setCurrentPage(pageIndex);\r\n props.onPageChange(pageIndex, pageSize);\r\n },\r\n currentPage: currentPage,\r\n }}\r\n />\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { MandateNameFuzzySearchClient } from \"../../../../../../Wrap/Api/Mandate/MandateNameFuzzySearch\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AdvancedSearchFilterType } from \"../../../../../../Wrap/Constants/Enums/Search/AdvancedSearchFilterType\";\r\nimport { Mandate } from \"../../../../../../Wrap/Models/Models/Mandate/Mandate\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { SearchInput } from \"../../../../../Shared/SearchInput/SearchInput\";\r\nimport { IAdvancedSearchQuery } from \"../../ClientRecord/Action/AccountSearchAction\";\r\nimport {\r\n advancedSearchFilterTypeArray,\r\n advancedSearchFilterTypeMap,\r\n productWrapperOptions,\r\n} from \"../../ClientRecord/Resource/Contents\";\r\nimport { AdvancedQueryDropdown } from \"./AdvancedQueryDropdown\";\r\n\r\ninterface IAdvancedSearchProps {\r\n applyAdancedFilter: (query: IAdvancedSearchQuery[]) => void;\r\n}\r\n\r\nexport const AdvancedSearch = (props: IAdvancedSearchProps) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [showContent, setContent] = useState(\"dropdown\");\r\n\r\n const [selectedWrappers, setSelectedWrappers] = useState([]);\r\n const [investedInMandate, setInvestedInMandate] = useState(null);\r\n const [mandateNames, setMandateNames] = useState([]);\r\n const [hasRegularPayments, setHasRegularPayments] = useState(null);\r\n const [hasRegularWithdrawals, setHasRegularWithdrawals] = useState(null);\r\n const [errorMsg, setErrorMsg] = useState([]);\r\n\r\n const [advancedQueryArr, setAdvancedQueryArr] = useState([]);\r\n\r\n const applyFilter = (filterType: AdvancedSearchFilterType) => {\r\n setIsOpen(false);\r\n if (filterType == AdvancedSearchFilterType.Wrapper) {\r\n // remove old then add new\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.Wrapper\r\n ) || [];\r\n newAdvancedQueryArr.push({\r\n filterType: AdvancedSearchFilterType.Wrapper,\r\n wrappers: selectedWrappers,\r\n investedInMandates: null,\r\n mandateNames: [],\r\n hasRegularPayments: null,\r\n hasRegularWithdrawals: null,\r\n });\r\n updateQuery(newAdvancedQueryArr);\r\n } else if (filterType == AdvancedSearchFilterType.Mandate) {\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.Mandate\r\n ) || [];\r\n newAdvancedQueryArr.push({\r\n filterType: AdvancedSearchFilterType.Mandate,\r\n wrappers: [],\r\n investedInMandates: investedInMandate,\r\n mandateNames: mandateNames,\r\n hasRegularPayments: null,\r\n hasRegularWithdrawals: null,\r\n });\r\n updateQuery(newAdvancedQueryArr);\r\n } else if (filterType == AdvancedSearchFilterType.RegularPayment) {\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.RegularPayment\r\n ) || [];\r\n newAdvancedQueryArr.push({\r\n filterType: AdvancedSearchFilterType.RegularPayment,\r\n wrappers: null,\r\n investedInMandates: null,\r\n mandateNames: [],\r\n hasRegularPayments: hasRegularPayments,\r\n hasRegularWithdrawals: null,\r\n });\r\n updateQuery(newAdvancedQueryArr);\r\n } else {\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.RegularWithdrawal\r\n ) || [];\r\n newAdvancedQueryArr.push({\r\n filterType: AdvancedSearchFilterType.RegularWithdrawal,\r\n wrappers: null,\r\n investedInMandates: null,\r\n mandateNames: [],\r\n hasRegularPayments: null,\r\n hasRegularWithdrawals: hasRegularWithdrawals,\r\n });\r\n updateQuery(newAdvancedQueryArr);\r\n }\r\n };\r\n\r\n const updateQuery = (query: IAdvancedSearchQuery[]) => {\r\n setAdvancedQueryArr(query);\r\n props.applyAdancedFilter(query);\r\n };\r\n\r\n const renderAlerts = () => {\r\n const alerts = [];\r\n if (advancedQueryArr.length == 0) {\r\n return;\r\n }\r\n advancedQueryArr.forEach((advancedQuery) => {\r\n if (advancedQuery?.wrappers != null && advancedQuery?.wrappers?.length > 0) {\r\n if (advancedQuery?.wrappers?.length == productWrapperOptions.length) {\r\n alerts.push({\r\n message: \"Wrapper: Select all\",\r\n type: AdvancedSearchFilterType.Wrapper,\r\n });\r\n } else {\r\n const labelArray = advancedQuery?.wrappers.map((ele) => {\r\n return productWrapperOptions.filter((a) => a.type == ele)[0].label;\r\n });\r\n alerts.push({\r\n message: \"Wrapper: \" + labelArray.join(),\r\n type: AdvancedSearchFilterType.Wrapper,\r\n });\r\n }\r\n }\r\n if (advancedQuery?.investedInMandates != null) {\r\n alerts.push({\r\n message: advancedQuery?.investedInMandates ? \"Mandate: Yes\" : \"Mandate: No\",\r\n type: AdvancedSearchFilterType.Mandate,\r\n });\r\n // if (advancedQuery?.mandateNames && advancedQuery?.mandateNames.length > 0) {\r\n // advancedQuery?.mandateNames.map((ele) => {\r\n // alerts.push({\r\n // message: \"Mandate: \" + ele,\r\n // type: AdvancedSearchFilterType.Mandate,\r\n // detail: ele,\r\n // });\r\n // });\r\n // }\r\n }\r\n if (advancedQuery?.hasRegularPayments != null) {\r\n alerts.push({\r\n message: advancedQuery?.hasRegularPayments ? \"Regular payments: Yes\" : \"Regular payments: No\",\r\n type: AdvancedSearchFilterType.RegularPayment,\r\n });\r\n }\r\n if (advancedQuery?.hasRegularWithdrawals != null) {\r\n alerts.push({\r\n message: advancedQuery?.hasRegularWithdrawals\r\n ? \"Regular withdrawals: Yes\"\r\n : \"Regular withdrawals: No\",\r\n type: AdvancedSearchFilterType.RegularWithdrawal,\r\n });\r\n }\r\n });\r\n\r\n const alertsUI: JSX.Element[] = [];\r\n\r\n alerts.forEach((alert) => {\r\n alertsUI.push(\r\n cancelFilter(alert)}\r\n >
\r\n );\r\n });\r\n return alertsUI;\r\n };\r\n\r\n const cancelFilter = (alert) => {\r\n if (alert.type == AdvancedSearchFilterType.Wrapper) {\r\n setSelectedWrappers([]);\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.Wrapper\r\n ) || [];\r\n updateQuery(newAdvancedQueryArr);\r\n } else if (alert.type == AdvancedSearchFilterType.Mandate) {\r\n // if (alert.detail != null) {\r\n // let _data = mandateNames.filter((item) => item !== alert.detail);\r\n // setMandateNames(_data);\r\n // updateQuery({\r\n // filterType: AdvancedSearchFilterType.Mandate,\r\n // mandateNames: _data,\r\n // investedInMandates: investedInMandate,\r\n // });\r\n // } else {\r\n // setInvestedInMandate(null);\r\n // setMandateNames([]);\r\n // updateQuery(null);\r\n // }\r\n setInvestedInMandate(null);\r\n setMandateNames([]);\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.Mandate\r\n ) || [];\r\n updateQuery(newAdvancedQueryArr);\r\n } else if (alert.type == AdvancedSearchFilterType.RegularPayment) {\r\n setHasRegularPayments(null);\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.RegularPayment\r\n ) || [];\r\n updateQuery(newAdvancedQueryArr);\r\n } else {\r\n setHasRegularWithdrawals(null);\r\n const newAdvancedQueryArr =\r\n advancedQueryArr.filter(\r\n (ele: IAdvancedSearchQuery) => ele?.filterType !== AdvancedSearchFilterType.RegularWithdrawal\r\n ) || [];\r\n updateQuery(newAdvancedQueryArr);\r\n }\r\n };\r\n\r\n const renderDropdown = () => {\r\n const dropdownOptions: JSX.Element[] = [];\r\n advancedSearchFilterTypeArray.forEach((option) => {\r\n dropdownOptions.push(\r\n {\r\n setContent(advancedSearchFilterTypeMap[option]);\r\n }}\r\n >\r\n {advancedSearchFilterTypeMap[option]}\r\n \r\n );\r\n });\r\n return dropdownOptions;\r\n };\r\n\r\n const wrapperOptions = () => {\r\n const elements: JSX.Element[] = [];\r\n productWrapperOptions.forEach((element) => {\r\n elements.push(\r\n item == element.type)}\r\n cssWrapper=\"checkbox-panel\"\r\n onChange={(v) => {\r\n if (v) {\r\n const _data = selectedWrappers.concat([element.type]);\r\n setSelectedWrappers(_data);\r\n } else {\r\n const _data = selectedWrappers.filter((item) => item !== element.type);\r\n setSelectedWrappers(_data);\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n return elements;\r\n };\r\n\r\n const advancedDropDownCss = () => {\r\n return showContent == \"dropdown\" ? \"mb-20\" : \"item-is-clicked mb-20\";\r\n };\r\n\r\n const closeFilter = () => {\r\n setIsOpen(false);\r\n setContent(\"dropdown\");\r\n };\r\n\r\n const renderFilterContent = (option: AdvancedSearchFilterType) => {\r\n if (option == AdvancedSearchFilterType.Wrapper) {\r\n return (\r\n <>\r\n {\r\n if (v) {\r\n setSelectedWrappers([\r\n SubAccountType.StocksIsa,\r\n SubAccountType.InvestmentAccount,\r\n SubAccountType.Sipp,\r\n SubAccountType.OnshoreBond,\r\n SubAccountType.OffshoreBond,\r\n ]);\r\n } else {\r\n setSelectedWrappers([]);\r\n }\r\n }}\r\n />\r\n {wrapperOptions()}\r\n \r\n );\r\n } else if (option == AdvancedSearchFilterType.Mandate) {\r\n return (\r\n
\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n setErrorMsg([]);\r\n setInvestedInMandate(v);\r\n if (!v) {setMandateNames([]);}\r\n }}\r\n />\r\n {investedInMandate && (\r\n {\r\n return new MandateNameFuzzySearchClient().get(v);\r\n }}\r\n onClick={(v: Mandate) => {\r\n if (!v) {return;}\r\n setErrorMsg([]);\r\n setMandateNames(mandateNames.concat([v?.MandateName]));\r\n }}\r\n getText={(v: Mandate) => v?.MandateName}\r\n cssWrapper=\"control-size-430\"\r\n label={\"Mandate name\"}\r\n />\r\n )}\r\n {mandateNames.length > 0 &&\r\n mandateNames.map((mandateName) => (\r\n <>\r\n {\r\n const _data = mandateNames.filter((item) => item !== mandateName);\r\n setMandateNames(_data);\r\n }}\r\n >\r\n \r\n ))}\r\n
\r\n );\r\n } else if (option == AdvancedSearchFilterType.RegularPayment) {\r\n return (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => setHasRegularPayments(v)}\r\n />\r\n );\r\n } else if (option == AdvancedSearchFilterType.RegularWithdrawal) {\r\n return (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => setHasRegularWithdrawals(v)}\r\n />\r\n );\r\n }\r\n };\r\n\r\n const checkValid = (element: AdvancedSearchFilterType) => {\r\n if (element == AdvancedSearchFilterType.Mandate) {\r\n if (investedInMandate == true && mandateNames.length == 0) {\r\n setErrorMsg([\"Please at least select one mandate\"]);\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n\r\n const renderFilterBody = () => {\r\n const elements: JSX.Element[] = [];\r\n advancedSearchFilterTypeArray.forEach((element) => {\r\n elements.push(\r\n <>\r\n {showContent == advancedSearchFilterTypeMap[element] && (\r\n <>\r\n
\r\n
\r\n
\r\n

{advancedSearchFilterTypeMap[element]}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{renderFilterContent(element)}
\r\n
\r\n {errorMsg.length > 0 &&\r\n errorMsg.map((msg) => {\r\n return ;\r\n })}\r\n
\r\n
\r\n {\r\n if (checkValid(element)) {\r\n setErrorMsg([]);\r\n applyFilter(element);\r\n closeFilter();\r\n }\r\n }}\r\n >\r\n Apply\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n });\r\n return elements;\r\n };\r\n\r\n return (\r\n <>\r\n setIsOpen(v)}\r\n label=\"Advanced query\"\r\n cssWrapper={advancedDropDownCss()}\r\n >\r\n {showContent == \"dropdown\" && renderDropdown()}\r\n {renderFilterBody()}\r\n \r\n\r\n
{renderAlerts()}
\r\n \r\n );\r\n};\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { useState, useRef, useEffect } from \"react\";\r\nimport { CSSTransition } from \"react-transition-group\";\r\n\r\ninterface IAdvancedQueryDropdown {\r\n label: string;\r\n children: any;\r\n cssWrapper?: string;\r\n cssButton?: string; //className suffix for \r\n\r\n \r\n {/* {isOpen => ( */}\r\n
\r\n
{props.children}
\r\n
\r\n {/* )} */}\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { StringHelper } from \"../../../../../../react-core/Helpers/StringHelper\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { CompanySearchClient } from \"../../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { NetworkHistoryClient } from \"../../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { CompanyDetailSort } from \"../../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { MultiPropositionType } from \"../../../../../../Wrap/Constants/Enums/Domain/MultiPropositionType\";\r\nimport { NetworkType } from \"../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { AdviserWizardAction } from \"../../../../../Admin/Adviser/Actions/AdviserWizardAction\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { SearchInput } from \"../../../../../Shared/SearchInput/SearchInput\";\r\nimport { IBasicSearchQuery } from \"../../ClientRecord/Action/AccountSearchAction\";\r\nimport { accountStatusMap, accountTypeMap, ALL, ALL_NON_WRAP, ALL_WRAP } from \"../../ClientRecord/Resource/Contents\";\r\n\r\ninterface IBasicSearchProps {\r\n onSearch: (query: IBasicSearchQuery) => void;\r\n isSearching: boolean;\r\n fromToolAndLiterature?: boolean;\r\n ServicePropositionsToExclude?: MultiPropositionType[];\r\n}\r\nexport const BasicSearch = (props: IBasicSearchProps) => {\r\n const [accountNum, setAccountNum] = useState(null);\r\n const [accountName, setAccountName] = useState(null);\r\n const [adviser, setAdviser] = useState(null);\r\n const [clientType, setClientType] = useState(null);\r\n const [status, setStatus] = useState(ALL);\r\n const [company, setCompany] = useState(null);\r\n const [network, setNetwork] = useState(null);\r\n const [adviserList, setAdviserList] = useState([]);\r\n const [displayNetworkSearch, setDisplayNetworkSearch] = useState(false);\r\n const [displayCompanySearch, setDisplayCompanySearch] = useState(false);\r\n const [errorMsg, setErrorMsg] = useState([]);\r\n\r\n useEffect(() => {\r\n const networkClient = new NetworkHistoryClient();\r\n networkClient.get(null, NetworkType.Unknown, null, null, null, false, 10, 1).onSuccess((result) => {\r\n if (result.TotalRows > 1) {\r\n setDisplayNetworkSearch(true);\r\n }\r\n });\r\n\r\n const companyClient = new CompanySearchClient();\r\n companyClient\r\n .get(null, null, FirmType.All, null, null, null, true, 1, 10, CompanyDetailSort.CompanyName,false)\r\n .onSuccess((result) => {\r\n if (result.TotalNumberOfResults > 1) {\r\n setDisplayCompanySearch(true);\r\n } else if (result.TotalNumberOfResults == 1) {\r\n getClientAllowedAdvisers(null, result.PageOfResults[0].CompanyCode);\r\n setCompany(result.PageOfResults[0]);\r\n }\r\n });\r\n }, []);\r\n\r\n const getClientAllowedAdvisers = (network, company) => {\r\n if (CommonHelper.isNullOrEmpty(company) && CommonHelper.isNullOrEmpty(network)) {\r\n setAdviserList([]);\r\n } else {\r\n AdviserWizardAction.getAdviser(\r\n { Company: company, Network: network, CurrentPage: 1, ResultsPerPage: 999 },\r\n (result) => {\r\n setAdviserList(result.Results);\r\n }\r\n );\r\n }\r\n };\r\n\r\n const checkValid = () => {\r\n let valid = true;\r\n const errorMsgArr = [];\r\n if (company == null) {\r\n errorMsgArr.push(\"Company is mandatory\");\r\n valid = false;\r\n }\r\n setErrorMsg(errorMsgArr);\r\n return valid;\r\n };\r\n\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n return (\r\n <>\r\n {errorMsg.length > 0 &&\r\n errorMsg.map((msg) => {\r\n return ;\r\n })}\r\n {props.fromToolAndLiterature && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n const _v = StringHelper.stripSpecialCharacter(v.target.value);\r\n setAccountNum(_v);\r\n }}\r\n type=\"text\"\r\n value={accountNum}\r\n maxLength={15}\r\n className=\"search-input\"\r\n placeholder=\"Search by WP account number\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n setAccountName(v.target.value)}\r\n type=\"text\"\r\n value={accountName}\r\n className=\"search-input\"\r\n placeholder=\"Search by account name\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n {displayNetworkSearch && (\r\n
\r\n {\r\n return networkClient.get(null, NetworkType.Unknown, v, null, null, false, 20, 1);\r\n }}\r\n onClick={(v) => {\r\n getClientAllowedAdvisers(v?.Network, null);\r\n setNetwork(v);\r\n setCompany(null);\r\n setAdviser(null);\r\n }}\r\n resultKey=\"networks\"\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n label={\"Network\"}\r\n value={network?.NetworkName}\r\n />\r\n
\r\n )}\r\n {displayCompanySearch && (\r\n
\r\n {\r\n return companyClient.get(\r\n null,\r\n v,\r\n FirmType.All,\r\n null,\r\n network?.Network,\r\n null,\r\n true,\r\n 1,\r\n 20,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n );\r\n }}\r\n resultKey={\"PageOfResults\"}\r\n onClick={(v) => {\r\n getClientAllowedAdvisers(network?.Network, v?.CompanyCode);\r\n setCompany(v);\r\n setAdviser(null);\r\n }}\r\n getText={(v: CompanySummary) => v.CompanyName}\r\n label={\"Company\"}\r\n value={company?.CompanyName}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n return v ? v.Name : \"All\";\r\n }}\r\n selected={adviser}\r\n onChange={(v) => setAdviser(v)}\r\n />\r\n
\r\n {props.fromToolAndLiterature && (\r\n
\r\n {\r\n return v != null ? accountTypeMap[v] : \"All\";\r\n }}\r\n selected={clientType}\r\n onChange={(v) => setClientType(v)}\r\n options={[null].concat(Object.keys(accountTypeMap).map((ele) => Number(ele)))}\r\n />\r\n
\r\n )}\r\n {props.fromToolAndLiterature && (\r\n
\r\n {\r\n return v == ALL\r\n ? \"All\"\r\n : v == ALL_WRAP\r\n ? \"All Wrap\"\r\n : v == ALL_NON_WRAP\r\n ? \"All Non Wrap\"\r\n : accountStatusMap[v];\r\n }}\r\n selected={status}\r\n onChange={(v) => setStatus(v)}\r\n label=\"Status\"\r\n options={[ALL, ALL_WRAP, ALL_NON_WRAP].concat(\r\n Object.keys(accountStatusMap)\r\n .filter((key) => Number(key) !== 6)\r\n .map((ele) => Number(ele))\r\n )}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {\r\n if (!props.fromToolAndLiterature) {\r\n if (checkValid()) {\r\n setErrorMsg([]);\r\n props.onSearch({\r\n accountName: accountName,\r\n accountNum: accountNum,\r\n status: status,\r\n network: network?.NetworkName,\r\n company: company?.CompanyName,\r\n accountType: clientType,\r\n adviser: adviser?.AdvCode,\r\n });\r\n }\r\n } else {\r\n props.onSearch({\r\n ServicePropositionsToExclude: props.ServicePropositionsToExclude,\r\n accountName: accountName,\r\n accountNum: accountNum,\r\n status: status,\r\n network: network?.NetworkName,\r\n company: company?.CompanyName,\r\n accountType: clientType,\r\n adviser: adviser,\r\n });\r\n }\r\n }}\r\n >\r\n Go\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { CompanySearchClient } from \"../../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { NetworkHistoryClient } from \"../../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { CustomerType } from \"../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { AccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/AccountType\";\r\nimport { CompanyDetailSort } from \"../../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { EntityType } from \"../../../../../../Wrap/Constants/Enums/EntityType\";\r\nimport { NetworkType } from \"../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { AdviserWizardAction } from \"../../../../../Admin/Adviser/Actions/AdviserWizardAction\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { SearchInput } from \"../../../../../Shared/SearchInput/SearchInput\";\r\nimport { IBasicSearchQuery } from \"../Action/AccountSearchAction\";\r\nimport { ICustomerSearchQuery } from \"../Action/CustomerSearchAction\";\r\nimport { IOrganisationSearchQuery } from \"../Action/OrganisationSearchAction\";\r\nimport {\r\n AccountNumberMinLengthValidationErrorMessage,\r\n accountStatusMap,\r\n accountStatusMapSorted,\r\n ALL,\r\n ALL_NON_WRAP,\r\n ALL_WRAP,\r\n clientTypeEnum,\r\n individualClientStatus,\r\n organisationStatusMap,\r\n organisationTypeArray,\r\n organisationTypeMap,\r\n RoleTypeMap,\r\n individualClientStatusSorted,\r\n organisationStatusMapSorted,\r\n} from \"../Resource/Content\";\r\n\r\ninterface IClientAdvancedSearchProps {\r\n onSearch: (query: IOrganisationSearchQuery | ICustomerSearchQuery | IBasicSearchQuery) => void;\r\n isSearching: boolean;\r\n clientType: clientTypeEnum;\r\n}\r\n\r\nexport const ClientAdvancedSearch = (props: IClientAdvancedSearchProps) => {\r\n const [customerStatus, setCustomerStatus] = useState(CustomerStatus.Active);\r\n const [organisationStatus, setOrganisationStatus] = useState(CustomerStatus.Active);\r\n const [status, setStatus] = useState(Number(AccountStatus.Active));\r\n const [organisationType, setorganisationType] = useState(CustomerType.NotSpecified);\r\n const [name, setName] = useState(\"\");\r\n const [firstname, setFirstName] = useState(\"\");\r\n const [lastname, setLastName] = useState(\"\");\r\n const [dateOfBirth, setDateOfBirth] = useState(null);\r\n const [company, setCompany] = useState(null);\r\n const [network, setNetwork] = useState(null);\r\n const [adviserList, setAdviserList] = useState([]);\r\n const [adviser, setAdviser] = useState(null);\r\n const [displayNetworkSearch, setDisplayNetworkSearch] = useState(false);\r\n const [displayCompanySearch, setDisplayCompanySearch] = useState(false);\r\n const [clAccountId, setClAccountId] = useState(\"\");\r\n const [customerRole, setCustomerRole] = useState(RoleType.NotSpecified);\r\n const { clientType } = props;\r\n\r\n React.useEffect(() => {\r\n const networkClient = new NetworkHistoryClient();\r\n networkClient.get(null, NetworkType.Unknown, null, null, null, false, 10, 1).onSuccess((result) => {\r\n if (result.TotalRows > 1) {\r\n setDisplayNetworkSearch(true);\r\n }\r\n });\r\n\r\n const companyClient = new CompanySearchClient();\r\n companyClient\r\n .get(null, null, FirmType.All, null, null, null, true, 1, 10, CompanyDetailSort.CompanyName,false)\r\n .onSuccess((result) => {\r\n if (result.TotalNumberOfResults > 1) {\r\n setDisplayCompanySearch(true);\r\n } else if (result.TotalNumberOfResults == 1) {\r\n getClientAllowedAdvisers(null, result.PageOfResults[0].CompanyCode);\r\n setCompany(result.PageOfResults[0]);\r\n }\r\n });\r\n }, []);\r\n\r\n const getClientAllowedAdvisers = (network, company) => {\r\n if (CommonHelper.isNullOrEmpty(company) && CommonHelper.isNullOrEmpty(network)) {\r\n setAdviserList([]);\r\n } else {\r\n AdviserWizardAction.getAdviser(\r\n { Company: company, Network: network, CurrentPage: 1, ResultsPerPage: 999 },\r\n (result) => {\r\n setAdviserList(result.Results);\r\n }\r\n );\r\n }\r\n };\r\n\r\n const isValid = () => {\r\n // Account number minlength is 3\r\n if (clAccountId && clAccountId !== \"\") {\r\n return clAccountId.length && clAccountId.length >= 3;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {displayNetworkSearch && (\r\n
\r\n {\r\n return networkClient.get(\r\n null,\r\n NetworkType.Unknown,\r\n v,\r\n null,\r\n null,\r\n false,\r\n 20,\r\n 1\r\n );\r\n }}\r\n onClick={(v) => {\r\n getClientAllowedAdvisers(v?.Network, null);\r\n setNetwork(v);\r\n setCompany(null);\r\n setAdviser(null);\r\n }}\r\n resultKey=\"networks\"\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n label={\"Network\"}\r\n value={network?.NetworkName}\r\n />\r\n
\r\n )}\r\n {displayCompanySearch && (\r\n
\r\n {\r\n return companyClient.get(\r\n null,\r\n v,\r\n FirmType.All,\r\n null,\r\n network?.Network,\r\n null,\r\n true,\r\n 1,\r\n 20,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n );\r\n }}\r\n resultKey={\"PageOfResults\"}\r\n onClick={(v) => {\r\n getClientAllowedAdvisers(network?.Network, v?.CompanyCode);\r\n setCompany(v);\r\n setAdviser(null);\r\n }}\r\n getText={(v: CompanySummary) => v.CompanyName}\r\n label={\"Company\"}\r\n value={company?.CompanyName}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n {clientType == clientTypeEnum.Individual ? (\r\n <>\r\n
\r\n setFirstName(v)}\r\n value={firstname}\r\n maxLength={100}\r\n />\r\n
\r\n
\r\n setLastName(v)}\r\n value={lastname}\r\n maxLength={100}\r\n />\r\n
\r\n \r\n ) : (\r\n
\r\n setName(v)} value={name} maxLength={100} />\r\n
\r\n )}\r\n
\r\n setClAccountId(v)}\r\n value={clAccountId}\r\n maxLength={15}\r\n minLengthValidation={{\r\n errorMessage: AccountNumberMinLengthValidationErrorMessage,\r\n value: 3,\r\n }}\r\n />\r\n
\r\n
\r\n {clientType == clientTypeEnum.Individual && (\r\n {\r\n return individualClientStatus[v];\r\n }}\r\n selected={customerStatus}\r\n onChange={(v) => setCustomerStatus(v)}\r\n />\r\n )}\r\n {clientType == clientTypeEnum.Organisation && (\r\n {\r\n return organisationStatusMap[v];\r\n }}\r\n selected={organisationStatus}\r\n onChange={(v) => setOrganisationStatus(v)}\r\n />\r\n )}\r\n {clientType == clientTypeEnum.Consolidated && (\r\n {\r\n return v == ALL\r\n ? \"All\"\r\n : v == ALL_WRAP\r\n ? \"All Wrap\"\r\n : v == ALL_NON_WRAP\r\n ? \"All Non Wrap\"\r\n : accountStatusMap[accountStatusMapSorted[v]];\r\n }}\r\n selected={status}\r\n onChange={(v) => setStatus(v)}\r\n label=\"Status\"\r\n options={[ALL, ALL_WRAP, ALL_NON_WRAP].concat(\r\n Object.keys(accountStatusMapSorted).map((ele) => Number(ele))\r\n )}\r\n />\r\n )}\r\n
\r\n {clientType == clientTypeEnum.Organisation && (\r\n
\r\n {\r\n return organisationTypeMap[v];\r\n }}\r\n selected={organisationType}\r\n onChange={(v) => setorganisationType(v)}\r\n />\r\n
\r\n )}\r\n
\r\n {\r\n return v ? v.Name : \"All\";\r\n }}\r\n selected={adviser}\r\n onChange={(v) => setAdviser(v)}\r\n />\r\n
\r\n
\r\n {clientType == clientTypeEnum.Individual && (\r\n Number(ele))}\r\n getText={(v) => {\r\n return RoleTypeMap[v];\r\n }}\r\n selected={customerRole}\r\n onChange={(v) => setCustomerRole(v)}\r\n />\r\n )}\r\n
\r\n
\r\n {clientType == clientTypeEnum.Individual && (\r\n {\r\n setDateOfBirth(d);\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (!isValid()) {\r\n return;\r\n }\r\n let query = null;\r\n if (clientType == clientTypeEnum.Individual) {\r\n let entityType = null;\r\n let entityID = null;\r\n if (adviser) {\r\n entityType = EntityType.Advisor;\r\n entityID = HierarchyIdHelper.generateHierarchyId(adviser.HierarchyId)\r\n .entityId;\r\n } else if (company) {\r\n entityType = EntityType.Company;\r\n entityID = HierarchyIdHelper.generateHierarchyId(company.HierarchyId)\r\n .entityId;\r\n } else if (network) {\r\n entityType = EntityType.Network;\r\n entityID = network.NetworkId;\r\n }\r\n\r\n query = {\r\n firstname: firstname,\r\n lastname: lastname,\r\n customerStatus: customerStatus,\r\n dateOfBirth: dateOfBirth,\r\n clAccountId: clAccountId != \"\" ? clAccountId.split(\"-\")[0] : null,\r\n customerRole: customerRole,\r\n visibleToAdviserId: null,\r\n entityId: entityID,\r\n entityType: entityType,\r\n } as ICustomerSearchQuery;\r\n }\r\n if (clientType == clientTypeEnum.Organisation) {\r\n let entityType = null;\r\n let entityID = null;\r\n if (adviser) {\r\n entityType = EntityType.Advisor;\r\n entityID = HierarchyIdHelper.generateHierarchyId(adviser.HierarchyId)\r\n .entityId;\r\n } else if (company) {\r\n entityType = EntityType.Company;\r\n entityID = HierarchyIdHelper.generateHierarchyId(company.HierarchyId)\r\n .entityId;\r\n } else if (network) {\r\n entityType = EntityType.Network;\r\n entityID = network.NetworkId;\r\n }\r\n query = {\r\n organisationStatus: organisationStatus,\r\n organisationName: name,\r\n clAccountId: clAccountId != \"\" ? clAccountId.split(\"-\")[0] : null,\r\n organisationType: organisationType,\r\n entityId: entityID,\r\n entityType: entityType,\r\n } as IOrganisationSearchQuery;\r\n }\r\n if (clientType == clientTypeEnum.Consolidated) {\r\n query = {\r\n accountName: name,\r\n accountNum: clAccountId,\r\n status: status,\r\n accountType: AccountType.Consolidated,\r\n network: network?.NetworkName,\r\n company: company?.CompanyName,\r\n advCode: adviser?.AdvCode,\r\n } as IBasicSearchQuery;\r\n }\r\n props.onSearch(query);\r\n }}\r\n >\r\n Search\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { ClientAdvancedSearch } from \"./ClientAdvancedSearch\";\r\nimport { IOrganisationSearchQuery } from \"../Action/OrganisationSearchAction\";\r\nimport { ICustomerSearchQuery } from \"../Action/CustomerSearchAction\";\r\nimport { IBasicSearchQuery } from \"../Action/AccountSearchAction\";\r\nimport { clientTypeEnum } from \"../Resource/Content\";\r\n\r\ninterface IClientQuickSearchProps {\r\n cssWrapper?: string;\r\n onSearch: (query: IOrganisationSearchQuery | ICustomerSearchQuery | IBasicSearchQuery) => void;\r\n clientType: clientTypeEnum;\r\n isSearching: boolean;\r\n}\r\n\r\nexport const ClientQuickSearch = (props: IClientQuickSearchProps) => {\r\n const cssWrapper = classNames(\"advanced-search\", props.cssWrapper);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { RoutingActions } from \"../../../../../../react-core/Flux/Variables\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { CustomerSearchModel } from \"../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\nimport { CustomerSearchResult } from \"../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchResult\";\r\nimport { Organisation } from \"../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { OrganisationSearchModel } from \"../../../../../../Wrap/Models/Models/Customer/OrganisationSearch/OrganisationSearchModel\";\r\nimport { OrganisationSearchResult } from \"../../../../../../Wrap/Models/Models/Customer/OrganisationSearch/OrganisationSearchResult\";\r\nimport { AccountSearchModel } from \"../../../../../../Wrap/Models/Models/Transformation/Account/AccountSearchModel\";\r\nimport { AccountSearchResult } from \"../../../../../../Wrap/Models/Models/Transformation/Account/AccountSearchResult\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { CustomerDetailsPopup } from \"../../CustomerMerge/Components/CustomerDetailsPopUp\";\r\nimport { accountStatusMap, clientTypeEnum, customerStatusMap, organisationStatusMap } from \"../Resource/Content\";\r\nimport { ClientDetailsPopup } from \"../../CustomerMerge/Components/ClientDetailsPopUp\";\r\n\r\ninterface IClientSearchResultTableProps {\r\n data: CustomerSearchModel | OrganisationSearchModel | AccountSearchModel;\r\n clientType: clientTypeEnum;\r\n onPageChange: (pageIndex, pageSize) => void;\r\n currentPage: number;\r\n isSearching: boolean;\r\n}\r\n\r\nexport const ClientSearchResultTable = (props: IClientSearchResultTableProps) => {\r\n if (!props.data) {return null;}\r\n\r\n const col: ITableConfig[] = [\r\n {\r\n title: \"Name\",\r\n render: (data, row: CustomerSearchResult | OrganisationSearchResult | AccountSearchResult) => {\r\n let name = \"\";\r\n if (props.clientType === clientTypeEnum.Individual) {\r\n name = `${(row as CustomerSearchResult).FirstName} ${(row as CustomerSearchResult).LastName}`;\r\n } else if (props.clientType === clientTypeEnum.Organisation) {\r\n name = (row as OrganisationSearchResult).Name;\r\n } else {\r\n name = (row as AccountSearchResult).AccountName;\r\n }\r\n\r\n return checkPermission(UserClaim.AdviserPortalClientSummaryCanView) ? (\r\n \r\n RoutingActions.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId:\r\n props.clientType !== clientTypeEnum.Consolidated\r\n ? HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row.CustomerId\r\n )\r\n : (row as AccountSearchResult).HierarchyId,\r\n })\r\n .summary.getUrl()\r\n )\r\n }\r\n >\r\n {name}\r\n \r\n ) : (\r\n name\r\n );\r\n },\r\n },\r\n {\r\n title: \"Date of birth\",\r\n key: \"DateOfBirth\",\r\n render: (data, row: CustomerSearchResult) => {\r\n if (props.clientType !== clientTypeEnum.Individual) {return \"-\";}\r\n return (\r\n <>\r\n {JsonDateParser.getFormatDate(row.DateOfBirth, \"dd/MM/yyyy\")}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Client type\",\r\n key: \"\",\r\n render: (data, row) => {\r\n return props.clientType;\r\n },\r\n },\r\n {\r\n title: \"Assigned adviser\",\r\n key: \"\",\r\n render: (data, row: CustomerSearchResult | OrganisationSearchResult | AccountSearchResult) => {\r\n if (props.clientType === clientTypeEnum.Consolidated) {return (row as AccountSearchResult).AdviserName;}\r\n return (row as CustomerSearchResult | OrganisationSearchResult).OwnerAdviserName;\r\n },\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"CustomerStatus\",\r\n render: (data, row: CustomerSearchResult | OrganisationSearchResult | AccountSearchResult) => {\r\n return props.clientType === clientTypeEnum.Individual\r\n ? (row as CustomerSearchResult).IsProspect\r\n ? \"Prospect\"\r\n : customerStatusMap[data]\r\n : props.clientType === clientTypeEnum.Organisation\r\n ? (row as OrganisationSearchResult).IsProspect\r\n ? \"Prospect\"\r\n : organisationStatusMap[(row as Organisation).Status]\r\n : accountStatusMap[(row as AccountSearchResult).Status];\r\n },\r\n },\r\n {\r\n title: \"Details\", \r\n render: (data, row: CustomerSearchResult | OrganisationSearchResult | AccountSearchResult, index: number) => {\r\n return(\r\n \r\n );\r\n },\r\n },\r\n ];\r\n \r\n return (\r\n \r\n {\r\n props.onPageChange(pageIndex, pageSize);\r\n },\r\n pageSize: 20,\r\n currentPage: props.currentPage,\r\n }}\r\n rowCssWrapper={props.clientType === clientTypeEnum.Consolidated ? \"pre\" : null}\r\n />\r\n \r\n );\r\n};\r\n","import { now } from \"jquery\";\r\nimport React from \"react\";\r\nimport { CustomerType } from \"../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { CoachMarkerSetType } from \"../../../../../../Wrap/Models/Models/CoachMarkers/CoachMarkerSetType\";\r\nimport { CoachMarkerStepPosition } from \"../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { ICoachMarkerPageConfig } from \"../../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\n\r\nexport const enum clientTypeEnum {\r\n Individual = \"Individual\",\r\n Organisation = \"Organisation\",\r\n Consolidated = \"Consolidated\",\r\n AdvancedSerach = \"AdvancedSearch\",\r\n}\r\n\r\nexport const customerStatusMap = {\r\n [CustomerStatus.NotSpecified]: \"All\",\r\n [CustomerStatus.Inactive]: \"Inactive\",\r\n [CustomerStatus.Active]: \"Active\",\r\n [CustomerStatus.Deceased]: \"Deceased\",\r\n};\r\n\r\nexport const individualClientStatus =\r\n{\r\n [CustomerStatus.NotSpecified]: \"All\",\r\n [CustomerStatus.Active]: \"Active\",\r\n [CustomerStatus.Prospect]: \"Prospect\",\r\n [CustomerStatus.Deceased]: \"Deceased\",\r\n};\r\n\r\nexport const organisationTypeArray = [\r\n CustomerType.NotSpecified,\r\n CustomerType.Trust,\r\n CustomerType.CorporateTrust,\r\n CustomerType.Company,\r\n];\r\n\r\nexport const organisationStatusMap = {\r\n [CustomerStatus.NotSpecified]: \"All\",\r\n [CustomerStatus.Active]: \"Active\",\r\n [CustomerStatus.Prospect]: \"Prospect\",\r\n [CustomerStatus.Inactive]: \"Inactive\",\r\n};\r\n\r\nexport const RoleTypeMap = {\r\n [RoleType.NotSpecified]: \"All\",\r\n [RoleType.IndividualAccountHolder]: \"Individual\",\r\n [RoleType.JointAccountHolder]: \"Joint\",\r\n [RoleType.Trustee]: \"Trustee\",\r\n [RoleType.Beneficiary]: \"Beneficiary\",\r\n [RoleType.Settlor]: \"Settlor\",\r\n};\r\n\r\nexport const accountStatusMap = {\r\n [AccountStatus.Active]: \"Wrap: Active\",\r\n [AccountStatus.PendingTC]: \"Wrap: Pending Terms & Conditions\",\r\n [AccountStatus.PendingCompliance]: \"Wrap: Pending Compliance Check\",\r\n [AccountStatus.Suspended]: \"Wrap: Suspended\",\r\n [AccountStatus.Deceased]: \"Wrap: Deceased\",\r\n [AccountStatus.DeceasedClosed]: \"Wrap: Deceased-Closed\",\r\n [AccountStatus.Closing]: \"Wrap: Closing\",\r\n [AccountStatus.Closed]: \"Wrap: Closed\",\r\n [AccountStatus.RecordOnly]: \"Non-Wrap: Record Only\",\r\n [AccountStatus.Potential]: \"Non-Wrap: Potential\",\r\n [AccountStatus.Introductory]: \"Non-Wrap: Introductor Pack\",\r\n [AccountStatus.Targeted]: \"Non-Wrap: Targeted\",\r\n [AccountStatus.InProgress]: \"Non-Wrap: In Progress\",\r\n [AccountStatus.Submitted]: \"Non-Wrap: Submitted\",\r\n [AccountStatus.Rejected]: \"Non-Wrap: Rejected\",\r\n [AccountStatus.InActive]: \"Non-Wrap: Inactive\",\r\n};\r\n\r\nexport const accountStatusMapSorted = {\r\n 0: [AccountStatus.Active],\r\n 1: [AccountStatus.PendingTC],\r\n 2: [AccountStatus.PendingCompliance],\r\n 3: [AccountStatus.Suspended],\r\n 4: [AccountStatus.Deceased],\r\n 5: [AccountStatus.DeceasedClosed],\r\n 6: [AccountStatus.Closing],\r\n 7: [AccountStatus.Closed],\r\n 8: [AccountStatus.RecordOnly],\r\n 9: [AccountStatus.Potential],\r\n 10: [AccountStatus.Introductory],\r\n 11: [AccountStatus.Targeted],\r\n 12: [AccountStatus.InProgress],\r\n 13: [AccountStatus.Submitted],\r\n 14: [AccountStatus.Rejected],\r\n 15: [AccountStatus.InActive],\r\n};\r\n\r\nexport const organisationTypeMap = {\r\n [CustomerType.NotSpecified]: \"All\",\r\n [CustomerType.CorporateTrust]: \"Corporate trust\",\r\n [CustomerType.Trust]: \"Trust\",\r\n [CustomerType.Company]: \"Company\",\r\n};\r\n\r\nexport const ALL = 98;\r\nexport const ALL_WRAP = 99;\r\nexport const ALL_NON_WRAP = 100;\r\n\r\nexport const wrapStatuses = [\r\n AccountStatus.Active,\r\n AccountStatus.PendingTC,\r\n AccountStatus.PendingCompliance,\r\n AccountStatus.Suspended,\r\n AccountStatus.Deceased,\r\n AccountStatus.DeceasedClosed,\r\n AccountStatus.Closing,\r\n AccountStatus.Closed,\r\n];\r\n\r\nexport const nonWrapStatuses = [\r\n AccountStatus.RecordOnly,\r\n AccountStatus.Potential,\r\n AccountStatus.Introductory,\r\n AccountStatus.Targeted,\r\n AccountStatus.Submitted,\r\n AccountStatus.Rejected,\r\n];\r\n\r\nexport const individualClientStatusSorted = [\r\n CustomerStatus.NotSpecified,\r\n CustomerStatus.Active,\r\n CustomerStatus.Prospect,\r\n CustomerStatus.Deceased\r\n];\r\n\r\nexport const organisationStatusMapSorted = [\r\n CustomerStatus.NotSpecified,\r\n CustomerStatus.Active,\r\n CustomerStatus.Prospect,\r\n CustomerStatus.Inactive,\r\n];\r\n\r\nexport const getStatus = (status) => {\r\n switch (status) {\r\n case ALL:\r\n return wrapStatuses.concat(nonWrapStatuses);\r\n case ALL_WRAP:\r\n return wrapStatuses;\r\n case ALL_NON_WRAP:\r\n return nonWrapStatuses;\r\n case null:\r\n return null;\r\n default:\r\n return [status];\r\n }\r\n};\r\n\r\nexport const clientSearchCoachmarkerConfig: ICoachMarkerPageConfig = {\r\n coachMarkerSetType: CoachMarkerSetType.FnzOneClientSearch,\r\n steps: [\r\n {\r\n title: \"Search categories\",\r\n stepPosition: CoachMarkerStepPosition.Bottom,\r\n positionTop: 63,\r\n positionLeft: 0,\r\n stepKey: \"client-search-criteria\",\r\n description: (\r\n <>\r\n You can now easily and quickly search by different criteria across client, consolidated or\r\n organisation account level categories.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Advanced query\",\r\n stepPosition: CoachMarkerStepPosition.Bottom,\r\n stepKey: \"client-search-advanced\",\r\n positionLeft: 320,\r\n positionTop: 63,\r\n description: (\r\n <>\r\n Advanced query allows you to further segment your search criteria by Wrapper, Mandate, Regular\r\n payments or Regular withdrawals.\r\n \r\n ),\r\n },\r\n ],\r\n};\r\n\r\nexport const AccountNumberMinLengthValidationErrorMessage =\r\n \"Please enter a minimum of 3 characters (not including spaces) to trigger results\";\r\n\r\n ","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviserChargesContents } from \"../Resource/Contents\";\r\n\r\ninterface IChargesOnIllustrationProps extends IProcessComponentProps {}\r\n\r\ninterface IChargesOnIllustrationState {}\r\n\r\nexport class ChargesOnIllustration extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (isNullOrEmpty(data?.ChargesExtraInfo?.ExcludeChargesOnIllustration)) {\r\n this.onDataChange(onChange, { ExcludeChargesOnIllustration: false }, data, \"ChargesExtraInfo\");\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n

{AdviserChargesContents.ChargesOnIllustration}

\r\n (v ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n onChange={(v) =>\r\n this.onDataChange(onChange, { ExcludeChargesOnIllustration: v }, data, \"ChargesExtraInfo\")\r\n }\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { CommissionCharge as CommissionChargeModel } from \"../../../../../../../Wrap/Models/Models/Charges/CommissionCharge\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { SPTAction } from \"../../../SinglePaymentTransferWizard/Actions/SPTActions\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { CommissionChargeMessage } from \"./CommissionChargeMessage\";\r\n\r\ninterface ICommissionChargeProps extends IProcessComponentProps {\r\n headAccountHierarchyId: string;\r\n data: ContributionAndWithdrawalBase;\r\n processType: ProcessType;\r\n}\r\n\r\ninterface ICommissionChargeState {\r\n charges: CommissionChargeModel[];\r\n}\r\n\r\nexport class CommissionCharge extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n charges: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n SPTAction.getCommissionCharges(this.props.headAccountHierarchyId, (d) => {\r\n this.setState({ charges: d });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const { charges } = this.state;\r\n if (!charges || charges.length == 0) {return null;}\r\n return (\r\n <>\r\n
\r\n\r\n \r\n\r\n {SectionHeader(\"FBRC\")}\r\n {\r\n return data.toFixed(2) + \"%\";\r\n },\r\n },\r\n {\r\n title: \"Frequency\",\r\n key: \"Frequency\",\r\n render: (data: string) => {\r\n switch (data.toLowerCase()) {\r\n case \"m\":\r\n return \"Monthly\";\r\n case \"q\":\r\n return \"Quarterly\";\r\n case \"s\":\r\n return \"Half Yearly\";\r\n case \"a\":\r\n return \"Annually\";\r\n default:\r\n return \"\";\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n onChange({ CancelAllCommissionCharges: v })}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { CommissionChargeMessage } from \"./CommissionChargeMessage\";\r\n\r\ninterface ICommissionChargeCancelMsgProps {\r\n cancelAll?: boolean;\r\n processType: ProcessType;\r\n}\r\n\r\ninterface ICommissionChargeCancelMsgState {}\r\n\r\nexport class CommissionChargeCancelMsg extends BaseComponent<\r\n ICommissionChargeCancelMsgProps,\r\n ICommissionChargeCancelMsgState\r\n> {\r\n public render(): JSX.Element {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { includes } from \"lodash\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SwitchAction } from \"../../../Switch/Action/SwitchAction\";\r\n\r\ninterface ICommissionChargeMessageProps {\r\n processType: ProcessType;\r\n cancelAll?: boolean;\r\n message?: string;\r\n hierachyid?: string;\r\n}\r\n\r\ninterface ICommissionChargeMessageState {\r\n rate: number | null;\r\n Discretionary: boolean;\r\n}\r\n\r\nexport class CommissionChargeMessage extends BaseComponent<\r\n ICommissionChargeMessageProps,\r\n ICommissionChargeMessageState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n rate: null,\r\n Discretionary: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n SwitchAction.checkFBRC(getQueryParameters()[\"subaccounthierarchyid\"], (val) => {\r\n this.setState({ rate: val?.Rate, Discretionary: val?.Discretionary });\r\n });\r\n }\r\n\r\n private getProccessType(): ProcessType {\r\n return this.props.processType;\r\n }\r\n\r\n private hasFBRC(): boolean {\r\n return !CommonHelper.isNullOrEmpty(this.state.rate);\r\n }\r\n\r\n private shouldDisplayMessageForFbrcOff() {\r\n const processType: ProcessType = this.getProccessType();\r\n const hasSelfFBRC = this.hasFBRC();\r\n if (\r\n includes([ProcessType.SinglePayment, ProcessType.AddRegular, ProcessType.EditRegular], processType) &&\r\n (this.props.cancelAll || hasSelfFBRC)\r\n ) {\r\n return true;\r\n }\r\n\r\n if (includes([ProcessType.Buy, ProcessType.Sell, ProcessType.Switch], processType) && hasSelfFBRC) {\r\n return !this.state.Discretionary;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private shouldDisplayMessage() {\r\n return this.shouldDisplayMessageForFbrcOff();\r\n }\r\n\r\n public renderMessage() {\r\n return ;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const isShow = this.shouldDisplayMessage();\r\n if (!isShow) {return null;}\r\n return this.renderMessage();\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { PercentageOrMoney } from \"../../../../../../Shared/PercentageOrMoney/PercentageOrMoney\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { ChargesHelper } from \"../../Helpers/ChargesHelper\";\r\nimport { AdviserChargesContents, AdviserChargesValidation, ChargeFromMap, ChargeFromTypes } from \"../Resource/Contents\";\r\nimport { ClientAccountStore, ProductDetailsStore } from \"../../../../../Stroes/Variable\";\r\nimport { SourceType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\n\r\ninterface IIACProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n existingAccount?: boolean;\r\n}\r\n\r\ninterface IIACState {\r\n wrapcashCurrentTotal?: number;\r\n}\r\n\r\nexport class IAC extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n wrapcashCurrentTotal: null,\r\n };\r\n this.subscribeToStore(ProductDetailsStore, () => this.onProductDetailsChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange, existingAccount, type } = this.props;\r\n if (existingAccount && !this.state.wrapcashCurrentTotal) {\r\n this.onProductDetailsChange();\r\n }\r\n const sourceType = SubAccountTypeHelper.isOnPlatformPension(type) ? SourceType.ProductCash : SourceType.WrapCash;\r\n if (isNullOrEmpty(data?.InitialAdviserCharge?.SourceType) || data?.InitialAdviserCharge?.SourceType == 0) {\r\n this.onDataChange(onChange, { SourceType: sourceType }, data, \"InitialAdviserCharge\");\r\n }\r\n if (!this.state.wrapcashCurrentTotal) {\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n if (clientAccount?.SubAccounts?.some((x) => x.SubAccountType == SubAccountType.WrapCash)) {\r\n const _date = JsonDateParser.getFormatDateString(new Date(), \"yyyy/MM/dd\") as any;\r\n Action.getProductsValuationDetailSummary(\r\n clientAccount?.SubAccounts?.find((a) => a.SubAccountType == SubAccountType.WrapCash).HierarchyId,\r\n null,\r\n _date\r\n );\r\n }\r\n }\r\n }\r\n\r\n onProductDetailsChange() {\r\n const result = ProductDetailsStore.getSubAccount(SubAccountType.WrapCash);\r\n if (result) {\r\n this.setState({\r\n wrapcashCurrentTotal: result.TotalValue?.Amount,\r\n });\r\n }\r\n }\r\n\r\n isPercentage(): boolean {\r\n const { data } = this.props;\r\n return (\r\n !data || (data.InitialAdviserCharge && data.InitialAdviserCharge.Type == MoneyOrPercentageType.Percentage)\r\n );\r\n }\r\n\r\n renderAlert(totalForEstimation: number) {\r\n const percentage = this.getPercentageBasedOnAmountOrPercentage(totalForEstimation);\r\n const alerts = [];\r\n if (this.iacGiven() && SubAccountTypeHelper.isOnPlatformPension(this.props.type)) {\r\n alerts.push();\r\n }\r\n if (percentage >= 10) {\r\n alerts.push(\r\n \r\n );\r\n }\r\n if (\r\n (this.props.data?.InitialAdviserCharge?.SourceType == undefined ||\r\n this.props.data?.InitialAdviserCharge?.SourceType == SourceType.NotSpecified ||\r\n this.props.data?.InitialAdviserCharge?.SourceType == SourceType.WrapCash) &&\r\n this.iacGiven()\r\n ) {\r\n alerts.push(\r\n \r\n );\r\n }\r\n if (!this.validateSufficientWrapCashForSPT(totalForEstimation)) {\r\n alerts.push(\r\n \r\n );\r\n }\r\n if (alerts.length > 0) {\r\n return <>{alerts};\r\n }\r\n }\r\n\r\n validateSufficientWrapCashForSPT(totalForEstimation: number) {\r\n if (!this.state.wrapcashCurrentTotal || !this.iacGiven()) {\r\n return true;\r\n }\r\n const { data } = this.props;\r\n let iac = 0;\r\n if (\r\n data?.InitialAdviserCharge?.Type === MoneyOrPercentageType.Money &&\r\n data?.InitialAdviserCharge?.Money.Amount > 0\r\n ) {\r\n iac = data.InitialAdviserCharge.Money.Amount;\r\n } else if (\r\n data?.InitialAdviserCharge?.Type === MoneyOrPercentageType.Percentage &&\r\n data?.InitialAdviserCharge?.Percentage > 0\r\n ) {\r\n iac = (totalForEstimation * data.InitialAdviserCharge.Percentage) / 100;\r\n }\r\n return iac <= this.state.wrapcashCurrentTotal;\r\n }\r\n\r\n getPercentageBasedOnAmountOrPercentage(totalForEstimation: number) {\r\n const iac = this.props.data?.InitialAdviserCharge;\r\n let percentageValue = iac?.Percentage;\r\n if (iac && iac.Money && iac.Money.Amount && iac.Money.Amount > 0) {\r\n percentageValue = (iac.Money.Amount / totalForEstimation) * 100;\r\n }\r\n return percentageValue;\r\n }\r\n\r\n getTotalForEstimation(): number {\r\n return ChargesHelper.getTotalForIACEstimation(this.props.data, this.props.type);\r\n }\r\n\r\n iacGiven(): boolean {\r\n const amount = this.props.data?.InitialAdviserCharge?.Money;\r\n const percentage = this.props.data?.InitialAdviserCharge?.Percentage;\r\n return percentage || (amount && amount.Amount && amount.Amount > 0);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, type } = this.props;\r\n const totalForEstimation = this.getTotalForEstimation();\r\n if (totalForEstimation <= 0) {\r\n return null;\r\n }\r\n return (\r\n \r\n {SectionHeader(\r\n AdviserChargesContents.IAC,\r\n \"For monetary (£) Initial Adviser Charges – we try to take these straight away if there is cleared cash. For percentage (%) Initial Adviser Charges – we will pay this once the expected cash has been applied.\"\r\n )}\r\n {this.renderAlert(totalForEstimation)}\r\n {\r\n this.onDataChange(onChange, v, data, \"InitialAdviserCharge\");\r\n }}\r\n totalForEstimation={totalForEstimation}\r\n validationRules={[\r\n {\r\n errorMessage: AdviserChargesValidation.InsufficientCashForIAC,\r\n validator: (v) => {\r\n return true;\r\n },\r\n },\r\n ]}\r\n onRef={(ref) => this.appendChild(ref)}\r\n cssWrapper=\"mb-4\"\r\n cssPercentageOrMoneyClasses=\"control-size-115\"\r\n />\r\n\r\n {SubAccountTypeHelper.isOnPlatformPension(type) && (\r\n ChargeFromMap[o]}\r\n required={this.iacGiven() ? \"required\" : null}\r\n onChange={(v) => this.onDataChange(onChange, { SourceType: v }, data, \"InitialAdviserCharge\")}\r\n />\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { Frequency } from \"../../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { SourceType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { PercentageOrMoney } from \"../../../../../../Shared/PercentageOrMoney/PercentageOrMoney\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { ProductDetailsStore } from \"../../../../../Stroes/Variable\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { FrequencyArraysMap, FrequencyTypeArrays } from \"../../Resource/Contents\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { AdviserChargesContents, AdviserChargesValidation, ChargeFromMap, ChargeFromTypes } from \"../Resource/Contents\";\r\ninterface IOACProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n existingAccount?: boolean;\r\n}\r\n\r\ninterface IOACState {\r\n currentTotal?: number;\r\n}\r\n\r\nexport class OAC extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentTotal: null,\r\n };\r\n this.subscribeToStore(ProductDetailsStore, () => this.onProductDetailsChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.readonly) {return;}\r\n const { data, onChange, type, existingAccount } = this.props;\r\n if (existingAccount && !this.state.currentTotal) {\r\n this.onProductDetailsChange();\r\n }\r\n const sourceType = SubAccountTypeHelper.isOnPlatformPension(type) ? SourceType.ProductCash : SourceType.WrapCash;\r\n if (data && data.OngoingAdviceCharge) {\r\n if (isNullOrEmpty(data?.OngoingAdviceCharge?.SourceType) || data?.OngoingAdviceCharge?.SourceType == 0) {\r\n this.onDataChange(onChange, { SourceType: sourceType }, data, \"OngoingAdviceCharge\");\r\n }\r\n if (isNullOrEmpty(data.OngoingAdviceCharge.Frequency)) {\r\n this.onDataChange(onChange, { Frequency: Frequency.Monthly }, data, \"OngoingAdviceCharge\");\r\n }\r\n }\r\n }\r\n\r\n onProductDetailsChange() {\r\n const result = ProductDetailsStore.getSubAccount(this.props.type);\r\n if (result) {\r\n this.setState({\r\n currentTotal: result.TotalValue?.Amount,\r\n });\r\n }\r\n }\r\n\r\n oacGiven(): boolean {\r\n const amount = this.props.data?.OngoingAdviceCharge?.Money;\r\n const percentage = this.props.data?.OngoingAdviceCharge?.Percentage;\r\n return percentage || (amount && amount.Amount && amount.Amount > 0);\r\n }\r\n\r\n renderAlert() {\r\n const percentage = this.getPercentageBasedOnAmountOrPercentage();\r\n const oac = this.props.data?.OngoingAdviceCharge;\r\n console.log(\"oac\", oac);\r\n const alerts = [];\r\n if (percentage >= 10 && percentage < 100) {\r\n alerts.push(\r\n \r\n );\r\n }\r\n if (\r\n SubAccountTypeHelper.isOnPlatformPension(this.props.type) &&\r\n oac?.SourceType == SourceType.WrapCash &&\r\n this.oacGiven()\r\n ) {\r\n alerts.push(\r\n \r\n );\r\n }\r\n if (!isNullOrEmpty(alerts)) {\r\n return alerts;\r\n }\r\n }\r\n\r\n getPercentageBasedOnAmountOrPercentage(): number {\r\n const oac = this.props.data?.OngoingAdviceCharge;\r\n let percentageValue = oac?.Percentage;\r\n if (this.props.existingAccount == true && oac && oac.Money && oac.Money.Amount > 0) {\r\n const total = this.state.currentTotal;\r\n percentageValue = total ? (oac.Money.Amount / total) * 100 : 0;\r\n }\r\n return percentageValue ? percentageValue : 0;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, type } = this.props;\r\n const oac = data?.OngoingAdviceCharge;\r\n return (\r\n \r\n {SectionHeader(\r\n AdviserChargesContents.OAC,\r\n \"Ongoing charges are taken in arrears depending on the frequency you’ve chosen to be paid, e.g. monthly.\"\r\n )}\r\n {this.renderAlert()}\r\n
\r\n
\r\n
\r\n \r\n this.onDataChange(onChange, changes, data, \"OngoingAdviceCharge\")\r\n }\r\n onRef={(ref) => this.appendChild(ref)}\r\n cssPercentageOrMoneyClasses=\"control-size-115\"\r\n />\r\n
\r\n
\r\n {\r\n if (v == Frequency.Yearly) {return \"Annually\";}\r\n return FrequencyArraysMap[v];\r\n }}\r\n required={this.oacGiven() ? \"required\" : null}\r\n selected={oac?.Frequency}\r\n label=\"Deduction frequency\"\r\n onChange={(v) =>\r\n this.onDataChange(onChange, { Frequency: v }, data, \"OngoingAdviceCharge\")\r\n }\r\n />\r\n
\r\n
\r\n
\r\n\r\n {SubAccountTypeHelper.isOnPlatformPension(type) && (\r\n ChargeFromMap[o]}\r\n onChange={(v) => this.onDataChange(onChange, { SourceType: v }, data, \"OngoingAdviceCharge\")}\r\n required={this.oacGiven() ? \"required\" : null}\r\n />\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Numeric } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Frequency } from \"../../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DurationType } from \"../../../../../../../Wrap/Constants/Enums/DurationType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { MoneyHelper } from \"../../../../../../Shared/Common/MoneyHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { ChargesHelper } from \"../../Helpers/ChargesHelper\";\r\n\r\nimport { AdviserChargesContents, AdviserChargesValidation } from \"../Resource/Contents\";\r\nimport { FrequencyArraysMap, FrequencyTypeArrays } from \"../../Resource/Contents\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\n\r\ninterface IRIACProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IRIACState {}\r\n\r\nexport class RIAC extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (data && data.RegularPaymentInitialAdviceCharge) {\r\n if (isNullOrEmpty(data.OngoingAdviceCharge.Frequency)) {\r\n this.onDataChange(\r\n onChange,\r\n { Frequency: Frequency.Monthly },\r\n data,\r\n \"RegularPaymentInitialAdviceCharge\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n riacAmount(): Money {\r\n const { data } = this.props;\r\n const riac = data?.RegularPaymentInitialAdviceCharge;\r\n if (riac && riac.AdviceCharge) {return riac.AdviceCharge.Money;}\r\n return null;\r\n }\r\n\r\n riacAmountGiven(): boolean {\r\n const amount = this.riacAmount();\r\n return amount && amount.Amount > 0;\r\n }\r\n\r\n updateAmount(value: number) {\r\n const data = {\r\n AdviceCharge: {\r\n Type: MoneyOrPercentageType.Money,\r\n Money: { Amount: value, Currency: MoneyHelper.getDefaultCurrency() },\r\n },\r\n };\r\n return data;\r\n }\r\n\r\n updateDuration(value: number) {\r\n return {\r\n Duration: {\r\n DurationType: DurationType.NumberOfPayments,\r\n NumberOfPayments: value,\r\n },\r\n };\r\n }\r\n\r\n renderAlert() {\r\n const { data, type } = this.props;\r\n const riac = this.riacAmount();\r\n if (ChargesHelper.validateRIACAmount(data, type, riac.Amount)) {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, type } = this.props;\r\n const riac = data?.RegularPaymentInitialAdviceCharge;\r\n if (!ChargesHelper.hasRegularPayments(data, type)) {\r\n return null;\r\n }\r\n return (\r\n \r\n {SectionHeader(\r\n AdviserChargesContents.RIAC,\r\n \"For monetary (£) Initial Adviser Charges – we try to take these straight away if there is cleared cash. For percentage (%) Initial Adviser Charges – we will pay this once the expected cash has been applied.\"\r\n )}\r\n {this.renderAlert()}\r\n
\r\n
\r\n {\r\n this.onDataChange(\r\n onChange,\r\n this.updateAmount(v),\r\n data,\r\n \"RegularPaymentInitialAdviceCharge\"\r\n );\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: AdviserChargesValidation.CannotLessThanZero,\r\n validator: (v) => {\r\n return !v || v > 0;\r\n },\r\n },\r\n ]}\r\n alwaysValidateOnUpdate={true}\r\n currency={CurrencyCode.GBP}\r\n />\r\n \r\n \r\n £{(riac?.AdviceCharge.Money.Amount * riac?.Duration?.NumberOfPayments).toFixed(2)}\r\n {\" \"}\r\n total adviser charge\r\n \r\n
\r\n\r\n
\r\n {\r\n this.onDataChange(\r\n onChange,\r\n this.updateDuration(Number(v)),\r\n data,\r\n \"RegularPaymentInitialAdviceCharge\"\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n return FrequencyArraysMap[v];\r\n }}\r\n required=\"Please select frequency\"\r\n selected={riac ? riac.Frequency : Frequency.Monthly}\r\n label=\"Deduction frequency\"\r\n onChange={(v) => {\r\n this.onDataChange(\r\n onChange,\r\n { Frequency: v },\r\n data,\r\n \"RegularPaymentInitialAdviceCharge\"\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { SourceType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SourceType\"\r\n\r\nexport const AdviserChargesContents ={\r\n AcHeader : \"Adviser charges\",\r\n ProductLevel : \"Product level\",\r\n ChargesOnIllustration : \"Charges on illustration\",\r\n IAC : \"Initial adviser charge\",\r\n OAC : \"Ongoing adviser charge\",\r\n RIAC : \"Regular payment adviser charge\",\r\n Rate : \"Rate\",\r\n InputType : \"Input by percentage or amount\",\r\n Estimated : \"Estimated\",\r\n RIACTooltip : \"Regular Initial Adviser Charge - charge for regular payments made by the client.\",\r\n OACTooltip : \"Ongoing Adviser Charge\",\r\n IACTooltip : \"Initial Adivser Charge\",\r\n ChargesOnIllustrationToolTip : \"If you choose to exclude adviser charges from your illustration, the adviser charges will be excluded from any projections and effect of deductions tables.\",\r\n CopyFromSipp : \"Would you like to use the same adviser charges as SIPP?\",\r\n CopyFromIsa : \"Would you like to use the same adviser charges as ISA?\",\r\n}\r\n\r\nexport const AdviserChargesValidation = {\r\n RIACEqualsOrGreaterThanRegularPayment : \"You have requested a Regular Initial Adviser Charge equal to or greater than the first regular Premium investment. Please note we will be unable to pay this charge if there is insufficient value in the pension when it is due\",\r\n WrapCashOACWarningMessage : \"Please be aware that we are unable to auto-disinvest from Wrap SIPP to fund ongoing charge set up to pay from wrap cash.\",\r\n WrapCashIACWarningMessage:\"Please ensure there is sufficient wrap cash allocated to pay the initial adviser charge requested.\",\r\n CannotLessThanZero: \"cannot be less than 0\",\r\n CurrenciesNotMatching : \"Currencies don't match\",\r\n InsufficientCashForIAC : \"There is insufficient cash to pay the initial adviser charge(s) requested\",\r\n InvalidInput : \"invalid input\",\r\n IACWarningMessage:\"Please note the initial adviser charge will only be paid when the selected payment has been received. Initial adviser charge cannot be taken from regular payments.\"\r\n}\r\n\r\nexport const ChargeFromMap = {\r\n [SourceType.WrapCash] : \"Wrap cash\",\r\n [SourceType.ProductCash] : \"Product cash\"\r\n}\r\n\r\nexport const ChargeFromTypes = [SourceType.ProductCash, SourceType.WrapCash]\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyHelper } from \"../../../../../Shared/Common/MoneyHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { addDays } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SecurityType } from \"../../../../../../Wrap/Constants/Enums/Domain/Instrument/SecurityType\";\r\nimport { OrderType } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderType\";\r\nimport { ProductType } from \"../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { Instrument } from \"../../../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { Investment } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ContentDatePicker } from \"../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { InvestmentSelectionAction } from \"../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { UnderlyingTable } from \"../../../../../Shared/IST/Components/Shared/UnderlyingTable\";\r\nimport { ProcessType, GBPInvestmentCode } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { TableHeader } from \"../../../../../Shared/Table/Components/TableHeader\";\r\nimport { TableRow } from \"../../../../../Shared/Table/Components/TableRow\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\nimport AriaTooltip from \"../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\nimport { InvestmentDetailsPopupModal } from \"../InvestmentDetailsPopUp/InvestmentDetailsPopupModal\";\r\nimport { sellAllTooltip } from \"../../Sell/Resource/Content\";\r\nimport { treasureAssetTooltip } from \"../../Sell/Resource/Content\";\r\nimport { orderAmendedMsg } from \"../../Switch/Resource/Content\";\r\nimport { SubAccountTypeHelper } from \"../Helpers/SubAccountTypeHelper\";\r\nimport { datePickerOptions, processTypeEnum } from \"../Resource/Contents\";\r\nimport { TreasuredAssetsStore } from \"../../../../../../applications/Dashboard/Stroes/Variable\";\r\nimport { DepositProduct } from \"../../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\nimport { BatchType } from \"../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\n\r\ninterface IBuySellAllocationTableProps extends IProcessComponentProps {\r\n process: ProcessType;\r\n orderType: OrderType;\r\n totalValue: number;\r\n onToggle: (isToggle, index, row) => void;\r\n excludeLimit?: boolean;\r\n onTreasuredAssetChange: Function;\r\n ChecktreasuredAsset: Array;\r\n depositProducts: Record;\r\n batchType: BatchType;\r\n}\r\n\r\ninterface IBuySellAllocationTableState {\r\n code: string;\r\n selectedInvestment: Investment;\r\n isShowDetailModal: boolean;\r\n showOrderAmendedMessage: number[];\r\n}\r\n\r\nexport class BuySellAllocationTable extends ProcessComponent<\r\n IBuySellAllocationTableProps,\r\n IBuySellAllocationTableState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n code: null,\r\n selectedInvestment: null,\r\n isShowDetailModal: false,\r\n showOrderAmendedMessage: []\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps: IBuySellAllocationTableProps) {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.orderType !== this.props.orderType) {\r\n this.setState({ showOrderAmendedMessage: [] });\r\n }\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n const total = this.props.data.reduce(\r\n (sum, curr) => (sum = sum + (curr.OrderValue ? Number(Number(curr.OrderValue).toFixed(2)) : 0)),\r\n 0\r\n );\r\n\r\n const totalPrecentage = this.props.data.reduce(\r\n (sum, curr) => (sum = sum + (curr.OrderPercentage ? Number(Number(curr.OrderPercentage).toFixed(2)) : 0)),\r\n 0\r\n );\r\n\r\n let matchTotalValue = this.props.data && Number(total.toFixed(2)) == this.props.totalValue;\r\n if (this.props.orderType == OrderType.Percentage && this.props.process == ProcessType.Buy) {\r\n matchTotalValue = Number(totalPrecentage.toFixed(2)) == 100;\r\n }\r\n if (!matchTotalValue) {\r\n this.props.showErrorMsgPopUp([\"Price of investments not matching the total value\"]);\r\n }\r\n return flag && matchTotalValue;\r\n }\r\n\r\n private onChangeInvestment = (changes, InstrumentCode, shouldUncheckEvenWeight = false) => {\r\n const _data: any[] = this.props.data.concat();\r\n const index = _data.findIndex((ele) => ele.InstrumentCode == InstrumentCode);\r\n if (index < 0) return _data;\r\n if (changes == -1) {\r\n _data.splice(index, 1);\r\n } else {\r\n const obj = _data[index];\r\n for (const key in changes) {\r\n obj[key] = changes[key];\r\n }\r\n _data[index] = obj;\r\n }\r\n this.props.onChange(_data, shouldUncheckEvenWeight);\r\n };\r\n\r\n private disableSell = (row) => {\r\n const hasOpenSellOrders: boolean = !this.isCashProduct(row) &&\r\n (row.Instrument.HasOpenValueSellOrder || row.Instrument.SellOrders > 0);\r\n\r\n return (\r\n this.isSellOrSwitchFrom(this.props.process) &&\r\n (hasOpenSellOrders ||\r\n !row.tradeable ||\r\n row.Instrument.CurrQuantity <= 0 ||\r\n (this.isCashProduct(row) && this.props.batchType === BatchType.Standing))\r\n );\r\n };\r\n \r\n private isSellOrSwitchFrom(processType: ProcessType) {\r\n return processType == ProcessType.Sell || processType == ProcessType.SwitchFrom;\r\n }\r\n\r\n private sellAll = (v: boolean, code) => {\r\n const _data: any[] = this.props.data.concat();\r\n const ele = _data.find((ele) => ele.InstrumentCode == code);\r\n this.onChangeInvestment(\r\n {\r\n OrderValue: v ? ele.Instrument.MarketValue.Amount : null,\r\n OrderQuantity: v ? ele.Instrument.CurrQuantity.toFixed(4) : null,\r\n OrderPercentage: v ? 100 : null,\r\n isSellAll: v,\r\n Type: v ? OrderType.Quantity : this.props.orderType,\r\n },\r\n code\r\n );\r\n };\r\n\r\n private isCashProduct = (row): boolean =>\r\n {\r\n return row.Instrument.Type === ProductType.CashProduct;\r\n }\r\n\r\n private treasureAsset = (v: boolean, code) => {\r\n const _data: any[] = this.props.data.concat();\r\n const ele = _data.find((ele) => ele.InstrumentCode == code);\r\n\r\n this.props.onTreasuredAssetChange(v, ele.Instrument.ProductId);\r\n };\r\n\r\n private targetAllocationTable = (data) => {\r\n const col = [\r\n {\r\n title: \"Underlying investments\",\r\n key: \"Name\",\r\n render: (data, row, index) => {\r\n if (data == \"GBP Cash\") return data;\r\n return (\r\n this.onInvestmentSelected(row, row.UnitCost)}>\r\n {data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Target allocation\",\r\n key: \"targetAllocation\",\r\n },\r\n ];\r\n return (\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n private onInvestmentSelected(investment, unitCost?) {\r\n const _investment: Instrument = {\r\n ...investment,\r\n ProductCode: investment.ProductCode || investment.InstrumentCode,\r\n Name: investment.Name || investment.DisplayName,\r\n };\r\n InvestmentSelectionAction.getUnitPrice(\r\n _investment,\r\n (d) => {\r\n this.setState({ selectedInvestment: d, isShowDetailModal: true });\r\n },\r\n unitCost\r\n );\r\n }\r\n\r\n private renderInvestmentDetailPopupModal(): JSX.Element {\r\n const { isShowDetailModal, selectedInvestment } = this.state;\r\n\r\n if (!isShowDetailModal) return null;\r\n return (\r\n <>\r\n {\r\n this.setState({ isShowDetailModal: false });\r\n }}\r\n instrumentCode={selectedInvestment?.InstrumentCode}\r\n productId={selectedInvestment?.ProductId}\r\n instrumentName={selectedInvestment?.DisplayName}\r\n unitCost={selectedInvestment?.UnitCost}\r\n securityType={selectedInvestment?.Type}\r\n unitPrice={selectedInvestment?.UnitPrice}\r\n />\r\n \r\n );\r\n }\r\n\r\n private getTableConfig = (\r\n process: ProcessType,\r\n quantityType: OrderType,\r\n hasLimit,\r\n valueAtMax: number = 100,\r\n errorMsgAtMax: string = \"value can't exceed 100%\"\r\n ): ITableConfig[] => {\r\n return [\r\n {\r\n title: \"Investment\",\r\n key: \"Instrument.DisplayName\",\r\n thCssWrapper: \"pl-0\",\r\n tdCssWrapper: \"pl-0 pt-28 pb-28\",\r\n toogleOptions: (row, index) => {\r\n if (row.isTargetAllocation) {\r\n return {\r\n toogleable: false,\r\n };\r\n }\r\n if (\r\n [\r\n ProductType.ManagedModelPortfolio,\r\n ProductType.TailoredModelPortfolio,\r\n ProductType.AdviserModelPortfolio,\r\n ].includes(row.Instrument.Type)\r\n ) {\r\n return {\r\n toogleable: true,\r\n onToogle: (isToggle) => this.props.onToggle(isToggle, index, row),\r\n isToogle: row.isToggle,\r\n expandContent: row.modelPortfolioType ? (\r\n \r\n ) : (\r\n this.targetAllocationTable(row.underlying?.ModelPortfolioProducts)\r\n ),\r\n };\r\n }\r\n\r\n return {\r\n toogleable: false,\r\n };\r\n },\r\n render: (data, row) => {\r\n let label = null;\r\n if (\r\n [\r\n ProductType.ManagedModelPortfolio,\r\n ProductType.TailoredModelPortfolio,\r\n ProductType.AdviserModelPortfolio,\r\n ].includes(row.Instrument.Type)\r\n ) {\r\n label =

{row.Instrument.Name || data}

;\r\n }\r\n else if (row.Instrument?.InstrumentCode == \"GBPCash\") {\r\n label =

;\r\n }\r\n else {\r\n label = (\r\n \r\n this.onInvestmentSelected(\r\n row.Instrument,\r\n this.isSellOrSwitchFrom(process) ? row.Instrument.UnitCost : null\r\n )\r\n }\r\n >\r\n {row.Instrument.Name || data}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {label}\r\n

{row.Instrument.ProductCode || row.Instrument.InstrumentCode}

\r\n {([ProductType.Equity, ProductType.Bond].includes(row.Instrument.Type) ||\r\n [SecurityType.Bond, SecurityType.Share].includes(row.Instrument.Type)) && row.Instrument.Name != 'GBP Cash' &&\r\n this.props.excludeLimit != true && (\r\n (o ? \"Limit\" : \"Market\")}\r\n selected={row.isLimit}\r\n disabled={this.disableSell(row)}\r\n onChange={(v) => {\r\n if (v) {\r\n this.onChangeInvestment(\r\n {\r\n isLimit: v,\r\n },\r\n row.InstrumentCode\r\n );\r\n } else {\r\n this.onChangeInvestment(\r\n {\r\n OrderLimit: null,\r\n ExpiryDate: JsonDateParser.toDate(addDays(new Date(), 90)),\r\n isLimit: v,\r\n },\r\n row.InstrumentCode\r\n );\r\n }\r\n }}\r\n cssWrapper=\"rg-inline mb-0\"\r\n />\r\n )}\r\n \r\n );\r\n },\r\n },\r\n this.isSellOrSwitchFrom(process) && {\r\n title: \"Available units\",\r\n key: \"Instrument.CurrQuantity\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row) => {\r\n return (\r\n \r\n {data.toFixed(4)}\r\n \r\n +{row.Instrument.OriginQuantity.toFixed(4)} Holding\r\n
-{row.Instrument.SellOrders.toFixed(4)} Sell Orders\r\n
={row.Instrument.CurrQuantity.toFixed(4)}\r\n
\r\n
\r\n );\r\n },\r\n },\r\n this.isSellOrSwitchFrom(process) && {\r\n title: \"Market value\",\r\n key: \"Instrument.MarketValue\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n (quantityType == OrderType.Value && !this.isSellOrSwitchFrom(process)) && {\r\n title: process == ProcessType.SwitchFrom ? \"Order quantity\" : \"Allocation\",\r\n key: \"OrderValue\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right cell-20\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n if (\r\n this.isSellOrSwitchFrom(this.props.process) &&\r\n v >= row.Instrument.MarketValue.Amount * 0.95 &&\r\n v > 0\r\n ) {\r\n if (v < row.Instrument.MarketValue.Amount) {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.concat(index),\r\n });\r\n }\r\n return this.sellAll(true, row.InstrumentCode);\r\n } else {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.filter(\r\n (ele) => ele !== index\r\n ),\r\n });\r\n }\r\n this.onChangeInvestment(\r\n { OrderValue: v, Type: this.props.orderType },\r\n row.InstrumentCode\r\n );\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n quantityType == OrderType.Percentage && {\r\n title: process == ProcessType.SwitchFrom ? \"Order quantity\" : \"Allocation\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right cell-20\",\r\n key: \"OrderPercentage\",\r\n render: (data, row, index) => {\r\n if (this.isCashProduct(row) &&\r\n this.props.depositProducts[row.Instrument.ProductId] == null) {\r\n return
Loading...
;\r\n }\r\n return (\r\n {\r\n if (this.isSellOrSwitchFrom(this.props.process) && v >= 95) {\r\n if (v < 100) {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.concat(index),\r\n });\r\n }\r\n return this.sellAll(true, row.InstrumentCode);\r\n } else {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.filter(\r\n (ele) => ele !== index\r\n ),\r\n });\r\n }\r\n const value =\r\n this.props.process == ProcessType.Buy\r\n ? this.props.totalValue * v * 0.01\r\n : this.props.data[index].Instrument.MarketValue.Amount * v * 0.01;\r\n const quantity = (this.props.process == ProcessType.Sell || this.props.process == ProcessType.SwitchFrom) ? Number(value.toFixed(2))/this.props.data[index].Instrument.UnitPrice?.Amount : null;\r\n this.onChangeInvestment(\r\n {\r\n OrderPercentage: v,\r\n Type: this.props.orderType,\r\n OrderValue: Number(value.toFixed(2)),\r\n OrderQuantity: quantity\r\n },\r\n row.InstrumentCode\r\n );\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n quantityType == OrderType.Quantity && {\r\n title: process == ProcessType.Buy ? \"Allocation\" : \"Order quantity\",\r\n key: \"OrderQuantity\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n if (this.isCashProduct(row) &&\r\n this.props.depositProducts[row.Instrument.ProductId] == null) {\r\n return
Loading...
;\r\n }\r\n return (\r\n {\r\n if (\r\n this.isSellOrSwitchFrom(this.props.process) &&\r\n v >= row.Instrument.Quantity * 0.95\r\n ) {\r\n if (v < row.Instrument.Quantity) {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.concat(index),\r\n });\r\n }\r\n return this.sellAll(true, row.InstrumentCode);\r\n } else {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.filter(\r\n (ele) => ele !== index\r\n ),\r\n });\r\n }\r\n const percentage = v/row.Instrument.Quantity*100;\r\n this.onChangeInvestment(\r\n {\r\n OrderQuantity: v,\r\n OrderValue:\r\n Number(this.props.data[index].Instrument.UnitPrice.Amount.toFixed(2)) * v,\r\n Type: this.props.orderType,\r\n OrderPercentage: process == ProcessType.Sell || process == ProcessType.SwitchFrom ? percentage : null,\r\n },\r\n row.InstrumentCode\r\n );\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n (quantityType == OrderType.Value && this.isSellOrSwitchFrom(process)) && {\r\n title: \"Order Value\",\r\n key: \"OrderValue\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right cell-20\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n if ((row.OrderValue && row.OrderValue == v) ||\r\n (row.OrderPercentage && row.OrderQuantity && \r\n (Number((row.Instrument?.MarketValue?.Amount * row.OrderPercentage * 0.01).toFixed(2)) == row.OrderValue) ||\r\n (Number((row.Instrument?.UnitPrice?.Amount * row.OrderQuantity).toFixed(2)) == row.OrderValue))) { return; }\r\n else {\r\n if (\r\n this.isSellOrSwitchFrom(this.props.process) &&\r\n v >= row.Instrument.MarketValue.Amount * 0.95 &&\r\n v > 0\r\n ) {\r\n if (v < row.Instrument.MarketValue.Amount) {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.concat(index),\r\n });\r\n }\r\n return this.sellAll(true, row.InstrumentCode);\r\n } else {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.filter(\r\n (ele) => ele !== index\r\n ),\r\n });\r\n }\r\n this.onChangeInvestment(\r\n { OrderValue: v, Type: this.props.orderType, OrderQuantity: null, OrderPercentage: null },\r\n row.InstrumentCode\r\n );\r\n }\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n this.isSellOrSwitchFrom(process) && {\r\n title: \"Order Unit\",\r\n key: \"OrderQuantity\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n if (this.isCashProduct(row) &&\r\n this.props.depositProducts[row.Instrument.ProductId] == null) {\r\n return
Loading...
;\r\n }\r\n return (\r\n {\r\n if (row.OrderQuantity == v||v==null) { return; }\r\n else {\r\n if (\r\n this.isSellOrSwitchFrom(this.props.process) &&\r\n v >= row.Instrument.Quantity * 0.95\r\n ) {\r\n if (v < row.Instrument.Quantity) {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.concat(index),\r\n });\r\n }\r\n return this.sellAll(true, row.InstrumentCode);\r\n } else {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.filter(\r\n (ele) => ele !== index\r\n ),\r\n });\r\n }\r\n const percentage = v / row.Instrument.Quantity * 100;\r\n const ordervalue=this.props.data[index].Instrument.UnitPrice.Amount*v;\r\n this.onChangeInvestment(\r\n {\r\n OrderQuantity: v,\r\n OrderValue:Number(ordervalue.toFixed(2)),\r\n Type: this.props.orderType,\r\n OrderPercentage: process == ProcessType.Sell || process == ProcessType.SwitchFrom ? percentage.toFixed(4) : null,\r\n },\r\n row.InstrumentCode\r\n );\r\n }\r\n }}\r\n />\r\n\r\n );\r\n },\r\n },\r\n this.isSellOrSwitchFrom(process) && {\r\n title: \"Allocation\",\r\n key: \"OrderPercentage\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right cell-20\",\r\n render: (data, row, index) => {\r\n if (this.isCashProduct(row) &&\r\n this.props.depositProducts[row.Instrument.ProductId] == null) {\r\n return
Loading...
;\r\n }\r\n return (\r\n {\r\n if (row.OrderPercentage == v||v==null) { return; }\r\n else {\r\n if (this.isSellOrSwitchFrom(this.props.process) && v >= 95) {\r\n if (v < 100) {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.concat(index),\r\n });\r\n }\r\n return this.sellAll(true, row.InstrumentCode);\r\n } else {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.filter(\r\n (ele) => ele !== index\r\n ),\r\n });\r\n }\r\n const value =\r\n this.props.process == ProcessType.Buy\r\n ? this.props.totalValue * v * 0.01\r\n : this.props.data[index].Instrument.MarketValue.Amount * v * 0.01;\r\n const quantity = (this.props.process == ProcessType.Sell || this.props.process == ProcessType.SwitchFrom) ? Number(value.toFixed(2)) / this.props.data[index].Instrument.UnitPrice?.Amount : null;\r\n this.onChangeInvestment(\r\n {\r\n OrderPercentage: v,\r\n Type: this.props.orderType,\r\n OrderValue: Number(value.toFixed(2)),\r\n OrderQuantity: quantity.toFixed(4)\r\n },\r\n row.InstrumentCode\r\n );\r\n }\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n hasLimit && {\r\n title: \"Limit\",\r\n key: \"OrderLimit\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right cell-20\",\r\n render: (data, row) => {\r\n if (\r\n ![ProductType.Equity, ProductType.Bond].includes(row.Instrument.Type) &&\r\n ![SecurityType.Bond, SecurityType.Share].includes(row.Instrument.Type)\r\n ) {\r\n return null;\r\n }\r\n if (!row.isLimit) return null;\r\n return (\r\n {\r\n this.onChangeInvestment(\r\n { OrderLimit: v, Type: row.isSellAll ? OrderType.Quantity : this.props.orderType },\r\n row.InstrumentCode\r\n );\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n hasLimit && {\r\n title: \"Expiry Date\",\r\n key: \"ExpiryDate\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right cell-20\",\r\n render: (data, row) => {\r\n if (\r\n ![ProductType.Equity, ProductType.Bond].includes(row.Instrument.Type) &&\r\n ![SecurityType.Bond, SecurityType.Share].includes(row.Instrument.Type)\r\n ) {\r\n return null;\r\n }\r\n if (!row.isLimit) return null;\r\n return (\r\n \r\n this.onChangeInvestment(\r\n { ExpiryDate: JsonDateParser.toJsonDateNoOffset(v) },\r\n row.InstrumentCode\r\n )\r\n }\r\n {...datePickerOptions}\r\n required=\"Please enter\"\r\n atLeast={{\r\n value: new Date(),\r\n errorMessage: ContentDatePicker.CannotBeInThePast,\r\n }}\r\n atMost={{\r\n value: addDays(new Date(), 90),\r\n errorMessage: \"The maximum expiry date is 90 days\",\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n process == ProcessType.Buy && {\r\n title: \"Action\",\r\n key: \"Action\",\r\n thCssWrapper: \"cell-right cell-20 pr-0\",\r\n tdCssWrapper: \"cell-right cell-20 pr-0\",\r\n render: (data, row) => {\r\n if (row.Instrument.DisplayName == \"GBP Cash\") return null;\r\n return (\r\n this.onChangeInvestment(-1, row.InstrumentCode, true)}\r\n >\r\n \r\n remove portfolio\r\n \r\n );\r\n },\r\n },\r\n this.isSellOrSwitchFrom(process) && {\r\n thCssWrapper: \"cell-right pr-0\",\r\n tdCssWrapper: \"cell-right pr-0\",\r\n title: (\r\n \r\n {process == ProcessType.SwitchFrom ? \"Switch all\" : \"Sell all\"}\r\n {sellAllTooltip}\r\n \r\n ),\r\n key: \"isSellAll\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n if (!v) {\r\n this.setState({\r\n showOrderAmendedMessage: this.state.showOrderAmendedMessage.filter(\r\n (ele) => ele != index\r\n ),\r\n });\r\n }\r\n this.sellAll(v, row.InstrumentCode);\r\n }}\r\n value={data}\r\n disabled={this.disableSell(row)}\r\n />\r\n );\r\n },\r\n },\r\n this.isSellOrSwitchFrom(process) &&\r\n SubAccountTypeHelper.isPPAndISA(\r\n ClientAccountStore.getClientAccountInfo()?.SubAccounts?.find(\r\n (ele) => ele.HierarchyId == getQueryParameters()?.[\"subaccounthierarchyid\"]\r\n )?.SubAccountType\r\n ) && {\r\n thCssWrapper: \"cell-right pr-0\",\r\n tdCssWrapper: \"cell-right pr-0\",\r\n title: (\r\n \r\n Protect from auto-disinvestment?\r\n {treasureAssetTooltip}\r\n \r\n ),\r\n key: \"isTreasuredAsset\",\r\n render: (data, row) => {\r\n if (row.Instrument.Name == \"GBP Cash\") return null;\r\n else if (row.InstrumentCode !== GBPInvestmentCode && row.Instrument.Type != ProductType.CashProduct) {\r\n return (\r\n \r\n );\r\n } else {\r\n return
;\r\n }\r\n },\r\n },\r\n process == (ProcessType.Buy || ProcessType.SwitchTo) &&\r\n !SubAccountTypeHelper.isLegacyProduct(\r\n ClientAccountStore.getClientAccountInfo()?.SubAccounts?.find(\r\n (ele) => ele.HierarchyId == getQueryParameters()?.[\"subaccounthierarchyid\"]\r\n )?.SubAccountType\r\n ) &&\r\n ClientAccountStore.getClientAccountInfo()?.AccountServicePropositionId == ServiceProposition.Wrap\r\n ? {\r\n thCssWrapper: \"cell-right pr-0\",\r\n tdCssWrapper: \"cell-right pr-0\",\r\n title: (\r\n \r\n Protect from auto-disinvestment?\r\n {treasureAssetTooltip}\r\n \r\n ),\r\n key: \"isTreasuredAsset\",\r\n render: (data, row) => {\r\n if (row.Instrument.Type != ProductType.CashProduct) {\r\n return (\r\n\r\n this.treasureAsset(v, row.InstrumentCode)}\r\n value={this.props.ChecktreasuredAsset?.includes(row.Instrument.ProductId)}\r\n disabled={(TreasuredAssetsStore.getTreasuredAssetsProductIds() || [])?.includes(\r\n row.Instrument.ProductId\r\n )}\r\n />\r\n );\r\n } else {\r\n return (\r\n N/A\r\n );\r\n }\r\n },\r\n }\r\n : null,\r\n ].filter((ele) => ele != null);\r\n };\r\n\r\n private renderTbody(data: any[], indexAlert, colConfig, colConfigLast) {\r\n let rowIndex = 0;\r\n if (!data || data.length == 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n const tBody: JSX.Element[] = [];\r\n data.map((ele, index) => {\r\n tBody.push(\r\n \r\n );\r\n rowIndex = rowIndex + 1;\r\n });\r\n return {tBody};\r\n }\r\n\r\n private renderTotal(data) {\r\n const { orderType, process } = this.props;\r\n const totalValue = {\r\n Amount: data\r\n ? data.reduce((sum, curr) => (sum = Number((sum + (Number(curr.OrderValue) || 0)).toFixed(2))), 0)\r\n : 0,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n if (this.isSellOrSwitchFrom(process)) return {MoneyDisplayHelper.getMoneyFormat(totalValue)};\r\n if (orderType == OrderType.Percentage) {\r\n const total = data\r\n ? data.reduce((sum, curr) => (sum = Number((sum + (Number(curr.OrderPercentage) || 0)).toFixed(2))), 0)\r\n : 0;\r\n const totalValueFromPercentage = this.props.totalValue * total * 0.01;\r\n return (\r\n <>\r\n {total}%\r\n
\r\n {MoneyDisplayHelper.getMoneyFormat({Amount: totalValueFromPercentage, Currency: CurrencyCode.GBP})}\r\n \r\n );\r\n }\r\n if (orderType == OrderType.Quantity) {\r\n const total = data ? data.reduce((sum, curr) => (sum = sum + (curr.OrderQuantity || 0)), 0) : 0;\r\n return (\r\n <>\r\n {total}\r\n
\r\n {MoneyDisplayHelper.getMoneyFormat(totalValue)}\r\n \r\n );\r\n }\r\n return <>{MoneyDisplayHelper.getMoneyFormat(totalValue)};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, process, orderType, excludeLimit } = this.props;\r\n const hasExchangeTraded = excludeLimit == true ? false : data && data.some((ele) => ele.isLimit) ? true : false;\r\n let colConfig = this.getTableConfig(process, orderType, hasExchangeTraded);\r\n colConfig = colConfig.filter((ele) => typeof ele !== \"boolean\");\r\n\r\n let totalPrecentage = 0;\r\n let indexAlert = data.length;\r\n if (process === ProcessType.Buy) {\r\n for (let i = 0; i < data.length; i++) {\r\n totalPrecentage =\r\n MoneyHelper.roundNumberToDecimalPlaces(totalPrecentage + (data[i].OrderPercentage ? Number(data[i].OrderPercentage.toFixed(2)) : 0),2);\r\n if (totalPrecentage > 100) {\r\n indexAlert = i;\r\n break;\r\n }\r\n }\r\n }\r\n const errorMsgAtMax = \"Total allocation can't exceed 100%\";\r\n const colConfigLast = this.getTableConfig(process, orderType, hasExchangeTraded, 0, errorMsgAtMax).filter(\r\n (ele) => typeof ele !== \"boolean\"\r\n );\r\n return (\r\n <>\r\n {this.state.showOrderAmendedMessage.length > 0 && (\r\n \r\n )}\r\n\r\n
-
\r\n \r\n
\r\n \r\n {this.renderTbody(data, indexAlert, colConfig, colConfigLast)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.isSellOrSwitchFrom(process) ? \"Estimated total to sell\" : \"Total\"}\r\n {this.renderTotal(data)}\r\n {process == ProcessType.Buy ? (\r\n this.props.onChange([])}\r\n >\r\n \r\n Remove all porfolios\r\n \r\n ) : null}\r\n
\r\n {this.renderInvestmentDetailPopupModal()}\r\n \r\n );\r\n }\r\n}\r\n","import { addDays } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ModelPortfolioTabType } from \"../../../../../../Wrap/Constants/Enums/Domain/ModelPortfolioTabType\";\r\nimport { OrderDirection } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { OrderType } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderType\";\r\nimport { ProductType } from \"../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { GBPInvestmentCode, ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\n\r\nexport const transformNewItem = (\r\n investments,\r\n orderType: OrderType,\r\n orderDirection: OrderDirection,\r\n totalValue: number,\r\n popValue?: boolean,\r\n isTargetAllocation?: boolean\r\n) => {\r\n return investments.map((ele) => {\r\n const value = ele.Investment.Allocation * totalValue * 0.01;\r\n\r\n return {\r\n Instrument: ele.Investment,\r\n Type: orderType,\r\n OrderValue: popValue ? Number(value.toFixed(2)) : null,\r\n OrderQuantity: null,\r\n OrderPercentage: popValue ? ele.Investment.Allocation : null,\r\n InstrumentCode: ele.Investment.InstrumentCode,\r\n needToggle: ele.needToggle,\r\n modelPortfolioType: ele.needToggle ? ModelPortfolioTabType.HubModel : null,\r\n isSellAll: false,\r\n isLimit: false,\r\n ExpiryDate: JsonDateParser.toDate(addDays(new Date(), 90)),\r\n BuyOrSell: orderDirection,\r\n isTargetAllocation: isTargetAllocation,\r\n tradeable: true,\r\n };\r\n });\r\n};\r\n\r\nexport const initCashProduct = (data) => {\r\n return {\r\n Allocation: null,\r\n AssetClass: data.AssetClass,\r\n DisplayName: data.Name,\r\n ProductId: data.ProductId,\r\n UnitPrice: { Amount: 1, Currency: CurrencyCode.GBP },\r\n Name: data.Name,\r\n InstrumentCode:null\r\n }\r\n}\r\n\r\nexport const initInstrumentList = (\r\n data, \r\n orderType: OrderType,\r\n orderDirection: OrderDirection,\r\n isTargetAllocation?: boolean) => {\r\n return {\r\n Instrument: initCashProduct(data),\r\n Type: orderType,\r\n OrderValue: null,\r\n OrderQuantity: null,\r\n // OrderPercentage: popValue ? ele.Investment.Allocation : null,\r\n // InstrumentCode: ele.Investment.InstrumentCode,\r\n // needToggle: ele.needToggle,\r\n // modelPortfolioType: ele.needToggle ? ModelPortfolioTabType.HubModel : null,\r\n isSellAll: false,\r\n isLimit: false,\r\n ExpiryDate: JsonDateParser.toDate(addDays(new Date(), 90)),\r\n BuyOrSell: orderDirection,\r\n isTargetAllocation: isTargetAllocation,\r\n tradeable: true,\r\n };\r\n};\r\n\r\nexport const clearAllocation = (data, orderType: OrderType, processType?: ProcessType) => {\r\n const _data: any[] = data.concat();\r\n const _orderValue = processType == ProcessType.SwitchFrom ? 0 : null\r\n return _data.map((ele) => {\r\n return {\r\n ...ele,\r\n isSellAll: false,\r\n OrderValue: _orderValue,\r\n OrderQuantity: null,\r\n OrderPercentage: null,\r\n Type: orderType,\r\n };\r\n });\r\n};\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Phone } from \"../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { UKLandLinePhone } from \"../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { UKMobilePhone } from \"../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { ValidatorContents } from \"../../../../Common/ValidatorHelper\";\r\nimport { CustomerPhoneNumber } from \"../../../../../../Wrap/Models/Models/Customer/CustomerPhoneNumber\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CustomerPhoneNumberType } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerPhoneNumberType\";\r\nimport { PhoneNumber } from \"../../../../../../Wrap/Models/Domains/PhoneNumber/PhoneNumber\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CountryCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\n\r\ninterface IPhoneNumberDetailsProps extends IProcessComponentProps {\r\n data: Array;\r\n onChange: (changes: Array) => void;\r\n disabled?: boolean;\r\n}\r\n\r\ninterface IPhoneNumberDetailsState {\r\n phoneNumbers: Array;\r\n selectedCountryLandLine: CountryCode;\r\n selectedCountryMobile: CountryCode;\r\n}\r\n\r\nexport class PhoneNumberDetails extends ProcessComponent {\r\n constructor(props: IPhoneNumberDetailsProps) {\r\n super(props);\r\n this.state = {\r\n phoneNumbers: props.data,\r\n selectedCountryLandLine:\r\n props.data &&\r\n props.data.find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Home) &&\r\n props.data.find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Home).PhoneNumber\r\n ? props.data.find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Home).PhoneNumber.Country\r\n : CountryCode.GBR,\r\n selectedCountryMobile:\r\n props.data &&\r\n props.data.find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Mobile) &&\r\n props.data.find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Mobile).PhoneNumber\r\n ? props.data.find((ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Mobile).PhoneNumber\r\n .Country\r\n : CountryCode.GBR,\r\n };\r\n }\r\n\r\n private onChangePhoneNumberLandLine(\r\n changes,\r\n phoneNumberType: CustomerPhoneNumberType,\r\n phoneNumberData: PhoneNumber,\r\n defaultCountry: CountryCode\r\n ) {\r\n const _data = JSON.parse(JSON.stringify(phoneNumberData ? phoneNumberData : {}));\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n\r\n let _originData = this.props.data || [];\r\n const index = _originData.findIndex((ele) => ele.PhoneNumberType === phoneNumberType);\r\n if (index >= 0) {\r\n if (CommonHelper.isNullOrEmpty(_data[\"Number\"])) {\r\n // Remove number, remove both counrty and number\r\n _originData[index].PhoneNumber = { Country: null, Number: null };\r\n } else {\r\n _originData[index].PhoneNumber = _data;\r\n }\r\n } else {\r\n if (CommonHelper.isNullOrEmpty(_data[\"Country\"])) {\r\n _data[\"Country\"] = defaultCountry;\r\n }\r\n _originData.push({ PhoneNumber: _data, PhoneNumberType: phoneNumberType });\r\n }\r\n _originData = _originData.filter(\r\n (ele) => ele?.PhoneNumber?.Country !== null || !CommonHelper.isNullOrEmpty(ele?.PhoneNumber?.Number)\r\n );\r\n this.setState({ phoneNumbers: _originData, selectedCountryLandLine: _data[\"Country\"] });\r\n this.props.onChange(_originData);\r\n }\r\n\r\n private onChangePhoneNumberMobile(\r\n changes,\r\n phoneNumberType: CustomerPhoneNumberType,\r\n phoneNumberData: PhoneNumber,\r\n defaultCountry: CountryCode\r\n ) {\r\n const _data = JSON.parse(JSON.stringify(phoneNumberData ? phoneNumberData : {}));\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n\r\n let _originData = this.props.data || [];\r\n const index = _originData.findIndex((ele) => ele.PhoneNumberType === phoneNumberType);\r\n if (index >= 0) {\r\n if (CommonHelper.isNullOrEmpty(_data[\"Number\"])) {\r\n // Remove number, remove both counrty and number\r\n _originData[index].PhoneNumber = { Country: null, Number: null };\r\n } else {\r\n _originData[index].PhoneNumber = _data;\r\n }\r\n } else {\r\n if (CommonHelper.isNullOrEmpty(_data[\"Country\"])) {\r\n _data[\"Country\"] = defaultCountry;\r\n }\r\n _originData.push({ PhoneNumber: _data, PhoneNumberType: phoneNumberType });\r\n }\r\n _originData = _originData.filter(\r\n (ele) => ele?.PhoneNumber?.Country !== null || !CommonHelper.isNullOrEmpty(ele?.PhoneNumber?.Number)\r\n );\r\n this.setState({ phoneNumbers: _originData, selectedCountryMobile: _data[\"Country\"] });\r\n this.props.onChange(_originData);\r\n }\r\n\r\n private renderEditPhoneNumLandLine(data: CustomerPhoneNumber, disabled: boolean): JSX.Element {\r\n return (\r\n
\r\n
\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n required={data?.PhoneNumber?.Number ? \"Please select country\" : null}\r\n disabled={disabled}\r\n label=\"Country\"\r\n alwaysValidateOnUpdate\r\n cssWrapper=\"control-size-180\"\r\n selected={data?.PhoneNumber?.Country ?? CountryCode.GBR}\r\n placeholder={\"Please select\"}\r\n onChange={(v) =>\r\n this.onChangePhoneNumberLandLine(\r\n { Country: v },\r\n data?.PhoneNumberType,\r\n data?.PhoneNumber,\r\n CountryCode.GBR\r\n )\r\n }\r\n />\r\n
\r\n {this.state.selectedCountryLandLine == CountryCode.GBR && (\r\n
\r\n \r\n this.onChangePhoneNumberLandLine(\r\n { Number: v },\r\n data?.PhoneNumberType,\r\n data?.PhoneNumber,\r\n CountryCode.GBR\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n\r\n {this.state.selectedCountryLandLine != CountryCode.GBR && (\r\n
\r\n \r\n this.onChangePhoneNumberLandLine(\r\n { Number: v },\r\n data?.PhoneNumberType,\r\n data?.PhoneNumber,\r\n CountryCode.GBR\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n private renderEditPhoneNumMobile(data: CustomerPhoneNumber, disabled: boolean): JSX.Element {\r\n return (\r\n
\r\n
\r\n {\r\n return CountryCodeMap.getString(v);\r\n }}\r\n required={data?.PhoneNumber?.Number ? \"Please select country\" : null}\r\n disabled={disabled}\r\n label=\"Country\"\r\n alwaysValidateOnUpdate\r\n cssWrapper=\"control-size-180\"\r\n selected={data?.PhoneNumber?.Country ?? CountryCode.GBR}\r\n placeholder={\"Please select\"}\r\n onChange={(v) =>\r\n this.onChangePhoneNumberMobile(\r\n { Country: v },\r\n data?.PhoneNumberType,\r\n data?.PhoneNumber,\r\n CountryCode.GBR\r\n )\r\n }\r\n />\r\n
\r\n {this.state.selectedCountryMobile == CountryCode.GBR && (\r\n
\r\n \r\n this.onChangePhoneNumberMobile(\r\n { Number: v },\r\n data?.PhoneNumberType,\r\n data?.PhoneNumber,\r\n CountryCode.GBR\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n\r\n {this.state.selectedCountryMobile != CountryCode.GBR && (\r\n
\r\n \r\n this.onChangePhoneNumberMobile(\r\n { Number: v },\r\n data?.PhoneNumberType,\r\n data?.PhoneNumber,\r\n CountryCode.GBR\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { disabled } = this.props;\r\n const { phoneNumbers } = this.state;\r\n const landline: CustomerPhoneNumber = (phoneNumbers || []).find(\r\n (ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Home\r\n ) || { PhoneNumberType: CustomerPhoneNumberType.Home };\r\n const mobile: CustomerPhoneNumber = (phoneNumbers || []).find(\r\n (ele) => ele.PhoneNumberType === CustomerPhoneNumberType.Mobile\r\n ) || { PhoneNumberType: CustomerPhoneNumberType.Mobile };\r\n return (\r\n <>\r\n

Phone

\r\n

\r\n When entering Phone number, please enter this without International Area code\r\n

\r\n {this.renderEditPhoneNumLandLine(landline, disabled)}\r\n {this.renderEditPhoneNumMobile(mobile, disabled)}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\n\r\ninterface ITrustMemeberDeclarationProps {}\r\n\r\ninterface ITrustMemeberDeclarationState {}\r\n\r\nexport class TrustMemeberDeclaration extends BaseComponent<\r\n ITrustMemeberDeclarationProps,\r\n ITrustMemeberDeclarationState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Confirmation

\r\n\r\n

By clicking \"submit\" below, I/ we confirm that

\r\n
    \r\n
  1. \r\n I/ we have seen the appropriate documentation confirming the appointment of the Trustees to the\r\n Trust;\r\n
  2. \r\n
  3. all trustees of the Trust are recorded on the platform;
  4. \r\n
  5. \r\n the above named Trustees have been advised that identify verification checks have been carried\r\n out to comply with the Money Laundering, Terrorist Financing and Transfer of Funds (Information\r\n on the Payer) Regulations 2017;\r\n
  6. \r\n
  7. \r\n the information in relation to the Trustees which I have provided to abrdn was obtained by me;\r\n
  8. \r\n
  9. \r\n the evidence I have obtained to verify the identity of the Trustees meets the standard evidence\r\n set out within the Guidance for the UK Financial Sector issued by JMLSG; or (ii) exceeds the\r\n standard evidence, in which case any further verification evidence taken are provided to abrdn;\r\n
  10. \r\n
  11. \r\n I will retain the above mentioned evidence and provide it to abrdn immediately upon request;\r\n
  12. \r\n
  13. \r\n I have not used the source of funds as evidence to verify the identity of the Trustees; and any\r\n follow-up action required regarding the tax residency self-certification of the Trustees has\r\n been completed (where applicable).\r\n
  14. \r\n

    \r\n Important note: You must not add the Trustee to the platform if you cannot verify the Trustee's\r\n identity.\r\n

    \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { UnavailabilityReason } from \"../../../../../../Wrap/Constants/Enums/Domain/UnavailabilityReason\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { AccountConversion } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/AccountConversion\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { unavailabilityReasonsMap } from \"../../ConvertCappedToFlexiWizard/Resource/Content\";\r\n\r\ninterface IAccountsConversionTableProps extends IProcessComponentProps {\r\n isReviewStep: boolean;\r\n}\r\n\r\ninterface IAccountsConversionTableState {\r\n accountsAvailableForConversion: AccountConversion[];\r\n accountsNotAvailableForConversion: AccountConversion[];\r\n}\r\n\r\nexport class AccountsConversionTable extends ProcessComponent<\r\n IAccountsConversionTableProps,\r\n IAccountsConversionTableState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n const { data } = this.props;\r\n const accountsAvailable = data.filter((account) => account.IsConvert == true);\r\n const accountsNotAvailable = data.filter((account) => account.IsConvert == false);\r\n this.state = {\r\n accountsAvailableForConversion: accountsAvailable,\r\n accountsNotAvailableForConversion: accountsNotAvailable,\r\n };\r\n }\r\n\r\n private renderNotAvailableAccounts() {\r\n const { accountsNotAvailableForConversion } = this.state;\r\n if (accountsNotAvailableForConversion.length == 0) {\r\n return ;\r\n }\r\n const col = [\r\n {\r\n title: \"Arrangement number\",\r\n key: \"AccountDetails.HierarchyId\",\r\n render: (data: string) => {\r\n const arrangementId = data.slice(9);\r\n return arrangementId;\r\n },\r\n },\r\n {\r\n title: \"Post-retirement arrangemnt value\",\r\n key: \"AccountDetails.TotalPostRetirementAccountValue\",\r\n render: (data: Money) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(data.Amount), CurrencyCode.GBP);\r\n },\r\n },\r\n {\r\n title: \"Unavailability reasons\",\r\n key: \"AccountDetails.UnavailabilityReasons\",\r\n render: (data: Array) => {\r\n let reasons = \"\";\r\n for (let i = 0; i < data.length; i++) {\r\n if (i == 0) {\r\n reasons = unavailabilityReasonsMap[data[i]];\r\n } else {\r\n reasons = reasons + \", \" + unavailabilityReasonsMap[data[i]];\r\n }\r\n }\r\n return reasons;\r\n },\r\n },\r\n ];\r\n return ;\r\n }\r\n\r\n private renderAvailableAccounts() {\r\n let { accountsAvailableForConversion } = this.state;\r\n const { isReviewStep } = this.props;\r\n if (accountsAvailableForConversion.length == 0) {\r\n return ;\r\n }\r\n const col = [\r\n {\r\n title: \"Arrangement number\",\r\n key: \"AccountDetails.HierarchyId\",\r\n render: (data: string) => {\r\n const arrangementId = data.slice(9);\r\n return arrangementId;\r\n },\r\n },\r\n {\r\n title: \"Post-retirement arrangemnt value\",\r\n key: \"AccountDetails.TotalPostRetirementAccountValue\",\r\n render: (data: Money) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(data.Amount), CurrencyCode.GBP);\r\n },\r\n },\r\n !isReviewStep\r\n ? {\r\n title: \"GAD maximum\",\r\n key: \"AccountDetails.AccountValueDetails.GadMaximum.GadMaximum\",\r\n render: (data: Money) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(data.Amount), CurrencyCode.GBP);\r\n },\r\n }\r\n : null,\r\n !isReviewStep\r\n ? {\r\n title: \"Pre-A-day portion\",\r\n key: \"AccountDetails.AccountValueDetails.PreADayPortion\",\r\n render: (data: number) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(data), CurrencyCode.GBP);\r\n },\r\n }\r\n : null,\r\n {\r\n title: \"Inherited?\",\r\n key: \"AccountDetails.AccountValueDetails.IsInherited\",\r\n render: (data: boolean) => {\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n !isReviewStep\r\n ? {\r\n title: \"Convert\",\r\n key: \"AccountDetails.IsSelected\",\r\n render: (data: boolean, row, index) => {\r\n return (\r\n this.onAccountSelectionChange(v, index)}\r\n />\r\n );\r\n },\r\n }\r\n : null,\r\n ];\r\n if (isReviewStep) {\r\n accountsAvailableForConversion = accountsAvailableForConversion.filter(\r\n (a) => a.AccountDetails.IsSelected == true\r\n );\r\n }\r\n return
;\r\n }\r\n\r\n private onAccountSelectionChange(isSelected: boolean, index: number) {\r\n const { accountsAvailableForConversion, accountsNotAvailableForConversion } = this.state;\r\n accountsAvailableForConversion[index].AccountDetails.IsSelected = isSelected;\r\n this.props.onChange(accountsAvailableForConversion.concat(accountsNotAvailableForConversion));\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { isReviewStep } = this.props;\r\n const AvailableArrangementTitle = isReviewStep\r\n ? \"Select arrangements to convert\"\r\n : \"Arrangements available for conversion\";\r\n\r\n return (\r\n
\r\n {!isReviewStep && (\r\n
\r\n

Arrangements not available for conversion

\r\n {this.renderNotAvailableAccounts()}\r\n
\r\n )}\r\n
\r\n

{AvailableArrangementTitle}

\r\n {this.renderAvailableAccounts()}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxGroup } from \"../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviserDeclaractionText } from \"../../ConvertCappedToFlexiWizard/Resource/Content\";\r\n\r\ninterface IAdviserDeclarationProps extends IProcessComponentProps {}\r\n\r\ninterface IAdviserDeclarationState {\r\n isChecked: boolean;\r\n}\r\n\r\nexport class AdviserDeclaration extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n\r\n if (this.props.isReview) {\r\n this.state = { isChecked: true };\r\n } else {\r\n this.state = { isChecked: false };\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n

Adviser Declaration

\r\n {\r\n this.setState({ isChecked: v });\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { addDays, addYears } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { datePickerOptions } from \"../Resource/Contents\";\r\n\r\ninterface IFlexiIncomeReviewProps extends IProcessComponentProps {}\r\n\r\ninterface IFlexiIncomeReviewState {\r\n showPopUp: boolean;\r\n}\r\n\r\nexport class FlexiIncomeReview extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { showPopUp: false };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data.NextReviewdate == null) {\r\n this.props.onChange({ NextReviewDate: addYears(new Date(), 1) });\r\n }\r\n if (this.props.data.Frequency == null) {\r\n this.props.onChange({ Frequency: 12 });\r\n }\r\n }\r\n\r\n private renderIncomeReviewDateWarningMessage() {\r\n const { showPopUp } = this.state;\r\n if (showPopUp) {\r\n return (\r\n this.setState({ showPopUp: false })}\r\n type={LightboxType.Modal}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

Income review date is more than 3 years in the future. Please confirm this is correct

\r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n {\r\n if (d > addYears(new Date(), 3)) {\r\n this.setState({ showPopUp: true });\r\n }\r\n\r\n onChange({ NextReviewDate: JsonDateParser.toJsonDateNoOffset(d) });\r\n }}\r\n required={\"Please enter next income review date\"}\r\n {...datePickerOptions}\r\n />\r\n {this.renderIncomeReviewDateWarningMessage()}\r\n\r\n
\r\n {\r\n return v > 1 && v < 60;\r\n },\r\n },\r\n ]}\r\n maxLength={2}\r\n value={data?.Frequency}\r\n onChange={(v) => {\r\n onChange({ Frequency: v });\r\n }}\r\n required={\"Please enter frequency\"}\r\n />\r\n
\r\n

Months

\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SelectArrangementInformationText } from \"../../ConvertCappedToFlexiWizard/Resource/Content\";\r\n\r\ninterface IImportantInformationProps extends IProcessComponentProps {}\r\n\r\ninterface IImportantInformationState {\r\n showImportantInformationPopUp: boolean;\r\n}\r\n\r\nexport class ImportantInformation extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { showImportantInformationPopUp: false };\r\n }\r\n\r\n public render() {\r\n return (\r\n <>\r\n \r\n {SelectArrangementInformationText.warningMessageHeading}\r\n
\r\n
\r\n {SelectArrangementInformationText.warningMessageBody}\r\n
\r\n
\r\n this.setState({ showImportantInformationPopUp: true })}\r\n >\r\n Click here to read more\r\n \r\n \r\n }\r\n />\r\n {this.state.showImportantInformationPopUp && (\r\n this.setState({ showImportantInformationPopUp: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n

{SelectArrangementInformationText.popUpMessage}

\r\n this.setState({ showImportantInformationPopUp: false })}\r\n >\r\n Close\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Dictionary } from \"../../../../../../react-core/Core/Dictionary\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Button } from \"../../../../../../react-core/Html/Button\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { Instrument } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Instrument\";\r\nimport { IJsonDate } from \"../../../../../../Wrap/System/IJsonDate\";\r\nimport { ErrorMessagePopup } from \"../../../../../Shared/Components/ErrorMessagePopup\";\r\nimport { TableTempElement } from \"../../../../../Shared/Components/TableTempElement\";\r\nimport AdviserSiteTagManager from \"../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { InvestmentsAction } from \"../../PortfolioDashboard/Components/Investment/Action/InvestmentAction\";\r\nimport { Contents } from \"../../PortfolioDashboard/Components/Investment/Resource/Contents\";\r\nimport { DepositProductType } from \"../../../../../../Wrap/Constants/Enums/Domain/DepositProductType\";\r\nimport { ExternalFundDocument } from \"../Documents/Components/ExternalFundDocument\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\n\r\ninterface IDepositDetailsPopupModalProps\r\n{\r\n showBox: boolean;\r\n callBack: (val: boolean) => void;\r\n callerSource?: string;\r\n instrumentCode: string;\r\n productId: number;\r\n instrumentName: string;\r\n issuer: string;\r\n depositType: DepositProductType;\r\n term: number;\r\n grossRate: number;\r\n aerRate: number;\r\n minimumInvestment: number;\r\n maximumInvestment: number;\r\n maturityDate?: IJsonDate;\r\n holdingValue?: string;\r\n}\r\n\r\ninterface IDepositDetailsPopupModalState\r\n{\r\n isLoading: boolean;\r\n isShowErrorMessage: boolean;\r\n}\r\n\r\nexport class DepositDetailsPopupModal\r\n extends FormComponent\r\n{\r\n constructor(props: IDepositDetailsPopupModalProps)\r\n {\r\n super(props);\r\n\r\n this.state =\r\n {\r\n isLoading: true,\r\n isShowErrorMessage: false\r\n };\r\n }\r\n\r\n private renderLoading() {\r\n return ;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n this.props.callBack(false)}\r\n title=\"Deposit information\"\r\n >\r\n {this.renderModalBody()}\r\n {this.renderErrorMessage()}\r\n \r\n );\r\n }\r\n\r\n private renderErrorMessage() {\r\n return (\r\n \r\n {\r\n this.setState({ isShowErrorMessage: false });\r\n }}\r\n />\r\n );\r\n }\r\n\r\n private renderModalBody() {\r\n return (\r\n
\r\n { this.renderDepositInfo() }\r\n { !this.isHoldingsPage() && this.renderInterestRateInformation() }\r\n { this.renderTermsAndConditions() }\r\n { this.renderAnnualEquivalentRateAndShariaInformation() }\r\n
\r\n );\r\n }\r\n\r\n private renderDepositInfo() {\r\n const {\r\n issuer,\r\n depositType,\r\n term,\r\n grossRate,\r\n aerRate,\r\n minimumInvestment,\r\n maximumInvestment} = this.props;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n Deposit taker: \r\n {issuer}\r\n
\r\n
\r\n Deposit type: \r\n \r\n {\r\n (() => {\r\n switch (depositType)\r\n {\r\n case DepositProductType.EasyAccess:\r\n return 'Easy Access';\r\n case DepositProductType.Notice:\r\n return 'Notice';\r\n case DepositProductType.Term:\r\n return 'Fixed Term';\r\n }\r\n })()\r\n }\r\n \r\n
\r\n {\r\n (() => {\r\n switch (depositType)\r\n {\r\n case DepositProductType.EasyAccess:\r\n return null;\r\n case DepositProductType.Notice:\r\n return
Notice period: {term} days
;\r\n case DepositProductType.Term:\r\n return
Term: {term} months
;\r\n }\r\n })()\r\n }\r\n
\r\n Gross interest rate: \r\n \r\n {\r\n new Intl.NumberFormat('en-GB', {\r\n style: 'percent',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }).format(grossRate > 0 ? grossRate / 100 : 0)\r\n }\r\n \r\n
\r\n
\r\n AER*: \r\n \r\n {\r\n new Intl.NumberFormat('en-GB', {\r\n style: 'percent',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }).format(aerRate > 0 ? aerRate / 100 : 0)\r\n }\r\n \r\n
\r\n
\r\n Minimum investment: \r\n \r\n { MoneyDisplayHelper.FromatMoneyDisplay(\r\n minimumInvestment, CurrencyCode.GBP, true) }\r\n \r\n
\r\n
\r\n Maximum investment: \r\n \r\n { MoneyDisplayHelper.FromatMoneyDisplay(\r\n maximumInvestment, CurrencyCode.GBP, true) }\r\n \r\n
\r\n {\r\n this.isHoldingsPage() && this.renderMaturityDateAndHoldingValue()\r\n }\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderInterestRateInformation() {\r\n return (\r\n <>\r\n
\r\n
\r\n

Information on cash account interest rates

\r\n

Please note that the cash deposits and rates offered are subject to change and the rates are not guaranteed until the funds reach the deposit taker. Cash deposits may be withdrawn at any time, if this happens and you have already placed an instruction to invest in a cash deposit with Bondsmith we will notify you and request alternative instructions. When selecting to invest in cash deposits please ensure you understand how they are protected. Further information on this can be found in the FSCS information sheet or on the FSCS website.

\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderTermsAndConditions() {\r\n return (\r\n <>\r\n
\r\n
\r\n

Terms and conditions

\r\n {}}\r\n onRef={() => {}}/>\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderAnnualEquivalentRateAndShariaInformation() {\r\n return (\r\n <>\r\n
\r\n
\r\n *AER stands for Annual Equivalent Rate. The AER illustrates what the interest rate would be if interest was paid and compounded once each year. It helps you compare interest rates across different products. Note: As part of our range of deposit takers, we have Sharia products which offer an expected profit rate, rather than interest on their savings products, in order to comply with Sharia banking principles.\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderMaturityDateAndHoldingValue(): JSX.Element\r\n {\r\n return (\r\n <>\r\n {\r\n this.props.depositType === DepositProductType.Term &&\r\n
\r\n Maturity date: \r\n \r\n {\r\n this.props.maturityDate\r\n ? JsonDateParser.getFormatDate(this.props.maturityDate, \"dd/MM/yyyy\")\r\n : \"\"\r\n }\r\n \r\n
\r\n }\r\n
\r\n Your deposit value: \r\n \r\n {\r\n this.props.holdingValue\r\n }\r\n \r\n
\r\n \r\n )\r\n }\r\n\r\n private isHoldingsPage(): boolean\r\n {\r\n return this.props.callerSource === \"Holdings\";\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../react-core/Flux/ActionType\";\r\nimport { DocumentsSenderAddressClient } from \"../../../../../../../Wrap/Api/Documents/DocumentsSenderAddress\";\r\nimport { ESignatureDocumentSignedClient } from \"../../../../../../../Wrap/Api/Documents/ESignatureDocumentSigned\";\r\nimport { ESignatureDocumentTaskRequestSubmitClient } from \"../../../../../../../Wrap/Api/Documents/ESignatureDocumentTaskRequestSubmit\";\r\nimport { ExternalFundDocumentClient } from \"../../../../../../../Wrap/Api/Documents/ExternalFundDocument\";\r\nimport { InstructionDocumentTypeApplyModelRequestTriggerClient } from \"../../../../../../../Wrap/Api/Documents/InstructionDocumentTypeApplyModelRequestTrigger\";\r\nimport { InstructionDocumentTypeContributionAndWithdrawalBaseRequestTriggerClient } from \"../../../../../../../Wrap/Api/Documents/InstructionDocumentTypeContributionAndWithdrawalBaseRequestTrigger\";\r\nimport { InstructionDocumentTypeInstructionIdRequestTriggerClient } from \"../../../../../../../Wrap/Api/Documents/InstructionDocumentTypeInstructionIdRequestTrigger\";\r\nimport { InstructionDocumentTypeQuoteModelRequestTriggerClient } from \"../../../../../../../Wrap/Api/Documents/InstructionDocumentTypeQuoteModelRequestTrigger\";\r\nimport { DocumentCategory } from \"../../../../../../../Wrap/Constants/Enums/Domain/DocumentCategory\";\r\nimport { ExternalDocumentType } from \"../../../../../../../Wrap/Models/Domains/Documents/ExternalDocumentType\";\r\nimport { SubmitDocumentsEsignature } from \"../../../../../../../Wrap/Models/Domains/Documents/SubmitDocumentsEsignature\";\r\nimport { EsignatureSignedDocuments } from \"../../../../../../../Wrap/Models/Models/Documents/InstructionDocuments/EsignatureSignedDocuments\";\r\nimport { ExternalFundDocument } from \"../../../../../../../Wrap/Models/Models/Documents/InstructionDocuments/ExternalFundDocument\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { QuoteModel } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\nimport { IllustrationDispatcher } from \"../Store/Variable\";\r\n\r\nexport class InstructionDocumentTypeRequestTriggerActionsCreator {\r\n public static triggerByApplyModel(applyModel: ApplyModel, callback?): void {\r\n const client = new InstructionDocumentTypeApplyModelRequestTriggerClient();\r\n const promise = client.post(applyModel);\r\n promise.onSuccess((res) => {\r\n if (callback) {callback(res);}\r\n IllustrationDispatcher.dispatch({ payload: res, actionType: ActionType.Success });\r\n });\r\n }\r\n\r\n public static triggerByQuoteModel(quoteModel: QuoteModel): void {\r\n const client = new InstructionDocumentTypeQuoteModelRequestTriggerClient();\r\n const promise = client.post(quoteModel);\r\n promise.onSuccess((res) => {\r\n IllustrationDispatcher.dispatch({ payload: res, actionType: ActionType.Success });\r\n });\r\n }\r\n\r\n public static triggerByContributionAndWithdrawalBase(\r\n contribitionAndWithdrawalBase: ContributionAndWithdrawalBase,\r\n callback?\r\n ): void {\r\n const client = new InstructionDocumentTypeContributionAndWithdrawalBaseRequestTriggerClient();\r\n const promise = client.post(contribitionAndWithdrawalBase);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n IllustrationDispatcher.dispatch({ payload: res, actionType: ActionType.Success });\r\n });\r\n }\r\n\r\n public static triggerByInstructionId(\r\n instructionId: string,\r\n instructionDocumentCategories: DocumentCategory[]\r\n ): void {\r\n const client = new InstructionDocumentTypeInstructionIdRequestTriggerClient();\r\n const promise = client.post(instructionId, instructionDocumentCategories);\r\n promise.onSuccess((res) => {\r\n IllustrationDispatcher.dispatch({ payload: res, actionType: ActionType.Success });\r\n });\r\n }\r\n\r\n public static submitEsignatureDocumentRequest(\r\n actorId: number,\r\n instructionId: number,\r\n phoneNumber: string,\r\n documentTaskRequestIds: number[],\r\n callBack?: (val: string) => void\r\n ): void {\r\n const client = new ESignatureDocumentTaskRequestSubmitClient();\r\n const eSignatureRequest: SubmitDocumentsEsignature = {\r\n ActorId: actorId,\r\n InstructionId: instructionId,\r\n DocumentTaskRequestIds: documentTaskRequestIds,\r\n PhoneNumber: phoneNumber,\r\n };\r\n const promise = client.post(eSignatureRequest);\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getSignedDocumentRequest(\r\n instructionId: number,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const client = new ESignatureDocumentSignedClient();\r\n const promise = client.get(instructionId);\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getExternalFundDocument(\r\n accountInstructionId: number,\r\n customerId: string,\r\n company: string,\r\n externalDocumentType: ExternalDocumentType,\r\n instrumentCodes?: Array,\r\n callBack?: (val: ExternalFundDocument) => void\r\n ): void {\r\n const client = new ExternalFundDocumentClient();\r\n const promise = client.get(\r\n Number(accountInstructionId),\r\n Number(customerId),\r\n company,\r\n externalDocumentType,\r\n instrumentCodes\r\n );\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n }\r\n\r\n public static getAddress(callback) {\r\n const client = new DocumentsSenderAddressClient();\r\n const promise = client.get();\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Div } from \"../../../../../../../react-core/Html/Div\";\r\nimport { BankAccountCombinedResult } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccountCombinedResult\";\r\nimport { BwaBranchDataReferral } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BwaBranchDataReferral\";\r\nimport { ExperianMessageType } from \"../../../../../../../Wrap/Models/Domains/BankAccount/ExperianMessageType\";\r\nimport { VerificationResult } from \"../../../../../../../Wrap/Models/Domains/BankAccount/VerificationResult\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { BWABankAccountsStore } from \"../../../PortfolioDashboard/Store/Variable\";\r\nimport { inUseBankAccountForApply } from \"../../PaymentsIn/BankAccount/BankAccountHelper\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { BWAMessages } from \"../Resource/Content\";\r\n\r\ninterface IBankAccountProps extends IProcessComponentProps {\r\n processType: processTypeEnum;\r\n data: any;\r\n}\r\n\r\ninterface IBankAccountState {\r\n isShowBWvalidationMsg: boolean;\r\n BankAccountCheckResults: BankAccountCombinedResult[];\r\n isShowBWACheckMsg: boolean;\r\n BWACheckMsg: string;\r\n BWAValdiationMsg: string;\r\n continueBtnHaveClick: boolean;\r\n}\r\n\r\nexport class BankAccountWarning extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isShowBWvalidationMsg: false,\r\n BankAccountCheckResults: [],\r\n isShowBWACheckMsg: false,\r\n BWACheckMsg: null,\r\n BWAValdiationMsg: null,\r\n continueBtnHaveClick: false,\r\n };\r\n this.subscribeToStore(BWABankAccountsStore, () => this.onBWABankAccountsStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.hasWarningMsg();\r\n }\r\n\r\n onBWABankAccountsStoreChange() {\r\n const data = BWABankAccountsStore.getData();\r\n this.setState({ BankAccountCheckResults: data });\r\n }\r\n\r\n isValid() {\r\n if (this.state.isShowBWvalidationMsg) {\r\n return false;\r\n }\r\n if (this.state.isShowBWACheckMsg && !this.state.continueBtnHaveClick) {\r\n this.props.showErrorMsgPopUp([\"Please click Continue anyway button.\"], true);\r\n return false;\r\n }\r\n return super.isValid();\r\n }\r\n\r\n private hasWarningMsg(): void {\r\n const BankAccountCheckResults = BWABankAccountsStore.getData();\r\n const { data, processType } = this.props;\r\n\r\n if(processType == processTypeEnum.SinglePaymentTransfer || processType == processTypeEnum.RegularPayment) {\r\n return;\r\n }\r\n const inUseBankAccountInstructions = Array.from(new Set(inUseBankAccountForApply(data)));\r\n const id = data?.ClientDetails?.ActorId;\r\n Action.GetBankBranchData(id, 0, ExperianMessageType.Warning, (response: Array) => {\r\n const result = [];\r\n inUseBankAccountInstructions?.forEach((val) => {\r\n const bwaBranchData = response?.find((ele) => ele.BankAccountNumber == val);\r\n const bankAccountInstruction = (data?.BankAccountInstructions as BankAccountInstruction[])?.find(\r\n (f) => f.AccountNumber == val\r\n );\r\n if (bwaBranchData?.ValidationMessageCode == \"5\" && bankAccountInstruction?.NominatedForDirectDebit) {\r\n result.push(bwaBranchData.BankAccountNumber + \"-\" + bwaBranchData.SortCode);\r\n }\r\n });\r\n\r\n this.setState({\r\n BWAValdiationMsg:\r\n \"The bank account(s) \" +\r\n result.join(\",\") +\r\n \" do not support Direct Debit Instructions.\" +\r\n BWAMessages.BWAValidationMessage,\r\n isShowBWvalidationMsg: result.length > 0,\r\n });\r\n });\r\n\r\n const filterBankAccountCheckResults = BankAccountCheckResults?.filter(\r\n (f) =>\r\n f.BankAccountCheckResult.VerificationResult == VerificationResult.UnableToProcess ||\r\n f.BankAccountCheckResult.VerificationResult == VerificationResult.Refer ||\r\n f.BankAccountCheckResult.VerificationResult == VerificationResult.Fail ||\r\n f.BankAccountCheckResult.VerificationResult == VerificationResult.Unknown\r\n );\r\n const checkResult = [];\r\n filterBankAccountCheckResults?.forEach((val) => {\r\n checkResult.push(val.BankAccountCheckRequest.AccountNumber + \"-\" + val.BankAccountCheckRequest.SortCode);\r\n });\r\n this.setState({\r\n BWACheckMsg:\r\n \"The bank account(s) \" +\r\n checkResult.join(\",\") +\r\n \" could not be authenticated for the client.\" +\r\n BWAMessages.BWACheckMessage,\r\n isShowBWACheckMsg: checkResult.length > 0,\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n isShowBWvalidationMsg,\r\n isShowBWACheckMsg,\r\n BWAValdiationMsg,\r\n BWACheckMsg,\r\n continueBtnHaveClick,\r\n } = this.state;\r\n return (\r\n <>\r\n {(isShowBWvalidationMsg || isShowBWACheckMsg) && (\r\n <>\r\n

Bank Account(s) Checks

\r\n {isShowBWvalidationMsg && (\r\n \r\n )}\r\n {isShowBWACheckMsg && (\r\n
\r\n \r\n {\r\n this.setState({ continueBtnHaveClick: true });\r\n }}\r\n >\r\n Continue anyway\r\n \r\n
\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IClientPortalAccessProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n}\r\n\r\ninterface IClientPortalAccessState {\r\n hasSelected: boolean;\r\n}\r\n\r\nexport class ClientPortalAccess extends ProcessComponent {\r\n constructor(props: IClientPortalAccessProps) {\r\n super(props);\r\n this.state = {\r\n hasSelected: props?.data?.ClientPortalAccess || props?.data?.SecondClientPortalAccess ? true : false,\r\n };\r\n }\r\n\r\n isValid() {\r\n const isPass = !this.props.data?.IsJointAccount\r\n ? true\r\n : !this.state.hasSelected\r\n ? true\r\n : this.props?.data?.ClientPortalAccess || this.props?.data?.SecondClientPortalAccess;\r\n if (!isPass) {\r\n this.props.showErrorMsgPopUp([\"Please at leaset select one customer to have the read only access\"]);\r\n }\r\n return super.isValid() && isPass;\r\n }\r\n\r\n private renderClientPortalAccess() {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n

Client portal access

\r\n {!data?.IsJointAccount ? (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n onChange({ ClientPortalAccess: v });\r\n }}\r\n />\r\n ) : (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.setState({ hasSelected: v });\r\n if (!v) {\r\n onChange({ ClientPortalAccess: false, SecondClientPortalAccess: false });\r\n } else {\r\n onChange({ ClientPortalAccess: v });\r\n }\r\n }}\r\n />\r\n {this.state.hasSelected && (\r\n {\r\n onChange({ ClientPortalAccess: v });\r\n },\r\n },\r\n {\r\n label:\r\n data?.SecondClientDetails?.FirstName +\r\n \" \" +\r\n data?.SecondClientDetails?.LastName,\r\n value: data?.SecondClientPortalAccess,\r\n onChange: (v) => {\r\n onChange({ SecondClientPortalAccess: v });\r\n },\r\n },\r\n ]}\r\n />\r\n )}\r\n \r\n )}\r\n\r\n
\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return <>{this.renderClientPortalAccess()};\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { GiaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { CashProductDeclarations } from \"../../Review/Component/CashProductDeclarations\";\r\nimport { InstrumentSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\n\r\ninterface IDeclarationsProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n}\r\n\r\ninterface IDeclarationsState {\r\n hasChecked: boolean;\r\n isCashDeclarationChecked: boolean;\r\n}\r\n\r\nexport class Declarations extends ProcessComponent {\r\n constructor(props: IDeclarationsProps) {\r\n super(props);\r\n this.state = {\r\n hasChecked: props.isReview,\r\n isCashDeclarationChecked: props.isReview,\r\n };\r\n }\r\n\r\n handleCashDeclarationChange = (event) => {\r\n this.setState({ isCashDeclarationChecked: event });\r\n };\r\n\r\n private getCashProductInvestments(): Array {\r\n const applyModelCashProducts: Array =\r\n (this.props.data as ApplyModel)?.GiaModel?.InstrumentSelections?.Instruments?.filter(\r\n (x) => x.Instrument.Type === ProductType.CashProduct\r\n ) ?? [];\r\n\r\n const giaContributionModelCashProducts: Array =\r\n (this.props.data as GiaContributionModel)?.Contribution?.InstrumentSelections?.Instruments?.filter(\r\n (x) => x.Instrument.Type === ProductType.CashProduct\r\n ) ?? [];\r\n\r\n return applyModelCashProducts.concat(giaContributionModelCashProducts);\r\n }\r\n\r\n private hasCashProducts(): boolean {\r\n var cashProducts = this.getCashProductInvestments();\r\n return cashProducts.length > 0;\r\n }\r\n\r\n isValid() {\r\n if (!this.state.hasChecked || (this.hasCashProducts() && !this.state.isCashDeclarationChecked)) {\r\n this.props.showErrorMsgPopUp([\"You must accept all items to continue\"], true);\r\n }\r\n return super.isValid() && this.state.hasChecked;\r\n }\r\n\r\n private renderDeclarations() {\r\n return (\r\n <>\r\n \r\n

Declarations

\r\n
\r\n

I confirm that

\r\n
    \r\n
  1. \r\n I have been appointed by my client as their agent in respect of their account on the abrdn platform and understand that I will be responsible for any losses my client or abrdn incur if I act outside my authority as their agent.\r\n
  2. \r\n
  3. \r\n I submit this application or instruction in accordance with the instructions and the full\r\n authority of my client.\r\n
  4. \r\n
  5. \r\n the address I entered on the platform is my client's personal home address.\r\n
  6. \r\n
  7. \r\n my client is not a U.S. Person (as defined in the terms and conditions) and that I will inform abrdn immediately if my client becomes a U.S. Person.\r\n
  8. \r\n
  9. \r\n I have provided my client with all pre-sale information required under applicable laws and\r\n regulations, including (where applicable) the relevant\r\n
      \r\n
    • terms and conditions and/or policy provisions;
    • \r\n
    • KFDs and KFIs;
    • \r\n
    • KIDs, KIIDs and charges information documents (as applicable); and
    • \r\n
    • SDR and investment label information documents (as applicable)
    • \r\n
    \r\n
    \r\n and that my client has had a reasonable opportunity to read these.\r\n
    \r\n
  10. \r\n
  11. \r\n my client has signed the acceptance form of the relevant terms and conditions. I agree to obtain and retain the signed form and to submit it to abrdn immediately on request. If I do not provide the acceptance form to abrdn prior to the account being opened, I will explain to my client that they will not receive paper copies of contract notes.\r\n
  12. \r\n
  13. \r\n I will ensure that my client will meet the eligibility criteria of any investment held in their account as described in the relevant investment documentation.\r\n
  14. \r\n
  15. \r\n I acknowledge that the account allocated to any application will not be activated until the relevant application has been accepted by abrdn.\r\n
  16. \r\n
  17. \r\n all information submitted by me is accurate and complete and I agree to include the account\r\n number allocated to my client in any documentation I submit.\r\n
  18. \r\n
  19. \r\n any instruction to pay adviser charges, including the frequency and the amount, has been agreed\r\n with my client.\r\n
  20. \r\n
  21. I have advised my client of abrdn's privacy policy.
  22. \r\n
  23. \r\n my client, their beneficial owner(s) (where applicable), any person acting on my client's behalf or paying into my client's account (“Verified Persons”) have been advised that identity verification checks have been carried out to comply with the Money Laundering, Terrorist Financing and Transfer of Funds (Information on the Payer) Regulations 2017.\r\n
  24. \r\n
  25. \r\n the information in relation to any Verified Persons which I have provided to abrdn was obtained by me.\r\n
  26. \r\n
  27. \r\n the evidence I have obtained to verify the identity of the Verified Persons\r\n
      \r\n
    • \r\n meets the standard evidence set out within the Guidance for the UK Financial Sector\r\n issued by JMLSG; or\r\n
    • \r\n
    • \r\n exceeds the standard evidence, in which case any further verification evidence taken are provided to abrdn as part of this application. \r\n
    • \r\n
    \r\n
  28. \r\n\r\n
  29. \r\n I will retain the above mentioned evidence and provide it to abrdn immediately upon request.\r\n
  30. \r\n
  31. \r\n I have not used the source of funds as evidence to verify the identity of the Verified Persons.\r\n
  32. \r\n
  33. \r\n Any follow-up action required regarding the tax residency self-certification of my client has\r\n been completed (where applicable).\r\n
  34. \r\n
\r\n {\r\n if (v) {\r\n this.setState({ hasChecked: true });\r\n } else {\r\n this.setState({ hasChecked: false });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n {this.hasCashProducts() && (\r\n x.Instrument.ProductCode)}\r\n isCashDeclarationChecked={this.state.isCashDeclarationChecked}\r\n onCashDeclarationChanged={this.handleCashDeclarationChange}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return <>{this.renderDeclarations()};\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { InstrumentSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { GiaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { WrapCashContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/WrapCash/WrapCashContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { DocumentsToSend } from \"./DocumentsToSend\";\r\nimport { InvestmentDocuments } from \"./InvestmentDocuments\";\r\nimport { QuoteAndCharges } from \"./QuoteAndCharges\";\r\n\r\ninterface IDocumentsProps extends IProcessComponentProps {\r\n data:\r\n | ApplyModel\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel;\r\n processType: processTypeEnum;\r\n subAccountType: SubAccountType;\r\n needGoToDlu: boolean;\r\n clAccountId?: string;\r\n onTasksForEsign: (newTask) => void;\r\n}\r\n\r\ninterface IDocuments {\r\n selectAll: boolean;\r\n triggerred: number;\r\n}\r\n\r\nexport class Documents extends ProcessComponent {\r\n constructor(props: IDocumentsProps) {\r\n super(props);\r\n this.state = {\r\n selectAll: false,\r\n triggerred: 0,\r\n };\r\n }\r\n\r\n render() {\r\n const showMsg =\r\n this.props.processType == processTypeEnum.NewBusiness ||\r\n this.props.processType == processTypeEnum.NewBusinessExistingClient;\r\n return (\r\n <>\r\n

Documents

\r\n {showMsg && (\r\n \r\n )}\r\n {\r\n this.setState({ selectAll: v });\r\n },\r\n },\r\n ]}\r\n />\r\n this.appendChild(ref)}\r\n />\r\n this.appendChild(ref)}\r\n selectAll={this.state.selectAll}\r\n triggerred={this.state.triggerred}\r\n onTasksForEsign={(val) => this.props.onTasksForEsign(val)}\r\n readonly={false}\r\n isReview={false}\r\n />\r\n this.appendChild(ref)}\r\n selectAll={this.state.selectAll}\r\n triggerred={this.state.triggerred}\r\n />\r\n
\r\n {\r\n e.preventDefault();\r\n this.setState({ triggerred: this.state.triggerred + 1, selectAll: false });\r\n }}\r\n >\r\n Generate document(s)\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { AddressDisplay } from \"../../../../../../../react-core/Html/Address/AddressDisplay\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AccountRole } from \"../../../../../../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { AddressDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { GiaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { WrapCashContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/WrapCash/WrapCashContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { NewBusinessAction } from \"../../../NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { isCreatingNewAccount } from \"../../../NewBusinessWizard/Components/WrapperSelection/WrapperSelctionHelper\";\r\nimport { CustomerContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\nimport { PortfolioDashboardAction } from \"../../../PortfolioDashboard/Action/PortfolioDashboardAction\";\r\nimport { PortfolioDashboardStore } from \"../../../PortfolioDashboard/Store/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { BankAccountWarning } from \"./BankAccountWarning\";\r\nimport { ClientPortalAccess } from \"./ClientPortalAccess\";\r\nimport { Declarations } from \"./Declarations\";\r\nimport { Documents } from \"./Documents\";\r\nimport { ESignatureDoc } from \"./ESignatureDoc\";\r\nimport { NewTpsWarning } from \"./NewTpsWarning\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\n\r\ninterface IDocumentsAndDeclarationsProps extends IProcessComponentProps {\r\n data:\r\n | ApplyModel\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel;\r\n processType: processTypeEnum;\r\n subAccountType: SubAccountType;\r\n isJointOrTrust: boolean;\r\n clAccountId?: string;\r\n customerId?: number;\r\n}\r\n\r\ninterface IDocumentsAndDeclarationsState {\r\n tasksForESign: { fileName: string; taskRequestId: number }[];\r\n allAccounts: ClientAccount[];\r\n customerData: FullClientDetailModel;\r\n senderAddress: AddressDetailModel;\r\n isCashDeclarationChecked: boolean;\r\n}\r\n\r\nexport class DocumentsAndDeclarations extends ProcessComponent<\r\n IDocumentsAndDeclarationsProps,\r\n IDocumentsAndDeclarationsState\r\n> {\r\n constructor(props: IDocumentsAndDeclarationsProps) {\r\n super(props);\r\n this.state = {\r\n tasksForESign: [],\r\n allAccounts: PortfolioDashboardStore.getData(),\r\n customerData: CustomerContextStoreStatic.getData(),\r\n senderAddress: null,\r\n isCashDeclarationChecked: false,\r\n };\r\n this.subscribeToStore(CustomerContextStoreStatic, () => this.onCustomerContextStoreChange());\r\n this.subscribeToStore(PortfolioDashboardStore, () => this.onAllAccountsChange());\r\n }\r\n\r\n isValid() {\r\n return super.isValid();\r\n }\r\n\r\n onAllAccountsChange() {\r\n this.setState({ allAccounts: PortfolioDashboardStore.getData() });\r\n }\r\n\r\n handleCashDeclarationChange = (event) => {\r\n this.setState({ isCashDeclarationChecked: event });\r\n };\r\n\r\n onCustomerContextStoreChange() {\r\n const data = CustomerContextStoreStatic.getData()?.AddressDetails;\r\n if (data) {\r\n this.setState({\r\n customerData: CustomerContextStoreStatic.getData(),\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const params = getQueryParameters();\r\n InstructionDocumentTypeRequestTriggerActionsCreator.getAddress((address) => {\r\n this.setState({ senderAddress: address });\r\n });\r\n if (\r\n this.props.processType == processTypeEnum.NewBusiness ||\r\n this.props.processType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.processType == processTypeEnum.SinglePaymentTransfer ||\r\n this.props.processType == processTypeEnum.RegularPayment\r\n ) {\r\n if (!CommonHelper.isNullOrEmpty(params[\"hierarchyid\"]) && !PortfolioDashboardStore.getData()) {\r\n if (params[\"customerid\"])\r\n {PortfolioDashboardAction.getAllAccountsByCustomerId(Number(params[\"customerid\"]));}\r\n else {PortfolioDashboardAction.getAllAccountsByCustomerId(this.props.customerId);}\r\n }\r\n }\r\n if (!this.state.customerData && !CommonHelper.isNullOrEmpty(params[\"hierarchyid\"])) {\r\n Action.getAccountRoles(params[\"hierarchyid\"], (res: AccountRole[]) => {\r\n const actorId = res.find((x) => x.IsPrimary == true).Customer.CustomerId;\r\n NewBusinessAction.accountHolderAction(actorId, (res) => {\r\n this.setState({ customerData: res });\r\n });\r\n });\r\n }\r\n }\r\n\r\n private needGoToDlu = () => {\r\n const { processType, data } = this.props;\r\n if (\r\n processType == processTypeEnum.NewBusiness ||\r\n this.props.processType == processTypeEnum.NewBusinessExistingClient\r\n ) {\r\n return (data as ApplyModel).SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isBond(ele.SubAccountType)\r\n );\r\n }\r\n return false;\r\n };\r\n\r\n private onTasksForEsign(val) {\r\n if (this.state.tasksForESign.some((ele) => ele.fileName == val.fileName)) {\r\n this.state.tasksForESign.find((ele) => ele.fileName == val.fileName).taskRequestId = val.taskRequestId;\r\n } else {\r\n this.setState({ tasksForESign: this.state.tasksForESign.concat(val) });\r\n }\r\n }\r\n\r\n render() {\r\n const hasLegacyProduct = this.needGoToDlu();\r\n return (\r\n <>\r\n this.appendChild(ref)} />\r\n this.appendChild(ref)} />\r\n this.onTasksForEsign(val)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n
\r\n
\r\n

For postal documentation, send any completed forms to:

{\" \"}\r\n \r\n
\r\n {!hasLegacyProduct && (\r\n this.appendChild(ref)}\r\n />\r\n )}\r\n\r\n {this.props.processType == processTypeEnum.NewBusiness &&\r\n isCreatingNewAccount(\r\n getQueryParameters()[\"hierarchyid\"],\r\n this.props.data,\r\n this.state.allAccounts\r\n ) && }\r\n\r\n {!hasLegacyProduct && this.appendChild(ref)} />}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DepositMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/DepositMethod\";\r\nimport { DirectDebitMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/DirectDebitMethod\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { GiaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { WrapCashContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/WrapCash/WrapCashContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { MultiDownloadButton } from \"../../../../../../Shared/DownloadButton/MultiDownloadButton\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\n\r\ninterface IDocumentsToSendProps extends IProcessComponentProps {\r\n data:\r\n | ApplyModel\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel;\r\n processType: processTypeEnum;\r\n subAccountType: SubAccountType;\r\n needGoToDlu: boolean;\r\n selectAll: boolean;\r\n triggerred: number;\r\n clAccountId?: string;\r\n onTasksForEsign: (newTask) => void;\r\n}\r\n\r\ninterface IDocumentsToSend {}\r\n\r\nexport class DocumentsToSend extends ProcessComponent {\r\n constructor(props: IDocumentsToSendProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private hasChequePayment(model: any): boolean {\r\n return (\r\n model?.ClientSinglePayment?.PaymentMethod == DepositMethod.Cheque ||\r\n model?.ThirdPartySinglePayment?.PaymentMethod == DepositMethod.Cheque ||\r\n model?.EmployerSinglePayment?.PaymentMethod == DepositMethod.Cheque\r\n );\r\n }\r\n\r\n private displayRemittanceAdviceSlip(): boolean {\r\n const { data, processType } = this.props;\r\n if (this.props.needGoToDlu) {\r\n return false;\r\n }\r\n if (processType == processTypeEnum.SinglePaymentTransfer || processType == processTypeEnum.RegularPayment) {\r\n return this.hasChequePayment(\r\n (data as\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel)?.Contribution\r\n );\r\n } else if (\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == processTypeEnum.NewBusinessExistingClient\r\n ) {\r\n return (\r\n this.hasChequePayment((data as ApplyModel)?.GiaModel) ||\r\n this.hasChequePayment((data as ApplyModel)?.IsaModel) ||\r\n this.hasChequePayment((data as ApplyModel)?.PensionApply) ||\r\n this.hasChequePayment((data as ApplyModel)?.WrapCashModel)\r\n );\r\n }\r\n }\r\n\r\n private displayTermsAndConditions = () => {\r\n if (this.props.processType == processTypeEnum.NewBusiness && !this.props.needGoToDlu) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n private useBankAccount(bankAccountNubmer: string): boolean {\r\n const { data, processType } = this.props;\r\n if (processType == processTypeEnum.SinglePaymentTransfer || processType == processTypeEnum.RegularPayment) {\r\n return this.useBankAccountInPayment(\r\n (data as\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel)?.Contribution,\r\n bankAccountNubmer\r\n );\r\n } else if (\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == processTypeEnum.NewBusinessExistingClient\r\n ) {\r\n return (\r\n this.useBankAccountInPayment((data as ApplyModel)?.GiaModel, bankAccountNubmer) ||\r\n this.useBankAccountInPayment((data as ApplyModel)?.IsaModel, bankAccountNubmer) ||\r\n this.useBankAccountInPayment((data as ApplyModel)?.PensionApply, bankAccountNubmer) ||\r\n this.useBankAccountInPayment((data as ApplyModel)?.WrapCashModel, bankAccountNubmer)\r\n );\r\n }\r\n }\r\n\r\n private useBankAccountInPayment(model: any, bankAccountNumber: string): boolean {\r\n return (\r\n model?.ClientSinglePayment?.BankAccountNumber == bankAccountNumber ||\r\n model?.ThirdPartySinglePayment?.BankAccountNumber == bankAccountNumber ||\r\n model?.EmployerSinglePayment?.BankAccountNumber == bankAccountNumber ||\r\n model?.ClientRegularPayment?.BankAccountNumber == bankAccountNumber ||\r\n model?.ThirdPartyRegularPayment?.BankAccountNumber == bankAccountNumber ||\r\n model?.EmployerRegularPayment?.BankAccountNumber == bankAccountNumber\r\n );\r\n }\r\n\r\n private needDDIBankAccountsInstructions(): BankAccountInstruction[] {\r\n return (this.props.data?.BankAccountInstructions || []).filter(\r\n (bank) =>\r\n bank.NominatedForDirectDebit == true &&\r\n bank.DirectDebitMethod == DirectDebitMethod.Paper &&\r\n this.useBankAccount(bank.AccountNumber)\r\n );\r\n }\r\n\r\n private displayDDI(): boolean {\r\n if (this.props.needGoToDlu) {\r\n return false;\r\n }\r\n return this.needDDIBankAccountsInstructions().length > 0;\r\n }\r\n\r\n private displayTransferForm(): boolean {\r\n const { data, processType } = this.props;\r\n if (this.props.needGoToDlu) {\r\n return false;\r\n }\r\n if (processType == processTypeEnum.SinglePaymentTransfer || processType == processTypeEnum.RegularPayment) {\r\n return (\r\n (data as GiaContributionModel).Contribution?.GiaTransfers?.length > 0 ||\r\n (data as IsaContributionModel).Contribution?.IsaTransfers?.length > 0 ||\r\n (data as PensionContributionModel).Contribution?.PensionTransfers?.length > 0\r\n );\r\n } else if (\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == processTypeEnum.NewBusinessExistingClient\r\n ) {\r\n return (\r\n (data as ApplyModel).GiaModel?.GiaTransfers?.length > 0 ||\r\n (data as ApplyModel).IsaModel?.IsaTransfers?.length > 0 ||\r\n (data as ApplyModel).PensionApply?.PensionTransfers?.length > 0\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const { processType, data } = this.props;\r\n const props = {\r\n triggerred: this.props.triggerred,\r\n isSelectedAll: this.props.selectAll,\r\n };\r\n const params = getQueryParameters();\r\n const customerid = params[\"customerid\"];\r\n const claccountid = this.props.clAccountId;\r\n const instructionId = params[\"id\"];\r\n const headAccountHierarchyId = params[\"hierarchyid\"];\r\n return (\r\n <>\r\n {SectionHeader(\r\n \"Documents to send\",\r\n \"These are documents you need to send us either by post or by using our e-sigs service. These documents will also appear in your client’s document store.\"\r\n )}\r\n {this.displayTermsAndConditions() && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n selectedAccount={null}\r\n request={DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n null,\r\n claccountid,\r\n null,\r\n DocumentTaskRequestTypeEnum.TermsAndCondition,\r\n processType\r\n )}\r\n callBack={(taskRequestId: string) => {\r\n this.props.onTasksForEsign({\r\n fileName: \"Terms and conditions\",\r\n taskRequestId: taskRequestId,\r\n });\r\n }}\r\n />\r\n )}\r\n {this.displayDDI() && (\r\n <>\r\n {this.needDDIBankAccountsInstructions().map((bank) => {\r\n return (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n fileName={`Direct Debit Instruction - ${bank.AccountNumber}`}\r\n request={DocumentsHelper.getTaskRequestForDirectDebitInstruction(\r\n processType == processTypeEnum.NewBusinessExistingClient\r\n ? data?.OwnerHierarchyId\r\n : instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n processType,\r\n 0,\r\n bank.Id\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n callBack={(taskRequestId: string) =>\r\n this.props.onTasksForEsign({\r\n fileName: `Direct Debit Instruction - ${bank.AccountNumber}`,\r\n taskRequestId: taskRequestId,\r\n })\r\n }\r\n />\r\n );\r\n })}\r\n \r\n )}\r\n {this.displayRemittanceAdviceSlip() && (\r\n <>\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequest(\r\n processType == processTypeEnum.NewBusinessExistingClient\r\n ? data?.OwnerHierarchyId\r\n : instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.RemittanceAdviceSlip,\r\n processType\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n tooltip={`For the cheque payment, your client needs to write ${this.props.clAccountId} on the back\r\n of their cheque`}\r\n />\r\n \r\n )}\r\n {this.displayTransferForm() && (\r\n <>\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n fileName=\"Scrip transfer form\"\r\n request={DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.TransferForm,\r\n processType\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n callBack={(taskRequestId: string) => {\r\n this.props.onTasksForEsign({\r\n fileName: \"Scrip transfer form\",\r\n taskRequestId: taskRequestId,\r\n });\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { EsignatureSignedDocuments } from \"../../../../../../../Wrap/Models/Models/Documents/InstructionDocuments/EsignatureSignedDocuments\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ESignaturePopupView } from \"../../../NewBusinessWizard/Components/ESignature/ESignaturePopupView\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\n\r\ninterface IESignatureDocProps extends IProcessComponentProps {\r\n taskRequests: { fileName: string; taskRequestId: number }[];\r\n processType: processTypeEnum;\r\n customerData: FullClientDetailModel;\r\n isJointOrTrust: boolean;\r\n}\r\n\r\ninterface IESignatureDoc {\r\n selectAll: boolean;\r\n triggerred: number;\r\n signatureDocumentSigned: Array;\r\n isSubmitEsignatureSuccess: boolean;\r\n showESignatureView: boolean;\r\n}\r\n\r\nexport class ESignatureDoc extends ProcessComponent {\r\n constructor(props: IESignatureDocProps) {\r\n super(props);\r\n this.state = {\r\n selectAll: false,\r\n triggerred: 0,\r\n signatureDocumentSigned: [],\r\n isSubmitEsignatureSuccess: false,\r\n showESignatureView: false,\r\n };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n let instructionId = 0;\r\n const parameters = getQueryParameters();\r\n const urlHierarchyId = parameters[\"id\"];\r\n\r\n if (\r\n this.props.processType != processTypeEnum.NewBusiness &&\r\n this.props.processType != processTypeEnum.NewBusinessExistingClient\r\n ) {\r\n instructionId = HierarchyIdHelper.generateHierarchyId(urlHierarchyId).entityId;\r\n } else {\r\n instructionId = urlHierarchyId;\r\n }\r\n\r\n // InstructionDocumentTypeRequestTriggerActionsCreator.getSignedDocumentRequest(\r\n // instructionId,\r\n // (callBack: Array) => {\r\n // this.setState({ signatureDocumentSigned: callBack });\r\n // }\r\n // );\r\n }\r\n\r\n private renderElectricSignature() {\r\n return (\r\n <>\r\n
\r\n {this.state.isSubmitEsignatureSuccess == false && (\r\n

\r\n this.setState({ showESignatureView: true })}\r\n >\r\n Select document(s)\r\n \r\n

\r\n )}\r\n
\r\n\r\n {\r\n this.setState({ showESignatureView: false, isSubmitEsignatureSuccess: isSubmitSuccess });\r\n }}\r\n />\r\n\r\n
\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {!this.props.isJointOrTrust && (\r\n <>\r\n

E-signature service

\r\n

\r\n You can send any document that requires a client signature to your client electronically\r\n using your e-signature service.
\r\n You must generate at least one document allowed for e-signature before this service is\r\n available.\r\n

\r\n {this.props.taskRequests.length > 0 &&\r\n (this.props.processType == processTypeEnum.NewBusiness ||\r\n this.props.processType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.processType == processTypeEnum.SinglePaymentTransfer ||\r\n this.props.processType == processTypeEnum.RegularPayment) &&\r\n this.renderElectricSignature()}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Objects } from \"../../../../../../../react-core/Utils/Objects\";\r\nimport { ExternalDocumentType } from \"../../../../../../../Wrap/Models/Domains/Documents/ExternalDocumentType\";\r\nimport { INoValue } from \"../../../../../../../Wrap/Models/INoValue\";\r\nimport { Instrument } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Instrument\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { ClientAccountStore } from \"../../../../../Stroes/Variable\";\r\nimport { AdviserContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { ExternalDocumentTypeMapper } from \"../Resource/Content\";\r\n\r\nexport interface IExternalFundDocModel extends INoValue {\r\n documentName: string;\r\n InvestmentDisplayName: string;\r\n fundUrl: string;\r\n}\r\n\r\ninterface IExternalFundDocumentProps extends IProcessComponentProps {\r\n instrumentCodes: Array;\r\n renderDownloadButtonSection?: boolean;\r\n}\r\n\r\ninterface IExternalFundDocumentState {\r\n externalFundDocuments: Array;\r\n isShowFundFact: boolean;\r\n isShowKiidDoc: boolean;\r\n isShowSummaryBox: boolean;\r\n isShowFscs: boolean;\r\n isShowBondsmithTermsAndConditions: boolean;\r\n isDocLoading: boolean;\r\n}\r\n\r\nexport class ExternalFundDocument extends ProcessComponent {\r\n constructor(props: IExternalFundDocumentProps) {\r\n super(props);\r\n\r\n this.state = {\r\n externalFundDocuments: [],\r\n isShowFundFact: false,\r\n isShowKiidDoc: false,\r\n isShowSummaryBox: false,\r\n isShowFscs: false,\r\n isShowBondsmithTermsAndConditions: false,\r\n isDocLoading: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getExternalFundDocument(ExternalDocumentType.FundFactSheets);\r\n this.getExternalFundDocument(ExternalDocumentType.KiidDocuments);\r\n this.getExternalFundDocument(ExternalDocumentType.SummaryBoxes);\r\n this.getExternalFundDocument(ExternalDocumentType.FscsSheets);\r\n this.getExternalFundDocument(ExternalDocumentType.BondsmithTermsAndConditions);\r\n }\r\n\r\n private getExternalFundDocument(externalDocType: ExternalDocumentType) {\r\n this.setState({ isDocLoading: true }); // Indicate loading\r\n\r\n const { instrumentCodes } = this.props;\r\n const company = ClientAccountStore.getClientAccountInfo()?.Company || AdviserContextStoreStatic.getData()?.Company;\r\n\r\n InstructionDocumentTypeRequestTriggerActionsCreator.getExternalFundDocument(\r\n 0,\r\n \"\",\r\n company,\r\n externalDocType,\r\n instrumentCodes,\r\n (callback) => {\r\n const existingModel = Objects.cloneObject(this.state.externalFundDocuments);\r\n const newDoc: Array = [];\r\n\r\n if (callback.Instruments.length > 0) {\r\n callback.Instruments.forEach((item: Instrument) => {\r\n if (item.FinexDocumentUrl !== '') {\r\n newDoc.push({\r\n documentName: ExternalDocumentTypeMapper[externalDocType],\r\n InvestmentDisplayName: item.DisplayName,\r\n fundUrl: item.FinexDocumentUrl,\r\n });\r\n switch (externalDocType) {\r\n case ExternalDocumentType.FundFactSheets:\r\n this.setState({ isShowFundFact: true });\r\n break;\r\n case ExternalDocumentType.KiidDocuments:\r\n this.setState({ isShowKiidDoc: true });\r\n break;\r\n case ExternalDocumentType.SummaryBoxes:\r\n this.setState({ isShowSummaryBox: true });\r\n break;\r\n case ExternalDocumentType.FscsSheets:\r\n this.setState({ isShowFscs: true });\r\n break;\r\n case ExternalDocumentType.BondsmithTermsAndConditions:\r\n this.setState({ isShowBondsmithTermsAndConditions: true });\r\n break;\r\n }\r\n }\r\n });\r\n\r\n const updatedValue = existingModel.concat(newDoc);\r\n this.setState({\r\n externalFundDocuments: updatedValue,\r\n isDocLoading: false,\r\n });\r\n } else {\r\n // No documents found, ensure the document type remains hidden\r\n this.setState({ isDocLoading: false });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private renderExternalDocTable() {\r\n const {\r\n isDocLoading,\r\n externalFundDocuments,\r\n isShowFundFact,\r\n isShowKiidDoc,\r\n isShowSummaryBox,\r\n isShowFscs,\r\n isShowBondsmithTermsAndConditions } = this.state;\r\n const documentName: string = !isShowFundFact\r\n ? ExternalDocumentTypeMapper[ExternalDocumentType.FundFactSheets]\r\n : !isShowKiidDoc\r\n ? ExternalDocumentTypeMapper[ExternalDocumentType.KiidDocuments]\r\n : !isShowSummaryBox\r\n ? ExternalDocumentTypeMapper[ExternalDocumentType.SummaryBoxes]\r\n : !isShowKiidDoc\r\n ? ExternalDocumentTypeMapper[ExternalDocumentType.FscsSheets]\r\n : !isShowBondsmithTermsAndConditions\r\n ? ExternalDocumentTypeMapper[ExternalDocumentType.BondsmithTermsAndConditions]\r\n : null;\r\n if (isDocLoading) {\r\n return ;\r\n } else if (externalFundDocuments.length > 0) {\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n return (\r\n row.documentName +\r\n \" - \" +\r\n row.InvestmentDisplayName +\r\n \" \" +\r\n JsonDateParser.getFormatDateString(new Date(), \"dd/MM/yyyy\", true, true)\r\n );\r\n },\r\n },\r\n {\r\n title: \"Link\",\r\n key: \"ProductDisplayName\",\r\n render: (data, row: IExternalFundDocModel, index) => {\r\n return (\r\n \r\n Document\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n }\r\n else if (!isShowFundFact && !isShowKiidDoc && !isShowSummaryBox &&\r\n !isShowFscs && !isShowBondsmithTermsAndConditions)\r\n {\r\n return (\r\n {`There is no ${documentName} report based on selected investments.`}}\r\n />\r\n );\r\n }\r\n }\r\n\r\n private renderDownloadButtonSection(): JSX.Element\r\n {\r\n const {\r\n isShowFundFact,\r\n isShowKiidDoc,\r\n isShowSummaryBox,\r\n isShowFscs,\r\n isShowBondsmithTermsAndConditions } = this.state;\r\n\r\n return (\r\n <>\r\n {isShowFundFact && (\r\n
\r\n Fund Fact Sheets\r\n this.getExternalFundDocument(ExternalDocumentType.FundFactSheets)}\r\n >\r\n \r\n Download\r\n \r\n
\r\n )}\r\n {isShowKiidDoc && (\r\n
\r\n KIID/Simplified Prospectus\r\n\r\n this.getExternalFundDocument(ExternalDocumentType.KiidDocuments)}\r\n >\r\n \r\n Download\r\n \r\n
\r\n )}\r\n {isShowSummaryBox && (\r\n
\r\n Cash Deposit Product Information Sheets\r\n\r\n this.getExternalFundDocument(ExternalDocumentType.SummaryBoxes)}\r\n >\r\n \r\n Download\r\n \r\n
\r\n )}\r\n {isShowFscs && (\r\n
\r\n FSCS Information Sheets\r\n\r\n this.getExternalFundDocument(ExternalDocumentType.FscsSheets)}\r\n >\r\n \r\n Download\r\n \r\n
\r\n )}\r\n {isShowBondsmithTermsAndConditions && (\r\n
\r\n Terms and Conditions\r\n\r\n \r\n this.getExternalFundDocument(ExternalDocumentType.BondsmithTermsAndConditions)}\r\n >\r\n \r\n Download\r\n \r\n
\r\n )}\r\n \r\n )\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n { (this.props.renderDownloadButtonSection == null || this.props.renderDownloadButtonSection)\r\n && this.renderDownloadButtonSection() }\r\n { this.renderExternalDocTable() }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DocumentRequestStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/DocumentRequestStatus\";\r\nimport { TaskRequestStatus } from \"../../../../../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { EncryptedInstructionDocumentTypeRequest } from \"../../../../../../../Wrap/Models/Models/Documents/InstructionDocuments/EncryptedInstructionDocumentTypeRequest\";\r\nimport { TaskRequestStatusModel } from \"../../../../../../../Wrap/Models/Models/Tasks/TaskRequestStatusModel\";\r\nimport { ExcelExportAction } from \"../../../../../../Shared/ExcelExport/Actions/ExcelExportAction\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { DocumentFileAction } from \"../../../PortfolioDashboard/Components/Document/Action/DocumentFileAction\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { IllustrationStore } from \"../Store/Variable\";\r\n\r\ninterface IIllustrationsAvailableProps extends IProcessComponentProps {\r\n data: any;\r\n}\r\n\r\ninterface IIllustrationsAvailableState {\r\n illustrations: EncryptedInstructionDocumentTypeRequest[];\r\n downloadedOrFailed: number[];\r\n}\r\n\r\nexport class IllustrationsAvailable extends ProcessComponent<\r\n IIllustrationsAvailableProps,\r\n IIllustrationsAvailableState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n illustrations: IllustrationStore.getData(),\r\n downloadedOrFailed: [],\r\n };\r\n this.subscribeToStore(IllustrationStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n const data = IllustrationStore.getData();\r\n this.setState({ illustrations: IllustrationStore.getData() }, () => {\r\n (data || []).forEach((illustration) => {\r\n this.getStatus(illustration);\r\n });\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.illustrationSetTimeout);\r\n }\r\n\r\n private illustrationSetTimeout;\r\n private getStatus(illustration: EncryptedInstructionDocumentTypeRequest) {\r\n ExcelExportAction.getTaskRequestStatus(\r\n illustration?.DocumentRequest?.Id?.toString(),\r\n (res: TaskRequestStatusModel) => {\r\n const status = res.Status;\r\n if (\r\n status == TaskRequestStatus.Pending ||\r\n status == TaskRequestStatus.Running ||\r\n status == TaskRequestStatus.Allocated ||\r\n status == TaskRequestStatus.PendingDelayed ||\r\n status == TaskRequestStatus.PendingHold\r\n ) {\r\n this.illustrationSetTimeout = setTimeout(() => {\r\n this.getStatus(illustration);\r\n }, 2000);\r\n } else if (status == TaskRequestStatus.Complete) {\r\n const params = getQueryParameters();\r\n DocumentFileAction.get(\r\n null,\r\n illustration?.DocumentType.Name + \".PDF\",\r\n true,\r\n 0,\r\n illustration?.DocumentRequest?.Id,\r\n params[\"claccountid\"],\r\n (result: string) => {\r\n const { illustrations } = this.state;\r\n illustrations.find(\r\n (ele) => ele?.DocumentRequest?.Id == illustration?.DocumentRequest?.Id\r\n ).DocumentRequest.Status = DocumentRequestStatus.Completed;\r\n illustrations.find(\r\n (ele) => ele?.DocumentRequest?.Id == illustration?.DocumentRequest?.Id\r\n ).DocumentRequest[\"Url\"] = result;\r\n this.setState((preState) => {\r\n return {\r\n downloadedOrFailed: preState.downloadedOrFailed.concat(\r\n illustration?.DocumentRequest?.Id\r\n ),\r\n };\r\n });\r\n }\r\n );\r\n } else {\r\n const { illustrations } = this.state;\r\n illustrations.find(\r\n (ele) => ele?.DocumentRequest?.DocumentTypeId == illustration?.DocumentRequest?.DocumentTypeId\r\n ).DocumentRequest.Status =\r\n status == TaskRequestStatus.Failed\r\n ? DocumentRequestStatus.Failed\r\n : DocumentRequestStatus.Cancelled;\r\n this.setState((preState) => {\r\n return {\r\n downloadedOrFailed: preState.downloadedOrFailed.concat(\r\n illustration?.DocumentRequest?.DocumentTypeId\r\n ),\r\n };\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private renderIllustrationsAvailable() {\r\n return (\r\n <>\r\n {SectionHeader(\"Illustrations available\")}\r\n {this.renderDocAvailableTable()}\r\n \r\n );\r\n }\r\n\r\n private renderDocAvailableTable() {\r\n const illustrations = this.state.illustrations || [];\r\n return (\r\n
\r\n {illustrations.map((row) => (\r\n
\r\n

{`${row.DocumentType.Name} ${row.DocumentRequest?.Id}`}

\r\n\r\n {row?.DocumentRequest?.Status == DocumentRequestStatus.Completed ? (\r\n \r\n \r\n {`${row?.DocumentType?.Name} ${row?.DocumentRequest?.Id}`}\r\n \r\n ) : row?.DocumentRequest?.Status == DocumentRequestStatus.Pending ? (\r\n \r\n ) : (\r\n Failed or Cancelled\r\n )}\r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return <>{this.renderIllustrationsAvailable()};\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { ExternalDocumentType } from \"../../../../../../../Wrap/Models/Domains/Documents/ExternalDocumentType\";\r\nimport { InstrumentSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { GiaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { WrapCashContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/WrapCash/WrapCashContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { MultiDownloadButton } from \"../../../../../../Shared/DownloadButton/MultiDownloadButton\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientAccountStore } from \"../../../../../Stroes/Variable\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { AdviserContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\n\r\ninterface IInvestmentDocumentsProps extends IProcessComponentProps {\r\n data:\r\n | ApplyModel\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel;\r\n selectAll: boolean;\r\n triggerred: number;\r\n processType: processTypeEnum;\r\n clAccountId?: string;\r\n}\r\n\r\ninterface IInvestmentDocuments {}\r\n\r\nexport class InvestmentDocuments extends ProcessComponent {\r\n constructor(props: IInvestmentDocumentsProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private isDisabledInvestmentDocuments(): boolean {\r\n const wizardProcesType = this.props.processType;\r\n\r\n const nonInvestmentDocumentProducts: ProductType[] = [ProductType.Cash, ProductType.CashProduct];\r\n\r\n if (\r\n wizardProcesType == processTypeEnum.NewBusinessExistingClient ||\r\n wizardProcesType == processTypeEnum.NewQuoteExistingClient ||\r\n wizardProcesType == processTypeEnum.Quote ||\r\n wizardProcesType == processTypeEnum.NewBusiness\r\n ) {\r\n const applyModel: ApplyModel = this.props.data;\r\n if (\r\n applyModel.IsaModel.InstrumentSelections != null &&\r\n applyModel.IsaModel.InstrumentSelections.Instruments.length > 0\r\n ) {\r\n const isaInstruments = applyModel.IsaModel.InstrumentSelections.Instruments.filter(\r\n (item: InstrumentSelection) => {\r\n return !nonInvestmentDocumentProducts.includes(item.Instrument.Type);\r\n }\r\n );\r\n if (isaInstruments.length > 0) {\r\n return false;\r\n }\r\n }\r\n if (\r\n applyModel.GiaModel.InstrumentSelections != null &&\r\n applyModel.GiaModel.InstrumentSelections.Instruments.length > 0\r\n ) {\r\n const isaInstruments = applyModel.GiaModel.InstrumentSelections.Instruments.filter(\r\n (item: InstrumentSelection) => {\r\n return !nonInvestmentDocumentProducts.includes(item.Instrument.Type);\r\n }\r\n );\r\n if (isaInstruments.length > 0) {\r\n return false;\r\n }\r\n }\r\n if (\r\n applyModel.PensionApply.InstrumentSelections != null &&\r\n applyModel.PensionApply.InstrumentSelections.Instruments.length > 0\r\n ) {\r\n const isaInstruments = applyModel.PensionApply.InstrumentSelections.Instruments.filter(\r\n (item: InstrumentSelection) => {\r\n return !nonInvestmentDocumentProducts.includes(item.Instrument.Type);\r\n }\r\n );\r\n if (isaInstruments.length > 0) {\r\n return false;\r\n }\r\n }\r\n if (applyModel.IsaModel.IsaTransfers != null) {\r\n let hasIsaTransfer = false;\r\n applyModel.IsaModel.IsaTransfers.map((it, idx) => {\r\n if (it.Instruments.length > 0) {\r\n hasIsaTransfer = true;\r\n return;\r\n }\r\n });\r\n return !hasIsaTransfer;\r\n }\r\n if (applyModel.GiaModel.GiaTransfers != null) {\r\n let hasGiaTransfer = false;\r\n applyModel.GiaModel.GiaTransfers.map((it, idx) => {\r\n if (it.Instruments.length > 0) {\r\n hasGiaTransfer = true;\r\n return;\r\n }\r\n });\r\n\r\n return !hasGiaTransfer;\r\n }\r\n\r\n return true;\r\n } else if (\r\n wizardProcesType == processTypeEnum.SinglePaymentTransfer ||\r\n wizardProcesType == processTypeEnum.RegularPayment\r\n ) {\r\n const wrapCashContributionModel: WrapCashContributionModel = this.props.data;\r\n const wrapCashInstruments = wrapCashContributionModel.Contribution.InstrumentSelections.Instruments.filter(\r\n (item: InstrumentSelection, index) => {\r\n return !nonInvestmentDocumentProducts.includes(item.Instrument.Type);\r\n }\r\n );\r\n if (wrapCashInstruments.length > 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n /**processTypeEnum.topUpWithITFLS,processTypeEnum.GadReview,processTypeEnum.TakePensionBenefits,processTypeEnum.EditIncomePayments, these four situation dont related to instrument) */\r\n return true;\r\n }\r\n }\r\n\r\n private isBuyingCashProducts(): boolean\r\n {\r\n const applyModelHasCashProducts: boolean = (this.props.data as ApplyModel)\r\n ?.GiaModel\r\n ?.InstrumentSelections\r\n ?.Instruments\r\n ?.some(x => x.Instrument.Type === ProductType.CashProduct)\r\n ?? false;\r\n\r\n const giaContributionModelHasCashProducts: boolean = (this.props.data as GiaContributionModel)\r\n ?.Contribution\r\n ?.InstrumentSelections\r\n ?.Instruments\r\n ?.some(x => x.Instrument.Type === ProductType.CashProduct)\r\n ?? false;\r\n\r\n return applyModelHasCashProducts || giaContributionModelHasCashProducts;\r\n }\r\n\r\n render() {\r\n const { processType } = this.props;\r\n const props = {\r\n triggerred: this.props.triggerred,\r\n isSelectedAll: this.props.selectAll,\r\n };\r\n const showInvestmentDocuments = !this.isDisabledInvestmentDocuments();\r\n const params = getQueryParameters();\r\n const customerid = params[\"customerid\"];\r\n const claccountid = this.props.clAccountId;\r\n const applyModel: ApplyModel = this.props.data;\r\n const showCashProductDocuments: boolean = this.isBuyingCashProducts();\r\n\r\n let instructionId = params[\"id\"];\r\n if (instructionId.toString().includes(\"-\")) {\r\n instructionId = HierarchyIdHelper.generateHierarchyId(instructionId).entityId;\r\n }\r\n const company =\r\n ClientAccountStore.getClientAccountInfo()?.Company || AdviserContextStoreStatic.getData()?.Company;\r\n const headAccountHierarchyId = params[\"hierarchyid\"];\r\n return (\r\n <>\r\n {SectionHeader(\r\n \"Investment documents\",\r\n \"KIID and fund factsheets are consolidated into one PDF. These documents will also appear in your client’s document store.\"\r\n )}\r\n {showInvestmentDocuments && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequestFortInvestmentDocumentsInstruction(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n company,\r\n ExternalDocumentType.FundFactSheets,\r\n processType,\r\n DocumentTaskRequestTypeEnum.ExternalFundDocument,\r\n headAccountHierarchyId\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n {showInvestmentDocuments && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequestFortInvestmentDocumentsInstruction(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n company,\r\n ExternalDocumentType.KidDocuments,\r\n processType,\r\n DocumentTaskRequestTypeEnum.ExternalFundDocument,\r\n headAccountHierarchyId\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n {showInvestmentDocuments && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequestFortInvestmentDocumentsInstruction(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n company,\r\n ExternalDocumentType.KiidDocuments,\r\n processType,\r\n DocumentTaskRequestTypeEnum.ExternalFundDocument,\r\n headAccountHierarchyId\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n {showCashProductDocuments && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequestFortInvestmentDocumentsInstruction(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n company,\r\n ExternalDocumentType.SummaryBoxes,\r\n processType,\r\n DocumentTaskRequestTypeEnum.ExternalFundDocument,\r\n headAccountHierarchyId\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n {showCashProductDocuments && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequestFortInvestmentDocumentsInstruction(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n company,\r\n ExternalDocumentType.FscsSheets,\r\n processType,\r\n DocumentTaskRequestTypeEnum.ExternalFundDocument,\r\n headAccountHierarchyId\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n {showCashProductDocuments && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequestFortInvestmentDocumentsInstruction(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n company,\r\n ExternalDocumentType.BondsmithTermsAndConditions,\r\n processType,\r\n DocumentTaskRequestTypeEnum.ExternalFundDocument,\r\n headAccountHierarchyId\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { InstrumentSelections } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelections\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { NewTpsInvestmentsMessage } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\n\r\ninterface INewTpsWarningProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n processType: processTypeEnum;\r\n}\r\n\r\ninterface INewTpsWarningState {}\r\n\r\nexport class NewTpsWarning extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n private hasNewTps(): boolean {\r\n const { data, processType } = this.props;\r\n\r\n if (processType == processTypeEnum.NewBusiness) {\r\n if (this.containNewTpsInstruments(data.GiaModel?.InstrumentSelections)) {\r\n return true;\r\n }\r\n if (this.containNewTpsInstruments(data.IsaModel?.InstrumentSelections)) {\r\n return true;\r\n }\r\n if (this.containNewTpsInstruments(data.PensionApply?.PostRetirementInstrumentSelections)) {\r\n return true;\r\n }\r\n if (this.containNewTpsInstruments(data.PensionApply?.PreRetirementInstrumentSelections)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n private containNewTpsInstruments(instrumentSelections: InstrumentSelections) {\r\n if (instrumentSelections != null) {\r\n const tpsInvestments = instrumentSelections.Instruments.filter(\r\n (instrument) => instrument.Instrument.Type == ProductType.TailoredModelPortfolio\r\n );\r\n return tpsInvestments.length > 0;\r\n }\r\n return false;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.hasNewTps() && (\r\n \r\n {NewTpsInvestmentsMessage.messagePart1}\r\n {NewTpsInvestmentsMessage.link}\r\n {NewTpsInvestmentsMessage.messagePart2}\r\n \r\n }\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Objects } from \"../../../../../../../react-core/Utils/Objects\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { EncryptedInstructionDocumentTypeRequest } from \"../../../../../../../Wrap/Models/Models/Documents/InstructionDocuments/EncryptedInstructionDocumentTypeRequest\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { GiaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { WrapCashContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/WrapCash/WrapCashContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\nimport { MultiDownloadButton } from \"../../../../../../Shared/DownloadButton/MultiDownloadButton\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { IllustrationType } from \"../Resource/Content\";\r\n\r\ninterface IQuoteAndChargesProps extends IProcessComponentProps {\r\n data:\r\n | ApplyModel\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel;\r\n processType: processTypeEnum;\r\n subAccountType: SubAccountType;\r\n needGoToDlu: boolean;\r\n selectAll: boolean;\r\n triggerred: number;\r\n clAccountId?: string;\r\n customerId?: number;\r\n}\r\n\r\ninterface IQuoteAndCharges {}\r\n\r\nexport class QuoteAndCharges extends ProcessComponent {\r\n constructor(props: IQuoteAndChargesProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private illustrationTrigger(callback, fileName: string, illustrationType: IllustrationType) {\r\n if (\r\n this.props.processType == processTypeEnum.NewBusiness ||\r\n this.props.processType == processTypeEnum.NewBusinessExistingClient\r\n ) {\r\n const dataClone: ApplyModel = Objects.cloneObject(this.props.data);\r\n let applyModel: ApplyModel = {};\r\n if (illustrationType == IllustrationType.GiaIllustration) {\r\n applyModel.GiaModel = dataClone.GiaModel;\r\n } else if (illustrationType == IllustrationType.IsaIllustration) {\r\n applyModel.IsaModel = dataClone.IsaModel;\r\n } else if (illustrationType == IllustrationType.WrapCashIllustration) {\r\n applyModel.WrapCashModel = dataClone.WrapCashModel;\r\n } else {\r\n applyModel = dataClone;\r\n }\r\n\r\n InstructionDocumentTypeRequestTriggerActionsCreator.triggerByApplyModel(\r\n applyModel,\r\n (data: EncryptedInstructionDocumentTypeRequest[]) => {\r\n const currentOne = data.find((item) => item?.DocumentType?.Name.includes(fileName));\r\n callback(currentOne?.DocumentRequest?.Id, currentOne?.DocumentType?.Name + \".pdf\");\r\n }\r\n );\r\n } else {\r\n InstructionDocumentTypeRequestTriggerActionsCreator.triggerByContributionAndWithdrawalBase(\r\n this.props.data,\r\n (data: EncryptedInstructionDocumentTypeRequest[]) => {\r\n const currentOne = data.find((item) => item?.DocumentType?.Name.includes(fileName));\r\n callback(currentOne?.DocumentRequest?.Id, currentOne?.DocumentType?.Name + \".pdf\");\r\n }\r\n );\r\n }\r\n }\r\n\r\n private showIsaIllustrationCondition = (processType: processTypeEnum) => {\r\n if (processType == processTypeEnum.NewBusiness || processType == processTypeEnum.NewBusinessExistingClient) {\r\n return (this.props.data as ApplyModel).SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isIsa(ele.SubAccountType)\r\n );\r\n }\r\n if (processType == processTypeEnum.SinglePaymentTransfer || processType == processTypeEnum.RegularPayment) {\r\n return this.props.subAccountType == SubAccountType.StocksIsa;\r\n }\r\n return false;\r\n };\r\n\r\n private showPPIllustrationCondition = (processType: processTypeEnum) => {\r\n if (processType == processTypeEnum.NewBusiness || processType == processTypeEnum.NewBusinessExistingClient) {\r\n return (this.props.data as ApplyModel).SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isPP(ele.SubAccountType)\r\n );\r\n }\r\n if (processType == processTypeEnum.SinglePaymentTransfer || processType == processTypeEnum.RegularPayment) {\r\n return SubAccountTypeHelper.isPP(this.props.subAccountType);\r\n }\r\n return false;\r\n };\r\n\r\n private hasAllocationExceptGBPCash(model: ContributionAndWithdrawalBase): boolean {\r\n return model?.InstrumentSelections?.Instruments?.some((x) => x.Instrument.Name != \"GBP Cash\");\r\n }\r\n\r\n private displayChargesInformation(): boolean {\r\n const { data, processType } = this.props;\r\n\r\n if (processType == processTypeEnum.SinglePaymentTransfer || processType == processTypeEnum.RegularPayment) {\r\n return this.hasAllocationExceptGBPCash(\r\n (data as\r\n | GiaContributionModel\r\n | IsaContributionModel\r\n | PensionContributionModel\r\n | WrapCashContributionModel)?.Contribution\r\n );\r\n } else if (\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == processTypeEnum.NewBusinessExistingClient\r\n ) {\r\n return (\r\n this.hasAllocationExceptGBPCash((data as ApplyModel)?.GiaModel) ||\r\n this.hasAllocationExceptGBPCash((data as ApplyModel)?.IsaModel) ||\r\n this.hasAllocationExceptGBPCash((data as ApplyModel)?.PensionApply)\r\n );\r\n }\r\n }\r\n\r\n private displayChargesSummary(): boolean {\r\n const { processType } = this.props;\r\n if (this.props.needGoToDlu) {\r\n return false;\r\n }\r\n\r\n if (\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == processTypeEnum.NewBusinessExistingClient ||\r\n processType == processTypeEnum.SinglePaymentTransfer ||\r\n processType == processTypeEnum.RegularPayment\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n render() {\r\n const { processType } = this.props;\r\n const props = {\r\n triggerred: this.props.triggerred,\r\n isSelectedAll: this.props.selectAll,\r\n };\r\n const params = getQueryParameters();\r\n const customerid = params[\"customerid\"] ?? this.props.customerId;\r\n const claccountid = this.props.clAccountId;\r\n const instructionId = params[\"id\"];\r\n const headAccountHierarchyId = params[\"hierarchyid\"];\r\n return (\r\n <>\r\n {SectionHeader(\r\n \"Quotes and charges\",\r\n \"These documents will also appear in your client’s document store.\"\r\n )}\r\n {this.showIsaIllustrationCondition(processType) && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.ChargesInformation,\r\n processType\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n trigger={(callback) => {\r\n this.illustrationTrigger(callback, \"ISA Illustration\", IllustrationType.IsaIllustration);\r\n }}\r\n />\r\n )}\r\n {this.showPPIllustrationCondition(processType) && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.ChargesInformation,\r\n processType\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n trigger={(callback) => {\r\n this.illustrationTrigger(\r\n callback,\r\n \"Personal Portfolio illustration\",\r\n IllustrationType.GiaIllustration\r\n );\r\n }}\r\n />\r\n )}\r\n {this.displayChargesInformation() && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.ChargesInformation,\r\n processType\r\n )}\r\n triggerAuto\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n {this.displayChargesSummary() && (\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n request={DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.ChargeSummary,\r\n processType\r\n )}\r\n selectedAccount={headAccountHierarchyId}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { ExternalDocumentType } from \"../../../../../../../Wrap/Models/Domains/Documents/ExternalDocumentType\";\r\n\r\nexport const ExternalDocumentTypeMapper = {\r\n [ExternalDocumentType.FundFactSheets]: \"Fund Fact Sheets\",\r\n [ExternalDocumentType.KiidDocuments]: \"KIID/Simplified Prospectus\",\r\n [ExternalDocumentType.KidDocuments]: \"Investment Key Information Document\",\r\n [ExternalDocumentType.SummaryBoxes]: \"Cash Deposit Product Information Sheets\",\r\n [ExternalDocumentType.FscsSheets]: \"FSCS Information Documents\",\r\n [ExternalDocumentType.BondsmithTermsAndConditions]: \"Terms and Conditions\",\r\n};\r\n\r\nexport enum IllustrationType {\r\n GiaIllustration,\r\n IsaIllustration,\r\n PensionIllustration,\r\n WrapCashIllustration,\r\n}\r\n\r\nexport const BWAMessages = {\r\n BWACheckMessage:\r\n \"Please check the details on the payments in and or withdrawals step if you want to authenticate the bank account as part of this process.Please Note - Bank accounts must be verified to enable any withdrawals or income to be paid. If you have chosen to set up any payments in or out with the bank account(s) included we may require further evidence to process this request.\",\r\n BWAValidationMessage: \"Please select a different bank account for your payments in.\",\r\n};\r\n","import { EncryptedInstructionDocumentTypeRequest } from \"../../../../../../../Wrap/Models/Models/Documents/InstructionDocuments/EncryptedInstructionDocumentTypeRequest\";\r\nimport { SingleDataStore } from \"../../../../../../Shared/Stores/SingleDataStore\";\r\nimport { SingleDataStoreDispacher } from \"../../../../../../Shared/Stores/SingleDataStoreDispacher\";\r\n\r\nexport const IllustrationDispatcher: SingleDataStoreDispacher<\r\n EncryptedInstructionDocumentTypeRequest[]\r\n> = new SingleDataStoreDispacher();\r\nexport const IllustrationStore: SingleDataStore = new SingleDataStore<\r\n EncryptedInstructionDocumentTypeRequest[]\r\n>(IllustrationDispatcher);\r\n","import { PhysicalAddressType } from \"../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { TaxReferenceType } from \"../../../../../../Wrap/Constants/Enums/Customer/TaxReferenceType\";\r\nimport { CountryCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { AddressInfo } from \"../../../../../../Wrap/Models/Models/Customer/AddressInfo\";\r\nimport { FullClientDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { NINOHelper } from \"../Helpers/NINOHelper\";\r\n\r\nexport class FullClientDetailHelper {\r\n public static initTaxModel(initArray: Array, data: FullClientDetailModel): Array {\r\n if (data == null || data.CustomerTaxResidencyDetails == null || data.CustomerTaxResidencyDetails.length == 0) {\r\n //if CustomerTaxResidencyDetails have nothing add UK to index 0 as UK is a must\r\n return initArray.concat([\r\n { value: CountryCode.GBR, path: \"CustomerTaxResidencyDetails.0.Country\" },\r\n { value: false, path: \"CustomerTaxResidencyDetails.0.IsNationality\" },\r\n { value: false, path: \"CustomerTaxResidencyDetails.0.PrimaryCitizenship\" },\r\n { value: true, path: \"CustomerTaxResidencyDetails.0.IsTaxResident\" },\r\n { value: TaxReferenceType.GbrNino, path: \"CustomerTaxResidencyDetails.0.TaxReferenceType\" },\r\n { value: true, path: \"CustomerTaxResidencyDetails.0.PrimaryTaxResidency\" },\r\n ]);\r\n } else {\r\n //if CustomerTaxResidencyDetails have anything,\r\n //check if it has UK and is UK the first one in model,\r\n //as we set the first counrey to UK and non editable\r\n\r\n // 0824 - User can change primary tax residency to other country later. So need handle this logic\r\n const gbr = data.CustomerTaxResidencyDetails.find((ele) => ele.Country == CountryCode.GBR) || {\r\n Country: CountryCode.GBR,\r\n IsNationality: false,\r\n PrimaryCitizenship: false,\r\n IsTaxResident: true,\r\n TaxReferenceType: TaxReferenceType.GbrNino,\r\n PrimaryTaxResidency: true,\r\n };\r\n const _gbr = JSON.parse(JSON.stringify(gbr));\r\n _gbr.IsNationality = false;\r\n _gbr.PrimaryCitizenship = false;\r\n const primaryTaxResident = data.CustomerTaxResidencyDetails.find(\r\n (ele) => ele.IsTaxResident && ele.PrimaryTaxResidency\r\n );\r\n let taxResidency = [];\r\n if (primaryTaxResident?.Country == CountryCode.GBR) {\r\n taxResidency =\r\n data.CustomerTaxResidencyDetails.filter(\r\n (ele) => ele.IsTaxResident && ele.PrimaryTaxResidency != true\r\n ) || [];\r\n } else {\r\n taxResidency = data.CustomerTaxResidencyDetails.filter((ele) => ele.IsTaxResident) || [];\r\n }\r\n const _taxResidency = JSON.parse(JSON.stringify(taxResidency));\r\n if (_taxResidency?.length > 0) {\r\n _taxResidency.forEach((x) => {\r\n x.IsNationality = false;\r\n x.PrimaryCitizenship = false;\r\n });\r\n }\r\n\r\n const nationalityList = data.CustomerTaxResidencyDetails.filter((ele) => ele.IsNationality == true);\r\n nationalityList.forEach((ele) => (ele.IsTaxResident = false));\r\n let temp = [];\r\n\r\n temp = temp.concat(_gbr, _taxResidency, nationalityList);\r\n return initArray.concat([{ value: temp, path: \"CustomerTaxResidencyDetails\" }]);\r\n }\r\n }\r\n\r\n public static updatePostalAddress(initArray: Array, data: FullClientDetailModel): Array {\r\n if (data.AddressDetails?.length > 0) {\r\n const hasPostalAddress = data.AddressDetails?.find(\r\n (ele) => ele.PhysicalAddressType == PhysicalAddressType.Postal\r\n );\r\n if (!hasPostalAddress) {\r\n const temp = this.setPostalAddress(true, data);\r\n return temp.concat(initArray);\r\n }\r\n }\r\n return initArray;\r\n }\r\n\r\n public static setPostalAddress(v: boolean, model: FullClientDetailModel): Array {\r\n const data = model.AddressDetails;\r\n const index = data?.findIndex((ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential);\r\n\r\n const postalindex = index == 1 ? 0 : 1;\r\n if (v) {\r\n return [\r\n {\r\n value: PhysicalAddressType.Postal,\r\n path: `AddressDetails.${postalindex}.PhysicalAddressType`,\r\n },\r\n {\r\n value: data[index]?.Address?.Address1,\r\n path: `AddressDetails.${postalindex}.Address.Address1`,\r\n },\r\n {\r\n value: data[index]?.Address?.Address2,\r\n path: `AddressDetails.${postalindex}.Address.Address2`,\r\n },\r\n {\r\n value: data[index]?.Address?.Address3,\r\n path: `AddressDetails.${postalindex}.Address.Address3`,\r\n },\r\n {\r\n value: data[index]?.Address?.Address4,\r\n path: `AddressDetails.${postalindex}.Address.Address4`,\r\n },\r\n {\r\n value: data[index]?.Address?.Country,\r\n path: `AddressDetails.${postalindex}.Address.Country`,\r\n },\r\n {\r\n value: data[index]?.Address?.PostCode,\r\n path: `AddressDetails.${postalindex}.Address.PostCode`,\r\n },\r\n ];\r\n } else {\r\n data.splice(postalindex, 1);\r\n return [{ value: data, path: `AddressDetails` }];\r\n }\r\n }\r\n\r\n public static isSameAddress(address1: AddressInfo, address2: AddressInfo) {\r\n if (!address2) {\r\n return false;\r\n }\r\n let isSame = true;\r\n if (\r\n address2.Address1 != address1.Address1 ||\r\n address2.Address2 != address1.Address2 ||\r\n address2.Address3 != address1.Address3 ||\r\n address2.PostCode != address1.PostCode ||\r\n address2.Country != address1.Country\r\n ) {\r\n isSame = false;\r\n }\r\n\r\n return isSame;\r\n }\r\n\r\n public static fullClientDetailValidation(\r\n fullClientDetail: FullClientDetailModel\r\n ): { isValid: boolean; errorMsg: string[] } {\r\n const hasResidentialAddress = fullClientDetail?.AddressDetails?.some(\r\n (ele) => ele.PhysicalAddressType == PhysicalAddressType.Residential\r\n );\r\n const residentTax = fullClientDetail?.CustomerTaxResidencyDetails?.find((x) => x.IsTaxResident);\r\n const completeNINO =\r\n residentTax && residentTax.TaxReference != null && residentTax.TaxReferenceType == TaxReferenceType.GbrNino;\r\n const isCorrectFormat = NINOHelper.IsNINOFormatCorrect(residentTax?.TaxReference);\r\n let msg: string[] = [];\r\n if (!completeNINO) {\r\n msg = msg.concat([\"You must enter a complete national insurance number\"]);\r\n }\r\n if (!isCorrectFormat) {\r\n msg = msg.concat([\"National insurance number is in wrong format!\"]);\r\n }\r\n if (!hasResidentialAddress) {\r\n msg = msg.concat([\"You must enter residential address\"]);\r\n }\r\n const hasPostalAddress = fullClientDetail?.AddressDetails.some(\r\n (ele) => ele.PhysicalAddressType == PhysicalAddressType.Postal\r\n );\r\n\r\n if (!hasPostalAddress && fullClientDetail?.AddressDetails.length != 1)\r\n {msg = msg.concat([\"You must enter postal address\"]);}\r\n\r\n return { isValid: msg.length <= 0, errorMsg: msg };\r\n }\r\n\r\n public static beforeSave(fullClientDetail: FullClientDetailModel): FullClientDetailModel {\r\n if (!fullClientDetail) {return null;}\r\n if (\r\n FullClientDetailHelper.isSameAddress(\r\n fullClientDetail?.AddressDetails[0]?.Address,\r\n fullClientDetail?.AddressDetails[1]?.Address\r\n )\r\n ) {\r\n const addresses = fullClientDetail?.AddressDetails;\r\n addresses.splice(\r\n addresses.findIndex((x) => x.PhysicalAddressType == PhysicalAddressType.Postal),\r\n 1\r\n );\r\n fullClientDetail.AddressDetails = addresses;\r\n }\r\n\r\n const _customerTaxResidencyDetails = [];\r\n fullClientDetail?.CustomerTaxResidencyDetails.forEach((v) => {\r\n const index = _customerTaxResidencyDetails.findIndex((ele) => ele?.Country == v?.Country);\r\n if (index == -1) {\r\n // no hit\r\n _customerTaxResidencyDetails.push(v);\r\n } else {\r\n _customerTaxResidencyDetails[index] = {\r\n ..._customerTaxResidencyDetails[index],\r\n IsNationality: v?.IsNationality,\r\n PrimaryCitizenship: v?.PrimaryCitizenship,\r\n NationalIdentifier: v?.NationalIdentifier,\r\n PassportNumber: v?.PassportNumber,\r\n };\r\n }\r\n });\r\n\r\n fullClientDetail.CustomerTaxResidencyDetails = _customerTaxResidencyDetails;\r\n return fullClientDetail;\r\n }\r\n}\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\nimport { GiaHelper } from \"./GiaHelper\";\r\nimport { IsaHelper } from \"./IsaHelper\";\r\nimport { PaymentsHelper } from \"./PaymentsHelper\";\r\nimport { PensionHelper } from \"./PensionHelper\";\r\nimport { SubAccountTypeHelper } from \"./SubAccountTypeHelper\";\r\n\r\nexport class ChargesHelper {\r\n static getTotalForIACEstimation(data: any, type: SubAccountType) {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n return PensionHelper.singlePaymentsTotal(data) + PensionHelper.transfersTotal(data);\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n return PaymentsHelper.singlePaymentsTotal(data) + IsaHelper.transfersTotal(data);\r\n } else if (SubAccountTypeHelper.isPP(type)) {\r\n return PaymentsHelper.singlePaymentsTotal(data) + GiaHelper.transfersTotal(data);\r\n } else {\r\n return PaymentsHelper.singlePaymentsTotal(data);\r\n }\r\n }\r\n\r\n static validateRIACAmount(data: any, type: SubAccountType, riac: number): boolean {\r\n let regularTotal = 0;\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n regularTotal = PensionHelper.regularPaymentsTotalForCharges(data);\r\n } else {\r\n regularTotal = PaymentsHelper.regularPaymentsTotalForCharges(data);\r\n }\r\n return riac >= regularTotal;\r\n }\r\n\r\n static hasRegularPayments(data: any, type: SubAccountType): boolean {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n return PensionHelper.hasRegularPayments(data);\r\n } else {\r\n return PaymentsHelper.hasRegularPayments(data);\r\n }\r\n }\r\n\r\n static hasSinglePayments(data: ContributionAndWithdrawalBase, type: SubAccountType): boolean {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n return PensionHelper.hasSinglePayments(data);\r\n } else {\r\n return PaymentsHelper.hasSinglePayments(data);\r\n }\r\n }\r\n\r\n static hasTransfers(data: ContributionAndWithdrawalBase, type: SubAccountType): boolean {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n return PensionHelper.hasPensionTransfers(data);\r\n } else if (type == SubAccountType.StocksIsa) {\r\n return IsaHelper.hasTransfers(data);\r\n } else if (type == SubAccountType.PersonalPortfolio || type == SubAccountType.InvestmentAccount) {\r\n return GiaHelper.hasTransfers(data);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n static displayIAC(data: ContributionAndWithdrawalBase, type: SubAccountType): boolean {\r\n const totalamount = this.getTotalForIACEstimation(data, type);\r\n return totalamount > 0;\r\n }\r\n\r\n static chargesProvided(data: ContributionAndWithdrawalBase): boolean {\r\n const iacAmount = data?.InitialAdviserCharge?.Money;\r\n const iacPercentage = data?.InitialAdviserCharge?.Percentage;\r\n const iacGiven = iacPercentage > 0 || (iacAmount && iacAmount.Amount && iacAmount.Amount > 0);\r\n\r\n const oacAmount = data?.OngoingAdviceCharge?.Money;\r\n const oacPercentage = data?.OngoingAdviceCharge?.Percentage;\r\n const oacGiven = oacPercentage > 0 || (oacAmount && oacAmount.Amount && oacAmount.Amount > 0);\r\n\r\n return iacGiven || oacGiven;\r\n }\r\n}\r\n","import { ClientDetails } from \"../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\n\r\nexport class ClientNameHelper {\r\n static clientNameDisplay(firstClientDetails: ClientDetails, secondClientDetails: ClientDetails) {\r\n let name = \"\";\r\n if (secondClientDetails) {\r\n if (\r\n firstClientDetails?.LastName !== undefined &&\r\n firstClientDetails?.LastName == secondClientDetails?.LastName\r\n ) {\r\n name = `${firstClientDetails?.FirstName} & ${secondClientDetails?.FirstName} ${secondClientDetails?.LastName}`;\r\n } else if (firstClientDetails?.LastName === undefined || secondClientDetails?.LastName === undefined) {\r\n name = `${firstClientDetails?.FirstName} & ${secondClientDetails?.FirstName}`;\r\n } else {\r\n name = `${firstClientDetails?.FirstName} ${firstClientDetails?.LastName} & ${secondClientDetails?.FirstName} ${secondClientDetails?.LastName}`;\r\n }\r\n } else {\r\n name = `${firstClientDetails?.FirstName ?? \"\"} ${firstClientDetails?.LastName ?? \"\"}`;\r\n }\r\n return name;\r\n }\r\n}\r\n","import { GiaModel } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/InvestmentAccount/GiaModel\";\r\nimport { PaymentsHelper } from \"./PaymentsHelper\";\r\nimport { TransferHelper } from \"./TransferHelper\";\r\n\r\nexport class GiaHelper {\r\n static hasPaymentsTransfer(model: GiaModel): boolean {\r\n return (\r\n PaymentsHelper.hasSinglePayments(model) ||\r\n PaymentsHelper.hasRegularPayments(model) ||\r\n this.hasTransfers(model)\r\n );\r\n }\r\n\r\n static transfersTotal(model: GiaModel): number {\r\n const transfers: any = model.GiaTransfers;\r\n let result = 0;\r\n\r\n if (!transfers || transfers.length === 0) {return result;}\r\n\r\n transfers.forEach((transfer) => {\r\n result += TransferHelper.getTransferInvestmentTotal(transfer.Instruments, transfer.ReRegisterValue);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n static hasTransfers(model: GiaModel): boolean {\r\n return model.GiaTransfers && model.GiaTransfers.length > 0;\r\n }\r\n}\r\n","import { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { addMonths, addYears } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { toDp } from \"../../../../../../react-core/Utils/Math\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { TransferType } from \"../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { CashPayment } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { IsaBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/IsaBase\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\nimport { PaymentsHelper } from \"./PaymentsHelper\";\r\nimport { TaxYearHelper } from \"./TaxYearHelper\";\r\nimport { TransferHelper } from \"./TransferHelper\";\r\n\r\nexport class IsaHelper {\r\n static hasPaymentsTransfer(model: IsaBase): boolean {\r\n return (\r\n PaymentsHelper.hasSinglePayments(model) ||\r\n PaymentsHelper.hasRegularPayments(model) ||\r\n this.hasTransfers(model)\r\n );\r\n }\r\n\r\n static paymentsInTotalForAllowance(model: IsaBase): number {\r\n //todo add other source\r\n return (\r\n PaymentsHelper.singlePaymentsTotal(model) +\r\n this.addCurrentYearSubscriptionValue(model) +\r\n PaymentsHelper.regularPaymentsCurrentTaxYearTotal(\r\n model,\r\n TaxYearHelper.GetTaxYearEndDate(TaxYearHelper.GetCurrentTaxYear())\r\n )\r\n );\r\n }\r\n\r\n private static addCurrentYearSubscriptionValue(model: IsaBase) {\r\n const transfers: any = model.IsaTransfers;\r\n let result = 0;\r\n if (!transfers || transfers.length === 0) {return result;}\r\n\r\n transfers.forEach((transfer) => {\r\n //Estimated current year subscription\r\n if (transfer.CurrentYearSubscriptionValue) {\r\n result += transfer.CurrentYearSubscriptionValue.Amount;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n static transfersTotal(model: IsaBase): number {\r\n const transfers: any = model.IsaTransfers;\r\n let result = 0;\r\n\r\n if (!transfers || transfers.length === 0) {return result;}\r\n\r\n transfers.forEach((transfer) => {\r\n if (\r\n transfer.TransferType === TransferType.Cash &&\r\n transfer.CurrentValue &&\r\n transfer.CurrentValue.Amount > 0\r\n ) {\r\n result += transfer.CurrentValue.Amount;\r\n } else {\r\n result += TransferHelper.getTransferInvestmentTotal(transfer.Instruments, transfer.ReRegisterValue);\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n static hasTransfers(model: IsaBase): boolean {\r\n return model.IsaTransfers && model.IsaTransfers.length > 0;\r\n }\r\n\r\n static updatedUsed(model: IsaBase, existingRegular: CashPayment[], isCompletedInstruction: boolean): number {\r\n let used = isCompletedInstruction ? 0 : this.paymentsInTotalForAllowance(model);\r\n if (model && model.IsaAllowance && model.IsaAllowance.Used && model.IsaAllowance.Used.Amount) {\r\n used += model.IsaAllowance.Used.Amount;\r\n }\r\n if (model && model.IsaAllowance && model.IsaAllowance.Expected && model.IsaAllowance.Expected.Amount) {\r\n used += model.IsaAllowance.Expected.Amount;\r\n }\r\n if (existingRegular?.length > 0) {\r\n /// remove edit regular payment from expected\r\n const clientExistingPayment = existingRegular?.find(\r\n (ele) => ele.BatchId == model?.ClientRegularPayment?.RegularBuyId\r\n );\r\n const thirdPartyExistingPayment = existingRegular?.find(\r\n (ele) => ele.BatchId == model?.ThirdPartyRegularPayment?.RegularBuyId\r\n );\r\n const existingExpectedModel: ContributionAndWithdrawalBase = {\r\n ClientRegularPayment: {\r\n Frequency: clientExistingPayment?.Frequency,\r\n Money: { Amount: clientExistingPayment?.Amount, Currency: CurrencyCode.GBP },\r\n FirstCollectionDate: clientExistingPayment?.FirstDate,\r\n NextPaymentDate: clientExistingPayment?.NextDate,\r\n ContinueUntil: clientExistingPayment?.FinalDate,\r\n IsContinue: CommonHelper.isNullOrEmpty(clientExistingPayment?.FinalDate),\r\n },\r\n ThirdPartyRegularPayment: {\r\n Frequency: thirdPartyExistingPayment?.Frequency,\r\n Money: { Amount: thirdPartyExistingPayment?.Amount, Currency: CurrencyCode.GBP },\r\n FirstCollectionDate: thirdPartyExistingPayment?.FirstDate,\r\n NextPaymentDate: thirdPartyExistingPayment?.NextDate,\r\n ContinueUntil: thirdPartyExistingPayment?.FinalDate,\r\n IsContinue: CommonHelper.isNullOrEmpty(thirdPartyExistingPayment?.FinalDate),\r\n },\r\n };\r\n const expectedNeedRemove = PaymentsHelper.regularPaymentsCurrentTaxYearTotal(\r\n existingExpectedModel,\r\n TaxYearHelper.GetTaxYearEndDate(TaxYearHelper.GetCurrentTaxYear())\r\n );\r\n used = used - expectedNeedRemove;\r\n }\r\n\r\n return used;\r\n }\r\n\r\n static validateNextTaxYearIsaAllowance(nextYearTotal: number, nextYearRegularUsed: number): boolean {\r\n return nextYearRegularUsed <= nextYearTotal;\r\n }\r\n\r\n static validateIsaAllowance(model: IsaBase, existingRegular: CashPayment[], isCompletedInstruction: boolean): boolean {\r\n if (model && model.IsaAllowance && model.IsaAllowance.Remaining && model.IsaAllowance.Remaining.Amount) {\r\n const used = this.updatedUsed(model, existingRegular, isCompletedInstruction);\r\n return (\r\n toDp(model.IsaAllowance.Remaining.Amount -\r\n toDp((used - (model.IsaAllowance.Used?.Amount ?? 0) - (model.IsaAllowance.Expected?.Amount ?? 0)), 2), 2) >=\r\n 0\r\n );\r\n }\r\n if (model && model.IsaAllowance && model.IsaAllowance.Total && model.IsaAllowance.Total.Amount) {\r\n const used = this.updatedUsed(model, existingRegular, isCompletedInstruction);\r\n return model.IsaAllowance.Total.Amount - used >= 0;\r\n }\r\n return true;\r\n }\r\n\r\n static getRegularPaymentFirstCollectionDateInNextTaxYear(\r\n firstCollectionDate: Date,\r\n frequent: Frequency,\r\n nextTaxYearStartDate: Date\r\n ): Date {\r\n let gapMonth = 1;\r\n switch (frequent) {\r\n case Frequency.Monthly:\r\n gapMonth = 1;\r\n break;\r\n case Frequency.Quarterly:\r\n gapMonth = 3;\r\n break;\r\n case Frequency.HalfYearly:\r\n gapMonth = 6;\r\n break;\r\n case Frequency.Yearly:\r\n gapMonth = 12;\r\n break;\r\n }\r\n while (firstCollectionDate < nextTaxYearStartDate) {\r\n firstCollectionDate = addMonths(firstCollectionDate, gapMonth);\r\n }\r\n return firstCollectionDate;\r\n }\r\n static calculateNextTaxYearISAAllowance(data: IsaBase): number {\r\n const taxstartDate = addYears(JsonDateParser.toDate(data.IsaAllowance?.TaxYear?.StartDate), 1);\r\n const taxYearEnd = addYears(JsonDateParser.toDate(data.IsaAllowance?.TaxYear?.EndDate), 1);\r\n let total = 0;\r\n if (\r\n data.ClientRegularPayment != null &&\r\n data.ClientRegularPayment.Money != null &&\r\n data.ClientRegularPayment.Frequency != null &&\r\n data.ClientRegularPayment.FirstCollectionDate != null &&\r\n (data.ClientRegularPayment.ContinueUntil == null ||\r\n JsonDateParser.toDate(data.ClientRegularPayment.ContinueUntil) >= taxstartDate)\r\n ) {\r\n const startDate = this.getRegularPaymentFirstCollectionDateInNextTaxYear(\r\n JsonDateParser.toDate(data.ClientRegularPayment.FirstCollectionDate),\r\n data.ClientRegularPayment.Frequency,\r\n taxstartDate\r\n );\r\n let endDate = new Date();\r\n if (\r\n data.ClientRegularPayment.ContinueUntil == null ||\r\n taxYearEnd < JsonDateParser.toDate(data.ClientRegularPayment.ContinueUntil)\r\n ) {\r\n endDate = taxYearEnd;\r\n } else {\r\n endDate = JsonDateParser.toDate(data.ClientRegularPayment.ContinueUntil);\r\n }\r\n\r\n total +=\r\n data.ClientRegularPayment.Money.Amount *\r\n PaymentsHelper.getRegularPaymentsCount(startDate, data.ClientRegularPayment.Frequency, endDate);\r\n }\r\n if (\r\n data.ThirdPartyRegularPayment != null &&\r\n data.ThirdPartyRegularPayment.Money != null &&\r\n data.ThirdPartyRegularPayment.Frequency != null &&\r\n data.ThirdPartyRegularPayment.FirstCollectionDate != null &&\r\n (data.ThirdPartyRegularPayment.ContinueUntil == null ||\r\n JsonDateParser.toDate(data.ThirdPartyRegularPayment.ContinueUntil) >= taxstartDate)\r\n ) {\r\n let endDate = new Date();\r\n const startDate = this.getRegularPaymentFirstCollectionDateInNextTaxYear(\r\n JsonDateParser.toDate(data.ThirdPartyRegularPayment.FirstCollectionDate),\r\n data.ThirdPartyRegularPayment.Frequency,\r\n taxstartDate\r\n );\r\n if (\r\n data.ThirdPartyRegularPayment.ContinueUntil == null ||\r\n taxYearEnd < JsonDateParser.toDate(data.ThirdPartyRegularPayment.ContinueUntil)\r\n ) {\r\n endDate = taxYearEnd;\r\n } else {\r\n endDate = JsonDateParser.toDate(data.ThirdPartyRegularPayment.ContinueUntil);\r\n }\r\n\r\n total +=\r\n data.ThirdPartyRegularPayment.Money.Amount *\r\n PaymentsHelper.getRegularPaymentsCount(startDate, data.ThirdPartyRegularPayment.Frequency, endDate);\r\n }\r\n return total;\r\n }\r\n}\r\n","export class NINOHelper {\r\n static NINORegExp = new RegExp(\r\n \"^(?!BG)(?!FY)(?!GB)(?!KN)(?!NK)(?!PZ)(?!OO)(?!TN)(?!NT)(?!ZZ)[A-Z]*[^DFIQUV][A-Z]*[^DFIOQUV][0-9]{6}[A-D ]$\"\r\n );\r\n static IsNINOFormatCorrect(data: string): boolean {\r\n if (data?.length == 8) {\r\n data = data + \" \";\r\n }\r\n return this.NINORegExp.test(data);\r\n }\r\n}\r\n","import { addDays, addMonths } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\n\r\nexport class PaymentsHelper {\r\n static hasRegularPayments(model: ContributionAndWithdrawalBase): boolean {\r\n const productObject = model;\r\n\r\n if (productObject == null) {return false;}\r\n\r\n const client = productObject.ClientRegularPayment != null && productObject.ClientRegularPayment.Money != null;\r\n const thirdParty =\r\n productObject.ThirdPartyRegularPayment != null && productObject.ThirdPartyRegularPayment.Money != null;\r\n\r\n return client || thirdParty;\r\n }\r\n\r\n static hasSinglePayments(model: ContributionAndWithdrawalBase): boolean {\r\n const productObject = model;\r\n\r\n if (productObject == null) {return false;}\r\n\r\n const client = productObject.ClientSinglePayment != null && productObject.ClientSinglePayment.Money != null;\r\n const thirdParty =\r\n productObject.ThirdPartySinglePayment != null && productObject.ThirdPartySinglePayment.Money != null;\r\n\r\n return client || thirdParty;\r\n }\r\n\r\n static singlePaymentsTotal(model: ContributionAndWithdrawalBase): number {\r\n let total = 0;\r\n if (model.ClientSinglePayment != null && model.ClientSinglePayment.Money != null) {\r\n total += model.ClientSinglePayment.Money.Amount;\r\n }\r\n if (model.ThirdPartySinglePayment != null && model.ThirdPartySinglePayment.Money != null) {\r\n total += model.ThirdPartySinglePayment.Money.Amount;\r\n }\r\n\r\n return total;\r\n }\r\n\r\n static regularPaymentsTotalForCharges(model: ContributionAndWithdrawalBase): number {\r\n let total = 0;\r\n if (model.ClientRegularPayment != null && model.ClientRegularPayment.Money != null) {\r\n total += model.ClientRegularPayment.Money.Amount;\r\n }\r\n if (model.ThirdPartyRegularPayment != null && model.ThirdPartyRegularPayment.Money != null) {\r\n total += model.ThirdPartyRegularPayment.Money.Amount;\r\n }\r\n\r\n return total;\r\n }\r\n\r\n static regularPaymentsCurrentTaxYearTotal(model: ContributionAndWithdrawalBase, taxYearEnd: Date): number {\r\n let total = 0;\r\n\r\n if (\r\n model.ClientRegularPayment != null &&\r\n model.ClientRegularPayment.Money != null &&\r\n model.ClientRegularPayment.Frequency != null &&\r\n model.ClientRegularPayment.FirstCollectionDate != null\r\n ) {\r\n let endDate = new Date();\r\n if (\r\n model.ClientRegularPayment.ContinueUntil == null ||\r\n taxYearEnd < JsonDateParser.toDate(model.ClientRegularPayment.ContinueUntil)\r\n ) {\r\n endDate = taxYearEnd;\r\n } else {\r\n endDate = JsonDateParser.toDate(model.ClientRegularPayment.ContinueUntil);\r\n }\r\n\r\n total +=\r\n model.ClientRegularPayment.Money.Amount *\r\n this.getRegularPaymentsCount(\r\n JsonDateParser.toDate(\r\n model.ClientRegularPayment.NextPaymentDate ?? model.ClientRegularPayment.FirstCollectionDate\r\n ),\r\n model.ClientRegularPayment.Frequency,\r\n endDate\r\n );\r\n }\r\n if (\r\n model.ThirdPartyRegularPayment != null &&\r\n model.ThirdPartyRegularPayment.Money != null &&\r\n model.ThirdPartyRegularPayment.Frequency != null &&\r\n model.ThirdPartyRegularPayment.FirstCollectionDate != null\r\n ) {\r\n let endDate = new Date();\r\n if (\r\n model.ThirdPartyRegularPayment.ContinueUntil == null ||\r\n taxYearEnd < JsonDateParser.toDate(model.ThirdPartyRegularPayment.ContinueUntil)\r\n ) {\r\n endDate = taxYearEnd;\r\n } else {\r\n endDate = JsonDateParser.toDate(model.ThirdPartyRegularPayment.ContinueUntil);\r\n }\r\n\r\n total +=\r\n model.ThirdPartyRegularPayment.Money.Amount *\r\n this.getRegularPaymentsCount(\r\n JsonDateParser.toDate(\r\n model.ThirdPartyRegularPayment.NextPaymentDate ??\r\n model.ThirdPartyRegularPayment?.FirstCollectionDate\r\n ),\r\n model.ThirdPartyRegularPayment.Frequency,\r\n endDate\r\n );\r\n }\r\n\r\n return total;\r\n }\r\n\r\n static getRegularPaymentsCount(startDate: Date, frequent: Frequency, endDate: Date): number {\r\n let count = 0;\r\n let gapMonth = 1;\r\n switch (frequent) {\r\n case Frequency.Monthly:\r\n gapMonth = 1;\r\n break;\r\n case Frequency.Quarterly:\r\n gapMonth = 3;\r\n break;\r\n case Frequency.HalfYearly:\r\n gapMonth = 6;\r\n break;\r\n case Frequency.Yearly:\r\n gapMonth = 12;\r\n break;\r\n }\r\n while (endDate >= startDate) {\r\n count++;\r\n endDate = addMonths(endDate, -gapMonth);\r\n }\r\n return count;\r\n }\r\n}\r\n","import { addYears } from \"../../../../../../react-core/utils/date\";\r\nimport { TransferType } from \"../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { PensionTransfer } from \"../../../../../../Wrap/Models/Models/Processes/Quote/Pension/PensionTransfer\";\r\nimport { PensionBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { MoneyHelper } from \"../../../../../Shared/Common/MoneyHelper\";\r\nimport { TransferHelper } from \"./TransferHelper\";\r\n\r\nexport class PensionHelper {\r\n static clientSinglePayment(model: PensionBase): Money {\r\n let taxReliefValue: number =\r\n model && model?.TaxReliefPercentage && model?.TaxReliefPercentage?.Value\r\n ? 1 + model?.TaxReliefPercentage?.Value\r\n : 1.25;\r\n if (!model?.ClientSinglePayment?.TaxRelief) {\r\n taxReliefValue = 1;\r\n }\r\n let result: Money = {\r\n Amount: 0,\r\n Currency: MoneyHelper.getDefaultCurrency(),\r\n };\r\n if (model?.ClientSinglePayment != null && model?.ClientSinglePayment.Money != null) {\r\n result = {\r\n Amount: model.ClientSinglePayment.Money.Amount * taxReliefValue,\r\n Currency: model.ClientSinglePayment.Money.Currency,\r\n };\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static employerSinglePayment(model: PensionBase): Money {\r\n let result: Money = {\r\n Amount: 0,\r\n Currency: MoneyHelper.getDefaultCurrency(),\r\n };\r\n if (model?.EmployerSinglePayment != null && model?.EmployerSinglePayment?.Money != null)\r\n {result = model.EmployerSinglePayment.Money;}\r\n return result;\r\n }\r\n\r\n static thirdPartySinglePayment(model: PensionBase): Money {\r\n const taxReliefValue: number =\r\n model && model.TaxReliefPercentage && model.TaxReliefPercentage.Value\r\n ? 1 + model.TaxReliefPercentage.Value\r\n : 1.25;\r\n const result: Money = {\r\n Amount: 0,\r\n Currency: MoneyHelper.getDefaultCurrency(),\r\n };\r\n if (model?.ThirdPartySinglePayment != null && model?.ThirdPartySinglePayment?.Money != null) {\r\n const isTaxReliefApplicable = model.ThirdPartySinglePayment.TaxRelief;\r\n result.Amount = isTaxReliefApplicable\r\n ? MoneyHelper.roundNumberToDecimalPlaces(model.ThirdPartySinglePayment.Money.Amount * taxReliefValue, 2)\r\n : model.ThirdPartySinglePayment.Money.Amount;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static clientRegularPayment(model: PensionBase): Money {\r\n const taxReliefValue: number =\r\n model && model.TaxReliefPercentage && model.TaxReliefPercentage.Value\r\n ? 1 + model.TaxReliefPercentage.Value\r\n : 1.25;\r\n let result: Money = {\r\n Amount: 0,\r\n Currency: MoneyHelper.getDefaultCurrency(),\r\n };\r\n if (model?.ClientRegularPayment != null && model?.ClientRegularPayment.Money != null) {\r\n result = {\r\n Amount: model.ClientRegularPayment.Money.Amount * taxReliefValue,\r\n Currency: model.ClientRegularPayment.Money.Currency,\r\n };\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static employerRegularPayment(model: PensionBase): Money {\r\n let result: Money = {\r\n Amount: 0,\r\n Currency: MoneyHelper.getDefaultCurrency(),\r\n };\r\n if (model?.EmployerRegularPayment != null && model?.EmployerRegularPayment?.Money != null)\r\n {result = model.EmployerRegularPayment.Money;}\r\n return result;\r\n }\r\n\r\n static thirdPartyRegulaPayment(model: PensionBase): Money {\r\n const taxReliefValue: number =\r\n model && model.TaxReliefPercentage && model.TaxReliefPercentage.Value\r\n ? 1 + model.TaxReliefPercentage.Value\r\n : 1.25;\r\n const result: Money = {\r\n Amount: 0,\r\n Currency: MoneyHelper.getDefaultCurrency(),\r\n };\r\n if (model?.ThirdPartyRegularPayment != null && model?.ThirdPartyRegularPayment.Money != null) {\r\n const isTaxReliefApplicable = model.ThirdPartyRegularPayment.TaxRelief;\r\n result.Amount = isTaxReliefApplicable\r\n ? MoneyHelper.roundNumberToDecimalPlaces(\r\n model.ThirdPartyRegularPayment.Money.Amount * taxReliefValue,\r\n 2\r\n )\r\n : model.ThirdPartyRegularPayment.Money.Amount;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static singlePaymentsTotal(model: PensionBase): number {\r\n const client = this.clientSinglePayment(model);\r\n const employer = this.employerSinglePayment(model);\r\n const thirdparty = this.thirdPartySinglePayment(model);\r\n return client.Amount + employer.Amount + thirdparty.Amount;\r\n }\r\n\r\n static regularPaymentsTotalForCharges(model: PensionBase): number {\r\n const client = this.clientRegularPayment(model);\r\n const employer = this.employerRegularPayment(model);\r\n const thirdparty = this.thirdPartyRegulaPayment(model);\r\n return client.Amount + employer.Amount + thirdparty.Amount;\r\n }\r\n\r\n static getTransfersTotal(transfers: PensionTransfer[]) {\r\n let result = 0;\r\n\r\n if (!transfers || transfers.length === 0) {return result;}\r\n\r\n transfers.forEach((transfer) => {\r\n if (\r\n transfer.TransferType === TransferType.Cash &&\r\n transfer.CurrentValue &&\r\n transfer.CurrentValue.Amount > 0\r\n ) {\r\n result += transfer.CurrentValue.Amount;\r\n } else {\r\n result += TransferHelper.getTransferInvestmentTotal(transfer.Instruments, transfer.ReRegisterValue);\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n static transfersTotal(model: PensionBase): number {\r\n const transfers = model?.PensionTransfers;\r\n return this.getTransfersTotal(transfers);\r\n }\r\n\r\n static hasRegularPayments(model: PensionBase): boolean {\r\n if (model == null) {return false;}\r\n\r\n const client = model.ClientRegularPayment != null && model.ClientRegularPayment.Money != null;\r\n const employer = model.EmployerRegularPayment != null && model.EmployerRegularPayment.Money != null;\r\n const thirdParty = model.ThirdPartyRegularPayment != null && model.ThirdPartyRegularPayment.Money != null;\r\n\r\n return client || employer || thirdParty;\r\n }\r\n\r\n static hasSinglePayments(model: PensionBase): boolean {\r\n if (model == null) {return false;}\r\n\r\n const client = model.ClientSinglePayment != null && model.ClientSinglePayment.Money != null;\r\n const employer = model.EmployerSinglePayment != null && model.EmployerSinglePayment.Money != null;\r\n const thirdParty = model.ThirdPartySinglePayment != null && model.ThirdPartySinglePayment.Money != null;\r\n\r\n return client || employer || thirdParty;\r\n }\r\n\r\n static hasPensionTransfers(model: PensionBase): boolean {\r\n return model && model.PensionTransfers && model.PensionTransfers.length > 0;\r\n }\r\n}\r\n\r\nexport const LessThanAge = (age: number, dateOfBirth: Date) => {\r\n const now = new Date();\r\n return addYears(dateOfBirth, age) > now;\r\n};\r\n","import { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { processTypeEnum } from \"../Resource/Contents\";\r\n\r\nexport class ProcessTypeHelper {\r\n static getProcessTypeEnum = (processType?: ProcessType): processTypeEnum => {\r\n if (processType == ProcessType.NB) {\r\n return processTypeEnum.NewBusiness;\r\n }\r\n if (processType == ProcessType.NBEC) {\r\n return processTypeEnum.NewBusinessExistingClient;\r\n }\r\n if (processType == ProcessType.Quote) {\r\n return processTypeEnum.Quote;\r\n }\r\n if (processType == ProcessType.SinglePayment) {\r\n return processTypeEnum.SinglePaymentTransfer;\r\n }\r\n if (processType == ProcessType.AddRegular || processType == ProcessType.EditRegular) {\r\n return processTypeEnum.RegularPayment;\r\n }\r\n if (processType == ProcessType.TopUpWithITFLS) {\r\n return processTypeEnum.topUpWithITFLS;\r\n }\r\n return null;\r\n };\r\n}\r\n","import { isNullOrEmpty } from \"../../../../../../react-core/Utils/Arrays\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { Action } from \"../../../../Actions/Action\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\n\r\nexport class SubAccountTypeHelper {\r\n static isOnPlatformPension(type: SubAccountType) {\r\n return type === SubAccountType.Pension || type === SubAccountType.Npr;\r\n }\r\n\r\n static isIsa(type: SubAccountType) {\r\n return type === SubAccountType.StocksIsa || type === SubAccountType.CashIsa;\r\n }\r\n\r\n static isSIPP(type: SubAccountType) {\r\n return type === SubAccountType.Sipp || type === SubAccountType.JuniorSipp || type === SubAccountType.RetailSipp;\r\n }\r\n\r\n static isPP(type: SubAccountType) {\r\n return type === SubAccountType.PersonalPortfolio || type === SubAccountType.InvestmentAccount;\r\n }\r\n\r\n static isWrapCash(type: SubAccountType) {\r\n return type == SubAccountType.WrapCash || type == SubAccountType.CashAccount;\r\n }\r\n\r\n static isCashAccount(type: SubAccountType) {\r\n return this.isWrapCash(type) || type == SubAccountType.CashIsa;\r\n }\r\n\r\n static isBond(type: SubAccountType) {\r\n return type == SubAccountType.OnshoreBond || type == SubAccountType.OffshoreBond;\r\n }\r\n\r\n static isOffPlatformPension(type: SubAccountType) {\r\n return type === SubAccountType.Sipp\r\n }\r\n\r\n static isUnlistedProduct(type: SubAccountType) {\r\n return type === SubAccountType.CashIsa;\r\n }\r\n\r\n static isLegacyProduct(type: SubAccountType) {\r\n return this.isBond(type) || this.isOffPlatformPension(type);\r\n }\r\n\r\n static productEligibleForJoint(type: SubAccountType) {\r\n return this.isOnPlatformPension(type) == false && this.isIsa(type) == false && this.isOffPlatformPension(type) == false;\r\n }\r\n\r\n static isPPAndISA(type: SubAccountType) {\r\n return this.isIsa(type) || this.isPP(type);\r\n }\r\n\r\n static getSubAccountHierarchyId(hierarchyid: string, type: SubAccountType, callback) {\r\n const clientaccount = ClientAccountStore.getClientAccountInfo();\r\n if (!clientaccount) {\r\n Action.getClientAccount(hierarchyid, (data) => {\r\n callback(SubAccountTypeHelper.getHierarhyId(data, type));\r\n });\r\n } else {\r\n callback(SubAccountTypeHelper.getHierarhyId(clientaccount, type));\r\n }\r\n }\r\n\r\n static getHierarhyId(clientaccount: ClientAccount, type: SubAccountType) {\r\n if (clientaccount && !isNullOrEmpty(clientaccount.SubAccounts)) {\r\n const subaccount = clientaccount.SubAccounts.find((x) => x.SubAccountType === type);\r\n if (subaccount) {\r\n return subaccount.HierarchyId;\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","export class TaxYearHelper {\r\n static GetCurrentTaxYear(): number {\r\n return this.GetTaxYear(new Date());\r\n }\r\n\r\n static GetTaxYear(date: Date): number {\r\n let taxYear = date.getFullYear();\r\n\r\n if (date.getMonth() < 3 || (date.getMonth() == 3 && date.getDate() < 6)) {\r\n taxYear = taxYear - 1;\r\n }\r\n\r\n return taxYear;\r\n }\r\n\r\n static GetTaxYearStartDate(taxYear: number): Date {\r\n return new Date(taxYear, 3, 6);\r\n }\r\n\r\n static GetTaxYearEndDate(taxYear: number): Date {\r\n return new Date(taxYear + 1, 3, 5);\r\n }\r\n}\r\n","\r\n// Count the number of new lines(paragraphs) of the content,\r\n// and detect the new line character\r\nexport function countNewLines(content: string): { count: number; newLineCharacters: string } {\r\n let newLineCharacters = \"\";\r\n let returns = content.match(/(\\r\\n)/g) || []; // Windows\r\n if (returns.length > 0) {\r\n newLineCharacters = \"\\r\\n\";\r\n } else {\r\n returns = content.match(/\\n/g) || []; // Unix/Mac OS X\r\n if (returns.length > 0) {\r\n newLineCharacters = \"\\n\";\r\n } else {\r\n returns = content.match(/\\r/g) || []; // Mac OS before X\r\n if (returns.length > 0) {\r\n newLineCharacters = \"\\r\";\r\n }\r\n }\r\n }\r\n return { count: returns.length, newLineCharacters };\r\n}\r\n","import { isNullOrEmpty } from \"../../../../../../react-core/Utils/Arrays\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { TransferISTSelection } from \"../../../../../../Wrap/Models/Models/InstrumentSelection/TransferISTSelection\";\r\n\r\nexport class TransferHelper {\r\n static getTransferInvestmentTotal(investments: Array, residualCash: Money) {\r\n let total = 0;\r\n if (!isNullOrEmpty(investments)) {\r\n investments.forEach((investment) => {\r\n total += investment?.Investment?.UnitPrice?.Amount * investment.Units;\r\n });\r\n }\r\n if (residualCash?.Amount > 0) {\r\n total += residualCash.Amount;\r\n }\r\n return total;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { addYears } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { IsaHelper } from \"../../Helpers/IsaHelper\";\r\nimport { IsaContents } from \"../Resource/Contents\";\r\nimport * as classNames from \"classNames\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CashPayment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { CashPaymentTypeQuery } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IIsaAllowanceProps extends IProcessComponentProps {\r\n cssWrapper?: string;\r\n isRegular?: boolean;\r\n}\r\n\r\ninterface IIsaAllowanceState {\r\n existingRegularPayment: CashPayment[];\r\n}\r\n\r\nexport class IsaAllowance extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { existingRegularPayment: [] };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n\r\n if (!CommonHelper.isNullOrEmpty(getQueryParameters()[\"subaccounthierarchyid\"])) {\r\n Action.getRegularPaymentCashEntry(\r\n getQueryParameters()[\"subaccounthierarchyid\"],\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentFrequencyQuery.Regular,\r\n (data) => {\r\n this.setState({ existingRegularPayment: data });\r\n }\r\n );\r\n }\r\n }\r\n\r\n isValid(): boolean {\r\n const { data } = this.props;\r\n return (\r\n !this.getDisplayExceedIsaAllowanceError() &&\r\n !this.getDisplayExceedNextTaxYearIsaAllowanceError(IsaHelper.calculateNextTaxYearISAAllowance(data))\r\n );\r\n }\r\n\r\n renderAlert(\r\n displayExceedIsaAllowanceError: boolean,\r\n displayExceedNextTaxYearIsaAllowanceError: boolean,\r\n nextTaxYearRegularTotal: number\r\n ) {\r\n const { data } = this.props;\r\n if (displayExceedIsaAllowanceError) {\r\n return ;\r\n }\r\n if (displayExceedNextTaxYearIsaAllowanceError) {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n private getDisplayExceedIsaAllowanceError(): boolean {\r\n const { data } = this.props;\r\n return !IsaHelper.validateIsaAllowance(data, this.state.existingRegularPayment, this.props.isReview);\r\n }\r\n\r\n private getDisplayExceedNextTaxYearIsaAllowanceError(nextYearTotal: number) {\r\n const { data } = this.props;\r\n\r\n if (data.ClientRegularPayment !== null || data.ThirdPartyRegularPayment !== null) {\r\n return !IsaHelper.validateNextTaxYearIsaAllowance(data.IsaAllowance?.Total?.Amount, nextYearTotal);\r\n }\r\n return false;\r\n }\r\n public render(): JSX.Element {\r\n const { TaxYear, Remaining, Total, Used, Expected } = this.props.data.IsaAllowance;\r\n const { data } = this.props;\r\n const used = IsaHelper.updatedUsed(this.props.data, this.state.existingRegularPayment, this.props.isReview);\r\n const adjustTotal = Total.Amount ?? Remaining.Amount;\r\n const unused = (Remaining?.Amount ?? Total.Amount) - (used - (Used?.Amount ?? 0) - (Expected?.Amount ?? 0));\r\n const ratio = used / adjustTotal;\r\n const percentage = ratio > 1 ? 100 : ratio * 100;\r\n const startYear = JsonDateParser.getFormatDate(TaxYear.StartDate, \"yyyy\");\r\n const endYear = JsonDateParser.getFormatDate(TaxYear.EndDate, \"yyyy\");\r\n const displayExceedIsaAllowanceError = this.getDisplayExceedIsaAllowanceError();\r\n const nextTaxYearRegularTotal = IsaHelper.calculateNextTaxYearISAAllowance(data);\r\n const displayExceedNextTaxYearIsaAllowanceError = this.getDisplayExceedNextTaxYearIsaAllowanceError(\r\n nextTaxYearRegularTotal\r\n );\r\n const cssWrapper = classNames(\"isa-allowance-chart\", this.props.cssWrapper);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {MoneyDisplayHelper.FromatMoneyDisplay(used, CurrencyCode.GBP)}\r\n
Used allowance
\r\n
\r\n
\r\n {MoneyDisplayHelper.FromatMoneyDisplay(unused, CurrencyCode.GBP)}\r\n
Unused allowance
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n ISA allowance {startYear}/{endYear}\r\n

\r\n
\r\n {this.renderAlert(\r\n displayExceedIsaAllowanceError,\r\n displayExceedNextTaxYearIsaAllowanceError,\r\n nextTaxYearRegularTotal\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport {TaxYearHelper} from \"../../Helpers/TaxYearHelper\";\r\n\r\ninterface IIsaDeclarationProps extends IProcessComponentProps {}\r\n\r\ninterface IIsaDeclarationState {\r\n show: boolean;\r\n}\r\n\r\nexport class IsaDeclaration extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n show: false,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const tye2024 = TaxYearHelper.GetCurrentTaxYear() >= 2024\r\n return (\r\n <>\r\n

ISA Stocks & Shares

\r\n\r\n

\r\n By clicking on the “Next” button below, I confirm that my client has authorised me to instruct this\r\n payment and/or transfer and to make the ISA{\" \"}\r\n {\r\n this.setState({ show: true });\r\n }}\r\n >\r\n declaration\r\n {\" \"}\r\n on my client’s behalf. I understand that abrdn will send a confirmation letter to my client.\r\n

\r\n {this.state.show && (\r\n this.setState({ show: false })}\r\n cssWrapper=\"is-default-lightbox is-wide\"\r\n >\r\n

\"For Stocks and Shares ISAs, each applicant must declare that:

\r\n
    \r\n
  1. I am aged 18 years of age or over
  2. \r\n
  3. All subscriptions made, and to be made, belong to me
  4. \r\n
  5. \r\n I have not subscribed and will not subscribe more than the overall subscription limit in\r\n total to any combination of permitted ISAs in the same tax year\r\n
  6. \r\n {tye2024 == false ?\r\n
  7. \r\n I have not subscribed and will not subscribe to another stocks and shares ISA in the\r\n same tax year that I subscribe to this stocks and shares ISA\r\n
  8. : null }\r\n
  9. \r\n I am resident in the United Kingdom for tax purposes or, if not so resident, either\r\n perform duties which, by virtue of Section 28 of the Income Tax (Earnings & Pensions)\r\n Act 2003 (Crown employees serving overseas), are treated as being performed in the\r\n United Kingdom, or I am married to, or in a civil partnership with, a person who\r\n performs such duties. I will inform Standard Life Savings Limited if I cease to be so\r\n resident or to perform such duties or be married to, or in a civil partnership with, a\r\n person who performs such duties\r\n
  10. \r\n
  11. \r\n The information given in relation to this application is correct to the best of my\r\n knowledge and belief\r\n
  12. \r\n
  13. I agree to the ISA terms and conditions
  14. \r\n
  15. \r\n I authorise Standard Life Savings Limited to hold my cash subscriptions, ISA\r\n investments, interest, dividends and any other rights and proceeds in respect of those\r\n investments and any other cash, and to make on my behalf any claims to relief from tax\r\n in respect of ISA investments.\r\n
  16. \r\n
  17. \r\n I apply to subscribe to a Stocks and Shares ISA for the current tax year and each\r\n subsequent year until further notice\"\r\n
  18. \r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { ExternalIsaContributionType } from \"../../../../../../../Wrap/Constants/Enums/Transfer/ExternalIsaContributionType\";\r\nimport { TransferLocationType } from \"../../../../../../../Wrap/Constants/Enums/Transfer/TransferLocationType\";\r\n\r\n\r\nexport const ExternalIsaContributionTypes = [\r\n ExternalIsaContributionType.CurrentTaxYear,\r\n ExternalIsaContributionType.PreviousTaxYear,\r\n ExternalIsaContributionType.PreviousAndCurrentTaxYear,\r\n];\r\n\r\nexport const ExternalIsaContributionTypesMap = {\r\n [ExternalIsaContributionType.CurrentTaxYear]: \"Current\",\r\n [ExternalIsaContributionType.PreviousTaxYear]: \"Non-Current\",\r\n [ExternalIsaContributionType.PreviousAndCurrentTaxYear]: \"Both\",\r\n};\r\n\r\nexport const TransferLocationTypes = [\r\n TransferLocationType.Internal,\r\n TransferLocationType.External\r\n];\r\n\r\nexport const TransferLocationTypesMap = {\r\n [TransferLocationType.Internal]: \"Internal\",\r\n [TransferLocationType.External]: \"External\",\r\n};\r\n\r\nexport const IsaContents = {\r\n ToolTip_EstimatedCurrentYearSubscriptions : \"The ceding provider will confirm the exact amount as part of the transfer process\",\r\n Error_ExceedIsaAllowance : \"Exceed isa allowance\",\r\n}","import * as Highcharts from \"highcharts\";\r\nimport * as Highstock from \"highcharts/highstock\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\n\r\nexport class GraphHelper {\r\n static InvestmentsGraph(chartId: string, chartType: string, chartDataSeries: any): void {\r\n Highstock.chart(chartId, {\r\n lang: {\r\n noData:\r\n '
Loading data
',\r\n },\r\n title: { text: \"\" },\r\n colors: [\"#147cb3\", \"#6e3694\", \"#4fbba3\", \"#a20067\", \"#830051\", \"#999999\"],\r\n chart: {\r\n // height: 380,\r\n type: \"line\",\r\n style: {\r\n fontFamily: \"inherit\",\r\n },\r\n backgroundColor: \"transparent\",\r\n zoomType: \"xy\",\r\n //margin: [3, 10, 40, 100],//top, right, bottom, left\r\n resetZoomButton: {\r\n theme: {\r\n fill: \"white\",\r\n stroke: \"#6eab24\",\r\n r: 3,\r\n zIndex: 1,\r\n states: {\r\n hover: {\r\n fill: \"#c5daa7\",\r\n style: {\r\n color: \"#000000\",\r\n },\r\n },\r\n },\r\n },\r\n },\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n rangeSelector: {\r\n enabled: false,\r\n },\r\n navigation: {\r\n buttonOptions: {\r\n enabled: false,\r\n },\r\n },\r\n legend: {\r\n enabled: false,\r\n },\r\n xAxis: {\r\n crosshair: true,\r\n lineColor: \"transparent\",\r\n tickWidth: 0,\r\n tickLength: 0,\r\n tickColor: \"#979797\",\r\n type: \"datetime\",\r\n showFirstLabel: true,\r\n showLastLabel: true,\r\n gridLineWidth: 0,\r\n labels: {\r\n align: \"right\",\r\n enabled: true,\r\n step: 1,\r\n formatter: function () {\r\n const date = new Date(this.value);\r\n const month = JsonDateParser.getMonthNameMapping((date.getMonth() + 1).toString(), true);\r\n const year = JsonDateParser.getFormatDate(JsonDateParser.toJsonDateNoOffset(date), \"yy\");\r\n\r\n const formatDate = month + \" \" + year;\r\n return formatDate;\r\n },\r\n },\r\n title: {\r\n text: \"\",\r\n },\r\n minRange: 24 * 3600 * 1000, // one day\r\n },\r\n yAxis: {\r\n gridLineColor: \"#979797\",\r\n lineColor: \"#979797\",\r\n lineWidth: 0,\r\n tickWidth: 0,\r\n tickLength: 0,\r\n tickColor: \"#979797\",\r\n opposite: false,\r\n labels: {\r\n //align: \"right\",\r\n ///x: -5,\r\n //y: -4,\r\n formatter: function () {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(this.value, CurrencyCode.GBP, true, 4);\r\n },\r\n },\r\n min: 0,\r\n title: {\r\n text: \"\",\r\n },\r\n },\r\n tooltip: {\r\n shared: false,\r\n shadow: false,\r\n backgroundColor: \"#ffffff\",\r\n headerFormat: \"\",\r\n formatter: function () {\r\n return (\r\n \"Price value:
£\" +\r\n Highcharts.numberFormat(this.y, 4, \".\", \",\") +\r\n \"
as at \" +\r\n Highcharts.dateFormat(\"%d %b %Y\", this.x)\r\n );\r\n },\r\n },\r\n exporting: {\r\n enabled: false,\r\n },\r\n plotOptions: {\r\n line: {\r\n lineWidth: 1,\r\n states: {\r\n hover: {\r\n lineWidth: 2,\r\n },\r\n },\r\n },\r\n series: {\r\n marker: { enabled: false },\r\n },\r\n spline: {\r\n marker: {\r\n radius: 4,\r\n lineColor: \"#666666\",\r\n lineWidth: 1,\r\n },\r\n },\r\n },\r\n navigator: {\r\n enabled: true,\r\n maskFill: \"rgba(255,255,255,0.75)\",\r\n maskInside: false,\r\n outlineColor: \"#BFBFBF\",\r\n xAxis: {\r\n labels: {\r\n enabled: true,\r\n },\r\n },\r\n handles: {\r\n symbols: [\"doublearrow\", \"doublearrow\"],\r\n backgroundColor: \"#979797\",\r\n borderColor: \"#4B4B4B\",\r\n enabled: true,\r\n lineWidth: 1,\r\n width: 26,\r\n height: 26,\r\n },\r\n adaptToUpdatedData: false,\r\n series: {\r\n lineColor: \"#BFBFBF\",\r\n fillOpacity: 0,\r\n type: \"areaspline\",\r\n color: \"#acbcc5\",\r\n },\r\n },\r\n scrollbar: {\r\n enabled: true,\r\n barBackgroundColor: \"#d8d8d8\",\r\n barBorderRadius: 0,\r\n barBorderWidth: 0,\r\n barBorderColor: \"#979797\",\r\n buttonBackgroundColor: \"#d8d8d8\",\r\n buttonBorderColor: \"#a1a7ac\",\r\n buttonBorderWidth: 1,\r\n buttonArrowColor: \"#666666\",\r\n buttonBorderRadius: 0,\r\n rifleColor: \"#666666\",\r\n trackBackgroundColor: \"#ffffff\",\r\n trackBorderWidth: 1,\r\n trackBorderColor: \"#a1a7ac\",\r\n trackBorderRadius: 0,\r\n height: 20,\r\n },\r\n series: chartDataSeries,\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Dictionary } from \"../../../../../../react-core/Core/Dictionary\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Button } from \"../../../../../../react-core/Html/Button\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { ProductType } from \"../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { DiscretePerformanceType } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/DiscretePerformanceType\";\r\nimport { FundPerformanceHistory } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/FundPerformanceHistory\";\r\nimport { Instrument } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Instrument\";\r\nimport { ValuationPoint } from \"../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ValuationPoint\";\r\nimport { IJsonDate } from \"../../../../../../Wrap/System/IJsonDate\";\r\nimport { ColumnChart } from \"../../../../../Shared/Chart/ColumnChart\";\r\nimport { ErrorMessagePopup } from \"../../../../../Shared/Components/ErrorMessagePopup\";\r\nimport { TableTempElement } from \"../../../../../Shared/Components/TableTempElement\";\r\nimport AdviserSiteTagManager from \"../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { InvestmentsAction } from \"../../PortfolioDashboard/Components/Investment/Action/InvestmentAction\";\r\nimport { Contents, DiscretePerforamnceTypeDic } from \"../../PortfolioDashboard/Components/Investment/Resource/Contents\";\r\nimport { GraphHelper } from \"./GraphHelper\";\r\nimport { SDRLabelQuery } from \"../../../../../../Wrap/Models/Domains/Investment/SDRLabelQuery\";\r\nimport { SDRLabelClient } from \"../../../../../../Wrap/Api/Instruments/SDRLabel\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\n\r\ninterface IInvestmentDetailsPopupModalProps {\r\n showBox: boolean;\r\n callBack: (val: boolean) => void;\r\n instrumentCode: string;\r\n productId: number;\r\n instrumentName: string;\r\n asAt?: Date;\r\n unitCost: Money;\r\n unitPrice: Money;\r\n securityType: ProductType;\r\n}\r\n\r\ninterface IInvestmentDetailsPopupModalState {\r\n frequency: DiscretePerformanceType;\r\n chartData: Dictionary;\r\n chartId: string;\r\n chartType: string;\r\n isLoading: boolean;\r\n activeIndex?: number;\r\n isShowErrorMessage: boolean;\r\n instrument: Instrument;\r\n fundDiscretePerformance: Array;\r\n sdrUrl?: string;\r\n isUKSDROffshoreFund?: boolean;\r\n isUKDomicile?: boolean;\r\n scfdUrl?: string;\r\n}\r\n\r\nexport class InvestmentDetailsPopupModal extends FormComponent<\r\n IInvestmentDetailsPopupModalProps,\r\n IInvestmentDetailsPopupModalState\r\n> {\r\n constructor(props: IInvestmentDetailsPopupModalProps) {\r\n super(props);\r\n\r\n this.state = {\r\n frequency: DiscretePerformanceType.Y1, // default to one year\r\n chartId: \"investment-popup-graph\",\r\n chartType: \"StockChart\",\r\n chartData: null,\r\n isLoading: true,\r\n activeIndex: DiscretePerformanceType.Y1,\r\n isShowErrorMessage: false,\r\n instrument: null,\r\n fundDiscretePerformance: [],\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n public componentDidMount() {\r\n this.getInstrumentDetails();\r\n this.getInstrumentValuationDistribution();\r\n this.getInstrumentDiscretePerformanceDetails();\r\n this.getConsumerFacingDisclosure();\r\n this.getSCFDUrl();\r\n }\r\n\r\n private openFactSheetModal() {\r\n const { instrument } = this.state;\r\n const url = instrument.FinexDocumentUrl;\r\n this.addEvent({\r\n event: \"documentDownload\",\r\n document: {\r\n title: `${instrument.DisplayName} - fund fact sheet`,\r\n url: url,\r\n },\r\n });\r\n const newWindow = window.open(url, \"factSheet\");\r\n newWindow.focus();\r\n }\r\n\r\n private openFinexDoc() {\r\n const { instrumentCode } = this.props;\r\n const { instrument } = this.state;\r\n const code: string = instrumentCode.split(\".\")[0];\r\n InvestmentsAction.getFinexDocument(code, (result) => {\r\n if (result != null && result != \"\") {\r\n this.addEvent({\r\n event: \"documentDownload\",\r\n document: {\r\n title: `${instrument.DisplayName} - ${Contents.InvestmentKIDD}`,\r\n url: result,\r\n },\r\n });\r\n window.open(result);\r\n } else {\r\n this.setState({ isShowErrorMessage: true });\r\n }\r\n });\r\n }\r\n\r\n private openSCFDDoc() {\r\n const { scfdUrl } = this.state;\r\n const url = scfdUrl;\r\n this.addEvent({\r\n event: \"documentDownload\",\r\n document: {\r\n title: `${Contents.InvestmentSCFD}`,\r\n url: url,\r\n },\r\n });\r\n const newWindow = window.open(url, \"factSheet\");\r\n newWindow.focus();\r\n }\r\n\r\n private renderPriceGraph(): JSX.Element {\r\n const { activeIndex } = this.state;\r\n const frequencyList: JSX.Element[] = [];\r\n let elementRender: JSX.Element = this.renderLoading();\r\n\r\n DiscretePerforamnceTypeDic.forEach((x) => {\r\n let _btnClassName = \"btn btn-period-select \";\r\n _btnClassName = _btnClassName + (activeIndex == x.key ? \"active\" : \"\");\r\n\r\n frequencyList.push(\r\n
\r\n this.updatePriceHistory(x.key, x.key)}\r\n >\r\n {x.value}\r\n \r\n
\r\n );\r\n });\r\n\r\n elementRender = (\r\n
\r\n

\r\n {Contents.InvestmentPriceHistory}\r\n

\r\n
\r\n
\r\n
{frequencyList}
\r\n
\r\n
\r\n );\r\n\r\n return elementRender;\r\n }\r\n\r\n private getInstrumentDetails() {\r\n const { instrumentCode } = this.props;\r\n\r\n InvestmentsAction.getInstrumentDetails(instrumentCode, (val) => {\r\n this.setState({\r\n instrument: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n private getConsumerFacingDisclosure() {\r\n const { productId } = this.props;\r\n\r\n InvestmentsAction.getConsumerFacingDisclosure(productId, (result) => {\r\n if (result && result.length > 0) {\r\n const sdrLabel = result[0];\r\n this.setState({\r\n sdrUrl: sdrLabel.SDRUrl,\r\n isUKSDROffshoreFund: sdrLabel.IsUKSDROffshoreFund,\r\n isUKDomicile: sdrLabel.IsUKDomicile,\r\n });\r\n }\r\n });\r\n }\r\n\r\n private getSCFDUrl() {\r\n const { productId } = this.props;\r\n\r\n InvestmentsAction.getSCFDUrl(productId, (result) => {\r\n if (result && result.length > 0) {\r\n const scfdDoc = result[0];\r\n this.setState({\r\n scfdUrl: scfdDoc.DocUrl,\r\n });\r\n }\r\n });\r\n }\r\n\r\n private getInstrumentDiscretePerformanceDetails() {\r\n const { productId } = this.props;\r\n\r\n InvestmentsAction.getInstrumentDiscretePerformanceDetails(productId, (val) => {\r\n this.setState({\r\n fundDiscretePerformance: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n private getInstrumentValuationDistribution() {\r\n const { instrumentCode } = this.props;\r\n const { frequency, chartId, chartType, isLoading } = this.state;\r\n\r\n const frequencyType = Frequency.Daily;\r\n const fromDate = this.getFromDate(frequency);\r\n const toDate = new Date();\r\n InvestmentsAction.getInstrumentValuationDistribution(\r\n instrumentCode,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n frequencyType,\r\n 1,\r\n 2000,\r\n (val) => {\r\n this.setState(\r\n {\r\n chartData: this.getChartData(val, fromDate, toDate),\r\n isLoading: false,\r\n },\r\n () => {\r\n this.renderChart(chartId, chartType);\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n private getChartData(chartdata: ValuationPoint[], fromDate: Date, toDate: Date): Dictionary {\r\n const dic = {};\r\n const start = fromDate.setHours(0, 0, 0, 0);\r\n const end = toDate.setHours(0, 0, 0, 0);\r\n for (let date = new Date(start); date <= new Date(end); date.setDate(date.getDate() + 1)) {\r\n dic[date.getTime()] = null;\r\n }\r\n chartdata.forEach((x) => {\r\n dic[JsonDateParser.toDate(x.Date).getTime()] = x.Value.Amount;\r\n });\r\n return dic as Dictionary;\r\n }\r\n\r\n public renderChart(chartId: string, chartType: string, isLoading?: boolean): any {\r\n const collectiveData = this.state.chartData;\r\n const chartDataSeries = [];\r\n\r\n if (collectiveData != null && !isLoading) {\r\n const navigatorDataSeries = [];\r\n\r\n var keys = Object.keys(collectiveData);\r\n keys.sort();\r\n\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n var value = collectiveData[key];\r\n if (value !== null) {\r\n navigatorDataSeries.push({ x: Number(key), y: value, tooltip: \"\" });\r\n }\r\n }\r\n\r\n chartDataSeries.push({\r\n name: this.state.chartType,\r\n data: navigatorDataSeries,\r\n dataGrouping: {\r\n enabled: false,\r\n },\r\n turboThreshold: 5000,\r\n lineWidth: 2,\r\n color: \"rgba(0, 87, 183, 1)\",\r\n id: 0,\r\n });\r\n GraphHelper.InvestmentsGraph(chartId, chartType, chartDataSeries);\r\n } else {\r\n GraphHelper.InvestmentsGraph(chartId, chartType, chartDataSeries);\r\n }\r\n }\r\n\r\n private renderLoading() {\r\n return ;\r\n }\r\n\r\n private getMoneyFormat(val: Money, isShowCurrency?: boolean, decimalCount?: number): string {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(val.Amount, val.Currency, isShowCurrency, decimalCount);\r\n }\r\n\r\n private updatePriceHistory(frequency: DiscretePerformanceType, index: number) {\r\n this.setState(\r\n {\r\n frequency: frequency,\r\n activeIndex: index,\r\n isLoading: true,\r\n },\r\n () => {\r\n this.getInstrumentValuationDistribution();\r\n }\r\n );\r\n }\r\n\r\n private getFromDate(frequency: DiscretePerformanceType) {\r\n let fmDate = null;\r\n const now = new Date();\r\n\r\n switch (frequency) {\r\n case DiscretePerformanceType.M1:\r\n fmDate = now.setMonth(now.getMonth() - 1);\r\n break;\r\n case DiscretePerformanceType.M3:\r\n fmDate = now.setMonth(now.getMonth() - 3);\r\n break;\r\n case DiscretePerformanceType.M6:\r\n fmDate = now.setMonth(now.getMonth() - 6);\r\n break;\r\n case DiscretePerformanceType.Y1:\r\n fmDate = now.setFullYear(now.getFullYear() - 1);\r\n break;\r\n case DiscretePerformanceType.Y2:\r\n fmDate = now.setFullYear(now.getFullYear() - 2);\r\n break;\r\n case DiscretePerformanceType.Y3:\r\n fmDate = now.setFullYear(now.getFullYear() - 3);\r\n break;\r\n case DiscretePerformanceType.Y4:\r\n fmDate = now.setFullYear(now.getFullYear() - 4);\r\n break;\r\n case DiscretePerformanceType.Y5:\r\n fmDate = now.setFullYear(now.getFullYear() - 5);\r\n break;\r\n default:\r\n fmDate = now;\r\n }\r\n\r\n return new Date(fmDate);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n this.props.callBack(false)}\r\n title={Contents.InvestmentInfoTitle}\r\n >\r\n {this.renderModalBody()}\r\n {this.renderErrorMessage()}\r\n \r\n );\r\n }\r\n\r\n private renderErrorMessage() {\r\n return (\r\n {\r\n this.setState({ isShowErrorMessage: false });\r\n }}\r\n />\r\n );\r\n }\r\n\r\n private renderModalBody() {\r\n const { securityType } = this.props;\r\n const isShareOrBond = [ProductType.Equity, ProductType.Bond].indexOf(securityType) > -1;\r\n return (\r\n
\r\n {this.renderHeader()}\r\n {this.renderPriceGraph()}\r\n {this.renderConsumerFacingDisclosure()}\r\n {this.renderAims()}\r\n {!isShareOrBond && this.renderCumulativePerformance()}\r\n {this.renderDiscretePerformance()}\r\n {this.renderNotice()}\r\n
\r\n );\r\n }\r\n\r\n private renderHeader() {\r\n const { instrumentName, instrumentCode, unitCost, unitPrice, asAt, securityType } = this.props;\r\n const displayDate = JsonDateParser.getFormatDateString(asAt, \"dd MM yyyy\", true, false);\r\n const isShareOrBond = [ProductType.Equity, ProductType.Bond].indexOf(securityType) > -1;\r\n const scfdUrl = this.state.scfdUrl;\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

{instrumentName}

\r\n {!isShareOrBond && (\r\n
\r\n
\r\n this.openFactSheetModal()}\r\n >\r\n \r\n {Contents.InvestmentFactSheet}\r\n \r\n \r\n this.openFinexDoc()}\r\n >\r\n \r\n {Contents.InvestmentKIDD}\r\n \r\n {scfdUrl && (\r\n this.openSCFDDoc()}\r\n >\r\n \r\n {Contents.InvestmentSCFD}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n {isShareOrBond && (\r\n
\r\n
\r\n {scfdUrl && (\r\n this.openSCFDDoc()}\r\n >\r\n \r\n {Contents.InvestmentSCFD}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {Contents.InvestmentUnitPriceAt} {Contents.InvestmentUnitAsAt} {displayDate}\r\n
\r\n
{this.getMoneyFormat(unitPrice, true, 4)}
\r\n
\r\n
\r\n
\r\n {Contents.InvestmentUnitCost}\r\n
\r\n
{this.getMoneyFormat(unitCost, true, 4)}
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderConsumerFacingDisclosure() {\r\n const { sdrUrl } = this.state;\r\n\r\n if (!sdrUrl || sdrUrl.trim() === \"\") {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderAims() {\r\n return (\r\n <>\r\n

Aims

\r\n
{Contents.Aims}
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderCumulativePerformance() {\r\n const { instrument, isLoading } = this.state;\r\n if (isLoading) {\r\n return this.renderLoading();\r\n } else if (instrument && instrument.ManagedFund) {\r\n const cumulativePerformance = [];\r\n instrument.ManagedFund.DiscretePerformances.forEach((value, index) => {\r\n const item = DiscretePerforamnceTypeDic.filter((x) => x.key == value.Type)[0];\r\n if (item) {\r\n cumulativePerformance.push({ SectorName: item.value, Value: value.Rate });\r\n }\r\n });\r\n return (\r\n <>\r\n

{Contents.CumulativePerformance}

\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n }\r\n\r\n private renderDiscretePerformance() {\r\n const { instrument, isLoading, fundDiscretePerformance } = this.state;\r\n\r\n if (isLoading) {\r\n return this.renderLoading();\r\n } else if (fundDiscretePerformance.length > 0) {\r\n const date = JsonDateParser.getFormatDate(\r\n fundDiscretePerformance[fundDiscretePerformance.length - 1].EndDate,\r\n \"dd/MM/yyyy\"\r\n );\r\n const discretePerformances = [];\r\n fundDiscretePerformance.forEach((value, index) => {\r\n discretePerformances.push({\r\n SectorName: JsonDateParser.getFormatDate(value.EndDate, \"yyyy\"),\r\n Value: value.Performance,\r\n });\r\n });\r\n return (\r\n <>\r\n

{Contents.DiscretePerformance}

\r\n
12 months to {date}
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n }\r\n\r\n private renderNotice(): JSX.Element {\r\n const { isUKDomicile, isUKSDROffshoreFund } = this.state;\r\n\r\n const noticeTop: JSX.Element = (\r\n
\r\n

{Contents.NoticeTopContent}

\r\n

{Contents.NoticeContent}

\r\n

{Contents.NoticeBottomContent}

\r\n\r\n {!isUKDomicile && }\r\n\r\n {/* {isUKSDROffshoreFund && (\r\n \r\n )} */}\r\n
\r\n );\r\n return noticeTop;\r\n }\r\n}\r\n","import { InvestmentsColumns } from \"../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/InvestmentsColumns\";\r\nimport { InvestmentsColConfig } from \"../../PortfolioDashboard/Components/Investment/Resource/Contents\";\r\n\r\nexport class InvestmentsColConfigHelper {\r\n public static getTitle(col: InvestmentsColumns, onEditTreasure: () => void): string {\r\n const _col = InvestmentsColConfig(onEditTreasure).find((ele) => ele.tableFilter == col);\r\n return _col ? (_col.title as string) : \"\";\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { addDays, addYears } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { BatchType } from \"../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\nimport { ContentDatePicker } from \"../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport {\r\n batchTypeArrays,\r\n batchTypeArraysMap,\r\n datePickerOptions,\r\n OrderFrequencyArraysMap,\r\n OrderFrequencyTypeArrays,\r\n} from \"../Resource/Contents\";\r\n\r\ninterface IOrderSetupProps extends IProcessComponentProps {\r\n process: ProcessType;\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IOrderSetupState {}\r\n\r\nexport class OrderSetup extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.process == ProcessType.Switch) {\r\n this.orderTypeOnChange(BatchType.OneOff);\r\n }\r\n }\r\n\r\n private renderOneOffOrder() {\r\n const { data, onChange, process } = this.props;\r\n return (\r\n <>\r\n \r\n onChange({\r\n ActionDate: JsonDateParser.toJsonDateNoOffset(v),\r\n BatchType: v > new Date() ? BatchType.Standing : BatchType.OneOff,\r\n })\r\n }\r\n atLeast={{\r\n value: new Date(),\r\n errorMessage: ContentDatePicker.CannotBeInThePast,\r\n }}\r\n required=\"Please select action date\"\r\n {...datePickerOptions}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderStandingOrder() {\r\n const { data, onChange } = this.props;\r\n const untilDate = addYears(JsonDateParser.toDate(data?.StartDate ? data?.StartDate : new Date()), 10);\r\n const startDate = new Date();\r\n return (\r\n <>\r\n onChange({ StartDate: JsonDateParser.toJsonDateNoOffset(v) })}\r\n atLeast={{\r\n value: startDate,\r\n errorMessage: ContentDatePicker.CannotBeInThePast,\r\n }}\r\n required=\"Please select start date\"\r\n {...datePickerOptions}\r\n />\r\n\r\n {\r\n return OrderFrequencyArraysMap[v];\r\n }}\r\n cssWrapper=\"control-size-245\"\r\n required=\"Please select payment frequency\"\r\n selected={data?.Frequency}\r\n label=\"Frequency\"\r\n onChange={(v) => onChange({ Frequency: v })}\r\n />\r\n\r\n {\r\n return v ? \"Until date\" : \"Until notified\";\r\n }}\r\n required=\"Please select continue\"\r\n selected={data?.ContinueUntilDate}\r\n label=\"Continue\"\r\n onChange={(v) => {\r\n onChange({ ContinueUntilDate: v });\r\n }}\r\n />\r\n\r\n {data?.ContinueUntilDate && (\r\n \r\n onChange({\r\n UntilDate: JsonDateParser.toJsonDateNoOffset(v),\r\n })\r\n }\r\n lessThan={{\r\n errorMessage: \"Until date must be within 10 years of the start date\",\r\n value: untilDate,\r\n }}\r\n atLeast={{\r\n value: addDays(startDate, 1),\r\n errorMessage: ContentDatePicker.CannotBeInThePast,\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select until date\"\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n private orderTypeOnChange(v: any) {\r\n const { onChange } = this.props;\r\n if (v == BatchType.OneOff)\r\n {onChange({\r\n BatchType: v,\r\n OrderType: v,\r\n ActionDate: JsonDateParser.toJsonDateNoOffset(new Date()),\r\n StartDate: null,\r\n Frequency: null,\r\n ContinueUntilDate: null,\r\n UntilDate: null,\r\n });}\r\n else\r\n {onChange({\r\n BatchType: v,\r\n OrderType: v,\r\n ActionDate: null,\r\n StartDate: JsonDateParser.toJsonDateNoOffset(new Date()),\r\n Frequency: Frequency.Monthly,\r\n ContinueUntilDate: false,\r\n UntilDate: null,\r\n });}\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, process } = this.props;\r\n\r\n return (\r\n <>\r\n

\r\n Order setup\r\n

\r\n\r\n {process != ProcessType.Switch && (\r\n batchTypeArraysMap[o]}\r\n onChange={(v) => this.orderTypeOnChange(v)}\r\n />\r\n )}\r\n\r\n {process == ProcessType.Switch && (\r\n \r\n )}\r\n {data?.OrderType == BatchType.OneOff ? this.renderOneOffOrder() : this.renderStandingOrder()}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../NewBusinessWizard/Components/SharedComponents\";\r\n\r\ninterface IAssumedWrapCashHoldings extends IProcessComponentProps {}\r\ninterface AssumedWrapCashHoldingsState {\r\n selected: boolean;\r\n}\r\nexport class AssumedWrapCashHoldings extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { selected: false };\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ selected: this.props.data?.Amount != null && this.props.data?.Amount > 0 });\r\n }\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Assumed other holdings\")}\r\n {this.renderWrapCash(data, onChange)}\r\n \r\n );\r\n }\r\n\r\n private renderWrapCash(data, onChange) {\r\n const { selected } = this.state;\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n onChange({ Amount: 0, Currency: CurrencyCode.GBP });\r\n this.setState({ selected: v });\r\n }}\r\n required={\"Please select\"}\r\n />\r\n {selected && (\r\n onChange({ Amount: v, Currency: CurrencyCode.GBP })}\r\n value={data?.Amount}\r\n required={\"Please enter cash value\"}\r\n validationRules={[\r\n {\r\n errorMessage: \"value must be > 0\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { BankAccountOwner } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport AriaTooltip from \"../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { PaymentType } from \"../../Resource/Contents\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { BankAccount as BankAccountComponent } from \"./BankAccount\";\r\nimport { NewBankAccountInstruction } from \"./NewBankAccountInstruction\";\r\n\r\ninterface IAdditionalBankAccountProps extends IProcessComponentProps {\r\n bankAccounts: BankAccount[];\r\n bankAccountInstructions: BankAccountInstruction[];\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n}\r\n\r\ninterface IAdditionalBankAccountState {\r\n addNewBankAccount: boolean;\r\n validationMssage: string[];\r\n}\r\n\r\nexport class AdditionalBankAccount extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { addNewBankAccount: false, validationMssage: [] };\r\n }\r\n\r\n isValid(): boolean {\r\n const { addNewBankAccount } = this.state;\r\n this.setState({ validationMssage: [] });\r\n if (addNewBankAccount) {\r\n this.setState({\r\n validationMssage: [\"Please save bank account.\"],\r\n });\r\n return false;\r\n }\r\n return super.isValid();\r\n }\r\n\r\n public render() {\r\n const bankAccountInstructions = this.props.bankAccountInstructions || [];\r\n const bankAccounts = this.props.bankAccounts || [];\r\n const bankNum = bankAccountInstructions.length + bankAccounts.length;\r\n const maxBankNum = 4;\r\n const { validationMssage } = this.state;\r\n return (\r\n <>\r\n {validationMssage.map((m, i) => (\r\n \r\n ))}\r\n {SectionHeader(\"Add bank details for SIPP/Bond\")}\r\n {bankNum < maxBankNum && this.renderAddNewBankAccount()}\r\n {this.renderBankAccounts(bankAccounts)}\r\n {this.renderBankAccountInstructions(bankAccountInstructions)}\r\n \r\n );\r\n }\r\n\r\n private renderAddNewBankAccount = () => {\r\n return (\r\n <>\r\n {!this.state.addNewBankAccount && (\r\n <>\r\n this.setState({ addNewBankAccount: true })}\r\n />\r\n \r\n \r\n The bank accounts that have been added so far are shown below or if you require an\r\n additional bank account to be available for SIPP and or Bond payments in or out please\r\n enter it here\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n private renderBankAccounts = (bankAccounts: BankAccount[]) => {\r\n return (\r\n <>\r\n {bankAccounts.map((bankAccount) => (\r\n <>\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n };\r\n\r\n private getPaymentByBankAccountOwner(bankAccountInstruction: BankAccountInstruction): PaymentType {\r\n if (bankAccountInstruction.Owner == BankAccountOwner.ThirdParty) {return PaymentType.ThirdParty;}\r\n else if (bankAccountInstruction.Owner == BankAccountOwner.Employer) {return PaymentType.Employer;}\r\n else {return PaymentType.Client;}\r\n }\r\n\r\n private renderBankAccountInstructions(bankAccountInstructions: BankAccountInstruction[]) {\r\n return (\r\n <>\r\n {bankAccountInstructions.map((bankAccountInstruction) => (\r\n <>\r\n \r\n {}}\r\n data={bankAccountInstruction}\r\n onRef={(ref) => this.appendChild(ref)}\r\n payeeType={this.getPaymentByBankAccountOwner(bankAccountInstruction)}\r\n readonly={true}\r\n />\r\n\r\n {!(this.props.inUseBankAccountInstruction || []).some(\r\n (item) => item == bankAccountInstruction.AccountNumber\r\n ) && (\r\n this.onRemoveBankAccountInstruction(bankAccountInstruction)}\r\n />\r\n )}\r\n \r\n \r\n ))}\r\n {this.state.addNewBankAccount && this.renderNewBankAccountInstruction(PaymentType.Client)}\r\n \r\n );\r\n }\r\n\r\n private renderNewBankAccountInstruction(payeeType: PaymentType) {\r\n return (\r\n <>\r\n {\r\n this.setState({ addNewBankAccount: false });\r\n this.setState({\r\n validationMssage: [],\r\n });\r\n }}\r\n />\r\n \r\n \r\n The bank accounts that have been added so far are shown below or if you require an\r\n additional bank account to be available for SIPP and or Bond payments in or out please\r\n enter it here\r\n \r\n \r\n\r\n {\r\n this.onSaveNewBankAccountInstruction(instruction);\r\n }}\r\n data={null}\r\n onRef={(ref) => this.appendChild(ref)}\r\n payeeType={payeeType}\r\n isReview={false}\r\n />\r\n \r\n );\r\n }\r\n\r\n private onRemoveBankAccountInstruction(bankAccountInstruction: BankAccountInstruction) {\r\n const { bankAccountInstructions } = this.props;\r\n const index = bankAccountInstructions.findIndex((x) => x.AccountNumber == bankAccountInstruction.AccountNumber);\r\n if (index != -1) {\r\n this.props.onRemoveBankAccountInstruction(bankAccountInstruction);\r\n }\r\n }\r\n\r\n private onSaveNewBankAccountInstruction(bankAccountInstruction: BankAccountInstruction) {\r\n const { bankAccountInstructions, onSaveNewBankAccountInstruction } = this.props;\r\n if (bankAccountInstructions.findIndex((x) => x.AccountNumber == bankAccountInstruction.AccountNumber) == -1) {\r\n onSaveNewBankAccountInstruction(bankAccountInstruction);\r\n this.setState({ addNewBankAccount: false });\r\n this.setState({\r\n validationMssage: [],\r\n });\r\n } else {\r\n return this.props.showErrorMsgPopUp([\"Please enter a non-existing bank account\"], true);\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { BankAccountOwnerMap } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { Numeric6, Numeric, Name50, AlphanumericWithSpecialCharacters } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { BankAccount as BankAccountModel } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\n\r\ninterface IBankAccountProps {\r\n data: BankAccountModel;\r\n}\r\n\r\nexport const BankAccount = (props: IBankAccountProps) => {\r\n const { data } = props;\r\n return (\r\n <>\r\n

Bank account details

\r\n BankAccountOwnerMap[v]}\r\n required=\"Please select Owner\"\r\n selected={data?.Owner}\r\n label=\"Owner\"\r\n onChange={() => {}}\r\n />\r\n {}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { BankAccountInstructionClient } from \"../../../../../../../Wrap/Api/BankAccounts/BankAccountInstruction\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { DocumentTaskRequestModel } from \"../../../../../../../Wrap/Models/Models/Tasks/DocumentTaskRequestModel\";\r\nimport { DownloadButtonAction } from \"../../../../../../Shared/DownloadButton/Actions/DownloadButtonAction\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\n\r\nexport class BankAccountAction {\r\n public static saveBankInstruction(\r\n bankAccountInstruction: BankAccountInstruction,\r\n customerId?: number,\r\n processType?: processTypeEnum,\r\n callBack?: (val: BankAccountInstruction) => void\r\n ): void {\r\n const params = getQueryParameters();\r\n const customerid = customerId ? customerId.toString() : params[\"customerid\"];\r\n const claccountid = params[\"claccountid\"];\r\n const instructionId = params[\"id\"];\r\n const headAccountHierarchyId = params[\"hierarchyid\"];\r\n const client = new BankAccountInstructionClient();\r\n const promise = client.post(bankAccountInstruction);\r\n const query = DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.BankDetailsChange,\r\n processType\r\n );\r\n if (!CommonHelper.isNullOrEmpty(customerid) && !CommonHelper.isNullOrEmpty(claccountid)) {\r\n DownloadButtonAction.addTaskRequestForDocument(query, (callback) => {});\r\n }\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static removeBankInstruction(bankAccountInstruction: BankAccountInstruction, callBack?: () => void): void {\r\n const client = new BankAccountInstructionClient();\r\n const promise = client.delete(bankAccountInstruction);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack();\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\n\r\ninterface IBankAccountErrorPopupViewProps {\r\n showBox: boolean;\r\n onClose: () => void;\r\n onClick: () => void;\r\n data: string[];\r\n}\r\n\r\nexport class BankAccountErrorPopupView extends FormComponent {\r\n constructor(props: IBankAccountErrorPopupViewProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.props.showBox ? this.renderModal() : null};\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n return (\r\n this.props.onClose()}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n {this.getModalBody()}\r\n \r\n );\r\n }\r\n\r\n private getModalBody(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n {data.map((error, index) => {\r\n return

{error}

;\r\n })}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionApply } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionApply\";\r\nimport { WrapCashContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/WrapCash/WrapCashContribution\";\r\nimport { GiaModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/InvestmentAccount/GiaModel\";\r\nimport { IsaModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Isa/IsaModel\";\r\n\r\nexport const inUseBankAccountForApply = (data: any): string[] => {\r\n let inUseBankAccount: string[] = [];\r\n if (!CommonHelper.isNullOrEmpty(data?.GiaModel)) {\r\n inUseBankAccount = inUseBankAccount.concat(inUseBankAccountForContribution(data?.GiaModel));\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data?.IsaModel)) {\r\n inUseBankAccount = inUseBankAccount.concat(inUseBankAccountForContribution(data?.IsaModel));\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data?.PensionApply)) {\r\n inUseBankAccount = inUseBankAccount.concat(inUseBankAccountForContribution(data?.PensionApply));\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data?.WrapCashModel)) {\r\n inUseBankAccount = inUseBankAccount.concat(inUseBankAccountForContribution(data?.WrapCashModel));\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data?.Contribution)) {\r\n inUseBankAccount = inUseBankAccount.concat(inUseBankAccountForContribution(data?.Contribution));\r\n }\r\n return inUseBankAccount;\r\n};\r\n\r\nexport const inUseBankAccountForContribution = (\r\n data: PensionApply | GiaModel | IsaModel | WrapCashContribution\r\n): string[] => {\r\n const inUseBankAccount: string[] = [];\r\n if (!CommonHelper.isNullOrEmpty(data?.ClientSinglePayment?.BankAccountNumber)) {\r\n inUseBankAccount.push(data?.ClientSinglePayment?.BankAccountNumber);\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data?.ClientRegularPayment?.BankAccountNumber)) {\r\n inUseBankAccount.push(data?.ClientRegularPayment?.BankAccountNumber);\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data?.ThirdPartyRegularPayment?.BankAccountNumber)) {\r\n inUseBankAccount.push(data?.ThirdPartyRegularPayment?.BankAccountNumber);\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data?.ThirdPartySinglePayment?.BankAccountNumber)) {\r\n inUseBankAccount.push(data?.ThirdPartySinglePayment?.BankAccountNumber);\r\n }\r\n if (!CommonHelper.isNullOrEmpty((data as PensionApply)?.EmployerSinglePayment?.BankAccountNumber)) {\r\n inUseBankAccount.push((data as PensionApply)?.EmployerSinglePayment?.BankAccountNumber);\r\n }\r\n if (!CommonHelper.isNullOrEmpty((data as PensionApply)?.EmployerRegularPayment?.BankAccountNumber)) {\r\n inUseBankAccount.push((data as PensionApply)?.EmployerRegularPayment?.BankAccountNumber);\r\n }\r\n return inUseBankAccount;\r\n};\r\n","import React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { BwaBranchDataReferral } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BwaBranchDataReferral\";\r\n\r\ninterface IBankAccountSuccessPopupViewProps {\r\n showBox: boolean;\r\n onClose: () => void;\r\n onCancelClick: () => void;\r\n onContinueClick: () => void;\r\n data: BwaBranchDataReferral;\r\n}\r\n\r\nexport class BankAccountSuccessPopupView extends FormComponent {\r\n constructor(props: IBankAccountSuccessPopupViewProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.props.showBox ? this.renderModal() : null};\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n return (\r\n this.props.onClose()}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n {this.getModalBody()}\r\n \r\n );\r\n }\r\n\r\n private getModalBody(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n {}} />\r\n {}}\r\n />\r\n {}}\r\n />\r\n {}}\r\n />\r\n {}} />\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport {\r\n BankAccountOwnerArrays,\r\n BankAccountOwnerMap,\r\n ContentsTable,\r\n} from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { BankAccountOwner } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { AlphanumericWithSpecialCharacters, Numeric, Numeric2 } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { InstructionStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { PaymentType } from \"../../Resource/Contents\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { DirectDebitMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/DirectDebitMethod\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { DirectDebitTerms } from \"../WrapCash/DirectDebitTerms\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { BwaBankAccountValidationRequest } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BwaBankAccountValidationRequest\";\r\nimport { BwaBranchDataReferral } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BwaBranchDataReferral\";\r\nimport { BankAccountErrorPopupView } from \"./BankAccountErrorPopupView\";\r\nimport { BankAccountSuccessPopupView } from \"./BankAccountSuccessPopupView\";\r\nimport { Address } from \"../../../../../../../Wrap/Models/Domains/Address/Address\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\n\r\ninterface INewBankAccountInstructionProps extends IProcessComponentProps {\r\n payeeType: PaymentType;\r\n withdrawalsOnly?: boolean;\r\n onChange: (bankAccountInstruction: BankAccountInstruction) => void;\r\n data: BankAccountInstruction;\r\n customerId?: number;\r\n}\r\n\r\ninterface INewBankAccountInstructionState {\r\n Owner: BankAccountOwner;\r\n AccountName: string;\r\n AccountNumber: string;\r\n RollNumber: string;\r\n BankCode: string;\r\n BranchCode: string;\r\n ExtraCode: string;\r\n NominatedForDirectDebit: boolean;\r\n NominatedForWithdrawal: boolean;\r\n DirectDebitMethod: DirectDebitMethod;\r\n onlineDeclarationConfirmed: boolean;\r\n showOnlineDeclarationPopup: boolean;\r\n isBWValidateSuccess: boolean;\r\n BWvalidationMssage: string[];\r\n showBWValidatePopup: boolean;\r\n showErrorMsgPopup: boolean;\r\n branchdata: BwaBranchDataReferral;\r\n findBtnCanClick: boolean;\r\n}\r\n\r\nexport class NewBankAccountInstruction extends ProcessComponent<\r\n INewBankAccountInstructionProps,\r\n INewBankAccountInstructionState\r\n> {\r\n constructor(props: INewBankAccountInstructionProps) {\r\n super(props);\r\n this.state = {\r\n Owner: props.data?.Owner,\r\n AccountName: null,\r\n AccountNumber: props.data?.AccountNumber,\r\n RollNumber: null,\r\n BankCode: props.data?.BankCodes.BankCode,\r\n BranchCode: props.data?.BankCodes.BranchCode,\r\n ExtraCode: props.data?.BankCodes.ExtraCode,\r\n NominatedForDirectDebit: false,\r\n NominatedForWithdrawal: props.data?.NominatedForWithdrawal,\r\n DirectDebitMethod: this.isPayeeeTypeThirdPartyOrEmployer()\r\n ? DirectDebitMethod.Paper\r\n : DirectDebitMethod.NotSpecified,\r\n onlineDeclarationConfirmed: false,\r\n showOnlineDeclarationPopup: false,\r\n showErrorMsgPopup: false,\r\n isBWValidateSuccess: false,\r\n BWvalidationMssage: [],\r\n showBWValidatePopup: false,\r\n branchdata: null,\r\n findBtnCanClick: true,\r\n };\r\n }\r\n\r\n private isPayeeeTypeThirdPartyOrEmployer(): boolean {\r\n const { payeeType } = this.props;\r\n return payeeType == PaymentType.Employer || payeeType == PaymentType.ThirdParty;\r\n }\r\n\r\n private onCallBWValidateService(): boolean {\r\n const { AccountNumber, BankCode, BranchCode, ExtraCode, isBWValidateSuccess } = this.state;\r\n const { customerId } = this.props;\r\n const sortCode = (BankCode ?? \"00\") + (BranchCode ?? \"00\") + (ExtraCode ?? \"00\");\r\n\r\n if (CommonHelper.isNullOrEmpty(AccountNumber) || CommonHelper.isNullOrEmpty(sortCode)) {\r\n this.setState({\r\n BWvalidationMssage: [\"Account number or Sort code can't be empty\"],\r\n });\r\n return false;\r\n } else {\r\n this.setState({ findBtnCanClick: false });\r\n const request: BwaBankAccountValidationRequest = {\r\n AccountNumber: AccountNumber,\r\n SortCode: sortCode,\r\n InstructionId: customerId ? customerId : getQueryParameters()[\"customerid\"],\r\n };\r\n Action.ValidateExperianBankAccount(request, (response: BwaBranchDataReferral) => {\r\n this.setState({\r\n BWvalidationMssage: response.ValidateStatus\r\n ? []\r\n : [\r\n \"No bank information found for entered details. No further checks will be carried out on this bank account.\",\r\n ],\r\n isBWValidateSuccess: response.ValidateStatus,\r\n showBWValidatePopup: response.ValidateStatus,\r\n showErrorMsgPopup: !response.ValidateStatus,\r\n branchdata: response,\r\n findBtnCanClick: true,\r\n });\r\n });\r\n return true;\r\n }\r\n }\r\n\r\n public render() {\r\n const { data, withdrawalsOnly } = this.props;\r\n const { isBWValidateSuccess, BWvalidationMssage, branchdata, AccountNumber, findBtnCanClick } = this.state;\r\n\r\n return (\r\n
\r\n {BWvalidationMssage.length > 0 &&\r\n BWvalidationMssage.map((m, i) => )}\r\n
\r\n
\r\n

Bank account details

\r\n BankAccountOwnerMap[v]}\r\n required=\"Please select owner\"\r\n selected={data?.Owner}\r\n label=\"Owner\"\r\n onChange={(v) => this.setState({ Owner: v })}\r\n />\r\n this.setState({ AccountName: v })}\r\n />\r\n {\r\n return v?.length === 8;\r\n },\r\n },\r\n ]}\r\n onChange={(v) => this.setState({ AccountNumber: v })}\r\n />\r\n
\r\n
\r\n
\r\n
{this.renderSortCodeEditor()}
\r\n {!this.props.readonly && (\r\n
\r\n  \r\n
\r\n {\r\n this.onCallBWValidateService();\r\n }}\r\n >\r\n Find\r\n \r\n
\r\n
\r\n )}\r\n {this.renderBankAccoutErrorPopUp()}\r\n {this.renderBankAccoutSuccessPopUp()}\r\n
\r\n
\r\n
\r\n this.setState({ RollNumber: v })}\r\n />\r\n this.setState({ NominatedForDirectDebit: v })}\r\n label=\"Direct Debit instruction\"\r\n cssWrapper=\"square-checkbox block\"\r\n />\r\n {this.state.Owner != null &&\r\n this.state.Owner != BankAccountOwner.Employer &&\r\n this.state.Owner != BankAccountOwner.ThirdParty && (\r\n this.setState({ NominatedForWithdrawal: v })}\r\n label=\"Nominated account for withdrawals\"\r\n cssWrapper=\"square-checkbox block\"\r\n disabled={withdrawalsOnly}\r\n />\r\n )}\r\n
\r\n
{this.renderDirectDebitMethod()}
\r\n
\r\n {!this.props.readonly && (\r\n
\r\n
\r\n {\r\n if (this.isValid()) {\r\n if (isBWValidateSuccess) {\r\n this.props.onChange({\r\n AccountName: this.state.AccountName,\r\n AccountNumber: this.state.AccountNumber,\r\n BankCodes: {\r\n BankCode: this.state.BankCode,\r\n BranchCode: this.state.BranchCode,\r\n ExtraCode: this.state.ExtraCode,\r\n },\r\n BankDetails: {\r\n Name: branchdata?.InstitutionName,\r\n Address: this.setAddress(branchdata),\r\n },\r\n Owner: this.state.Owner,\r\n RollNumber: this.state.RollNumber,\r\n NominatedForWithdrawal: this.state.NominatedForWithdrawal,\r\n NominatedForDirectDebit: this.state.NominatedForDirectDebit,\r\n DirectDebitMethod: this.state.DirectDebitMethod,\r\n Status: InstructionStatus.Pending,\r\n });\r\n } else {\r\n this.setState({\r\n BWvalidationMssage: [\r\n \"Please click find button to process BWValidatation.\",\r\n ],\r\n });\r\n }\r\n }\r\n }}\r\n >\r\n Save bank account\r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n renderSortCodeEditor() {\r\n const { AccountNumber, BankCode, BranchCode, ExtraCode, isBWValidateSuccess } = this.state;\r\n return (\r\n
\r\n Sort code\r\n
\r\n
\r\n {\r\n // return parseInt(v) !== 0;\r\n // },\r\n // },\r\n // ]}\r\n onChange={(v) => {\r\n if (v) {\r\n this.setState({ BankCode: v });\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.setState({ BranchCode: v });\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n if (v) {\r\n this.setState({ ExtraCode: v });\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private setAddress(branchdata: BwaBranchDataReferral): Address {\r\n return {\r\n Line1: branchdata?.AddressLines?.[0],\r\n Line2: branchdata?.AddressLines?.[1],\r\n Line3: branchdata?.AddressLines?.[2],\r\n Line4: branchdata?.AddressLines?.[3],\r\n Postcode: branchdata?.PostOrZipCode,\r\n CountryCode: CountryCode.GBR,\r\n };\r\n }\r\n\r\n private renderBankAccoutErrorPopUp(): JSX.Element {\r\n const { showErrorMsgPopup, BWvalidationMssage } = this.state;\r\n if (showErrorMsgPopup) {\r\n return (\r\n this.setState({ showErrorMsgPopup: false })}\r\n onClick={() =>\r\n this.setState({\r\n BankCode: null,\r\n BranchCode: null,\r\n ExtraCode: null,\r\n isBWValidateSuccess: false,\r\n showErrorMsgPopup: false,\r\n AccountNumber: null,\r\n BWvalidationMssage: [],\r\n })\r\n }\r\n />\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n private renderBankAccoutSuccessPopUp(): JSX.Element {\r\n const { showBWValidatePopup, branchdata } = this.state;\r\n if (showBWValidatePopup) {\r\n return (\r\n this.setState({ showBWValidatePopup: false })}\r\n onCancelClick={() =>\r\n this.setState({\r\n showBWValidatePopup: false,\r\n BankCode: null,\r\n BranchCode: null,\r\n ExtraCode: null,\r\n isBWValidateSuccess: false,\r\n })\r\n }\r\n onContinueClick={() => this.setState({ showBWValidatePopup: false })}\r\n />\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n private getBankAccountOwners(): BankAccountOwner[] {\r\n const { payeeType } = this.props;\r\n if (payeeType === PaymentType.Client) {\r\n return BankAccountOwnerArrays.filter((u) => u !== BankAccountOwner.ThirdParty);\r\n }\r\n if (payeeType === PaymentType.ThirdParty) {\r\n return [BankAccountOwner.ThirdParty];\r\n }\r\n if (payeeType === PaymentType.Employer) {\r\n return [BankAccountOwner.Employer];\r\n }\r\n }\r\n\r\n private renderDirectDebitMethod() {\r\n const { data } = this.props;\r\n\r\n return (\r\n <>\r\n (v == DirectDebitMethod.Online ? \"Online\" : \"Paper\")}\r\n onChange={(v) => this.setState({ DirectDebitMethod: v })}\r\n label={\"Direct Debit\"}\r\n selected={\r\n this.isPayeeeTypeThirdPartyOrEmployer() ? this.state.DirectDebitMethod : data?.DirectDebitMethod\r\n }\r\n disabled={\r\n this.props.payeeType == PaymentType.Employer || this.props.payeeType == PaymentType.ThirdParty\r\n }\r\n required=\"Please select Direct Debit\"\r\n />\r\n
\r\n {this.state.DirectDebitMethod == DirectDebitMethod.Online && (\r\n <>\r\n this.setState({ showOnlineDeclarationPopup: true })}\r\n >\r\n Direct Debit terms\r\n \r\n this.setState({ onlineDeclarationConfirmed: v })}\r\n label=\"I confirm that I understand and agree to the Online Direct Debit terms\"\r\n cssWrapper=\"square-checkbox block\"\r\n required=\"You must complete the required declaration\"\r\n />\r\n \r\n )}\r\n\r\n {this.state.DirectDebitMethod == DirectDebitMethod.Online && this.state.showOnlineDeclarationPopup && (\r\n this.setState({ showOnlineDeclarationPopup: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n \r\n this.setState({ showOnlineDeclarationPopup: false })}\r\n >\r\n Confirm\r\n \r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { BankAccount as BankAccountComponent } from \"./BankAccount\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { BankAccountOwnerPaymentTypeMap, PaymentType } from \"../../Resource/Contents\";\r\n\r\nimport { NewBankAccountInstruction } from \"../BankAccount/NewBankAccountInstruction\";\r\nimport { ContentsTable } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { WithdrawalMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/WithdrawalMethod\";\r\n\r\ninterface ISelectBankAccountProps extends IProcessComponentProps {\r\n bankAccounts: BankAccount[];\r\n bankAccountInstructions: BankAccountInstruction[];\r\n payeeType: PaymentType;\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n customerId: number;\r\n autoLineCompleted?: boolean;\r\n}\r\n\r\ninterface ISelectBankAccountState {\r\n addNewBankAccount: boolean;\r\n}\r\n\r\nexport class SelectBankAccount extends ProcessComponent {\r\n public static defaultProps = {\r\n autoLineCompleted: true,\r\n };\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { addNewBankAccount: false };\r\n }\r\n\r\n getBlockStatus(): EWizardLinterStatus {\r\n const { data } = this.props;\r\n const complete = data != null && data.BankAccountNumber != null && data.BankAccountNumber != \"\";\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n public render() {\r\n const bankAccountsInfo = this.props.bankAccounts || [];\r\n const bankAccountInstructions = this.props.bankAccountInstructions || [];\r\n const { payeeType, data, onChange } = this.props;\r\n\r\n const accountsFromExisting =\r\n bankAccountsInfo\r\n .filter((x) => (BankAccountOwnerPaymentTypeMap[x.Owner] || []).indexOf(payeeType) != -1)\r\n .map((account) => account.AccountNumber) || [];\r\n const bankAccountInstructionsFiltered = bankAccountInstructions.filter(\r\n (x) => (BankAccountOwnerPaymentTypeMap[x.Owner] || []).indexOf(payeeType) != -1\r\n );\r\n const accountsFromInstructions = bankAccountInstructionsFiltered.map((account) => account.AccountNumber) || [];\r\n const allbankAccounts = [...accountsFromExisting, ...accountsFromInstructions];\r\n const bankAccounts = Array.from(new Set(allbankAccounts));\r\n const bankAccount = bankAccountsInfo.find((account) => account.AccountNumber === data.BankAccountNumber);\r\n const bankNum = bankAccountsInfo.length + bankAccountInstructions.length;\r\n\r\n return (\r\n \r\n {this.renderBankAccount(data, onChange, bankAccounts, bankAccount)}\r\n {this.renderBankAccountInstructions(payeeType, bankAccountInstructionsFiltered, bankNum)}\r\n \r\n );\r\n }\r\n\r\n private renderBankAccount = (data: any, onChange, bankAccounts: any, bankAccount: BankAccount) => {\r\n return (\r\n <>\r\n
\r\n
\r\n v}\r\n required={\"Please select or add a bank account\"}\r\n placeholder=\"No account selected\"\r\n selected={data.BankAccountNumber}\r\n label=\"Bank account\"\r\n onChange={(v) => onChange({ BankAccountNumber: v })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {!CommonHelper.isNullOrEmpty(bankAccount) && }\r\n
\r\n
\r\n
\r\n {!CommonHelper.isNullOrEmpty(bankAccount) && bankAccount.DDIReceived && (\r\n
\r\n

{ContentsTable.DirectDebitMethodInformation4}

\r\n
\r\n )}\r\n \r\n );\r\n };\r\n\r\n private renderBankAccountInstructions(\r\n payeeType: PaymentType,\r\n bankAccountInstructions: BankAccountInstruction[],\r\n currentBankAccountNum: number\r\n ) {\r\n const maxBankNum = 4;\r\n const showAddButton = currentBankAccountNum < maxBankNum && !this.state.addNewBankAccount;\r\n const { customerId } = this.props;\r\n return (\r\n <>\r\n {showAddButton && (\r\n this.setState({ addNewBankAccount: true })}\r\n disabled={!this.props.autoLineCompleted}\r\n />\r\n )}\r\n
\r\n {bankAccountInstructions.map((bankAccountInstruction) => (\r\n <>\r\n \r\n {}}\r\n data={bankAccountInstruction}\r\n onRef={(ref) => this.appendChild(ref)}\r\n payeeType={payeeType}\r\n readonly={true}\r\n customerId={customerId}\r\n />\r\n\r\n {!(this.props.inUseBankAccountInstruction || []).some(\r\n (item) => item == bankAccountInstruction.AccountNumber\r\n ) && (\r\n this.onRemoveBankAccountInstruction(bankAccountInstruction)}\r\n disabled={!this.props.autoLineCompleted}\r\n />\r\n )}\r\n \r\n \r\n ))}\r\n {this.state.addNewBankAccount && this.renderNewBankAccountInstruction(payeeType)}\r\n \r\n );\r\n }\r\n\r\n private renderNewBankAccountInstruction(payeeType: PaymentType) {\r\n const { customerId } = this.props;\r\n return (\r\n <>\r\n this.setState({ addNewBankAccount: false })}\r\n disabled={!this.props.autoLineCompleted}\r\n />\r\n {\r\n this.onSaveNewBankAccountInstruction(instruction);\r\n }}\r\n data={null}\r\n onRef={(ref) => this.appendChild(ref)}\r\n payeeType={payeeType}\r\n isReview={false}\r\n customerId={customerId}\r\n />\r\n \r\n );\r\n }\r\n\r\n private onRemoveBankAccountInstruction(bankAccountInstruction: BankAccountInstruction) {\r\n const { bankAccountInstructions, data, onChange } = this.props;\r\n const index = bankAccountInstructions.findIndex((x) => x.AccountNumber == bankAccountInstruction.AccountNumber);\r\n if (index != -1) {\r\n this.props.onRemoveBankAccountInstruction(bankAccountInstruction);\r\n }\r\n }\r\n\r\n private onSaveNewBankAccountInstruction(bankAccountInstruction: BankAccountInstruction) {\r\n const { bankAccountInstructions, onSaveNewBankAccountInstruction } = this.props;\r\n if (bankAccountInstructions.findIndex((x) => x.AccountNumber == bankAccountInstruction.AccountNumber) == -1) {\r\n onSaveNewBankAccountInstruction(bankAccountInstruction);\r\n this.setState({ addNewBankAccount: false });\r\n } else {\r\n return this.props.showErrorMsgPopUp([\"Please enter a non-existing bank account\"], true);\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviceGivenQuestionText } from \"../Resource/Contents\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\ninterface IFinancialAdviceProps extends IProcessComponentProps {}\r\n\r\ninterface IFinancialAdviceState {}\r\n\r\nexport class FinancialAdvice extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Financial advice\")}\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) =>\r\n this.onDataChange(\r\n onChange,\r\n {\r\n AdviceGiven: v,\r\n },\r\n data\r\n )\r\n }\r\n required=\"Please select\"\r\n validationRules={[\r\n {\r\n errorMessage: \"To continue, you must have given financial advice.\",\r\n validator: (v) => {\r\n return v == null ? true : v;\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\n\r\ninterface IPaperLessProps extends IProcessComponentProps {\r\n readOnly: boolean;\r\n}\r\n\r\ninterface IPaperLessState {\r\n termsConfirmed: boolean;\r\n}\r\n\r\nexport class PaperLess extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n termsConfirmed: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, readOnly, onChange } = this.props;\r\n if (data?.PaperLess) {\r\n this.setState({ termsConfirmed: true });\r\n }\r\n //if creating subaccount, then keep headaccount setting\r\n if (readOnly && data?.ExistingAccountPaperLess != null) {\r\n this.onDataChange(onChange, { PaperLess: data?.ExistingAccountPaperLess }, data);\r\n if (data?.ExistingAccountPaperLess) {\r\n this.setState({ termsConfirmed: true });\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.readOnly != this.props.readOnly) {\r\n const { data, readOnly, onChange } = this.props;\r\n if (readOnly && data?.ExistingAccountPaperLess != null) {\r\n //if switching from creating new account to create subaccount, use existing account settings\r\n this.onDataChange(onChange, { PaperLess: data?.ExistingAccountPaperLess }, data);\r\n if (data?.ExistingAccountPaperLess) {\r\n this.setState({ termsConfirmed: true });\r\n }\r\n } else {\r\n //if switching from creating sub account to create new account, set paperless to default (false)\r\n this.onDataChange(onChange, { PaperLess: false }, data);\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, readOnly } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Paperless preference\")}\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.onDataChange(onChange, { PaperLess: v }, data);\r\n this.setState({ termsConfirmed: false });\r\n }}\r\n required=\"Please select\"\r\n disabled={readOnly}\r\n />\r\n

\r\n There are certain documents which for legal or regulatory reasons must still be sent directly to the\r\n customer. All documents can be accessed from the client's document library\r\n

\r\n {data?.PaperLess && (\r\n {\r\n this.setState({ termsConfirmed: v });\r\n }}\r\n >\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { addMonths } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Indexation as IndexationEntity } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/Indexation\";\r\nimport { IndexationEffectiveDateType } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/IndexationEffectiveDateType\";\r\nimport { IndexationType } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/IndexationType\";\r\nimport { ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { datePickerOptions } from \"../../Resource/Contents\";\r\ninterface IIndexationProps {\r\n firstPaymentDate: Date;\r\n data: IndexationEntity;\r\n onChange: (indexaton: IndexationEntity) => void;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface IIndexationState {}\r\n\r\nexport class Indexation extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data } = this.props;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n v == null\r\n ? \"No indexation (0% index)\"\r\n : v == IndexationType.AverageWeeklyEarning\r\n ? \"Average weekly earnings\"\r\n : \"User defined percentage\"\r\n }\r\n selected={data?.IndexationType}\r\n label=\"Indexation\"\r\n onChange={(v) => {\r\n if (v == null) {\r\n this.props.onChange(null);\r\n } else {\r\n if (data == null) {\r\n onChange({\r\n IndexationType: v,\r\n EffectiveDateType: IndexationEffectiveDateType.AnniversaryDate,\r\n });\r\n } else {\r\n data.IndexationType = v;\r\n onChange(data);\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n {data?.IndexationType == IndexationType.FixedPercentage && (\r\n
\r\n {\r\n data.Percentage = v;\r\n onChange(data);\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {data?.IndexationType !== null && data?.IndexationType !== undefined && (\r\n
\r\n
\r\n \r\n v == IndexationEffectiveDateType.AnniversaryDate\r\n ? \"On anniversary date\"\r\n : \"On a user specified date\"\r\n }\r\n onChange={(v) => {\r\n data.EffectiveDateType = v;\r\n onChange(data);\r\n }}\r\n selected={data?.EffectiveDateType}\r\n label={\"Recalculation date type\"}\r\n required=\"Please selected recalculation date type\"\r\n />\r\n
\r\n {data?.EffectiveDateType == IndexationEffectiveDateType.FixedDate && (\r\n
\r\n {\r\n data.EffectiveDate = JsonDateParser.toJsonDateNoOffset(v);\r\n onChange(data);\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { isTaxRelifAvailable } from \"../../../NewQuoteWizard/Components/Shared/Utils\";\r\nimport { PaymentType, processTypeEnum } from \"../../Resource/Contents\";\r\nimport { RegularPaymentDetail } from \"./RegularPaymentDetail\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { RegularDepositMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/RegularDepositMethod\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { DateHelper } from \"../../../../../../../react-core/Helpers/DateHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { RestrictionStore } from \"../../Restrictions/Variable\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { RestrictionHelper } from \"../../../../../../Shared/Common/RestrictionHelper\";\r\nimport { RestrictionAction } from \"../../Restrictions/RestrictionAction\";\r\n\r\ninterface IRegularPaymentProps extends IProcessComponentProps {\r\n clientInfo: ClientDetails;\r\n checkBoxOption: Array;\r\n subAccountType: SubAccountType;\r\n hasIndexation?: boolean;\r\n hasContinue?: boolean;\r\n hasPaymentMethod?: boolean;\r\n bankAccounts?: BankAccount[];\r\n bankAccountInstructions?: BankAccountInstruction[];\r\n processType: processTypeEnum;\r\n isEdit?: boolean;\r\n HasExistingSIPP?: boolean;\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n autoLineCompleted?: boolean;\r\n}\r\n\r\ninterface IRegularPaymentState {\r\n userInfo: User;\r\n}\r\n\r\nexport class RegularPayment extends ProcessComponent {\r\n public static defaultProps = {\r\n autoLineCompleted: true,\r\n };\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n };\r\n }\r\n private getKey = (key: PaymentType) => {\r\n switch (key) {\r\n case PaymentType.Client:\r\n return \"ClientRegularPayment\";\r\n case PaymentType.ThirdParty:\r\n return \"ThirdPartyRegularPayment\";\r\n case PaymentType.Employer:\r\n return \"EmployerRegularPayment\";\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (RestrictionStore.getData() == null) {\r\n if (!CommonHelper.isNullOrEmpty(getQueryParameters()[\"subaccounthierarchyid\"])) {\r\n RestrictionAction.getRestrictionByHierarchyId(getQueryParameters()[\"subaccounthierarchyid\"]);\r\n } else if (!CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"])) {\r\n RestrictionAction.getRestrictionByHierarchyId(getQueryParameters()[\"hierarchyid\"]);\r\n }\r\n }\r\n }\r\n\r\n private getOptions = () => {\r\n const { checkBoxOption, data, onChange, processType, isEdit } = this.props;\r\n let isRestrictionActive = false;\r\n if (RestrictionHelper.shouldHandleRestriction(processType)) {\r\n isRestrictionActive = RestrictionStore.depositDisabled();\r\n }\r\n const isNone = checkBoxOption.map((type) => data[this.getKey(type)] == null).every((ele) => ele == true);\r\n const empty = {};\r\n checkBoxOption.forEach((type) => {\r\n empty[this.getKey(type)] = null;\r\n });\r\n const options = [\r\n {\r\n label: \"None\",\r\n value: isNone,\r\n disabled: isRestrictionActive || this.props.isEdit || !this.props.autoLineCompleted || processType == processTypeEnum.Quote,\r\n onChange: (v) => onChange(empty),\r\n },\r\n ];\r\n checkBoxOption.forEach((type) => {\r\n options.push({\r\n label: type,\r\n value: data[this.getKey(type)] != null,\r\n disabled:\r\n ((this.props.processType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.processType == processTypeEnum.NewQuoteExistingClient) &&\r\n this.props.HasExistingSIPP == true) ||\r\n isRestrictionActive ||\r\n (data[this.getKey(type)] && data[this.getKey(type)]?.RegularBuyId) ||\r\n !this.props.autoLineCompleted,\r\n onChange: (v) => {\r\n if (processType == processTypeEnum.Quote) {\r\n onChange({\r\n [this.getKey(type)]: v\r\n ? {\r\n TaxRelief: isTaxRelifAvailable(this.props.clientInfo?.DateOfBirth, new Date()),\r\n RegularPaymentMethod: RegularDepositMethod.NotSpecified,\r\n RegularBuyId: null,\r\n }\r\n : null,\r\n });\r\n } else {\r\n onChange({\r\n [this.getKey(type)]: v\r\n ? {\r\n TaxRelief: isTaxRelifAvailable(this.props.clientInfo?.DateOfBirth, new Date()),\r\n RegularPaymentMethod: RegularDepositMethod.DirectDebit,\r\n RegularBuyId: null,\r\n }\r\n : null,\r\n });\r\n }\r\n },\r\n });\r\n });\r\n\r\n return options;\r\n };\r\n\r\n private getProps = (key) => {\r\n const {\r\n data,\r\n onChange,\r\n subAccountType,\r\n clientInfo,\r\n bankAccounts,\r\n bankAccountInstructions,\r\n hasPaymentMethod,\r\n processType,\r\n isReview,\r\n onSaveNewBankAccountInstruction,\r\n onRemoveBankAccountInstruction,\r\n inUseBankAccountInstruction,\r\n } = this.props;\r\n return {\r\n clientInfo: clientInfo,\r\n label: key,\r\n type: key,\r\n data: data[this.getKey(key)],\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, this.getKey(key)),\r\n onRef: (ref) => this.appendChild(ref),\r\n subAccountType: subAccountType,\r\n bankAccounts: bankAccounts,\r\n bankAccountInstructions: bankAccountInstructions,\r\n hasPaymentMethod: hasPaymentMethod,\r\n processType: processType,\r\n isReview: isReview,\r\n onSaveNewBankAccountInstruction: onSaveNewBankAccountInstruction,\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n onRemoveBankAccountInstruction: onRemoveBankAccountInstruction,\r\n inUseBankAccountInstruction: inUseBankAccountInstruction,\r\n };\r\n };\r\n\r\n public getNextPaymentDate = (firstPaymentDate, nextPaymentDate) => {\r\n const first = JsonDateParser.toDate(firstPaymentDate);\r\n const next = JsonDateParser.toDate(nextPaymentDate);\r\n const useDate = first && first > new Date() ? first : next;\r\n return useDate ? DateHelper.getDayDifference(JsonDateParser.toDate(useDate), new Date()) : -1;\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, subAccountType, isEdit, processType } = this.props;\r\n let isRestrictionActive = false;\r\n if (RestrictionHelper.shouldHandleRestriction(processType)) {\r\n isRestrictionActive = RestrictionStore.depositDisabled();\r\n }\r\n const clientNextPaymentdate = this.getNextPaymentDate(\r\n data?.ClientRegularPayment?.FirstCollectionDate,\r\n data?.ClientRegularPayment?.NextPaymentDate\r\n );\r\n\r\n const thirdPartyNextPaymentdate = this.getNextPaymentDate(\r\n data?.ThirdPartyRegularPayment?.FirstCollectionDate,\r\n data?.ThirdPartyRegularPayment?.NextPaymentDate\r\n );\r\n const employerNextPaymentdate = this.getNextPaymentDate(\r\n data?.EmployerRegularPayment?.FirstCollectionDate,\r\n data?.EmployerRegularPayment?.NextPaymentDate\r\n );\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot receive regular payment\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n \r\n {SectionHeader(\r\n \"Regular payment\",\r\n isEdit ? \"More than one payer type can be selected in this instruction.\" : \"\"\r\n )}\r\n {isRestrictionActive && }\r\n \r\n {clientNextPaymentdate != -1 &&\r\n clientNextPaymentdate <= 10 &&\r\n this.props.processType === processTypeEnum.RegularPayment && (\r\n \r\n )}\r\n {data.ClientRegularPayment && (\r\n \r\n )}\r\n {thirdPartyNextPaymentdate != -1 &&\r\n thirdPartyNextPaymentdate <= 10 &&\r\n this.props.processType === processTypeEnum.RegularPayment && (\r\n \r\n )}\r\n {data.ThirdPartyRegularPayment && (\r\n \r\n )}\r\n {employerNextPaymentdate != -1 &&\r\n employerNextPaymentdate <= 10 &&\r\n this.props.processType === processTypeEnum.RegularPayment && (\r\n \r\n )}\r\n {data.EmployerRegularPayment && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { addDays } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { isTaxRelifAvailable } from \"../../../NewQuoteWizard/Components/Shared/Utils\";\r\nimport {\r\n datePickerOptions,\r\n FrequencyArraysMap,\r\n FrequencyTypeArrays,\r\n PaymentType,\r\n processTypeEnum,\r\n} from \"../../Resource/Contents\";\r\nimport { Indexation } from \"./Indexation\";\r\nimport { ThirdPartyEmployerDetail } from \"../SinglePayment/ThirdPartyEmployerDetail\";\r\nimport { RegularPaymentMethods } from \"./RegularPaymentMethods\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { RegularDepositMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/RegularDepositMethod\";\r\n\r\ninterface IRegularPaymentDetailProps extends IProcessComponentProps {\r\n clientInfo: ClientDetails;\r\n label: string;\r\n subAccountType: SubAccountType;\r\n type: PaymentType;\r\n hasPaymentMethod: boolean;\r\n bankAccounts?: BankAccount[];\r\n bankAccountInstructions?: BankAccountInstruction[];\r\n processType: processTypeEnum;\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n autoLineCompleted?: boolean;\r\n}\r\n\r\ninterface IRegularPaymentDetailState {\r\n continueUntilDate: boolean;\r\n taxReliefStatus: boolean | null;\r\n isTaxReliefApplicable: boolean;\r\n}\r\n\r\nexport class RegularPaymentDetail extends ProcessComponent {\r\n public static defaultProps = {\r\n autoLineCompleted: true,\r\n };\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n continueUntilDate: props.data.ContinueUntil != null,\r\n taxReliefStatus: null,\r\n isTaxReliefApplicable: true,\r\n };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n const { data } = this.props;\r\n if (data?.RegularBuyId && !data?.NextPaymentDate) {\r\n this.props.onChange({ NextPaymentDate: data?.ContinueUntil });\r\n }\r\n }\r\n\r\n private onEdit(changes) {\r\n this.props.onChange({\r\n ...changes,\r\n WasPaymentChanged: true,\r\n });\r\n }\r\n\r\n private async handleDateChange(v: Date) {\r\n // Check for tax relief availability\r\n const taxReliefAvailable = await isTaxRelifAvailable(\r\n this.props.clientInfo?.DateOfBirth,\r\n JsonDateParser.toJsonDateNoOffset(v)\r\n );\r\n\r\n // Update the state with tax relief status and other properties\r\n this.setState(\r\n {\r\n taxReliefStatus: taxReliefAvailable,\r\n isTaxReliefApplicable: taxReliefAvailable, // updating the new state property\r\n },\r\n () => {\r\n this.onEdit({\r\n NextPaymentDate: this.props.data?.RegularBuyId ? JsonDateParser.toJsonDateNoOffset(v) : null,\r\n FirstCollectionDate: JsonDateParser.toJsonDateNoOffset(v),\r\n TaxRelief: SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType)\r\n ? this.state.taxReliefStatus\r\n : null,\r\n });\r\n }\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const bankAccounts = this.props.bankAccounts;\r\n const bankAccountInstructions = this.props.bankAccountInstructions;\r\n const {\r\n data,\r\n onChange,\r\n type,\r\n processType,\r\n onSaveNewBankAccountInstruction,\r\n onRemoveBankAccountInstruction,\r\n inUseBankAccountInstruction,\r\n clientInfo,\r\n } = this.props;\r\n const getFirstPaymentDate = (readonly: boolean) => {\r\n const curDate = new Date();\r\n const daysToAdd =\r\n curDate.getDay() == 0\r\n ? 12 //sunday = 0\r\n : curDate.getDay() == 6\r\n ? 13 //saturday = 6\r\n : 14;\r\n return readonly ? curDate : addDays(curDate, daysToAdd);\r\n };\r\n return (\r\n <>\r\n

{type}

\r\n
\r\n
\r\n = 0\" : \"Regular payment value must be > 0\",\r\n validator: (v) => {if(this.props.processType == processTypeEnum.Quote){ return v >= 0} return v>0; },\r\n },\r\n ]}\r\n onChange={(v) => this.onEdit({ Money: { Amount: v, Currency: CurrencyCode.GBP } })}\r\n />\r\n
\r\n
\r\n {\r\n return FrequencyArraysMap[v];\r\n }}\r\n required=\"Please select payment frequency\"\r\n placeholder=\"Please select\"\r\n selected={data?.Frequency}\r\n label=\"Payment frequency\"\r\n onChange={(v) => this.onEdit({ Frequency: v })}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n if (v.getDate() > 28) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n }}\r\n label={data?.RegularBuyId ? \"Next pay date\" : \"First collection date\"}\r\n selected={\r\n data?.RegularBuyId && this.props.processType != processTypeEnum.Quote\r\n ? JsonDateParser.toDateNoOffset(data?.NextPaymentDate)\r\n : JsonDateParser.toDateNoOffset(data?.FirstCollectionDate)\r\n }\r\n atLeast={{\r\n errorMessage:\r\n \"Date of first regular payment must be at least 10 working days from today\",\r\n value: getFirstPaymentDate(this.props.readonly),\r\n }}\r\n onChange={(v) => this.handleDateChange(v)}\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select first collection date\"\r\n />\r\n
\r\n
\r\n {(this.props.subAccountType == SubAccountType.InvestmentAccount ||\r\n this.props.subAccountType == SubAccountType.StocksIsa ||\r\n this.props.subAccountType == SubAccountType.WrapCash) && (\r\n {\r\n return v ? \"Until date\" : \"Until notified\";\r\n }}\r\n required=\"Please select payment frequency\"\r\n selected={this.state.continueUntilDate}\r\n label=\"Continue\"\r\n onChange={(v) => {\r\n this.setState({ continueUntilDate: v });\r\n onChange({ ContinueUntil: null });\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n {this.state.continueUntilDate && data?.FirstCollectionDate && (\r\n {\r\n return v > new Date();\r\n },\r\n }}\r\n selected={JsonDateParser.toDate(data?.ContinueUntil)}\r\n label=\"Last collection date\"\r\n moreThan={{\r\n errorMessage: \"Until date must be later than first colletion date\",\r\n value: JsonDateParser.toDate(data?.FirstCollectionDate),\r\n }}\r\n onChange={(v) =>\r\n this.onEdit({\r\n ContinueUntil: JsonDateParser.toJsonDateNoOffset(v),\r\n })\r\n }\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select until date\"\r\n />\r\n )}\r\n
\r\n
\r\n {this.props.hasPaymentMethod && (\r\n
\r\n this.onEdit(v)}\r\n bankAccountInstructions={bankAccountInstructions}\r\n bankAccounts={bankAccounts}\r\n payeeType={this.props.type}\r\n subAccountType={this.props.subAccountType}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onSaveNewBankAccountInstruction={onSaveNewBankAccountInstruction}\r\n onRemoveBankAccountInstruction={onRemoveBankAccountInstruction}\r\n inUseBankAccountInstruction={inUseBankAccountInstruction}\r\n customerId={clientInfo?.ActorId}\r\n autoLineCompleted={this.props.autoLineCompleted}\r\n >\r\n
\r\n )}\r\n\r\n
\r\n {SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType) &&\r\n this.props.type !== PaymentType.Employer && (\r\n
\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => this.onEdit({ TaxRelief: v })}\r\n required={\"Please select include tax relief?\"}\r\n disabled={!this.state.isTaxReliefApplicable}\r\n infoText={\r\n data?.TaxRelief\r\n ? ` ${MoneyDisplayHelper.FromatMoneyDisplay(\r\n (data?.Money?.Amount || 0) * 1.25,\r\n data?.Money?.Currency || CurrencyCode.GBP\r\n )} including tax relief (gross)`\r\n : null\r\n }\r\n infoTextGridClasses=\"pt-4\"\r\n />\r\n
\r\n )}\r\n
\r\n {SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType) && (\r\n onChange({ Indexation: changes })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n )}\r\n {type != PaymentType.Client && processType != processTypeEnum.Quote && (\r\n onChange(v)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { isEmpty } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { RegularDepositMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/RegularDepositMethod\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { PaymentType, regularDepositMethodArraysMap } from \"../../Resource/Contents\";\r\nimport { SelectBankAccount } from \"../BankAccount/SelectBankAccount\";\r\n\r\ninterface IRegularPaymentMethodsProps extends IProcessComponentProps {\r\n bankAccounts: BankAccount[];\r\n bankAccountInstructions: BankAccountInstruction[];\r\n payeeType: PaymentType;\r\n subAccountType: SubAccountType;\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n customerId: number;\r\n autoLineCompleted?: boolean;\r\n}\r\n\r\ninterface IRegularPaymentMethodsState {\r\n addNewBankAccount: boolean;\r\n onlineDeclarationConfirmed: boolean;\r\n showOnlineDeclarationPopup: boolean;\r\n}\r\n\r\nexport class RegularPaymentMethods extends ProcessComponent {\r\n public static defaultProps = {\r\n autoLineCompleted: true,\r\n };\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { addNewBankAccount: false, onlineDeclarationConfirmed: false, showOnlineDeclarationPopup: true };\r\n }\r\n\r\n componentDidMount(): void {\r\n if (this.props.data?.RegularPaymentMethod == RegularDepositMethod.NotSpecified) {\r\n this.props.onChange({ RegularPaymentMethod: RegularDepositMethod.DirectDebit });\r\n }\r\n if (!this.props.data?.BankAccountNumber) {\r\n this.props.onChange({ BankAccountNumber: null });\r\n }\r\n }\r\n\r\n public render() {\r\n const {\r\n payeeType,\r\n data,\r\n onChange,\r\n bankAccountInstructions,\r\n bankAccounts,\r\n subAccountType,\r\n onSaveNewBankAccountInstruction,\r\n onRemoveBankAccountInstruction,\r\n inUseBankAccountInstruction,\r\n customerId,\r\n } = this.props;\r\n const directDebitOnly = !(\r\n (payeeType === PaymentType.Client && subAccountType == SubAccountType.InvestmentAccount) ||\r\n (payeeType === PaymentType.Client && subAccountType == SubAccountType.StocksIsa)\r\n );\r\n const paymentMenthods = !directDebitOnly\r\n ? [RegularDepositMethod.DirectDebit, RegularDepositMethod.ProductWrapperCash]\r\n : [RegularDepositMethod.DirectDebit];\r\n\r\n const isFromQuote = !isEmpty(getQueryParameters()[\"quoteid\"]);\r\n return (\r\n <>\r\n
\r\n
\r\n regularDepositMethodArraysMap[v]}\r\n required=\"Please select Payment method\"\r\n selected={data?.RegularPaymentMethod}\r\n label=\"Payment method\"\r\n onChange={(v) => onChange({ RegularPaymentMethod: v, BankAccountNumber: null })}\r\n disabled={directDebitOnly}\r\n //placeholder=\"Please select\"\r\n />\r\n
\r\n
\r\n\r\n {(data?.RegularPaymentMethod == RegularDepositMethod.DirectDebit ||\r\n (isFromQuote && data.RegularPaymentMethod == RegularDepositMethod.NotSpecified)) && (\r\n onChange(c)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isReview={this.props.isReview}\r\n onSaveNewBankAccountInstruction={onSaveNewBankAccountInstruction}\r\n onRemoveBankAccountInstruction={onRemoveBankAccountInstruction}\r\n inUseBankAccountInstruction={inUseBankAccountInstruction}\r\n customerId={customerId}\r\n autoLineCompleted={this.props.autoLineCompleted}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { addDays } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\n\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport {\r\n MoneyPurchaseAnnualAllowanceSourceArray,\r\n MoneyPurchaseAnnualAllowanceSourceArrayMap,\r\n} from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { PensionContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContribution\";\r\nimport { datePickerOptions, MpaaQuestionText } from \"../../Resource/Contents\";\r\n\r\ninterface IMoneyPruchaseAnnualAllowanceProps extends IProcessComponentProps {\r\n data: PensionContribution;\r\n}\r\n\r\ninterface IMoneyPurchaseAnnualAllowanceState {}\r\n\r\nexport class MoneyPurchaseAnnualAllowanceComponent extends ProcessComponent<\r\n IMoneyPruchaseAnnualAllowanceProps,\r\n IMoneyPurchaseAnnualAllowanceState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n delete datePickerOptions.todayButton;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (data?.MoneyPurchaseAnnualAllowance?.Triggered != null && !data?.MoneyPurchaseAnnualAllowance?.Triggered) {\r\n this.onDataChange(\r\n onChange,\r\n {\r\n Triggered: data?.MoneyPurchaseAnnualAllowance?.Triggered,\r\n },\r\n data,\r\n \"MoneyPurchaseAnnualAllowance\"\r\n );\r\n }\r\n }\r\n\r\n private renderMoneyPruchaseAnnualAllowance(data: PensionContribution, onChange) {\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n return v == null ? \"Not known\" : v ? \"Yes\" : \"No\";\r\n }}\r\n onChange={(v) =>\r\n this.onDataChange(\r\n onChange,\r\n {\r\n Triggered: v,\r\n DateTriggered: null,\r\n Source: null,\r\n },\r\n data,\r\n \"MoneyPurchaseAnnualAllowance\"\r\n )\r\n }\r\n />\r\n
\r\n
\r\n {data?.MoneyPurchaseAnnualAllowance?.Triggered && (\r\n <>\r\n
\r\n
\r\n \r\n this.onDataChange(\r\n onChange,\r\n { DateTriggered: JsonDateParser.toJsonDateNoOffset(v) },\r\n data,\r\n \"MoneyPurchaseAnnualAllowance\"\r\n )\r\n }\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select Effective date\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n MoneyPurchaseAnnualAllowanceSourceArrayMap[v]}\r\n required=\"Please select Reason\"\r\n placeholder=\"Please select\"\r\n selected={data?.MoneyPurchaseAnnualAllowance?.Source}\r\n label=\"Reason why\"\r\n onChange={(v) =>\r\n this.onDataChange(onChange, { Source: v }, data, \"MoneyPurchaseAnnualAllowance\")\r\n }\r\n />\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n {/* {SectionHeader(\"Money Purchase Annual Allowance\")} */}\r\n {this.renderMoneyPruchaseAnnualAllowance(data, onChange)}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientRecordAction } from \"../../../ClientRecord/Action/ClientRecordAction\";\r\nimport { PensionProtection as PensionProtectionForm } from \"../../../ClientRecord/PensionProtection\";\r\n\r\ninterface IPensionProtectionProps extends IProcessComponentProps {\r\n label: string;\r\n}\r\n\r\ninterface IPensionProtectionState {\r\n isLightboxShow: boolean;\r\n}\r\n\r\nexport class PensionProtection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLightboxShow: false,\r\n };\r\n }\r\n\r\n private resetPensionProtectionDetails(customerId) {\r\n const model = {\r\n PensionCreditProtectionDetails: null,\r\n PensionEnhancedProtectionDetails: null,\r\n PensionPrimaryProtectionDetails: null,\r\n PensionFixed2014ProtectionDetails: null,\r\n PensionFixed2016ProtectionDetails: null,\r\n PensionFixedProtectionDetails: null,\r\n PensionIndividual2014ProtectionDetails: null,\r\n PensionIndividual2016ProtectionDetails: null,\r\n PensionRelevantOverseasProtectionDetails: null,\r\n PensionSchemeSpecificProtectionDetails: null,\r\n PensionSevereIllHealthDeclarationDetails: null,\r\n PensionQropsProtectionDetails: null,\r\n };\r\n ClientRecordAction.savePensionProtection(customerId, model, (result) => {\r\n if (result.length == 0) {\r\n this.props.onChange({ PensionProtection: model });\r\n }\r\n });\r\n }\r\n\r\n private renderPensionProtection(data, onChange) {\r\n return (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n if (!v) {\r\n // selection is No, so need to reset all pension protection sub questions\r\n this.resetPensionProtectionDetails(getQueryParameters()[\"customerid\"]);\r\n }\r\n this.onDataChange(onChange, { HasPensionProtection: v }, data);\r\n this.setState({ isLightboxShow: v });\r\n }}\r\n required={\"Please select\"}\r\n />\r\n );\r\n }\r\n\r\n private renderPensionProtectionForm() {\r\n const { data, onChange } = this.props;\r\n return (\r\n {\r\n this.setState({ isLightboxShow: false });\r\n }}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n this.setState({ isLightboxShow: false })}\r\n hideHeading={true}\r\n onSaveBack={(result) => this.props.onChange({ PensionProtection: result })}\r\n hideContainerClasses={true}\r\n hasReadWriteAccess={true}\r\n />\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, label } = this.props;\r\n return (\r\n <>\r\n {this.renderPensionProtection(data, onChange)}\r\n {data.HasPensionProtection && (\r\n {\r\n this.setState({ isLightboxShow: true });\r\n }}\r\n >\r\n \r\n {label}\r\n \r\n )}\r\n {this.state.isLightboxShow && this.renderPensionProtectionForm()}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { ToggleButtonTwoOptions } from \"../../../../../../../react-core/Html/ToggleButtonTwoOptions\";\r\nimport { Numeric } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { addYears } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PlannedRetirement } from \"../../../../../../../Wrap/Constants/Enums/PlannedRetirement\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { AnnuityAssumptions } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/AnnuityAssumptions\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { datePickerOptions } from \"../../Resource/Contents\";\r\nimport classNames from \"classnames\";\r\n\r\ninterface IRetirementAgeProps extends IProcessComponentProps {\r\n clientInfo: ClientDetails;\r\n data: AnnuityAssumptions;\r\n}\r\n\r\ninterface IRetirementAgeState {}\r\n\r\nexport class RetirementAge extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, clientInfo } = this.props;\r\n let now = new Date();\r\n const nowWithoutMin = `${now.getFullYear()}/${now.getMonth() + 1}/${now.getDate()}`;\r\n now = new Date(nowWithoutMin);\r\n const birthday = JsonDateParser.toDate(clientInfo.DateOfBirth);\r\n const inputSwitcherClasses = classNames(\r\n \"input-switcher\",\r\n data?.PlannedRetirement == PlannedRetirement.Date ? \"control-size-160\" : \"control-size-100\"\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {data?.PlannedRetirement == PlannedRetirement.Date ? (\r\n {\r\n this.onDataChange(\r\n onChange,\r\n { PlannedRetirementDate: JsonDateParser.toJsonDateNoOffset(v) },\r\n data\r\n );\r\n }}\r\n {...datePickerOptions}\r\n formGroupCssWrapper=\"mb-10\"\r\n />\r\n ) : (\r\n {\r\n this.onDataChange(\r\n onChange,\r\n {\r\n PlannedRetirementDate: new Date(\r\n birthday.getFullYear() + v,\r\n birthday.getMonth(),\r\n birthday.getDate()\r\n ),\r\n },\r\n data\r\n );\r\n }}\r\n cssWrapper=\"mb-10 text-align-center\"\r\n />\r\n )}\r\n \r\n this.onDataChange(\r\n onChange,\r\n {\r\n PlannedRetirement: v ? PlannedRetirement.Date : PlannedRetirement.Age,\r\n PlannedRetirementDate: now,\r\n },\r\n data\r\n )\r\n }\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { SourceOfWealthOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/SourceOfWealthOption\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SourceOfWealthArrary, SourceOfWealthArraryMap } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { SectionHeader } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\n\r\ninterface ISourceOfWealthProps extends IProcessComponentProps {}\r\n\r\ninterface ISourceOfWealthState {}\r\n\r\nexport class SourceOfWealth extends ProcessComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (!data?.ClientSinglePayment?.OriginOfFunds) {\r\n this.onDataChange(onChange, { OriginOfFunds: SourceOfWealthOption.Salary }, data, \"ClientSinglePayment\");\r\n }\r\n }\r\n\r\n private renderSourceOfWealth(data: PensionBase, onChange) {\r\n // TO CONFIRM: bind to which model property\r\n return (\r\n SourceOfWealthArraryMap[v]}\r\n required=\"Please select Source of wealth\"\r\n placeholder=\"Please select\"\r\n selected={data?.SourceOfWealth?.SourceOfWealthOption}\r\n onChange={(v) => this.onDataChange(onChange, { SourceOfWealthOption: v }, data, \"SourceOfWealth\")}\r\n />\r\n );\r\n }\r\n\r\n private renderOtherSourceOfWealth(data: PensionBase, onChange) {\r\n return (\r\n this.onDataChange(onChange, { OtherSourceOfWealth: v }, data, \"SourceOfWealth\")}\r\n value={data?.SourceOfWealth?.OtherSourceOfWealth}\r\n maxLength={50}\r\n required=\"Please enter other source of wealth\"\r\n />\r\n );\r\n }\r\n\r\n private renderSoW(data: PensionBase, onChange) {\r\n return (\r\n <>\r\n
\r\n {SectionHeader(\"Source of wealth\")}\r\n {this.renderSourceOfWealth(data, onChange)}\r\n {data?.SourceOfWealth?.SourceOfWealthOption == SourceOfWealthOption.Other &&\r\n this.renderOtherSourceOfWealth(data, onChange)}\r\n \r\n );\r\n }\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return <>{this.renderSoW(data, onChange)};\r\n }\r\n}\r\n","import { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { PensionArrangementType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { PensionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { SubAccountActionIndicators } from \"../../../../../../../Wrap/Models/Models/Shared/SubAccountActionIndicators\";\r\nimport { hasSinglePayments } from \"../../../../../../Shared/IST/Components/Shared/Utils\";\r\n\r\nexport const needSingleContribution = (config: SubAccountActionIndicators, model: PensionBase) => {\r\n if (\r\n config.PensionType != PensionType.None &&\r\n !hasSinglePayments(model) &&\r\n (model.PensionTransfers || []).every((e) => e?.PensionSource == PensionArrangementType.Crystallised)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nexport const needPostTransfer = (config: SubAccountActionIndicators, model: PensionBase) => {\r\n if (\r\n config.PensionType == PensionType.None &&\r\n config.IsIncomePaymentDetailsSelected == true &&\r\n (model.PensionTransfers || []).every((ele) => ele.PensionSource !== PensionArrangementType.Crystallised)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nexport const showIncome = (config: SubAccountActionIndicators, model: PensionBase) => {\r\n if (!config.IsIncomePaymentDetailsSelected) {return false;}\r\n if (config.PensionType == PensionType.None) {\r\n return true;\r\n }\r\n return !CommonHelper.isNullOrEmpty(model.DrawdownModel?.InstructionId);\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\n\r\ninterface IAssumedSippAndBondHoldingsProps extends IProcessComponentProps {}\r\n\r\ninterface IAssumedSippAndBondHoldingsState {\r\n selected: boolean;\r\n}\r\n\r\nexport class AssumedSippAndBondHoldings extends ProcessComponent<\r\n IAssumedSippAndBondHoldingsProps,\r\n IAssumedSippAndBondHoldingsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n selected: true,\r\n };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n if (this.props.data?.Amount > 0) {\r\n this.setState({ selected: true });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const { selected } = this.state;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\r\n \"Assumed SIPP/Bond holdings\",\r\n <>\r\n

\r\n You need to input the overall value of any new single and/or transfer payments in to your\r\n client’s SIPP and/or Bond(s) here. The purpose of the assumed SIPP/Bond holding field is to\r\n ensure that we are able to calculate your clients Platform Charge accurately on their\r\n illustration(s). Platform charges depend on your clients cash holdings and the total value\r\n of certain investments that they hold. These are called platform eligible assets (PEAs). For\r\n illustration purposes we will assume:{\" \"}\r\n

\r\n
    \r\n
  • \r\n The value of PEAs from the ISA and/or PP will change in line with what's shown in the\r\n rest of the illustration{\" \"}\r\n
  • \r\n
  • \r\n The value of the PEAs keyed on assumed SIPP/Bond holding won't change but in reality\r\n things like growth, charges, payments and withdrawals will affect them{\" \"}\r\n
  • {\" \"}\r\n
\r\n

\r\n You can find more information about which investments are eligible and how the platform\r\n charge is calculated in the client terms and conditions or in the adviser user guides{\" \"}\r\n \r\n \r\n www.abrdn.com/platform-adviser\r\n \r\n \r\n

\r\n ,\r\n \"is-wide\"\r\n )}\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n onChange({ Amount: 0, Currency: CurrencyCode.GBP });\r\n this.setState({ selected: v });\r\n }}\r\n required={\"Please select\"}\r\n />\r\n {selected && (\r\n onChange({ Amount: v, Currency: CurrencyCode.GBP })}\r\n value={data?.Amount}\r\n required={\"Please enter cash value\"}\r\n validationRules={[\r\n {\r\n errorMessage: \"value must be > 0\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { DepositMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/DepositMethod\";\r\nimport { datePickerOptions, depositMethodArrays, depositMethodArraysMap, PaymentType } from \"../../Resource/Contents\";\r\nimport { SelectBankAccount } from \"../BankAccount/SelectBankAccount\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { addDays, addWeeks } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\n\r\ninterface IPaymentMethodsProps extends IProcessComponentProps {\r\n bankAccounts: BankAccount[];\r\n bankAccountInstructions: BankAccountInstruction[];\r\n payeeType: PaymentType;\r\n directDebitOnly?: boolean;\r\n excludeWrapCash?: boolean;\r\n excludePaymentDate?: boolean;\r\n subAccountType: SubAccountType;\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n customerId: number;\r\n}\r\n\r\ninterface IPaymentMethodsState {\r\n addNewBankAccount: boolean;\r\n}\r\n\r\nexport class PaymentMethods extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { addNewBankAccount: false };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (data?.PaymentMethod == DepositMethod.NotSpecified) {\r\n onChange({ PaymentMethod: DepositMethod.DirectCredit });\r\n }\r\n }\r\n\r\n private getPaymentMethods = () => {\r\n return this.props.payeeType === PaymentType.Client && !this.props.excludeWrapCash\r\n ? depositMethodArrays\r\n : depositMethodArrays.filter((u) => u != DepositMethod.WrapCash);\r\n };\r\n\r\n private getFirstPaymentDate = () => {\r\n const curDate = new Date();\r\n const daysToAdd =\r\n curDate.getDay() == 0\r\n ? 12 //sunday = 0\r\n : curDate.getDay() == 6\r\n ? 13 //saturday = 6\r\n : 14;\r\n return addDays(curDate, daysToAdd);\r\n };\r\n\r\n private renderBankAccount() {\r\n const {\r\n payeeType,\r\n data,\r\n onChange,\r\n bankAccountInstructions,\r\n bankAccounts,\r\n excludePaymentDate,\r\n onSaveNewBankAccountInstruction,\r\n onRemoveBankAccountInstruction,\r\n inUseBankAccountInstruction,\r\n customerId,\r\n } = this.props;\r\n return (\r\n <>\r\n
\r\n onChange(c)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isReview={this.props.isReview}\r\n onSaveNewBankAccountInstruction={onSaveNewBankAccountInstruction}\r\n onRemoveBankAccountInstruction={onRemoveBankAccountInstruction}\r\n inUseBankAccountInstruction={inUseBankAccountInstruction}\r\n customerId={customerId}\r\n />\r\n\r\n {!excludePaymentDate && this.renderPaymentDate(data, onChange)}\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderPaymentDate(data: any, onChange) {\r\n return (\r\n
\r\n
\r\n onChange({ PaymentDate: JsonDateParser.toJsonDateNoOffset(v) })}\r\n atLeast={{\r\n value: this.getFirstPaymentDate(),\r\n errorMessage: \"Date must be at least 10 working days from today\",\r\n }}\r\n atMost={{\r\n value: addWeeks(new Date(), 6),\r\n errorMessage:\r\n \"The Maximum period over which single Direct Debits can be loaded is six weeks.\",\r\n }}\r\n filterDate={{\r\n validator: (v) => v.getDay() !== 0 && v.getDay() !== 6,\r\n errorMessage: \"Payment date cannot fall on a weekend\",\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select Date\"\r\n />\r\n
\r\n
\r\n );\r\n }\r\n\r\n public render() {\r\n const { data, onChange } = this.props;\r\n const paymentMenthods = this.getPaymentMethods();\r\n\r\n return (\r\n <>\r\n
\r\n depositMethodArraysMap[v]}\r\n required=\"Please select Payment method\"\r\n selected={data?.PaymentMethod}\r\n label=\"Payment method\"\r\n onChange={(v) => onChange({ PaymentMethod: v, BankAccountNumber: null })}\r\n />\r\n
\r\n {data?.PaymentMethod === DepositMethod.DirectDebit && this.renderBankAccount()}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { DepositMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/DepositMethod\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { RestrictionTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/RestrictionTypeEnum\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { RestrictionHelper } from \"../../../../../../Shared/Common/RestrictionHelper\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { SectionHeader } from \"../../../AddClient/Components/SharedComponents\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { isTaxRelifAvailable } from \"../../../NewQuoteWizard/Components/Shared/Utils\";\r\nimport { PaymentType, processTypeEnum } from \"../../Resource/Contents\";\r\nimport { RestrictionStore } from \"../../Restrictions/Variable\";\r\nimport { SinglePaymentDetail } from \"./SinglePaymentDetail\";\r\n\r\ninterface ISinglePaymentProps extends IProcessComponentProps {\r\n clientInfo: ClientDetails;\r\n checkBoxOption: Array;\r\n subAccountType: SubAccountType;\r\n hasPaymentMethod: boolean;\r\n bankAccounts?: BankAccount[];\r\n bankAccountInstructions?: BankAccountInstruction[];\r\n processType: processTypeEnum;\r\n excludeWrapCash?: boolean;\r\n HasExistingSIPP?: boolean;\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n}\r\n\r\ninterface ISinglePaymentState {\r\n addNewBankAccount: boolean;\r\n userInfo: User;\r\n}\r\n\r\nexport class SinglePayment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n addNewBankAccount: false,\r\n };\r\n }\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n if (RestrictionHelper.shouldHandleRestriction(this.props.processType)) {\r\n isValid = isValid && !RestrictionStore.depositDisabled();\r\n }\r\n return isValid;\r\n }\r\n\r\n private getKey = (key: PaymentType) => {\r\n switch (key) {\r\n case PaymentType.Client:\r\n return \"ClientSinglePayment\";\r\n case PaymentType.ThirdParty:\r\n return \"ThirdPartySinglePayment\";\r\n case PaymentType.Employer:\r\n return \"EmployerSinglePayment\";\r\n }\r\n };\r\n\r\n private getOptions = () => {\r\n const { checkBoxOption, data, onChange, processType } = this.props;\r\n let isRestrictionActive = false;\r\n if (RestrictionHelper.shouldHandleRestriction(processType)) {\r\n isRestrictionActive = RestrictionStore.depositDisabled();\r\n }\r\n const isNone = checkBoxOption.map((type) => data[this.getKey(type)] == null).every((ele) => ele == true);\r\n const empty = {};\r\n checkBoxOption.forEach((type) => {\r\n empty[this.getKey(type)] = null;\r\n });\r\n const options = [\r\n {\r\n label: \"None\",\r\n value: isNone,\r\n disabled: isRestrictionActive,\r\n onChange: (v) => onChange(empty),\r\n },\r\n ];\r\n\r\n checkBoxOption.forEach((type) => {\r\n options.push({\r\n label: type,\r\n value: data[this.getKey(type)] != null,\r\n disabled:\r\n ((this.props.processType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.processType == processTypeEnum.NewQuoteExistingClient) &&\r\n this.props.HasExistingSIPP == true) ||\r\n isRestrictionActive,\r\n\r\n onChange: (v) => {\r\n if (v) {\r\n const initial = {\r\n TaxRelief: isTaxRelifAvailable(this.props.clientInfo?.DateOfBirth, new Date()),\r\n PaymentMethod: DepositMethod.DirectCredit,\r\n };\r\n this.onDataChange(onChange, initial, data, this.getKey(type));\r\n } else {\r\n onChange({\r\n [this.getKey(type)]: null,\r\n });\r\n }\r\n },\r\n });\r\n });\r\n\r\n return options;\r\n };\r\n\r\n private getProps = (key) => {\r\n const {\r\n data,\r\n onChange,\r\n subAccountType,\r\n clientInfo,\r\n bankAccounts,\r\n bankAccountInstructions,\r\n hasPaymentMethod,\r\n processType,\r\n excludeWrapCash,\r\n isReview,\r\n onSaveNewBankAccountInstruction,\r\n onRemoveBankAccountInstruction,\r\n inUseBankAccountInstruction,\r\n } = this.props;\r\n return {\r\n clientInfo: clientInfo,\r\n type: key,\r\n data: data[this.getKey(key)],\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, this.getKey(key)),\r\n onRef: (ref) => this.appendChild(ref),\r\n subAccountType: subAccountType,\r\n bankAccounts: bankAccounts,\r\n bankAccountInstructions: bankAccountInstructions,\r\n hasPaymentMethod: hasPaymentMethod,\r\n processType: processType,\r\n excludeWrapCash: excludeWrapCash,\r\n isReview: isReview,\r\n onSaveNewBankAccountInstruction: onSaveNewBankAccountInstruction,\r\n onRemoveBankAccountInstruction: onRemoveBankAccountInstruction,\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n inUseBankAccountInstruction: inUseBankAccountInstruction,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, subAccountType, processType } = this.props;\r\n let isRestrictionActive = false;\r\n if (RestrictionHelper.shouldHandleRestriction(processType)) {\r\n isRestrictionActive = RestrictionStore.depositDisabled();\r\n }\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot receive payments in\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n \r\n {SectionHeader(\"Single payment\")}\r\n {isRestrictionActive && }\r\n \r\n {data.ClientSinglePayment && }\r\n {data.ThirdPartySinglePayment && }\r\n {data.EmployerSinglePayment && }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { isTaxRelifAvailable } from \"../../../NewQuoteWizard/Components/Shared/Utils\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { PaymentType, processTypeEnum } from \"../../Resource/Contents\";\r\nimport { PaymentMethods } from \"./PaymentMethods\";\r\nimport { ThirdPartyEmployerDetail } from \"./ThirdPartyEmployerDetail\";\r\n\r\ninterface ISinglePaymentDetailProps extends IProcessComponentProps {\r\n clientInfo: ClientDetails;\r\n type: PaymentType;\r\n subAccountType: SubAccountType;\r\n hasPaymentMethod: boolean;\r\n bankAccounts?: BankAccount[];\r\n bankAccountInstructions?: BankAccountInstruction[];\r\n excludeWrapCash?: boolean;\r\n processType: processTypeEnum;\r\n onSaveNewBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n onRemoveBankAccountInstruction?: (BankAccountInstruction: BankAccountInstruction) => void;\r\n inUseBankAccountInstruction?: string[];\r\n}\r\n\r\ninterface ISinglePaymentDetailState {}\r\n\r\nexport class SinglePaymentDetail extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const bankAcocunts = this.props.bankAccounts;\r\n const bankAccountInstuctions = this.props.bankAccountInstructions;\r\n const {\r\n type,\r\n data,\r\n hasPaymentMethod,\r\n onChange,\r\n excludeWrapCash,\r\n processType,\r\n onSaveNewBankAccountInstruction,\r\n onRemoveBankAccountInstruction,\r\n inUseBankAccountInstruction,\r\n clientInfo,\r\n } = this.props;\r\n return (\r\n <>\r\n

{type}

\r\n
\r\n
\r\n onChange({ Money: { Amount: v, Currency: CurrencyCode.GBP } })}\r\n validationRules={[\r\n {\r\n errorMessage: \"Single payment value must be > 0\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n />\r\n
\r\n\r\n {hasPaymentMethod && (\r\n onChange(v)}\r\n bankAccountInstructions={bankAccountInstuctions}\r\n bankAccounts={bankAcocunts}\r\n payeeType={type}\r\n onRef={(ref) => this.appendChild(ref)}\r\n excludeWrapCash={excludeWrapCash}\r\n directDebitOnly={false}\r\n subAccountType={this.props.subAccountType}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onSaveNewBankAccountInstruction={onSaveNewBankAccountInstruction}\r\n onRemoveBankAccountInstruction={onRemoveBankAccountInstruction}\r\n inUseBankAccountInstruction={inUseBankAccountInstruction}\r\n customerId={clientInfo?.ActorId}\r\n >\r\n )}\r\n
\r\n\r\n {type != PaymentType.Employer && SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType) && (\r\n
\r\n
\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => onChange({ TaxRelief: v })}\r\n disabled={!isTaxRelifAvailable(this.props.clientInfo?.DateOfBirth, new Date())}\r\n required={\"Please select include tax relief\"}\r\n infoText={\r\n data?.TaxRelief\r\n ? ` ${MoneyDisplayHelper.FromatMoneyDisplay(\r\n (data?.Money?.Amount || 0) * 1.25,\r\n data?.Money?.CurrencyCode || CurrencyCode.GBP\r\n )} including tax relief (gross)`\r\n : null\r\n }\r\n infoTextGridClasses=\"pt-4\"\r\n />\r\n
\r\n
\r\n )}\r\n {type != PaymentType.Client && processType != processTypeEnum.Quote && (\r\n onChange(v)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { AlphanumericWithSpace } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ThirdPartyType } from \"../../../../../../../Wrap/Constants/Enums/ThirdPartyType\";\r\nimport { Address } from \"../../../../../../Shared/Address/Address\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { ThirdPartyTypeArray, ThirdPartyTypeArrayMap } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { PaymentType } from \"../../Resource/Contents\";\r\n\r\ninterface IThirdPartyEmployerDetailProps extends IProcessComponentProps {\r\n subAccountType?: SubAccountType;\r\n paymentType?: PaymentType;\r\n data: any;\r\n}\r\n\r\ninterface IThirdPartyEmployerDetailState {\r\n thirdPartyType: ThirdPartyType;\r\n}\r\n\r\nexport class ThirdPartyEmployerDetail extends ProcessComponent<\r\n IThirdPartyEmployerDetailProps,\r\n IThirdPartyEmployerDetailState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n thirdPartyType: ThirdPartyType.Individual,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, subAccountType, paymentType } = this.props;\r\n const isSIPP = SubAccountTypeHelper.isOnPlatformPension(subAccountType) && paymentType == PaymentType.Employer;\r\n const option = ThirdPartyTypeArray.filter((x) => x.toString() == ThirdPartyType.Individual.toString());\r\n return (\r\n <>\r\n {isSIPP == false ? (\r\n
\r\n
\r\n ThirdPartyTypeArrayMap[v]}\r\n onChange={(v) => {\r\n this.setState({ thirdPartyType: v });\r\n onChange({ Type: v });\r\n }}\r\n />\r\n
\r\n
\r\n ) : null}\r\n {isSIPP ? this.renderEmployerDetail() : this.renderThirdPartyDetail()}\r\n
\r\n
\r\n {\r\n onChange({\r\n Address: v,\r\n });\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n required={true}\r\n >\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderThirdPartyDetail() {\r\n const { thirdPartyType } = this.state;\r\n return (\r\n <>\r\n {thirdPartyType == ThirdPartyType.Individual\r\n ? this.renderIndividualInfo()\r\n : this.renderNonIndividualinfo()}\r\n \r\n );\r\n }\r\n\r\n private renderIndividualInfo() {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n TitleMap.getString(v)}\r\n onChange={(v) => onChange({ Title: v })}\r\n placeholder=\"Please select\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n onChange({ FirstName: v });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n onChange({ LastName: v });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n onChange({ DateOfBirth: JsonDateParser.toJsonDateNoOffset(d) });\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderNonIndividualinfo() {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n onChange({ FirstName: v });\r\n }}\r\n />\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderEmployerDetail() {\r\n const { data, onChange } = this.props;\r\n return (\r\n
\r\n
\r\n {\r\n onChange({ EmployerName: v });\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { TransferDestinationAccountsClient } from \"../../../../../../../Wrap/Api/Transfer/TransferAccounts/TransferDestinationAccounts\";\r\nimport { TransferInRequestClient } from \"../../../../../../../Wrap/Api/Transfer/TransferInRequest\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { Instrument } from \"../../../../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { TransferDestinationAccountPaginatedModel } from \"../../../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountPaginatedModel\";\r\nimport { TransferISTSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/TransferISTSelection\";\r\nimport { Investment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\n\r\nexport class AccountSearchPopup extends FormComponent<\r\n {\r\n onChange: (v: TransferDestinationAccountModel, cgtExempt: boolean, changeOfbeneficial: boolean) => void;\r\n onInvestmentsChange: (v: TransferISTSelection[]) => void;\r\n onLoadingInvestments: (v: boolean) => void;\r\n serviceProposition: ServiceProposition;\r\n claccountId: string;\r\n subAccountType?: SubAccountType;\r\n showcgtExempt?: boolean;\r\n },\r\n {\r\n searchInput: string;\r\n accountSelected: TransferDestinationAccountModel;\r\n accountList: Array;\r\n warningMsg: string;\r\n changeOfbeneficial: boolean;\r\n cgtExempt: boolean;\r\n }\r\n> {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n searchInput: null,\r\n accountSelected: null,\r\n accountList: [],\r\n warningMsg: null,\r\n changeOfbeneficial: null,\r\n cgtExempt: false,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { warningMsg, accountSelected, changeOfbeneficial, accountList } = this.state;\r\n return (\r\n <>\r\n
\r\n {warningMsg && }\r\n
\r\n {\r\n this.setState({ searchInput: v });\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n {accountList && accountList.length > 0 && (\r\n <>\r\n
\r\n {\r\n return x.ClAccountId;\r\n })}\r\n getText={(v) => {\r\n return accountSelected.ProductDisplayName;\r\n }}\r\n onChange={(v) => {\r\n const account = accountList.find((x) => x.ClAccountId == v);\r\n this.setState({\r\n accountSelected: account,\r\n });\r\n }}\r\n selected={accountList[0].ClAccountId}\r\n label=\"Account type\"\r\n >\r\n
\r\n {!this.IsSameHeaderTransfer() && (\r\n <>\r\n {this.props.showcgtExempt && (\r\n
\r\n {\r\n this.setState({ cgtExempt: v });\r\n }}\r\n >\r\n
\r\n )}\r\n
\r\n {\r\n return v == null ? \"\" : v ? \"Yes\" : \"No\";\r\n }}\r\n selected={changeOfbeneficial}\r\n options={[true, false]}\r\n onChange={(v) => {\r\n this.setState({ changeOfbeneficial: v });\r\n }}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n {\r\n if (accountSelected != null && this.isValid()) {\r\n this.onGetInvestments();\r\n }\r\n }}\r\n >\r\n Go\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n private IsSameHeaderTransfer(): boolean {\r\n const clAccountId = getQueryParameters()[\"claccountid\"]\r\n ? getQueryParameters()[\"claccountid\"]\r\n : this.props.claccountId;\r\n if (CommonHelper.isNullOrEmpty(clAccountId)) {\r\n return false;\r\n }\r\n const { accountSelected } = this.state;\r\n if (clAccountId.split(\"-\")[0] == accountSelected.ClAccountId.split(\"-\")[0]) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private IsSameHeaderForSearch(): boolean {\r\n const clAccountId = getQueryParameters()[\"claccountid\"];\r\n const { searchInput } = this.state;\r\n if (CommonHelper.isNullOrEmpty(clAccountId) || CommonHelper.isNullOrEmpty(searchInput)) {\r\n return false;\r\n }\r\n if (clAccountId.includes(searchInput.toUpperCase())) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onSearch() {\r\n if (this.state.searchInput == null) {\r\n this.setState({ warningMsg: \"You must enter search criteria.\" });\r\n } else {\r\n const { searchInput } = this.state;\r\n const claccountid = getQueryParameters()[\"claccountid\"];\r\n const client = new TransferDestinationAccountsClient();\r\n var subAccountTypes = [this.props.subAccountType]\r\n const promise = client.get(\r\n null,\r\n searchInput,\r\n null,\r\n null,\r\n 5,\r\n 1,\r\n subAccountTypes,\r\n null,\r\n ServiceProposition.NotSpecified\r\n );\r\n promise.onSuccess((result: TransferDestinationAccountPaginatedModel) => {\r\n if (result) {\r\n let subAccounts = result.SubAccounts;\r\n if (this.IsSameHeaderForSearch()) {\r\n subAccounts = subAccounts.filter((f) => f.ClAccountId != claccountid);\r\n }\r\n this.setState({\r\n accountList: subAccounts,\r\n accountSelected: subAccounts[0],\r\n warningMsg: null,\r\n });\r\n } else {\r\n this.setState({ warningMsg: \"Unable to transfer from client account.\" });\r\n }\r\n });\r\n }\r\n }\r\n\r\n private onGetInvestments() {\r\n const { accountSelected, cgtExempt, changeOfbeneficial } = this.state;\r\n if (accountSelected != null) {\r\n const client = new TransferInRequestClient();\r\n const promise = client.get(accountSelected.ClAccountId, cgtExempt);\r\n promise.onSuccess((result) => {\r\n if (result.length == 1 && result[0].InstrumentCode == \"0\") {\r\n this.setState({ warningMsg: result[0].DisplayName });\r\n } else {\r\n this.props.onLoadingInvestments(true);\r\n this.props.onChange(accountSelected, cgtExempt, changeOfbeneficial);\r\n const investments: TransferISTSelection[] = [];\r\n result.forEach(function (v) {\r\n const investment: Investment = {\r\n InstrumentCode: v.InstrumentCode,\r\n ProductId: v.ProductId,\r\n DisplayName: v.DisplayName,\r\n UnitPrice: v.UnitPrice,\r\n MarketValue: v.MarketValue,\r\n TaxBookCost: v.TaxBookCost,\r\n AcquisitionDate: v.AcquisitionDate,\r\n };\r\n investments.push({\r\n Investment: investment,\r\n Units: v.Quantity,\r\n QuotationValue: {\r\n Amount: v.Quantity * v.UnitPrice.Amount,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n });\r\n });\r\n this.props.onInvestmentsChange(investments);\r\n this.props.onLoadingInvestments(false);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { TransferDestinationAccountsClient } from \"../../../../../../../Wrap/Api/Transfer/TransferAccounts/TransferDestinationAccounts\";\r\nimport { TransferInRequestClient } from \"../../../../../../../Wrap/Api/Transfer/TransferInRequest\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { Instrument } from \"../../../../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { TransferDestinationAccountPaginatedModel } from \"../../../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountPaginatedModel\";\r\nimport { TransferISTSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/TransferISTSelection\";\r\nimport { Investment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\n\r\nexport class AccountSearchForIsaCashPopup extends FormComponent<\r\n {\r\n onChange: (v: TransferDestinationAccountModel, cgtExempt: boolean, changeOfbeneficial: boolean) => void;\r\n onInvestmentsChange: (v: TransferISTSelection[]) => void;\r\n onLoadingInvestments: (v: boolean) => void;\r\n serviceProposition: ServiceProposition;\r\n claccountId: string;\r\n subAccountType?: SubAccountType;\r\n showcgtExempt?: boolean;\r\n },\r\n {\r\n searchInput: string;\r\n accountSelected: TransferDestinationAccountModel;\r\n accountList: Array;\r\n warningMsg: string;\r\n changeOfbeneficial: boolean;\r\n cgtExempt: boolean;\r\n }\r\n> {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n searchInput: null,\r\n accountSelected: null,\r\n accountList: [],\r\n warningMsg: null,\r\n changeOfbeneficial: null,\r\n cgtExempt: false,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { warningMsg, accountSelected, changeOfbeneficial, accountList } = this.state;\r\n return (\r\n <>\r\n
\r\n {warningMsg && }\r\n
\r\n {\r\n this.setState({ searchInput: v });\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n {accountList && accountList.length > 0 && (\r\n <>\r\n
\r\n {\r\n return x.ClAccountId;\r\n })}\r\n getText={(v) => {\r\n return accountList.find(x=>x.ClAccountId == v).ProductDisplayName;\r\n }}\r\n onChange={(v) => {\r\n const account = accountList.find((x) => x.ClAccountId == v);\r\n this.setState({\r\n accountSelected: account,\r\n });\r\n }}\r\n selected={accountList[0].ClAccountId}\r\n label=\"Account type\"\r\n >\r\n
\r\n {!this.IsSameHeaderTransfer() && (\r\n <>\r\n {this.props.showcgtExempt && (\r\n
\r\n {\r\n this.setState({ cgtExempt: v });\r\n }}\r\n >\r\n
\r\n )}\r\n
\r\n {\r\n return v == null ? \"\" : v ? \"Yes\" : \"No\";\r\n }}\r\n selected={changeOfbeneficial}\r\n options={[true, false]}\r\n onChange={(v) => {\r\n this.setState({ changeOfbeneficial: v });\r\n }}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n {\r\n if (accountSelected != null && this.isValid()) {\r\n this.onGetInvestments();\r\n }\r\n }}\r\n >\r\n Go\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n private IsSameHeaderTransfer(): boolean {\r\n const clAccountId = getQueryParameters()[\"claccountid\"]\r\n ? getQueryParameters()[\"claccountid\"]\r\n : this.props.claccountId;\r\n if (CommonHelper.isNullOrEmpty(clAccountId)) {\r\n return false;\r\n }\r\n const { accountSelected } = this.state;\r\n if (clAccountId.split(\"-\")[0] == accountSelected.ClAccountId.split(\"-\")[0]) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private IsSameHeaderForSearch(): boolean {\r\n const clAccountId = getQueryParameters()[\"claccountid\"];\r\n const { searchInput } = this.state;\r\n if (CommonHelper.isNullOrEmpty(clAccountId) || CommonHelper.isNullOrEmpty(searchInput)) {\r\n return false;\r\n }\r\n if (clAccountId.includes(searchInput.toUpperCase())) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private onSearch() {\r\n if (this.state.searchInput == null) {\r\n this.setState({ warningMsg: \"You must enter search criteria.\" });\r\n } else {\r\n const { searchInput } = this.state;\r\n const claccountid = getQueryParameters()[\"claccountid\"];\r\n const client = new TransferDestinationAccountsClient();\r\n var subAccountTypes = [this.props.subAccountType]\r\n if(this.props.subAccountType == SubAccountType.StocksIsa){\r\n subAccountTypes.push(SubAccountType.CashIsa)\r\n }\r\n const promise = client.get(\r\n null,\r\n searchInput,\r\n null,\r\n null,\r\n 5,\r\n 1,\r\n subAccountTypes,\r\n null,\r\n ServiceProposition.NotSpecified\r\n );\r\n promise.onSuccess((result: TransferDestinationAccountPaginatedModel) => {\r\n if (result) {\r\n let subAccounts = result.SubAccounts;\r\n this.setState({\r\n accountList: subAccounts,\r\n accountSelected: subAccounts[0],\r\n warningMsg: null,\r\n });\r\n } else {\r\n this.setState({ warningMsg: \"Unable to transfer from client account.\" });\r\n }\r\n });\r\n }\r\n }\r\n\r\n private onGetInvestments() {\r\n const { accountSelected, cgtExempt, changeOfbeneficial } = this.state;\r\n if (accountSelected != null) {\r\n const client = new TransferInRequestClient();\r\n const promise = client.get(accountSelected.ClAccountId, cgtExempt);\r\n promise.onSuccess((result) => {\r\n if (result.length == 1 && result[0].InstrumentCode == \"0\") {\r\n this.setState({ warningMsg: result[0].DisplayName });\r\n } else {\r\n this.props.onLoadingInvestments(true);\r\n this.props.onChange(accountSelected, cgtExempt, changeOfbeneficial);\r\n const investments: TransferISTSelection[] = [];\r\n result.forEach(function (v) {\r\n const investment: Investment = {\r\n InstrumentCode: v.InstrumentCode,\r\n ProductId: v.ProductId,\r\n DisplayName: v.DisplayName,\r\n UnitPrice: v.UnitPrice,\r\n MarketValue: v.MarketValue,\r\n TaxBookCost: v.TaxBookCost,\r\n AcquisitionDate: v.AcquisitionDate,\r\n };\r\n investments.push({\r\n Investment: investment,\r\n Units: v.Quantity,\r\n QuotationValue: {\r\n Amount: v.Quantity * v.UnitPrice.Amount,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n });\r\n });\r\n this.props.onInvestmentsChange(investments);\r\n this.props.onLoadingInvestments(false);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { isEmpty } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { NoSpecial, phoneWithSpaceAndPlusSign } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { errorMsg } from \"../../../../../../Admin/Network/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { NewBusinessAction } from \"../../../NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { CedingSchemeSearchInputEditor } from \"./CedingSchemeSearchInput\";\r\n\r\ninterface ICedingSchemeProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n index: number;\r\n showElectronicRerRegistrationSupported?: boolean;\r\n isStockIsa?: boolean;\r\n hasCertificatedSharesAndEquities?: boolean;\r\n onProviderSelected?: (v) => void;\r\n onAccountNumberChange?: (v) => void;\r\n externalOwnerShip?: any;\r\n jouneryType?: processTypeEnum;\r\n}\r\n\r\ninterface ICedingSchemeState {\r\n isAddManual?: boolean;\r\n isRegistrationSupported?: boolean;\r\n isFromQuote?: boolean;\r\n isManualCedingSchemeExpanded?: boolean;\r\n mannuallyName?: string;\r\n}\r\n\r\nexport class CedingScheme extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isAddManual: props.data?.Reference ? true : false,\r\n isRegistrationSupported: false,\r\n isFromQuote: !isEmpty(getQueryParameters()[\"quoteid\"]),\r\n isManualCedingSchemeExpanded: false,\r\n mannuallyName: props.data?.Reference ? props.data?.Name : null,\r\n };\r\n this.getSpecifyCedingSchemaInfo();\r\n }\r\n\r\n private hideAddManual() {\r\n this.props.onChange({ Address: null, ContactName: null, PhoneNumber: null, Reference: null });\r\n this.setState({ isAddManual: false, isManualCedingSchemeExpanded: false, mannuallyName: null });\r\n }\r\n\r\n componentWillUpdate(nextProps: ICedingSchemeProps, nextStat: any): void {\r\n super.componentWillUpdate(nextProps, nextStat);\r\n if (nextProps.hasCertificatedSharesAndEquities == true && this.props.data?.ProviderId != null) {\r\n this.hideAddManual();\r\n }\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n console.log(this.props.externalOwnerShip?.Certificated);\r\n const ownerShipFlag =\r\n this.props.externalOwnerShip == undefined || this.props.externalOwnerShip?.Certificated === false;\r\n if (ownerShipFlag && ((!this.state.isAddManual && this.props.data?.Name == null) || (this.state.isAddManual && !this.isAddManualFilled()))) {\r\n this.props.showErrorMsgPopUp(\r\n [`Please choose a ceding scheme or add one manually for transfer in ${this.props.index}`],\r\n true\r\n );\r\n return false;\r\n } else {\r\n return flag;\r\n }\r\n }\r\n\r\n private getSpecifyCedingSchemaInfo() {\r\n const { data, type } = this.props;\r\n const { isFromQuote } = this.state;\r\n if (isFromQuote && data?.Name) {\r\n NewBusinessAction.getSpecifyCedingSchema(type, data?.Name, (callback) => {\r\n if (callback) {\r\n const cedingInfo = callback.filter((v) => v.Id == data?.ProviderId)[0];\r\n if (cedingInfo) {\r\n this.setState({ isRegistrationSupported: cedingInfo.IsSupportElectronicReRegistration });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n private getElectronicRgistrationValue() {\r\n const { isFromQuote, isRegistrationSupported } = this.state;\r\n const { data } = this.props;\r\n if (isFromQuote) {\r\n return isRegistrationSupported ? \"Yes\" : \"No\";\r\n } else {\r\n return data?.IsSupportElectronicReRegistration ? \"Yes\" : \"No\";\r\n }\r\n }\r\n\r\n private isAddManualFilled() {\r\n const { data } = this.props;\r\n return data?.Reference && data?.ContactName && data?.PhoneNumber && data?.Name && data?.Address.Line1;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n {\r\n this.hideAddManual();\r\n onChange({\r\n ProviderId: val.Id,\r\n Name: val.Name,\r\n IsSupportElectronicReRegistration: val.IsSupportElectronicReRegistration,\r\n });\r\n console.log(this.props.onProviderSelected);\r\n if (this.props.onProviderSelected) {this.props.onProviderSelected(true);}\r\n }}\r\n onLookupError={null}\r\n cssWrapper=\"control-size-430 mt-25 mb-10\"\r\n type={this.props.type}\r\n required={this.state.isAddManual || data?.Name ? null : \"Please enter a provider\"}\r\n disabled={this.props.hasCertificatedSharesAndEquities}\r\n />\r\n {!this.state.isAddManual &&

{data?.Name}

}\r\n {!this.state.isAddManual && this.props.showElectronicRerRegistrationSupported && data?.Name && (\r\n <>\r\n \r\n \r\n )}\r\n {SubAccountTypeHelper.isPP(this.props.type) && this.props.jouneryType != processTypeEnum.Quote && (\r\n {\r\n this.props.onAccountNumberChange(v);\r\n }}\r\n infoText=\"This transfer will be processed more quickly if the account number is entered\"\r\n />\r\n )}\r\n\r\n {!this.props.hasCertificatedSharesAndEquities && (\r\n
\r\n {\r\n this.setState({\r\n isAddManual: true,\r\n isManualCedingSchemeExpanded: !this.state.isManualCedingSchemeExpanded,\r\n });\r\n }}\r\n >\r\n \r\n {this.state.mannuallyName || \"Add manually\"}\r\n \r\n
\r\n )}\r\n {this.state.isAddManual && this.state.isManualCedingSchemeExpanded && (\r\n <>\r\n onChange({ Reference: v })}\r\n />\r\n onChange({ ContactName: v })}\r\n />\r\n onChange({ PhoneNumber: v })}\r\n />\r\n {\r\n onChange({ Name: v });\r\n }}\r\n />\r\n this.onDataChange(onChange, { Line1: v }, data, \"Address\")}\r\n value={data?.Address?.Line1}\r\n />\r\n this.onDataChange(onChange, { Line2: v }, data, \"Address\")}\r\n value={data?.Address?.Line2}\r\n />\r\n this.onDataChange(onChange, { Line3: v }, data, \"Address\")}\r\n value={data?.Address?.Line3}\r\n />\r\n this.onDataChange(onChange, { Postcode: v }, data, \"Address\")}\r\n value={data?.Address?.Postcode}\r\n />\r\n {\r\n this.props.onChange({ Name: null });\r\n this.hideAddManual();\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n if( this.isAddManualFilled() ) {\r\n this.setState({\r\n isManualCedingSchemeExpanded: false,\r\n mannuallyName: data?.Name,\r\n });\r\n }\r\n else {\r\n this.props.showErrorMsgPopUp(\r\n [`Manually filled ceding scheme is missing required data.`],\r\n true\r\n );\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as $ from \"jquery\";\r\nimport \"jquery-ui/ui/widgets/autocomplete\";\r\nimport { IBaseFormElementProps, BaseFormElement } from \"../../../../../../../react-core/Html/BaseFormElement\";\r\nimport * as classNames from \"classNames\";\r\nimport { IBaseTextBoxEditorProps, BaseTextBoxEditor } from \"../../../../../../../react-core/Html/BaseTextBoxEditor\";\r\nimport { CedingSchemeClient } from \"../../../../../../../Wrap/Api/Transfer/CedingScheme\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { CedingSchemeModel } from \"../../../../../../../Wrap/Models/Models/Transfer/CedingSchemeModel\";\r\n\r\nexport class AutocompleteResult {\r\n value: string;\r\n label: string;\r\n data: any;\r\n}\r\n\r\ninterface ICedingSchemeSearchInputSpecificProps extends IBaseFormElementProps {\r\n value: string;\r\n // label: string;\r\n id?: string;\r\n cssWrapper?: string;\r\n placeholder?: string;\r\n type: SubAccountType;\r\n\r\n onSelected: (item: any) => void;\r\n onChange?: (item: any) => void;\r\n onLookupError: () => void;\r\n\r\n automationId?: string;\r\n\r\n disabled?: boolean;\r\n\r\n subLabelId?: string;\r\n required?: string;\r\n}\r\n\r\ninterface ICedingSchemeSearchInputProps\r\n extends ICedingSchemeSearchInputSpecificProps,\r\n React.Props {}\r\n\r\nexport class CedingSchemeSearchInput extends BaseFormElement {\r\n private _InputRef: HTMLInputElement;\r\n\r\n private _retrieveCedingSchemeClient: CedingSchemeClient;\r\n\r\n constructor(props: ICedingSchemeSearchInputProps) {\r\n super(props);\r\n this.state = {};\r\n this._retrieveCedingSchemeClient = new CedingSchemeClient();\r\n }\r\n\r\n public setDisable() {\r\n this.setState({ disable: true });\r\n }\r\n\r\n public isValid(): boolean {\r\n return true;\r\n }\r\n\r\n public componentDidMount() {\r\n const $inputRef = $(this._InputRef);\r\n\r\n const autocomplete = ($inputRef as any)\r\n .autocomplete({\r\n source: (request, responseFn) => {\r\n this._retrieveCedingSchemeClient\r\n .get(this.props.type, this.getPcaSearchValue())\r\n .onSuccess((results: Array) => {\r\n const mappedSearchResults = this.transformSearchResults(results);\r\n responseFn(mappedSearchResults);\r\n });\r\n },\r\n minLength: 3,\r\n })\r\n .on(\"autocompleteselect\", (event: any, ui: any) => {\r\n this.handleSearchResultSelection(ui.item);\r\n });\r\n }\r\n\r\n private transformSearchResults(items: CedingSchemeModel[]): Array {\r\n const results = new Array();\r\n\r\n if (!items.length) {\r\n const emptyResult: AutocompleteResult = {\r\n label: \"No results found\",\r\n value: null,\r\n data: null,\r\n };\r\n results.push(emptyResult);\r\n return results;\r\n } else {\r\n for (let i = 0; i < items.length; i++) {\r\n const item = new AutocompleteResult();\r\n item.data = items[i];\r\n if (items[i].Name) {\r\n item.label = items[i].Name;\r\n }\r\n\r\n results.push(item);\r\n }\r\n\r\n return results;\r\n }\r\n }\r\n public render(): JSX.Element {\r\n const cssClassNames = classNames(\"form-group search-form\", this.props.cssWrapper);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n (this._InputRef = inputRef)}\r\n data-automation-id={this.props.automationId}\r\n required={this.props.required ? true : false}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private handleSearchResultSelection(selectedResult: AutocompleteResult) {\r\n this.props.onSelected(selectedResult.data);\r\n setTimeout(() => {\r\n this._InputRef.value = \"\";\r\n }, 200);\r\n }\r\n\r\n private getPcaSearchValue(): string {\r\n return this._InputRef.value;\r\n }\r\n}\r\n\r\ninterface ICedingSchemeSearchInputEditorProps\r\n extends IBaseTextBoxEditorProps,\r\n ICedingSchemeSearchInputSpecificProps,\r\n React.Props {}\r\n\r\nexport class CedingSchemeSearchInputEditor extends BaseTextBoxEditor {\r\n constructor(props: ICedingSchemeSearchInputEditorProps) {\r\n super(props);\r\n }\r\n\r\n protected getInput() {\r\n return ;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { UkPostCode } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\nimport { ExternalAssetsOwner } from \"../../../../../../../Wrap/Models/Domains/Transfer/ExternalAssetsOwner\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CertificatedSharesAndEquityText, RegisteredOwnersText } from \"../../Resource/Contents\";\r\n\r\ninterface ICertificatedSharesAndEquityProps extends IProcessComponentProps {\r\n isCertificated: boolean;\r\n clientDetails: ClientDetails;\r\n data: ExternalAssetsOwner;\r\n}\r\n\r\ninterface ICertificatedSharesAndEquityState {\r\n heldInOwnName: boolean;\r\n}\r\n\r\nexport class CertificatedSharesAndEquity extends ProcessComponent<\r\n ICertificatedSharesAndEquityProps,\r\n ICertificatedSharesAndEquityState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { heldInOwnName: false };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data } = this.props;\r\n if (this.props.isCertificated) {\r\n return (\r\n
\r\n

{CertificatedSharesAndEquityText}

\r\n\r\n

Ownership details

\r\n {\r\n this.setState({ heldInOwnName: v });\r\n if (v) {\r\n this.onDataChange(\r\n onChange,\r\n {\r\n Given: this.props.clientDetails.FirstName,\r\n Family: this.props.clientDetails.LastName,\r\n Title: Title.NotSpecified,\r\n },\r\n data,\r\n \"OwnerName\"\r\n );\r\n\r\n this.onDataChange(\r\n onChange,\r\n {\r\n Line1: this.props.clientDetails.Address.Address1,\r\n Line2: this.props.clientDetails.Address.Address2,\r\n Line3: this.props.clientDetails.Address.Address3,\r\n Line4: this.props.clientDetails.Address.Address4,\r\n Postcode: this.props.clientDetails.Address.PostCode,\r\n },\r\n data,\r\n \"OwnerAddress\"\r\n );\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n

Registered owner

\r\n\r\n {\r\n this.onDataChange(onChange, { Given: v }, data, \"OwnerName\");\r\n }}\r\n disabled={this.state.heldInOwnName}\r\n required={\"Please enter first name\"}\r\n />\r\n {\r\n this.onDataChange(onChange, { Family: v }, data, \"OwnerName\");\r\n }}\r\n disabled={this.state.heldInOwnName}\r\n required={\"Please enter family name\"}\r\n />\r\n

{RegisteredOwnersText}

\r\n\r\n {\r\n this.onDataChange(onChange, { Line1: v }, data, \"OwnerAddress\");\r\n }}\r\n />\r\n {\r\n this.onDataChange(onChange, { Line2: v }, data, \"OwnerAddress\");\r\n }}\r\n />\r\n {\r\n this.onDataChange(onChange, { Line3: v }, data, \"OwnerAddress\");\r\n }}\r\n />\r\n {\r\n this.onDataChange(onChange, { Line4: v }, data, \"OwnerAddress\");\r\n }}\r\n />\r\n this.onDataChange({ PostCode: v }, data, \"OwnerAddress\")}\r\n />\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n

Ownership details

\r\n {\r\n return v;\r\n }}\r\n label=\"Number of owners\"\r\n selected={\"1\"}\r\n onChange={(v) => {}}\r\n disabled={true}\r\n />\r\n

The names of the registered owner(s) must be given in full

\r\n {\r\n return option;\r\n }}\r\n onChange={(v) => this.onDataChange(onChange, { Title: v }, data, \"OwnerName\")}\r\n required={\"Please select\"}\r\n />\r\n {\r\n this.onDataChange(onChange, { Given: v }, data, \"OwnerName\");\r\n }}\r\n required={\"Please enter first name\"}\r\n />\r\n {\r\n this.onDataChange(onChange, { Family: v }, data, \"OwnerName\");\r\n }}\r\n required={\"Please enter family name\"}\r\n />\r\n {\r\n onChange({ DateOfBirth: JsonDateParser.toJsonDateNoOffset(new Date(Date.UTC(v.getFullYear(), v.getMonth(), v.getDate()))) });\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n showYearDropdown={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n required=\"Please select date of birth\"\r\n />\r\n
\r\n );\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { ActionType } from \"../../../../../../../react-core/Flux/ActionType\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { PropositionInvestmentConfig } from \"../../../../../../../Wrap/Models/Domains/Account/PropositionInvestmentConfig\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { TransferISTSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/TransferISTSelection\";\r\nimport { IsaTransfer } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaTransfer\";\r\nimport { CompanyWizardAction } from \"../../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { SearchTabs } from \"../../../../../../Shared/IST/Components/Shared/SearchTabs\";\r\nimport { ReRegTransferStore, SelectedInvestmentStore } from \"../../../../../../Shared/IST/Store/Variable\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { AdviserContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { datePickerOptions } from \"../../Resource/Contents\";\r\nimport { InvestmentType } from \"../../../../../../../Wrap/Constants/Enums/InvestmentType\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { ClientAccountStore } from \"../../../../../Stroes/Variable\";\r\nimport { TransferType } from \"../../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\n\r\ninterface IReRegInvestmentSeletionProps extends IProcessComponentProps {\r\n data: TransferISTSelection[];\r\n type: SubAccountType;\r\n modelData?: IsaTransfer;\r\n onReregValueChange?: (v) => void;\r\n isInternal: boolean;\r\n index: number;\r\n accountServiceProposition: ServiceProposition;\r\n transferDestinationAccount?: TransferDestinationAccountModel;\r\n isApsIsa?: boolean;\r\n}\r\n\r\ninterface IReRegInvestmentSeletionState {\r\n investmenPermission: PropositionInvestmentConfig[];\r\n companyServicePropostion: ServiceProposition[];\r\n}\r\n\r\nexport class ReRegInvestmentSeletion extends ProcessComponent<\r\n IReRegInvestmentSeletionProps,\r\n IReRegInvestmentSeletionState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n investmenPermission: [],\r\n companyServicePropostion: [],\r\n };\r\n\r\n this.subscribeToStore(SelectedInvestmentStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n if (this.props.isInternal) {return;}\r\n const { data, index } = this.props;\r\n if (SelectedInvestmentStore.getActionType() == ActionType.Success) {\r\n if (ReRegTransferStore.getData() !== index) {return;}\r\n const newItem = SelectedInvestmentStore.getData();\r\n const _data = newItem.filter((item) =>\r\n data.every((ele) => ele.Investment.ProductId !== item.Investment.ProductId)\r\n );\r\n this.props.onChange(data.concat(_data));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (!this.props.data) {this.props.onChange([]);}\r\n\r\n if (!this.props.isInternal) {\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n if (clientAccount?.AccountServicePropositionId) {\r\n InvestmentSelectionAction.getInvestmentPermission(this.props.accountServiceProposition, (res) => {\r\n const newRes = [...res];\r\n const elementIndex = newRes.findIndex((x) => x.InvestmentTypeId == InvestmentType.CashDeposits);\r\n if (elementIndex !== -1) {\r\n newRes[elementIndex].Enable = (clientAccount.InvestorType == InvestorType.Individ || \r\n clientAccount.InvestorType == InvestorType.Individual ||\r\n clientAccount.InvestorType == InvestorType.Joint ||\r\n clientAccount.InvestorType == InvestorType.JointIndividual)\r\n }\r\n this.setState({ investmenPermission: newRes });\r\n });\r\n }\r\n }\r\n const adv = AdviserContextStoreStatic.getData();\r\n if (adv?.Company) {\r\n CompanyWizardAction.getViewCompany(adv?.Company, (res) => {\r\n this.setState({ companyServicePropostion: res?.ServicePropositions });\r\n });\r\n }\r\n }\r\n\r\n private onInvestmentChange(changes, index) {\r\n const data = this.props.data.concat();\r\n if (changes == -1) {\r\n data.splice(index, 1);\r\n } else {\r\n for (const key in changes) {\r\n data[index][\"Investment\"][key] = changes[key];\r\n }\r\n }\r\n return this.props.onChange(data);\r\n }\r\n\r\n private onUnitChange(v, index) {\r\n const data = this.props.data.concat();\r\n data[index][\"Units\"] = v;\r\n data[index][\"QuotationValue\"] = {\r\n Amount: v * (data[index]?.Investment?.UnitPrice?.Amount || 0),\r\n Currency: CurrencyCode.GBP,\r\n };\r\n return this.props.onChange(data);\r\n }\r\n\r\n private getTableCols() {\r\n const cols = [\r\n {\r\n title: \"Investment code\",\r\n key: \"Investment.InstrumentCode\",\r\n },\r\n {\r\n title: \"Investment description\",\r\n key: \"Investment.DisplayName\",\r\n },\r\n {\r\n title: \"Quantity (units)\",\r\n key: \"Units\",\r\n thCssWrapper: \"cell-20\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, investment: TransferISTSelection, index) => {\r\n return (\r\n this.onUnitChange(v, index)}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow four decimal places\",\r\n value: 4,\r\n }}\r\n required=\"Please enter\"\r\n />\r\n );\r\n },\r\n },\r\n {\r\n title: \"Price (£)\",\r\n key: \"Investment.UnitPrice.Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, investment: TransferISTSelection, index) => {\r\n return {data ? Number(data).toFixed(4) : 0};\r\n },\r\n },\r\n {\r\n title: \"Value (£)\",\r\n key: \"Investment.UnitPrice.Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, investment: TransferISTSelection, index) => {\r\n return {Number(((data || 0) * (investment.Units || 0)).toFixed(2))};\r\n },\r\n },\r\n SubAccountTypeHelper.isPP(this.props.type) && !this.IsSameHeaderTransfer()\r\n ? {\r\n title: \"Tax book cost (£)\",\r\n key: \"Investment.TaxBookCost.Amount\",\r\n thCssWrapper: \"cell-right cell-20\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, investment: TransferISTSelection, index) => {\r\n return (\r\n \r\n this.onInvestmentChange(\r\n { TaxBookCost: { Amount: v, Currency: CurrencyCode.GBP } },\r\n index\r\n )\r\n }\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow four decimal places\",\r\n value: 4,\r\n }}\r\n />\r\n );\r\n },\r\n }\r\n : null,\r\n SubAccountTypeHelper.isPP(this.props.type) && !this.IsSameHeaderTransfer()\r\n ? {\r\n title: \"Unit Tax Book Cost (£)\",\r\n key: \"UnitTaxBookCost\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, investment: TransferISTSelection, index) => {\r\n return (\r\n \r\n {Number(\r\n ((investment.Units || 0) === 0\r\n ? 0\r\n : (investment.Investment.TaxBookCost\r\n ? investment.Investment.TaxBookCost.Amount\r\n : 0) / investment.Units\r\n ).toFixed(4)\r\n )}\r\n \r\n );\r\n },\r\n }\r\n : null,\r\n SubAccountTypeHelper.isPP(this.props.type) && !this.IsSameHeaderTransfer()\r\n ? {\r\n title: \"Acquisition Date\",\r\n thCssWrapper: \"cell-34\",\r\n key: \"Investment.AcquisitionDate\",\r\n render: (data, investment: TransferISTSelection, index) => {\r\n return (\r\n \r\n this.onInvestmentChange(\r\n { AcquisitionDate: JsonDateParser.toJsonDateNoOffset(v) },\r\n index\r\n )\r\n }\r\n {...datePickerOptions}\r\n />\r\n );\r\n },\r\n }\r\n : null,\r\n !this.props.isInternal\r\n ? {\r\n title: \"Remove\",\r\n key: \"Remove\",\r\n tdCssWrapper: \"cell-center\",\r\n render: (data, investment: TransferISTSelection, index) => {\r\n return (\r\n this.onInvestmentChange(-1, index)}\r\n >\r\n \r\n remove portfolio\r\n \r\n );\r\n },\r\n }\r\n : null,\r\n ];\r\n return cols;\r\n }\r\n\r\n private IsSameHeaderTransfer(): boolean {\r\n const clAccountId = getQueryParameters()[\"claccountid\"];\r\n const accountSelected = this.props.transferDestinationAccount;\r\n if (!accountSelected) {return false;}\r\n if (clAccountId?.split(\"-\")?.[0] == accountSelected?.ClAccountId?.split(\"-\")?.[0]) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private getTotal() {\r\n let total = this.props.data.reduce(\r\n (sum, next) => sum + (next.Investment?.UnitPrice?.Amount || 0) * next.Units,\r\n 0\r\n );\r\n if (this.props.type == SubAccountType.StocksIsa) {\r\n total = total + (this.props.modelData?.ReRegisterValue?.Amount || 0);\r\n }\r\n return total;\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (!this.props.data) {return null;}\r\n\r\n const params = getQueryParameters();\r\n return (\r\n
\r\n {(this.props.type == SubAccountType.InvestmentAccount ||\r\n (this.props.type == SubAccountType.StocksIsa &&\r\n this.props.modelData?.InvestmentsToBeTransferredInSpecie == true) || (this.props.type == SubAccountType.StocksIsa &&\r\n this.props.modelData?.TransferType == TransferType.Cash) || this.props.type == SubAccountType.Npr) && (\r\n <>\r\n

\r\n {this.props.isInternal\r\n ? \"Existing investments to be transferred\"\r\n : \"Assets to be re-registered\"}\r\n

\r\n {!this.props.isInternal && (\r\n \r\n )}\r\n\r\n \r\n

\r\n If more units are held than specified, we will transfer all units held for this account\r\n number.\r\n

\r\n \r\n )}\r\n {this.props.type == SubAccountType.StocksIsa && !this.props.isApsIsa && (\r\n this.props.onReregValueChange(v)}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow four decimal places\",\r\n value: 4,\r\n }}\r\n required={\r\n this.props.modelData?.InvestmentsToBeTransferredInSpecie == false ? \"Please enter\" : null\r\n }\r\n moreThan={\r\n this.props.modelData?.InvestmentsToBeTransferredInSpecie == false\r\n ? {\r\n value: 0,\r\n errorMessage: \"Value must larger than 0\",\r\n }\r\n : null\r\n }\r\n infoText={\r\n \"Use this field to capture residual cash of funds that are unable to be moved in-specie\"\r\n }\r\n />\r\n )}\r\n {this.props.data.length > 0 && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {MoneyTextBoxEditor} from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport {RadiosEditor} from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport {CurrencyCode} from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport {SubAccountType} from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport {TransferType} from \"../../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport {IProcessComponentProps, ProcessComponent} from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport {CedingScheme} from \"./CedingScheme\";\r\n\r\nimport {SelectEditor} from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport {\r\n ExternalIsaContributionTypes,\r\n ExternalIsaContributionTypesMap,\r\n IsaContents,\r\n TransferLocationTypes,\r\n TransferLocationTypesMap,\r\n} from \"../../ISA/Resource/Contents\";\r\nimport {\r\n ExternalIsaContributionType\r\n} from \"../../../../../../../Wrap/Constants/Enums/Transfer/ExternalIsaContributionType\";\r\nimport {TextBoxEditor} from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport {ValidatorContents} from \"../../../../../Common/ValidatorHelper\";\r\nimport {AlphanumericWithSpace} from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport {DatePicker} from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport {JsonDateParser} from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport {ContentDatePicker} from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport {TaxYearHelper} from \"../../Helpers/TaxYearHelper\";\r\nimport {datePickerOptions, processTypeEnum} from \"../../Resource/Contents\";\r\nimport {IsaTransfer} from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaTransfer\";\r\nimport {ReRegInvestmentSeletion} from \"./ReRegInvestmentSeletion\";\r\nimport {ServiceProposition} from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport {Method} from \"../../../../../../Shared/Common/Common\";\r\nimport {AccountSearchPopup} from \"./AccountSearchPopup\";\r\nimport {Lightbox, LightboxType} from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport {\r\n TransferDestinationAccountModel\r\n} from \"../../../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport {ClientDetails} from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { AccountSearchForIsaCashPopup } from \"./AccountSearchforISACashPopup\";\r\n\r\ninterface ISingleTransferInIsaProps extends IProcessComponentProps {\r\n isPost: boolean;\r\n index: number;\r\n data: IsaTransfer;\r\n isQuote: boolean;\r\n hasCashIsa: boolean;\r\n accountServiceProposition: ServiceProposition;\r\n claccountId?: string;\r\n jouneryType?: processTypeEnum;\r\n clientDetails?: ClientDetails;\r\n}\r\n\r\ninterface ISingleTransferInIsaState {\r\n displayExceedIsaAllowanceError: boolean;\r\n showLocation: boolean;\r\n showAccountSearch: boolean;\r\n isLoadingInvestments: boolean;\r\n transferDestinationAccount?: TransferDestinationAccountModel;\r\n}\r\n\r\nexport class SingleTransferInIsa extends ProcessComponent {\r\n constructor(props: ISingleTransferInIsaProps) {\r\n super(props);\r\n this.state = {\r\n displayExceedIsaAllowanceError: false,\r\n showLocation:\r\n this.props.data?.InternalTransferFromExistingWrapCashIsa == false\r\n ? true\r\n : this.props.data?.InternalTransferFromExistingWrapCashIsa == true && this.props.hasCashIsa\r\n ? true\r\n : false,\r\n showAccountSearch: false,\r\n isLoadingInvestments: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.props.onChange({\r\n CashIsaToBeTransferredToSSIsa:\r\n this.props.data?.CashIsaToBeTransferredToSSIsa != null\r\n ? this.props.data?.CashIsaToBeTransferredToSSIsa\r\n : true,\r\n });\r\n }\r\n\r\n instrumentsCheck(): string[] {\r\n const { data } = this.props;\r\n const err: string[] = [];\r\n\r\n if (\r\n data?.ProviderDetails?.Name &&\r\n data?.ProviderDetails?.Name?.toLowerCase() !== \"standard life savings ltd wrap\" &&\r\n data?.ProviderDetails?.Name?.toLowerCase() !== \"aps allowance subscription\" &&\r\n data?.TransferType != TransferType.Cash &&\r\n data?.InvestmentsToBeTransferredInSpecie == true\r\n ) {\r\n const instruments = data.Instruments;\r\n if (instruments.length === 0) {\r\n err.push(\"No instrument has been selected\");\r\n } else if (instruments.length > 0) {\r\n for (let index = 0; index < instruments.length; index++) {\r\n const strs = [];\r\n if (!(instruments[index].Units > 0)) {strs.push(\"Unit\");}\r\n strs.length &&\r\n err.push(\r\n `Please input an valid ${strs.join(\" and \")} for the ${Method.Oridinal(\r\n index + 1\r\n )} instrument`\r\n );\r\n }\r\n }\r\n }\r\n return err;\r\n }\r\n\r\n isValid() {\r\n let flag = super.isValid();\r\n const cashIsaValid = !this.props.hasCashIsa && this.props.data?.InternalTransferFromExistingWrapCashIsa;\r\n if (cashIsaValid) {\r\n this.props.showErrorMsgPopUp([\"No ISA cash sub account found for internal transfer.\"], true);\r\n }\r\n\r\n const instrumentValidMsg = this.instrumentsCheck();\r\n\r\n if (instrumentValidMsg.length > 0) {\r\n this.props.showErrorMsgPopUp(instrumentValidMsg, true);\r\n flag = false;\r\n }\r\n return flag && !cashIsaValid;\r\n }\r\n render() {\r\n const { data, onChange } = this.props;\r\n const { showAccountSearch, isLoadingInvestments } = this.state;\r\n const currentTaxYear = TaxYearHelper.GetCurrentTaxYear();\r\n const currentTaxYearStartDate = TaxYearHelper.GetTaxYearStartDate(currentTaxYear);\r\n const currentTaxYearEndDate = TaxYearHelper.GetTaxYearEndDate(currentTaxYear);\r\n const subAccountType = SubAccountType.StocksIsa;\r\n const displayTextBoxEditor = !this.props.isQuote && (data?.ProviderDetails?.Name?.toLowerCase() != \"aps allowance subscription\" || data?.ProviderDetails?.Name?.toLowerCase() == \"aps allowance subscription\" && !data?.InvestmentsToBeTransferredInSpecie);\r\n const displayReRegInvestmentSeletion = data?.TransferType == TransferType.InSpecie && (data?.ProviderDetails?.Name?.toLowerCase() != \"aps allowance subscription\" || !data?.InvestmentsToBeTransferredInSpecie && data?.ProviderDetails?.Name?.toLowerCase() == \"aps allowance subscription\");\r\n\r\n\r\n return (\r\n <>\r\n

Transfer type

\r\n (v == TransferType.Cash ? \"Cash\" : \"S&S ISA\")}\r\n onChange={(v) =>\r\n onChange({\r\n TransferType: v,\r\n CurrentValue: null,\r\n ReRegisterValue: null,\r\n InvestmentsToBeTransferredInSpecie: null,\r\n InternalTransferFromExistingWrapCashIsa: null,\r\n Location: null,\r\n ProviderDetails: null,\r\n Instruments: [],\r\n })\r\n }\r\n selected={data?.TransferType}\r\n required=\"Please select\"\r\n />\r\n this.onDataChange(onChange, v, data, \"ProviderDetails\")}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={data?.TransferType === TransferType.Cash ? SubAccountType.CashIsa : SubAccountType.StocksIsa}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n index={this.props.index}\r\n showElectronicRerRegistrationSupported={true}\r\n jouneryType={this.props.jouneryType}\r\n />\r\n\r\n {data?.TransferType == TransferType.InSpecie && (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n if (!v) {\r\n onChange({ InvestmentsToBeTransferredInSpecie: v, Instruments: [] });\r\n } else {\r\n onChange({ InvestmentsToBeTransferredInSpecie: v });\r\n }\r\n }}\r\n selected={data?.InvestmentsToBeTransferredInSpecie}\r\n label={\"Are investments to be transferred in specie? \"}\r\n required={\"Please select\"}\r\n />\r\n )}\r\n\r\n {data?.TransferType == TransferType.Cash && (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={() => onChange({})}\r\n selected={true}\r\n disabled={true}\r\n label={\"Is the cash ISA to be transferred to a S&S ISA? \"}\r\n required={\"please select\"}\r\n />\r\n {(data?.CashIsaToBeTransferredToSSIsa || data?.TransferType == TransferType.Cash) && (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n onChange({ InternalTransferFromExistingWrapCashIsa: v });\r\n if (!v) {\r\n this.setState({ showLocation: true });\r\n } else if (v && this.props.hasCashIsa) {\r\n this.setState({ showLocation: true });\r\n } else {\r\n this.setState({ showLocation: false });\r\n this.props.showErrorMsgPopUp(\r\n [\"No ISA cash sub account found for internal transfer.\"],\r\n true\r\n );\r\n }\r\n }}\r\n selected={data?.InternalTransferFromExistingWrapCashIsa}\r\n label={\"Is this an internal transfer from an existing Wrap Cash ISA? \"}\r\n required={\"please select\"}\r\n />\r\n\r\n {this.state.showLocation && (\r\n TransferLocationTypesMap[v]}\r\n selected={data?.Location}\r\n label=\"Location\"\r\n onChange={(v) => onChange({ Location: v })}\r\n required=\"Please select \"\r\n />\r\n )}\r\n \r\n )}\r\n {\r\n onChange({ CurrentValue: { Amount: v, Currency: CurrencyCode.GBP } })}\r\n value={data?.CurrentValue?.Amount}\r\n required={\"Please enter\"}\r\n /> } \r\n \r\n )}\r\n ExternalIsaContributionTypesMap[v]}\r\n onChange={(v) => onChange({ ContributionType: v })}\r\n selected={\r\n data?.ContributionType == null\r\n ? ExternalIsaContributionType.PreviousTaxYear\r\n : data?.ContributionType\r\n }\r\n label={\"Subscriptions included in the transfer\"}\r\n required=\"Please select\"\r\n />\r\n {(data?.ContributionType == ExternalIsaContributionType.CurrentTaxYear ||\r\n data?.ContributionType == ExternalIsaContributionType.PreviousAndCurrentTaxYear) && (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => onChange({ FlexibleISA: v })}\r\n selected={data?.FlexibleISA}\r\n label={\"Transfer from Flexible ISA?\"}\r\n />\r\n {\r\n onChange({ FirstSubscription: JsonDateParser.toJsonDateNoOffset(d) });\r\n }}\r\n />\r\n \r\n onChange({ CurrentYearSubscriptionValue: { Amount: v, Currency: CurrencyCode.GBP } })\r\n }\r\n value={data?.CurrentYearSubscriptionValue?.Amount}\r\n atMost={{\r\n errorMessage: \"The limit is £20,000.00. Please re-enter\",\r\n value: 20000,\r\n }}\r\n required={\"Please enter\"}\r\n />\r\n \r\n )}\r\n {displayTextBoxEditor && !(data?.ProviderDetails?.Name?.toLowerCase() == \"aps allowance subscription\") && (\r\n this.props.onChange({ ExistingIsaAccountNumber: v })}\r\n />\r\n )}\r\n {displayReRegInvestmentSeletion && (\r\n onChange({ Instruments: changes })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={SubAccountType.StocksIsa}\r\n modelData={data}\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n onReregValueChange={(v) =>\r\n onChange({ ReRegisterValue: { Amount: v, Currency: CurrencyCode.GBP } })\r\n }\r\n isReview={this.props.isReview}\r\n readonly={this.props.readonly}\r\n />\r\n )}\r\n {data?.TransferType == TransferType.Cash && data?.ProviderDetails?.Name?.toLowerCase() == \"aps allowance subscription\" && (\r\n <>\r\n
\r\n this.setState({ showAccountSearch: true })}\r\n >\r\n Find Account\r\n \r\n {\r\n onChange({ Instruments: [] });\r\n this.setState({ showAccountSearch: false });\r\n this.onDataChange(\r\n onChange,\r\n { PolicyNumber: null },\r\n data,\r\n \"ExternalOwnershipDetails\"\r\n );\r\n }}\r\n >\r\n Clear\r\n \r\n
\r\n \r\n )}\r\n {data?.TransferType == TransferType.Cash && showAccountSearch && (\r\n this.setState({ showAccountSearch: false })}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {\r\n const fullName = v.Name.split(\" \");\r\n this.onDataChange(\r\n onChange,\r\n {\r\n PolicyNumber: v.ClAccountId,\r\n CgtExempt: cgtExempt,\r\n ChangeOfBeneficial: changeOfBeneficial,\r\n },\r\n data,\r\n \"ExternalOwnershipDetails\"\r\n );\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ExternalOwnershipDetails\"),\r\n { OwnerName: { Family: fullName[fullName.length - 1], Given: fullName[0] } },\r\n data.ExternalOwnershipDetails,\r\n \"OwnedBy\"\r\n );\r\n this.setState({ showAccountSearch: false, transferDestinationAccount: v});\r\n }}\r\n onInvestmentsChange={(v) => {\r\n onChange({ Instruments: v});\r\n }}\r\n onLoadingInvestments={(v) => {\r\n this.setState({ isLoadingInvestments: v });\r\n }}\r\n claccountId={this.props.claccountId}\r\n serviceProposition={this.props.accountServiceProposition}\r\n subAccountType={subAccountType}\r\n showcgtExempt={false}\r\n />\r\n \r\n )}\r\n\r\n {data?.TransferType == TransferType.InSpecie && data?.InvestmentsToBeTransferredInSpecie && data?.ProviderDetails?.Name?.toLowerCase() == \"aps allowance subscription\" && (\r\n <>\r\n
\r\n this.setState({ showAccountSearch: true })}\r\n >\r\n Find Account\r\n \r\n {\r\n onChange({ Instruments: [] });\r\n this.setState({ showAccountSearch: false });\r\n this.onDataChange(\r\n onChange,\r\n { PolicyNumber: null },\r\n data,\r\n \"ExternalOwnershipDetails\"\r\n );\r\n }}\r\n >\r\n Clear\r\n \r\n
\r\n \r\n )}\r\n {!(data?.TransferType == TransferType.Cash) && showAccountSearch && (\r\n this.setState({ showAccountSearch: false })}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {\r\n const fullName = v.Name.split(\" \");\r\n this.onDataChange(\r\n onChange,\r\n {\r\n PolicyNumber: v.ClAccountId,\r\n CgtExempt: cgtExempt,\r\n ChangeOfBeneficial: changeOfBeneficial,\r\n },\r\n data,\r\n \"ExternalOwnershipDetails\"\r\n );\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ExternalOwnershipDetails\"),\r\n { OwnerName: { Family: fullName[fullName.length - 1], Given: fullName[0] } },\r\n data.ExternalOwnershipDetails,\r\n \"OwnedBy\"\r\n );\r\n this.setState({ showAccountSearch: false, transferDestinationAccount: v});\r\n }}\r\n onInvestmentsChange={(v) => {\r\n onChange({ Instruments: v});\r\n }}\r\n onLoadingInvestments={(v) => {\r\n this.setState({ isLoadingInvestments: v });\r\n }}\r\n claccountId={this.props.claccountId}\r\n serviceProposition={this.props.accountServiceProposition}\r\n subAccountType={subAccountType}\r\n showcgtExempt={false}\r\n />\r\n \r\n )}\r\n\r\n {data.ExternalOwnershipDetails?.PolicyNumber != null &&\r\n data?.ProviderDetails?.Name?.toLowerCase() == \"aps allowance subscription\" &&\r\n data.Instruments &&\r\n data.Instruments.length != 0 && (\r\n onChange({ Instruments: changes })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={SubAccountType.StocksIsa}\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n transferDestinationAccount={this.state.transferDestinationAccount}\r\n modelData={data}\r\n onReregValueChange={(v) =>\r\n onChange({ ReRegisterValue: { Amount: v, Currency: CurrencyCode.GBP } })\r\n }\r\n isReview={this.props.isReview}\r\n readonly={this.props.readonly}\r\n isApsIsa={true}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { TransferDestinationAccountModel } from \"../../../../../../../Wrap/Models/Domains/Transfer/TransferDestinationAccountModel\";\r\nimport { GiaTransfer } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Gia/GiaTransfer\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { Method } from \"../../../../../../Shared/Common/Common\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { AccountSearchPopup } from \"./AccountSearchPopup\";\r\nimport { CedingScheme } from \"./CedingScheme\";\r\nimport { CertificatedSharesAndEquity } from \"./CertificatedSharesAndEquity\";\r\nimport { ReRegInvestmentSeletion } from \"./ReRegInvestmentSeletion\";\r\n\r\ninterface ISingleTransferInPP extends IProcessComponentProps {\r\n isPost: boolean;\r\n index: number;\r\n data: GiaTransfer;\r\n clientDetails?: ClientDetails;\r\n jouneryType?: processTypeEnum;\r\n accountServiceProposition: ServiceProposition;\r\n claccountId?: string;\r\n}\r\n\r\ninterface ISingleTransferInPPState {\r\n showAccountSearch: boolean;\r\n isLoadingInvestments: boolean;\r\n transferDestinationAccount?: TransferDestinationAccountModel;\r\n}\r\n\r\nexport class SingleTransferInPP extends ProcessComponent {\r\n constructor(props: ISingleTransferInPP) {\r\n super(props);\r\n this.state = {\r\n showAccountSearch: false,\r\n isLoadingInvestments: false\r\n };\r\n }\r\n instrumentsCheck(): string[] {\r\n const { data } = this.props;\r\n const err: string[] = [];\r\n\r\n if (\r\n data?.ProviderDetails?.Name &&\r\n data?.ProviderDetails?.Name?.toLowerCase() !== \"standard life savings ltd wrap\"\r\n ) {\r\n const instruments = data.Instruments;\r\n\r\n if (instruments.length === 0) {\r\n err.push(\"No instrument has been selected\");\r\n } else if (instruments.length > 0) {\r\n for (let index = 0; index < instruments.length; index++) {\r\n const strs = [],\r\n instrument = instruments[index].Investment;\r\n if (!(instruments[index].Units > 0)) {strs.push(\"Unit\");}\r\n strs.length &&\r\n err.push(\r\n `Please input an valid ${strs.join(\" and \")} for the ${Method.Oridinal(\r\n index + 1\r\n )} instrument`\r\n );\r\n }\r\n }\r\n }\r\n return err;\r\n }\r\n isValid() {\r\n let errors: string[] = [];\r\n let flag = super.isValid();\r\n errors = errors.concat(this.instrumentsCheck()); // check Re-Reg Investment Selection\r\n\r\n if (errors.length > 0) {\r\n this.props.showErrorMsgPopUp(errors, true);\r\n flag = false;\r\n }\r\n return flag;\r\n }\r\n render() {\r\n const { data, onChange } = this.props;\r\n const { showAccountSearch } = this.state;\r\n const subAccountType = SubAccountType.InvestmentAccount;\r\n return (\r\n <>\r\n

Transfer type

\r\n

Re-register assets

\r\n {/* */}\r\n

\r\n {\"No cash can be transferred into PP. Whereas for ISA S&S In specie, they can.\"}\r\n

\r\n {(data?.ProviderDetails?.Name?.toLowerCase() == \"standard life savings ltd wrap\" ||\r\n data?.ProviderDetails?.Name?.toLowerCase() == \"standard life savings ltd fundzone\") && (\r\n \r\n )}\r\n this.onDataChange(onChange, v, data, \"ProviderDetails\")}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={SubAccountType.InvestmentAccount}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n index={this.props.index}\r\n onAccountNumberChange={(v) =>\r\n this.onDataChange(onChange, { PolicyNumber: v }, data, \"ExternalOwnershipDetails\")\r\n }\r\n externalOwnerShip={data?.ExternalOwnershipDetails}\r\n showElectronicRerRegistrationSupported={true}\r\n hasCertificatedSharesAndEquities={data.ExternalOwnershipDetails?.Certificated}\r\n onProviderSelected={(v) => {\r\n if (v) {\r\n this.props.onChange({ Instruments: [] });\r\n this.onDataChange(onChange, { Certificated: false }, data, \"ExternalOwnershipDetails\");\r\n }\r\n }}\r\n jouneryType={this.props.jouneryType}\r\n />\r\n\r\n {data?.ProviderDetails?.Name?.toLowerCase() == \"standard life savings ltd wrap\" && (\r\n <>\r\n
\r\n this.setState({ showAccountSearch: true })}\r\n >\r\n Find Account\r\n \r\n {\r\n onChange({ Instruments: [] });\r\n this.onDataChange(\r\n onChange,\r\n { PolicyNumber: null },\r\n data,\r\n \"ExternalOwnershipDetails\"\r\n );\r\n }}\r\n >\r\n Clear\r\n \r\n
\r\n \r\n )}\r\n\r\n {showAccountSearch && (\r\n this.setState({ showAccountSearch: false })}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {\r\n const fullName = v.Name.split(\" \");\r\n this.onDataChange(\r\n onChange,\r\n {\r\n PolicyNumber: v.ClAccountId,\r\n CgtExempt: cgtExempt,\r\n ChangeOfBeneficial: changeOfBeneficial,\r\n },\r\n data,\r\n \"ExternalOwnershipDetails\"\r\n );\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ExternalOwnershipDetails\"),\r\n { OwnerName: { Family: fullName[fullName.length - 1], Given: fullName[0] } },\r\n data.ExternalOwnershipDetails,\r\n \"OwnedBy\"\r\n );\r\n this.setState({ showAccountSearch: false, transferDestinationAccount: v });\r\n }}\r\n onInvestmentsChange={(v) => {\r\n onChange({ Instruments: v });\r\n }}\r\n onLoadingInvestments={(v) => {\r\n this.setState({ isLoadingInvestments: v });\r\n }}\r\n serviceProposition={this.props.accountServiceProposition}\r\n claccountId={this.props.claccountId}\r\n showcgtExempt={true}\r\n subAccountType={subAccountType}\r\n />\r\n \r\n )}\r\n\r\n {data.ExternalOwnershipDetails?.PolicyNumber != null &&\r\n data?.ProviderDetails?.Name?.toLowerCase() == \"standard life savings ltd wrap\" &&\r\n data.Instruments &&\r\n data.Instruments.length != 0 && (\r\n onChange({ Instruments: changes })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={SubAccountType.InvestmentAccount}\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n transferDestinationAccount={this.state.transferDestinationAccount}\r\n isReview={this.props.isReview}\r\n readonly={this.props.readonly}\r\n />\r\n )}\r\n {this.props.jouneryType != processTypeEnum.Quote && (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n onChange,\r\n { Certificated: v, OwnedBy: null },\r\n data,\r\n \"ExternalOwnershipDetails\"\r\n );\r\n if (v) {\r\n onChange({ ProviderDetails: null, Instruments: null });\r\n this.onDataChange(onChange, { PolicyNumber: null }, data, \"ExternalOwnershipDetails\");\r\n }\r\n }}\r\n selected={data?.ExternalOwnershipDetails?.Certificated}\r\n label={\"Are there any certificated shares/equities included in the transfer?\"}\r\n required=\"Please select\"\r\n />\r\n )}\r\n {((data?.ProviderDetails?.Name &&\r\n data?.ProviderDetails?.Name?.toLowerCase() !== \"standard life savings ltd wrap\") ||\r\n data?.ExternalOwnershipDetails?.Certificated) && (\r\n onChange({ Instruments: changes })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={SubAccountType.InvestmentAccount}\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n isReview={this.props.isReview}\r\n readonly={this.props.readonly}\r\n />\r\n )}\r\n {this.props.jouneryType != processTypeEnum.Quote &&\r\n data?.ExternalOwnershipDetails?.Certificated != null && (\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ExternalOwnershipDetails\"),\r\n changes,\r\n data.ExternalOwnershipDetails,\r\n \"OwnedBy\"\r\n )\r\n }\r\n onRef={(ref) => this.appendChild(ref)}\r\n isCertificated={data.ExternalOwnershipDetails?.Certificated}\r\n clientDetails={this.props.clientDetails}\r\n >\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Alphanumeric } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionArrangementType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { TransferType } from \"../../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { ExternalPensionProtection } from \"../../../../../../../Wrap/Models/Domains/Transfer/Pension/ExternalPensionProtection\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { CedingTypeArrays, CedingTypeMap } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { datePickerOptions, DpcQuestionText, processTypeEnum } from \"../../Resource/Contents\";\r\nimport { CedingScheme } from \"./CedingScheme\";\r\nimport { ReRegInvestmentSeletion } from \"./ReRegInvestmentSeletion\";\r\nimport { PensionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SubAccountActionIndicators } from \"../../../../../../../Wrap/Models/Models/Shared/SubAccountActionIndicators\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\ninterface ISingleTransferInSIPP extends IProcessComponentProps {\r\n isPost: boolean;\r\n index: number;\r\n data: any;\r\n subAccountType: SubAccountType;\r\n jouneryType: processTypeEnum;\r\n HasExistingSIPP?: boolean;\r\n accountServiceProposition: ServiceProposition;\r\n selectedProducts?: Array;\r\n}\r\n\r\nexport class SingleTransferInSIPP extends ProcessComponent<\r\n ISingleTransferInSIPP,\r\n {\r\n //temp soultion\r\n showEstimatedCurrentYearSubscriptions: boolean;\r\n }\r\n> {\r\n constructor(props: ISingleTransferInSIPP) {\r\n super(props);\r\n this.state = {\r\n //temp soultion\r\n showEstimatedCurrentYearSubscriptions: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (\r\n (this.props.jouneryType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.jouneryType == processTypeEnum.NewQuoteExistingClient) &&\r\n this.props.HasExistingSIPP\r\n ) {\r\n this.props.onChange({ PensionSource: PensionArrangementType.Crystallised });\r\n }\r\n if (\r\n !this.props.data?.IncomePaymentDetails?.LastGadReviewDate &&\r\n SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType)\r\n ) {\r\n this.onDataChange(\r\n this.props.onChange,\r\n { LastGadReviewDate: JsonDateParser.toJsonDateNoOffset(new Date()) },\r\n this.props.data,\r\n \"IncomePaymentDetails\"\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const { data, onChange, subAccountType, jouneryType, selectedProducts } = this.props;\r\n const isImmediateTaxFreeLumpSum =\r\n selectedProducts?.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n return (\r\n <>\r\n {\" \"}\r\n {isImmediateTaxFreeLumpSum && (\r\n \"Pre-retirement\"}\r\n onChange={(v) => onChange({ PensionSource: v })}\r\n validationRules={[\r\n {\r\n errorMessage: \"Can not select pre-retirement\",\r\n validator: (v) => {\r\n return v == PensionArrangementType.Accumulation && this.props.isPost ? false : true;\r\n },\r\n },\r\n ]}\r\n label={\"Pension source\"}\r\n selected={\r\n (this.props.jouneryType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.jouneryType == processTypeEnum.NewQuoteExistingClient) &&\r\n this.props.HasExistingSIPP\r\n ? PensionArrangementType.Crystallised\r\n : data?.PensionSource\r\n }\r\n disabled={\r\n (this.props.jouneryType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.jouneryType == processTypeEnum.NewQuoteExistingClient) &&\r\n this.props.HasExistingSIPP\r\n }\r\n required=\"Please select pension source\"\r\n />\r\n )}\r\n {!isImmediateTaxFreeLumpSum && (\r\n \r\n v == PensionArrangementType.Accumulation ? \"Pre-retirement\" : \"Post-retirement\"\r\n }\r\n onChange={(v) => onChange({ PensionSource: v })}\r\n validationRules={[\r\n {\r\n errorMessage: \"Can not select pre-retirement\",\r\n validator: (v) => {\r\n return v == PensionArrangementType.Accumulation && this.props.isPost ? false : true;\r\n },\r\n },\r\n ]}\r\n label={\"Pension source\"}\r\n selected={\r\n (this.props.jouneryType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.jouneryType == processTypeEnum.NewQuoteExistingClient) &&\r\n this.props.HasExistingSIPP\r\n ? PensionArrangementType.Crystallised\r\n : data?.PensionSource\r\n }\r\n disabled={\r\n (this.props.jouneryType == processTypeEnum.NewBusinessExistingClient ||\r\n this.props.jouneryType == processTypeEnum.NewQuoteExistingClient) &&\r\n this.props.HasExistingSIPP\r\n }\r\n required=\"Please select pension source\"\r\n />\r\n )}\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) =>\r\n this.onDataChange(onChange, { IsDisqualifyingPensionCredits: v }, data, \"PensionDetails\")\r\n }\r\n selected={data?.PensionDetails?.IsDisqualifyingPensionCredits}\r\n label={DpcQuestionText}\r\n required=\"Please select\"\r\n />\r\n {data?.PensionSource == PensionArrangementType.Accumulation &&\r\n jouneryType !== processTypeEnum.Quote &&\r\n this.renderBlockTransfer(data?.Protection, (changes) =>\r\n this.onDataChange(onChange, changes, data, \"Protection\")\r\n )}\r\n {data?.PensionSource == PensionArrangementType.Crystallised && (\r\n <>\r\n (v == DrawdownType.Flexible ? \"Flexi\" : \"Capped\")}\r\n onChange={(v) =>\r\n onChange({\r\n DrawdownType: v,\r\n IncomePaymentDetails: {\r\n LastGadReviewDate: JsonDateParser.toJsonDateNoOffset(new Date()),\r\n },\r\n })\r\n }\r\n label={\"Drawdown type\"}\r\n selected={data?.DrawdownType}\r\n required=\"Please select drawdown type\"\r\n />\r\n {data?.DrawdownType == DrawdownType.Capped && (\r\n <>\r\n \r\n this.onDataChange(\r\n onChange,\r\n { GadMaximum: { Amount: v, Currency: CurrencyCode.GBP } },\r\n data,\r\n \"IncomePaymentDetails\"\r\n )\r\n }\r\n value={data?.IncomePaymentDetails?.GadMaximum?.Amount}\r\n required={\"Please enter GAD maximum\"}\r\n validationRules={[\r\n {\r\n errorMessage: \"GAD maximum value must be > 0\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n />\r\n \r\n this.onDataChange(\r\n onChange,\r\n { CurrentYearIncome: { Amount: v, Currency: CurrencyCode.GBP } },\r\n data,\r\n \"IncomePaymentDetails\"\r\n )\r\n }\r\n value={data?.IncomePaymentDetails?.CurrentYearIncome?.Amount}\r\n required={\"Please enter Income taken to date\"}\r\n />\r\n \r\n this.onDataChange(\r\n onChange,\r\n { LastGadReviewDate: JsonDateParser.toJsonDateNoOffset(v) },\r\n data,\r\n \"IncomePaymentDetails\"\r\n )\r\n }\r\n required={\"Please enter Last mandatory review date\"}\r\n {...datePickerOptions}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n {jouneryType !== processTypeEnum.Quote && (\r\n (v ? \"Full\" : \"Partial\")}\r\n onChange={(v) => onChange({ FullTransfer: v })}\r\n selected={data?.FullTransfer}\r\n label={\"Full or partial\"}\r\n required=\"Please select\"\r\n />\r\n )}\r\n this.onDataChange(onChange, v, data, \"ProviderDetails\")}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={subAccountType}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n index={this.props.index}\r\n />\r\n {jouneryType !== processTypeEnum.Quote && (\r\n <>\r\n {\r\n return CedingTypeMap[v];\r\n }}\r\n placeholder=\"Please select\"\r\n required=\"Please select ceding type\"\r\n selected={data?.PensionDetails?.ExternalPensionSchemeType}\r\n onChange={(v) =>\r\n this.onDataChange(onChange, { ExternalPensionSchemeType: v }, data, \"PensionDetails\")\r\n }\r\n />\r\n this.props.onChange({ AccountOrPlanNumber: v })}\r\n regex={{\r\n errorMessage: ValidatorContents.AlphaNumericOnly,\r\n value: Alphanumeric,\r\n }}\r\n />\r\n \r\n )}\r\n {data?.PensionSource == PensionArrangementType.Crystallised && (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) =>\r\n this.onDataChange(onChange, { IsDependentsPension: v }, data, \"PensionDetails\")\r\n }\r\n selected={data?.PensionDetails?.IsDependentsPension}\r\n label={\"Dependent's pension\"}\r\n required=\"Please select\"\r\n />\r\n )}\r\n

Transfer type

\r\n {isImmediateTaxFreeLumpSum && (\r\n \"Cash\"}\r\n onChange={(v) => onChange({ TransferType: v })}\r\n selected={data?.TransferType}\r\n required=\"Please select transfer type\"\r\n />\r\n )}\r\n {!isImmediateTaxFreeLumpSum && (\r\n (v == TransferType.Cash ? \"Cash\" : \"Re-register assets\")}\r\n onChange={(v) => onChange({ TransferType: v })}\r\n selected={data?.TransferType}\r\n required=\"Please select transfer type\"\r\n />\r\n )}\r\n {data?.TransferType == TransferType.Cash && (\r\n onChange({ CurrentValue: { Amount: v, Currency: CurrencyCode.GBP } })}\r\n value={data?.CurrentValue?.Amount}\r\n validationRules={[\r\n {\r\n errorMessage: \"Single payment value must be > 0\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n required={\"Please enter cash value\"}\r\n />\r\n )}\r\n {jouneryType !== processTypeEnum.Quote && (\r\n (v ? \"Yes\" : \"No\")}\r\n label={\"Has a personal recommendation been given for this transfer?\"}\r\n onChange={(v) =>\r\n this.onDataChange(\r\n onChange,\r\n { IsTransferRecommendationGiven: v },\r\n data,\r\n \"PersonalRecommendations\"\r\n )\r\n }\r\n required={\"Please select\"}\r\n />\r\n )}\r\n {data?.PersonalRecommendations?.IsTransferRecommendationGiven && jouneryType !== processTypeEnum.Quote && (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n label={\"Did this recommendation advise the customer to proceed with this transfer?\"}\r\n onChange={(v) =>\r\n this.onDataChange(onChange, { IsTransferAdvised: v }, data, \"PersonalRecommendations\")\r\n }\r\n required={\"Please select\"}\r\n />\r\n (v ? \"Yes\" : \"No\")}\r\n label={\"Was contingent charging used for this advice?\"}\r\n onChange={(v) =>\r\n this.onDataChange(\r\n onChange,\r\n { IsContingentChargingUsed: v },\r\n data,\r\n \"PersonalRecommendations\"\r\n )\r\n }\r\n required={\"Please select\"}\r\n />\r\n \r\n )}\r\n {data?.TransferType == TransferType.InSpecie && (\r\n <>\r\n onChange({ Instruments: changes })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n type={this.props.subAccountType}\r\n modelData={data}\r\n onReregValueChange={(v) =>\r\n onChange({ ReRegisterValue: { Amount: v, Currency: CurrencyCode.GBP } })\r\n }\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n />\r\n onChange({ ReRegisterValue: { Amount: v, Currency: CurrencyCode.GBP } })}\r\n infoText=\"This value should include all assets that are unavailable for re-registration, plus any residual cash holdings.\"\r\n />\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderBlockTransfer(data: ExternalPensionProtection, onChange) {\r\n return (\r\n (v ? \"Yes\" : \"No\")}\r\n label={\"Block transfer\"}\r\n onChange={(v) => this.onDataChange(onChange, { HasProtection: v }, data, \"BlockTransferProtection\")}\r\n required={\"Please select block transfer\"}\r\n />\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { TransferType } from \"../../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { ExternalIsaContributionType } from \"../../../../../../../Wrap/Constants/Enums/Transfer/ExternalIsaContributionType\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../../AddClient/Components/SharedComponents\";\r\nimport { SingleTransferInIsa } from \"./SingleTransferInISA\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { SingleTransferInPP } from \"./SingleTransferInPP\";\r\nimport { SingleTransferInSIPP } from \"./SingleTransferInSIPP\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { PensionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SubAccountActionIndicators } from \"../../../../../../../Wrap/Models/Models/Shared/SubAccountActionIndicators\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\n\r\ninterface ITransferInProps extends IProcessComponentProps {\r\n isPost: boolean;\r\n subAccountType: SubAccountType;\r\n clientDetails?: ClientDetails;\r\n jouneryType: processTypeEnum;\r\n hasCashIsa?: boolean;\r\n HasExistingSIPP?: boolean;\r\n disabled?: boolean;\r\n pensionType?: PensionType;\r\n selectedProducts?: Array;\r\n accountServiceProposition: ServiceProposition;\r\n claccountId?: string; \r\n}\r\n\r\ninterface ITransferInState {\r\n expandList: boolean[];\r\n displayExceedIsaAllowanceError: boolean;\r\n userInfo: User;\r\n}\r\n\r\nexport class TransferIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n expandList: [],\r\n displayExceedIsaAllowanceError: false,\r\n };\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n InvestmentSelectionAction.setIsUnderTransfer(false);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n InvestmentSelectionAction.setIsUnderTransfer(true);\r\n const { data } = this.props;\r\n const expandList = [];\r\n if (data) {\r\n const len = data.length;\r\n for (let i = 0; i < len; i++) {\r\n expandList.push(true);\r\n }\r\n }\r\n\r\n this.setState({ expandList });\r\n }\r\n\r\n private onTransfersChange(data: any) {\r\n switch (this.props.subAccountType) {\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n this.props.onChange({ PensionTransfers: data });\r\n break;\r\n case SubAccountType.InvestmentAccount:\r\n this.props.onChange({ GiaTransfers: data });\r\n break;\r\n case SubAccountType.StocksIsa:\r\n this.props.onChange({ IsaTransfers: data });\r\n break;\r\n }\r\n }\r\n\r\n private addTransferIn() {\r\n const { data } = this.props;\r\n const { expandList } = this.state;\r\n if (data && data.length !== 0 && !this.isValidChild(data.length - 1)) {return;}\r\n const _data = data ? data.concat() : [];\r\n if (\r\n this.props.subAccountType === SubAccountType.InvestmentAccount &&\r\n this.props.jouneryType !== processTypeEnum.NewBusiness\r\n ) {\r\n _data.push({\r\n TransferCash: null,\r\n TransferInSpecie: [],\r\n ProviderDetails: null,\r\n ExternalOwnershipDetails: null,\r\n TransferType: TransferType.InSpecie,\r\n Instruments: [],\r\n });\r\n } else if (\r\n this.props.subAccountType === SubAccountType.InvestmentAccount &&\r\n this.props.jouneryType === processTypeEnum.NewBusiness\r\n ) {\r\n _data.push({\r\n ProviderDetails: null,\r\n ExternalOwnershipDetails: null,\r\n TransferType: TransferType.InSpecie,\r\n Instruments: [],\r\n });\r\n } else if (this.props.subAccountType === SubAccountType.StocksIsa) {\r\n _data.push({\r\n CurrentValue: null,\r\n ReRegisterValue: null,\r\n TransferType: null,\r\n ContributionType: ExternalIsaContributionType.PreviousTaxYear,\r\n CashIsaToBeTransferredToSSIsa: true,\r\n Instruments: [],\r\n ExternalOwnershipDetails: null,\r\n });\r\n } else if (\r\n SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType) &&\r\n (this.props.jouneryType === processTypeEnum.Quote ||\r\n this.props.jouneryType === processTypeEnum.NewQuoteExistingClient)\r\n ) {\r\n _data.push({\r\n PensionSource: null,\r\n CurrentValue: null,\r\n TransferType: null,\r\n DrawdownType: null,\r\n IncomePaymentDetails: null,\r\n PensionDetails: { IsDependentsPension: false },\r\n Instruments: [],\r\n });\r\n } else if (\r\n SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType) &&\r\n (this.props.jouneryType === processTypeEnum.NewBusiness ||\r\n this.props.jouneryType === processTypeEnum.SinglePaymentTransfer ||\r\n this.props.jouneryType === processTypeEnum.topUpWithITFLS ||\r\n this.props.jouneryType === processTypeEnum.NewBusinessExistingClient)\r\n ) {\r\n _data.push({\r\n PensionSource: null,\r\n CurrentValue: null,\r\n TransferType: null,\r\n DrawdownType: null,\r\n IncomePaymentDetails: null,\r\n PensionDetails: { IsDependentsPension: false },\r\n Instruments: [],\r\n });\r\n }\r\n this.onTransfersChange(_data);\r\n expandList[expandList.length - 1] = false;\r\n expandList.push(true);\r\n this.setState({ expandList });\r\n }\r\n\r\n private onRemoveTransfer(i) {\r\n const { data } = this.props;\r\n const { expandList } = this.state;\r\n const _data = data.concat();\r\n _data.splice(i, 1);\r\n expandList.splice(i, 1);\r\n this.onTransfersChange(_data);\r\n this.setState({ expandList });\r\n }\r\n\r\n private onTransferChange(changes, i) {\r\n const { data } = this.props;\r\n const _data = data.concat();\r\n const _item = _data[i];\r\n for (const key in changes) {\r\n _item[key] = changes[key];\r\n }\r\n _data[i] = _item;\r\n this.onTransfersChange(_data);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, subAccountType } = this.props;\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup transfer in\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n \r\n {SectionHeader(\"Transfer in\")}\r\n {this.props.disabled == true && }\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n if (v) {\r\n this.addTransferIn();\r\n } else {\r\n this.setState({ expandList: [] });\r\n this.onTransfersChange([]);\r\n }\r\n }}\r\n disabled={this.props.disabled == true ? true : false}\r\n required={\"Please select \"}\r\n />\r\n {data &&\r\n data.map((ele, index) => {\r\n return (\r\n this.onRemoveTransfer(index)}\r\n onChange={(v) => (v ? true : this.isValidChild(index))}\r\n isOpen={this.state.expandList[index]}\r\n >\r\n {SubAccountTypeHelper.isOnPlatformPension(this.props.subAccountType) && (\r\n this.appendChild(ref, index)}\r\n data={ele}\r\n onChange={(changes) => this.onTransferChange(changes, index)}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n index={index + 1}\r\n subAccountType={this.props.subAccountType}\r\n jouneryType={this.props.jouneryType}\r\n isReview={this.props.isReview}\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n HasExistingSIPP={this.props.HasExistingSIPP}\r\n selectedProducts={this.props.selectedProducts}\r\n />\r\n )}\r\n {this.props.subAccountType === SubAccountType.InvestmentAccount && (\r\n this.appendChild(ref, index)}\r\n data={ele}\r\n clientDetails={this.props.clientDetails}\r\n onChange={(changes) => this.onTransferChange(changes, index)}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n index={index + 1}\r\n jouneryType={this.props.jouneryType}\r\n isReview={this.props.isReview}\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n claccountId={this.props.claccountId}\r\n />\r\n )}\r\n {this.props.subAccountType === SubAccountType.StocksIsa && (\r\n this.appendChild(ref, index)}\r\n data={ele}\r\n onChange={(changes) => this.onTransferChange(changes, index)}\r\n showErrorMsgPopUp={(msg, showNow) => this.props.showErrorMsgPopUp(msg, showNow)}\r\n index={index + 1}\r\n isQuote={this.props.jouneryType === processTypeEnum.Quote}\r\n hasCashIsa={this.props.hasCashIsa}\r\n isReview={this.props.isReview}\r\n accountServiceProposition={this.props.accountServiceProposition}\r\n claccountId={this.props.claccountId}\r\n />\r\n )}\r\n\r\n
\r\n this.onRemoveTransfer(index)}\r\n />\r\n {data?.length != 0 && (\r\n this.addTransferIn()}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nexport const DirectDebitTerms = () => {\r\n return (\r\n\r\n
\r\n

To proceed with this online Direct Debit application you must:

\r\n
    \r\n
  • \r\n Agree to comply with our obligations under the BACS rules for online Direct Debit business and follow the script provided by BACS.\r\n
  • \r\n
  • Enter online Direct Debit information in the presence of the client i.e. do not take request information in advance from the client then enter the information online when the client is no longer present.
  • \r\n
  • Request the client to confirm the bank details for the Direct Debit payments, for example, by showing a cheque book or bank statement.
  • \r\n
  • Use a paper (post) Direct Debit instruction, where the client is not the bank accountholder and therefore not the payer,\r\n or more than one person is required to authorise payments from the bank account or the payer withdraws completely from requesting an online Direct Debit.
  • \r\n
  • Send a paper (post) Direct Debit instruction to the client if at any stage the client does not wish to continue with an online Direct Debit,\r\n unless the payer withdraws completely from requesting a Direct Debit. We cannot set up the Direct Debit application until we have received a completed paper Direct Debit instruction signed by the payer.
  • \r\n
\r\n \r\n

UNDER BACS RULES YOU MUST GO THROUGH THE FOLLOWING SCRIPT WITH THE CLIENT.

\r\n

What to say to your client:

\r\n
    \r\n
  • \"Do you have a personal UK bank/building society account and are you the only person required to authorise payments from this account?\"
  • \r\n
  • (If your clients answers 'No', you cannot complete an online direct debit and will need to provide a paper direct debit instruction).
  • \r\n
  • \"You should be aware that some banks or building societies may not accept Direct Debits for certain account types. We've agreed that the amount will be £(amount) paid (Frequency)\r\n and this will be paid on the (DD) of the month.\r\n \"The company name that will appear on your bank account statement against the Direct Debit will be Standard Life\".
  • \r\n
\r\n
\r\n

THE DIRECT DEBIT GUARANTEE

\r\n
    \r\n
  • If there are any changes to the amount, date or frequency of your Direct Debit Standard Life will notify you 5 working days in advance of your account being debited or as otherwise agreed.
  • \r\n
  • If an error is made in the payment of your Direct Debit, by Standard Life or your bank or building society, you are entitled to a full and immediate refund of the amount paid from your bank or building society.
  • \r\n
  • If you receive a refund you are not entitled to, you must pay it back when Standard Life asks you to.
  • \r\n
  • You can cancel a Direct Debit at any time by simply contacting your bank or building society. Written confirmation may be required. Please also notify us.
  • \r\n
\r\n
\r\n\r\n
\r\n )\r\n}","import { MoneyPurchaseAnnualAllowanceSource } from \"../../../../../../Wrap/Constants/Enums/Apply/MoneyPurchaseAnnualAllowanceSource\";\r\nimport { BankAccountOwner } from \"../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { DepositMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/DepositMethod\";\r\nimport { AccountAdviceType } from \"../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { PensionType } from \"../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SippDrawdownType } from \"../../../../../../Wrap/Constants/Enums/Domain/SippDrawdownType\";\r\nimport { RegularDepositMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/RegularDepositMethod\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { WithdrawalMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/WithdrawalMethod\";\r\nimport { ExternalIsaContributionType } from \"../../../../../../Wrap/Constants/Enums/Transfer/ExternalIsaContributionType\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { BatchType } from \"../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\nimport { SourceType } from \"../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { PaymentMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/PaymentMethod\";\r\nimport { FrequencyType } from \"../../../../../../Wrap/Constants/Enums/Domain/FrequencyType\";\r\n\r\nexport enum processTypeEnum {\r\n Quote,\r\n NewBusiness,\r\n SinglePaymentTransfer,\r\n RegularPayment,\r\n topUpWithITFLS,\r\n GadReview,\r\n NewBusinessExistingClient,\r\n NewQuoteExistingClient,\r\n TakePensionBenefits,\r\n EditIncomePayments,\r\n}\r\n\r\nexport const ContinueArrays = [];\r\n\r\nexport const ContinueArraysMap = {\r\n [Frequency.Monthly]: \"Until Notified\",\r\n [Frequency.Quarterly]: \"Until Date\",\r\n};\r\n\r\nexport const ExternalIsaContributionTypeMap = {\r\n [ExternalIsaContributionType.CurrentTaxYear]: \"Current\",\r\n [ExternalIsaContributionType.PreviousTaxYear]: \"Non-Current\",\r\n [ExternalIsaContributionType.PreviousAndCurrentTaxYear]: \"Both\",\r\n};\r\n\r\nexport enum PaymentType {\r\n Client = \"Client\",\r\n ThirdParty = \"Third-party\",\r\n Employer = \"Employer\",\r\n}\r\n\r\nexport const TransferInModelMap = {\r\n [SubAccountType.Sipp]: \"PensionTransfers\",\r\n [SubAccountType.Npr]: \"PensionTransfers\",\r\n [SubAccountType.StocksIsa]: \"IsaTransfers\",\r\n [SubAccountType.InvestmentAccount]: \"GiaTransfers\",\r\n};\r\n\r\nexport const BankAccountOwnerPaymentTypeMap = {\r\n [BankAccountOwner.Individual]: [PaymentType.Client],\r\n [BankAccountOwner.Joint]: [PaymentType.Client],\r\n [BankAccountOwner.Partner]: [PaymentType.Client],\r\n [BankAccountOwner.Employer]: [PaymentType.Employer, PaymentType.Client],\r\n [BankAccountOwner.ThirdParty]: [PaymentType.ThirdParty],\r\n [BankAccountOwner.Trust]: [PaymentType.Client],\r\n [BankAccountOwner.Client1]: [PaymentType.Client],\r\n [BankAccountOwner.Client2]: [PaymentType.Client],\r\n};\r\n\r\nexport const PayeeType = {\r\n Client: PaymentType.Client,\r\n ThirdParty: PaymentType.ThirdParty,\r\n Employer: PaymentType.Employer,\r\n};\r\n\r\nexport const datePickerOptions = {\r\n showYearDropdown: true,\r\n todayButton: ContentDatePicker.Today,\r\n isClearable: true,\r\n dateFormat: ContentDatePicker.DateFormat,\r\n acceptDateFormats: ACCEPT_DATE_FORMATS,\r\n alwaysValidateOnUpdate: false,\r\n};\r\n\r\nexport const depositMethodArrays = [\r\n DepositMethod.Cheque,\r\n DepositMethod.DirectCredit,\r\n DepositMethod.DirectDebit,\r\n DepositMethod.WrapCash,\r\n];\r\nexport const depositMethodArraysMap = {\r\n [DepositMethod.Cheque]: \"Cheque\",\r\n [DepositMethod.DirectCredit]: \"Direct Credit\",\r\n [DepositMethod.DirectDebit]: \"Direct Debit\",\r\n [DepositMethod.WrapCash]: \"Cash Account\",\r\n};\r\n\r\nexport const batchTypeArrays = [BatchType.OneOff, BatchType.Standing];\r\nexport const batchTypeArraysMap = {\r\n [BatchType.OneOff]: \"One-off\",\r\n [BatchType.Standing]: \"Standing\",\r\n [BatchType.Auto]: \"Auto\",\r\n};\r\n\r\nexport const OrderFrequencyTypeArrays = [\r\n Frequency.Fortnightly,\r\n Frequency.Monthly,\r\n Frequency.Quarterly,\r\n Frequency.HalfYearly,\r\n Frequency.Yearly,\r\n];\r\n\r\nexport const OrderFrequencyArraysMap = {\r\n [Frequency.Fortnightly]: \"Fortnightly\",\r\n [Frequency.Monthly]: \"Monthly\",\r\n [Frequency.Quarterly]: \"Quarterly\",\r\n [Frequency.HalfYearly]: \"Half Yearly\",\r\n [Frequency.Yearly]: \"Yearly\",\r\n};\r\n\r\nexport const regularDepositMethodArrays = [\r\n RegularDepositMethod.Cheque,\r\n RegularDepositMethod.BACS,\r\n RegularDepositMethod.DirectDebit,\r\n RegularDepositMethod.ProductWrapperCash,\r\n];\r\n\r\nexport const regularDepositMethodArraysMap = {\r\n [RegularDepositMethod.Cheque]: \"Cheque\",\r\n [RegularDepositMethod.BACS]: \"BACS\",\r\n [RegularDepositMethod.DirectDebit]: \"Direct Debit\",\r\n [RegularDepositMethod.ProductWrapperCash]: \"Cash Account\",\r\n [RegularDepositMethod.DirectCredit]: \"Direct Credit\",\r\n [RegularDepositMethod.CHAPS]: \"CHAPS\",\r\n [RegularDepositMethod.Faster]: \"Faster\",\r\n [RegularDepositMethod.CashSubAccount]: \"Product Cash\",\r\n [RegularDepositMethod.SpecifiedSubAccount]: \"Specified Sub Account\",\r\n};\r\n\r\nexport const daysUntilFirstPaymentDate = 20;\r\n\r\nexport const MoneyPurchaseAnnualAllowanceSourceArray = [\r\n MoneyPurchaseAnnualAllowanceSource.NotSpecified,\r\n MoneyPurchaseAnnualAllowanceSource.UncrystallisedFundsPcls,\r\n MoneyPurchaseAnnualAllowanceSource.StandaloneLumpSum,\r\n MoneyPurchaseAnnualAllowanceSource.FlexiAccessIncomePayment,\r\n];\r\n\r\nexport const MoneyPurchaseAnnualAllowanceSourceArrayMap = {\r\n [MoneyPurchaseAnnualAllowanceSource.NotSpecified]: \"Unknown\",\r\n [MoneyPurchaseAnnualAllowanceSource.UncrystallisedFundsPcls]: \"Uncrystallised pension saving lump sum payment\",\r\n [MoneyPurchaseAnnualAllowanceSource.StandaloneLumpSum]: \"Standalone lump sum payment\",\r\n [MoneyPurchaseAnnualAllowanceSource.FlexiAccessIncomePayment]: \"Flexi-access drawdown payment\",\r\n};\r\n\r\nexport const WithdrawalMethodArray = [WithdrawalMethod.TransferToWrapCash, WithdrawalMethod.BankAccount];\r\n\r\nexport const WithdrawalMethodMap = {\r\n [WithdrawalMethod.TransferToWrapCash]: \"Transfer to Wrap cash\",\r\n [WithdrawalMethod.BankAccount]: \"Transfer to nominated Bank account\",\r\n};\r\n\r\nexport const FrequencyTypeArrays = [Frequency.Monthly, Frequency.Quarterly, Frequency.HalfYearly, Frequency.Yearly];\r\n\r\nexport const FrequencyArraysMap = {\r\n [Frequency.Monthly]: \"Monthly\",\r\n [Frequency.Quarterly]: \"Quarterly\",\r\n [Frequency.HalfYearly]: \"Half yearly\",\r\n [Frequency.Yearly]: \"Yearly\",\r\n};\r\n\r\nexport const FrequencyTypeArraysMaps = {\r\n [FrequencyType.NotSpecified]: \"Not specified\",\r\n [FrequencyType.Daily]: \"Daily\",\r\n [FrequencyType.Weekly]: \"Weekly\",\r\n [FrequencyType.Monthly]: \"Monthly\",\r\n [FrequencyType.Quarterly]: \"Quarterly\",\r\n [FrequencyType.HalfYearly]: \"Half yearly\",\r\n [FrequencyType.Yearly]: \"Yearly\",\r\n [FrequencyType.Fortnightly]: \"Fortnightly\",\r\n [FrequencyType.Termly]: \"Termly\",\r\n};\r\n\r\nexport const AdviceTypeArrays = [AccountAdviceType.NonDiscretionary, AccountAdviceType.Discretionary];\r\n\r\nexport const AdviceTypeArraysMap = {\r\n [AccountAdviceType.NonDiscretionary]: \"Non-discretionary\",\r\n [AccountAdviceType.Discretionary]: \"Discretionary\",\r\n};\r\n\r\nexport const TransferKeysMap = {\r\n [SubAccountType.PersonalPortfolio]: \"GiaTransfers\",\r\n [SubAccountType.Sipp]: \"PensionTransfers\",\r\n [SubAccountType.StocksIsa]: \"IsaTransfers\",\r\n};\r\n\r\nexport const CertificatedSharesAndEquityText =\r\n \"If a combination of certificated investments and non certificated investments –\" +\r\n \"then a separate transfer must be submitted for each.Please ensure that the certificated\" +\r\n \" numbers are provided below. Once the transfer is completed the shares will be held electronically\";\r\n\r\nexport const RegisteredOwnersText =\r\n \"The Name(s) of the registered holder(s) must be given in full as recorded by the custodian These\" +\r\n \" ownership details can be amended as required\";\r\nexport const ConductBusinessAuthorisedQuestionText = \"Are you appropriately authorised to conduct this business?\";\r\nexport const AdviceGivenQuestionText = \"Did you give financial advice?\";\r\nexport const MpaaQuestionText = \"Is your client subject to the Money Purchase Annual Allowance (MPAA)?\";\r\n\r\nexport const DpcQuestionText = \"Are transfers subject to disqualifying pension credits?\";\r\n\r\nexport const PaymentMethodTypeOptions = [PaymentMethod.Faster, PaymentMethod.Chaps];\r\n\r\nexport const PaymentMethodArraysMap = {\r\n [PaymentMethod.Chaps]: \"CHAPS\",\r\n [PaymentMethod.Faster]: \"Faster\",\r\n};\r\n\r\nexport const PensionTypesArray = [\r\n PensionType.None,\r\n PensionType.TakePensionBenefits,\r\n PensionType.ImmediateTaxFreeLumpSum,\r\n];\r\n\r\nexport const PensionTypesMap = {\r\n [PensionType.None]: \"None\",\r\n [PensionType.TakePensionBenefits]: \"Take pension benefits\",\r\n [PensionType.ImmediateTaxFreeLumpSum]: \"Immediate tax-free lump sum\",\r\n};\r\n\r\nexport const RegularIncomePaymentAlertMsg = {\r\n Frenquency: \"Please update this frequency on the drawdown step\",\r\n FirstPaymentDate:\r\n \"Changing the payment date will amend the payment date across all pension arrangements and any regular crystallisation schedules\",\r\n EndDate: \"No further payments will be made after the date entered in this field\",\r\n};\r\n\r\nexport const SourceTypeArray = [SourceType.ProductCash, SourceType.WrapCash];\r\n\r\nexport const SourceTypeMap = {\r\n [SourceType.ProductCash]: \"Product cash\",\r\n [SourceType.WrapCash]: \"Wrap cash\",\r\n};\r\n\r\nexport const DrawdownTypeOptions = [SippDrawdownType.Flexible, SippDrawdownType.No, SippDrawdownType.Capped];\r\n\r\nexport const DrawdownTypeOptionsMap = {\r\n [SippDrawdownType.Flexible]: \"Flexi-access single\",\r\n [SippDrawdownType.No]: \"Regular crystallisation\",\r\n [SippDrawdownType.Capped]: \"Capped single\",\r\n};\r\n\r\nexport const CrystallisationOptions = [\"Full\", \"Partial\"];\r\n\r\nexport const crystallisationAmountErrorMessage = {\r\n valueToCrystalliseIsZero:\r\n \"The value available to crystallise is zero so you cannot complete the crystallisation at this time.\",\r\n inputIsZeroAndLessThanUncrystallised:\r\n \"Please enter a crystallisation amount that is greater than zero and less than or equal to the value available to crystallise.\",\r\n inputIsZeroAndEqualUncrystallised:\r\n \"Please enter a crystallisation amount that is greater than zero and less than the value available to crystallise.\",\r\n inputEqualValueToCrystallise:\r\n 'The amount you have entered is equal to the total value available to crystallise. If you want to crystallise the whole amount, please choose \"Full\" for your crystallisation options.',\r\n inputGreaterThanValueToCrystalliseAndLessThanUncrystallised:\r\n \"The amount you have entered is greater than the value available to crystallise. Please enter a crystallisation amount that is greater than zero and less than or equal to the value available to crystallise.\",\r\n inputGreaterThanValueToCrystalliseAndEqualUncrystallised:\r\n \"The amount you have entered is greater than the value available to crystallise. Please enter a crystallisation amount that is greater than zero and less than the value available to crystallise.\",\r\n};\r\n\r\nexport const drawdownDetailsMessage = {\r\n crystallisationOptionErrorMessage:\r\n \"You will need to cancel the process because the client has entitlements that require this to be a full crystallisation, but the value available to crystallise is less than the uncrystallised fund value.\",\r\n LTAInputErrorMessage:\r\n \"Please enter a value for the LTA crystallised off platform that is equal to or greater than 0%\",\r\n regularCrystallisationAmountErrorMessage: \"Please enter an amount that is greater than zero\",\r\n};\r\n\r\nexport const LTADetailHeading = {\r\n previousLTA: \"Lifetime allowance (LTA) previously used in this account\",\r\n LTABefore2006: \"LTA used by benefits that commenced before 6 April 2006\",\r\n availableLTA: \"Available LTA\",\r\n otherLTA: \"Other LTA used you need to tell us about\",\r\n LTAByThisCrystallisation: \"LTA % used by this crystallisation\",\r\n LTAInTotal: \"LTA % used in total following this crystallisation\",\r\n crystallisationAmountSubjectToLTAExcessCharge: \"Amount of crystallisation subject to LTA excess charge\",\r\n estimateLTAForInitialCrystallisation: \"Estimated LTA % usage for initial crystallisation\",\r\n estimateLTAPerRegularCrystallisation: \"Estimated LTA % usage per regular crystallisation\",\r\n estimateAvailableLTAInAYear: \"Estimated available LTA after a year\",\r\n estimateLTAUsedInAYear: \"Estimated LTA that will be used after a year\",\r\n estimateTotalLTAUsedInAYear: \"Estimated total LTA that will be used after a year\",\r\n estimatedChargeableCrystallisation: \"Estimated chargeable portion of crystallisation after a year\",\r\n crystallisationChargeablePortion: \"Chargeable portion of crystallisation\",\r\n};\r\n\r\nexport const LTADetailTooltiopMessage = {\r\n previousLTA: \"TBC by Pension pod/SL props\",\r\n otherLTA: \"TBC by Pension pod/SL props\",\r\n LTAByThisCrystallisation:\r\n \"This is the percentage of the lifetime allowance for the current tax year that will be used by your client's crystallisation.\",\r\n LTAInTotal:\r\n \"This is the total lifetime allowance for the current tax year that will be used once this crystallisation is added to any previous crystallisations taken by your client.\",\r\n estimatedChargeableCrystallisation:\r\n \"This is the estimated amount that we will crystallise in order to achieve the required income\",\r\n};\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { isNullOrEmpty } from \"../../../../../../react-core/Utils/Arrays\";\r\nimport { AccountRestrictionBulkClient } from \"../../../../../../Wrap/Api/Account/AccountRestrictionBulk\";\r\nimport { CustomerRestrictionClient } from \"../../../../../../Wrap/Api/Account/CustomerRestriction\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\nimport { RestrictionDispatcher } from \"./Variable\";\r\n\r\nexport class RestrictionAction {\r\n public static getRestrictionByHierarchyId(id: string) {\r\n if (id == null) {\r\n if (\r\n !CommonHelper.isNullOrEmpty(getQueryParameters()[\"claccountid\"]) &&\r\n ClientAccountStore.getClientAccountInfo()\r\n ) {\r\n id = ClientAccountStore.getClientAccountInfo().HierarchyId;\r\n } else {\r\n return;\r\n }\r\n }\r\n const client = new AccountRestrictionBulkClient();\r\n const promise = client.get(id);\r\n promise.onSuccess((data) => {\r\n RestrictionDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getRestrictionByCustomer(actorIds: Array) {\r\n if (isNullOrEmpty(actorIds)) {\r\n if (!CommonHelper.isNullOrEmpty(getQueryParameters()[\"customerId\"])) {\r\n actorIds = [getQueryParameters()[\"customerId\"]];\r\n } else {\r\n return;\r\n }\r\n }\r\n const client = new CustomerRestrictionClient();\r\n const promise = client.get(actorIds);\r\n promise.onSuccess((data) => {\r\n RestrictionDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n}\r\n","import { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { RestrictionDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { RestrictionTypeEnum } from \"../../../../../../Wrap/Constants/Enums/RestrictionTypeEnum\";\r\nimport { ActiveAccountRestriction } from \"../../../../../../Wrap/Models/Models/Account/Restrictions/ActiveAccountRestriction\";\r\nimport { RestrictionReasonTypeEnum } from \"../../../../../../Wrap/Constants/Enums/RestrictionReasonTypeEnum\";\r\n\r\nexport interface RestrictionStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: Array;\r\n}\r\n\r\nexport class RestrictionStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(RestrictionDispatcher, (actionData) => this.onRestrictionStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): RestrictionStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n public transferDisabled() {\r\n const data = this.getState().data?.find((a) => a?.Restriction == RestrictionTypeEnum.TransferIn) ? true : false;\r\n return data;\r\n }\r\n public buyDisabled() {\r\n const data = this.getState().data?.find((a) => a?.Restriction == RestrictionTypeEnum.BuyOrder) ? true : false;\r\n return data;\r\n }\r\n\r\n public sellDisabled() {\r\n const data = this.getState().data?.find((a) => a?.Restriction == RestrictionTypeEnum.SellOrder) ? true : false;\r\n return data;\r\n }\r\n\r\n public depositDisabled() {\r\n const data = this.getState().data?.find((a) => a?.Restriction == RestrictionTypeEnum.Deposit) ? true : false;\r\n return data;\r\n }\r\n\r\n public WithdrawDisabled() {\r\n const data = this.getState().data?.find((a) => a?.Restriction == RestrictionTypeEnum.Withdraw) ? true : false;\r\n return data;\r\n }\r\n\r\n public InterAccountTransferDisabled() {\r\n const data = this.getState().data?.find((a) => a?.Restriction == RestrictionTypeEnum.InterAccountTransfer)\r\n ? true\r\n : false;\r\n return data;\r\n }\r\n\r\n public CustomerRestrictionApplied() {\r\n const data = this.getState().data?.find(\r\n (a) =>\r\n a?.RestrictionReason == RestrictionReasonTypeEnum.DeathIndividual ||\r\n a?.RestrictionReason == RestrictionReasonTypeEnum.DeathJoint ||\r\n a?.RestrictionReason == RestrictionReasonTypeEnum.NoAmlPass ||\r\n a?.RestrictionReason == RestrictionReasonTypeEnum.Pep ||\r\n a?.RestrictionReason == RestrictionReasonTypeEnum.FinancialSanction ||\r\n a?.RestrictionReason == RestrictionReasonTypeEnum.HighRiskCustomer\r\n )\r\n ? true\r\n : false;\r\n return data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): RestrictionStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onRestrictionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { RestrictionStoreStatic } from \"./RestrictionStoreStatic\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const RestrictionDispatcher: Dispatcher = new Dispatcher();\r\nexport const RestrictionStore: RestrictionStoreStatic = new RestrictionStoreStatic();","import { ContextStore } from \"../../../../../../react-core/Flux/Variables\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\n\r\n/**\r\n * check if need to block the wizard entry point with a popup message\r\n *\r\n * Top-up - Head Account status must = Active [Single Payment / Transfer,Add Regular Payment,Edit Regular Payment]\r\n * Buy - Cannot access where SubAccount status = Closing or Closed\r\n * Sell - Cannot access where SubAccount status = Closed. Internal users only can access where SubAccount status = Closing\r\n * Switch - Cannot access where SubAccount status = Closing or Closed\r\n * Withdrawal - Cannot access where SubAccount status = Closing or Closed. Internal users only can access where SubAccount status = Closing\r\n * 'What If' & 'No change' - Cannot access where SubAccount status = Closing or Closed\r\n *\r\n * @returns boolean => True for need block\r\n * story: SLP-92757\r\n */\r\n\r\nexport const WizardLinkRestriction = (\r\n headAccount: ClientAccount,\r\n subAccountHierarchyId: string,\r\n processType: ProcessType\r\n): boolean => {\r\n if (\r\n [ProcessType.AddRegular, ProcessType.EditRegular, ProcessType.SinglePayment].includes(processType) &&\r\n headAccount?.AccountStatus != AccountStatus.Active\r\n ) {\r\n return true;\r\n }\r\n const subAccountStatus = (headAccount?.SubAccounts || []).find(\r\n (account) => account.HierarchyId == subAccountHierarchyId\r\n )?.Status;\r\n if (\r\n [\r\n ProcessType.NoChange,\r\n ProcessType.WhatIf,\r\n ProcessType.Buy,\r\n ProcessType.Switch,\r\n ProcessType.MoveAssetsToNewOwner,\r\n ProcessType.NBEC\r\n ].includes(processType) &&\r\n [AccountStatus.Closed, AccountStatus.Closing].includes(subAccountStatus)\r\n ) {\r\n return true;\r\n }\r\n if (\r\n [ProcessType.Sell].includes(processType) &&\r\n [AccountStatus.Closed].includes(subAccountStatus)\r\n ) {\r\n return true;\r\n }\r\n if (\r\n [ProcessType.Sell, ProcessType.Withdrawal].includes(processType) &&\r\n [AccountStatus.Closing].includes(subAccountStatus) &&\r\n !ContextStore.getContext().isAdminUser\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { IReviewProps, moneyParse } from \"../ReviewParser\";\r\n\r\nexport const AdHocAdviserChargeReview = (props: IReviewProps) => {\r\n const { data, onEditAction } = props;\r\n\r\n const adviceCahrgeConfig = () => {\r\n if (!data) {return [];}\r\n const defaultFormatMoney = MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(0), CurrencyCode.GBP);\r\n const config = [\r\n {\r\n title: \"Additional adviser charge\",\r\n data: data?.AdHocAdviserCharge?.Amount ? moneyParse(data?.AdHocAdviserCharge?.Amount) : defaultFormatMoney,\r\n },\r\n {\r\n title: \"Include other product Ongoing adviser charge\",\r\n data: data?.OngoingAdviserChargeInstructions?.length > 0 ? \"Yes\" : \"No\",\r\n },\r\n ];\r\n return config;\r\n };\r\n\r\n return (\r\n onEditAction()}>\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { adviserParse, IReviewProps, ongoingAdviceParse, regularAdviceParse } from \"../ReviewParser\";\r\nimport { NewQuoteAction } from \"../../../NewQuoteWizard/Actions/NewQuoteAction\";\r\n\r\nexport const AdviceChargeReview = (props: IReviewProps) => {\r\n const { data, subAccountType, process } = props;\r\n const checkNoneCharges = (config) => {\r\n return typeof config.data != \"boolean\";\r\n };\r\n const adviceCahrgeConfig = () => {\r\n if (!data) {return [];}\r\n const config = [\r\n {\r\n title: \"Initial\",\r\n data: adviserParse(data.InitialAdviserCharge),\r\n },\r\n {\r\n title: \"Regular\",\r\n data: regularAdviceParse(data.RegularPaymentInitialAdviceCharge),\r\n },\r\n {\r\n title: \"Ongoing\",\r\n data: ongoingAdviceParse(data.OngoingAdviceCharge),\r\n },\r\n ];\r\n return config.filter(checkNoneCharges);\r\n };\r\n\r\n const navigate = () => {\r\n if (process == ProcessType.NB) {\r\n Navigator.navigateToAndPreserveQueryParameters(adviceChargeUrlConfig());\r\n } else if (process == ProcessType.Quote) {\r\n adviceChargeUrlConfigForNewQuote();\r\n } else if (process == ProcessType.SinglePayment) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().SPTAdviserCharge);\r\n }else if (process == ProcessType.AddRegular || ProcessType.EditRegular) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().RegularPaymentAdviserCharge);\r\n }\r\n };\r\n\r\n const adviceChargeUrlConfigForNewQuote = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.InvestmentAccount:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteAdviserChargesPP);\r\n case SubAccountType.StocksIsa:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteAdviserChargesISA);\r\n case SubAccountType.Pension:\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteAdviserChargesSIPP);\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const adviceChargeUrlConfig = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.StocksIsa:\r\n return Urls.get().NBAdviserChargesISA;\r\n case SubAccountType.InvestmentAccount:\r\n return Urls.get().NBAdviserChargesPP;\r\n case SubAccountType.Npr:\r\n return Urls.get().NBAdviserChargesSIPP;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n (props.onEditAction ? props.onEditAction() : navigate())}>\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { BankAccountOwner } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { BankAccountCheckRequest } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccountCheckRequest\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\n\r\nexport const BWACheck = (props: { extraInfo }) => {\r\n const { extraInfo } = props;\r\n\r\n useEffect(() => {\r\n checkBankAccountWithBWA(extraInfo);\r\n }, []);\r\n\r\n const checkBankAccountWithBWA = (model: ApplyModel) => {\r\n const requests = new Array();\r\n const filterBankAccountInstructions = model?.BankAccountInstructions?.filter(\r\n (f) => f.Owner == BankAccountOwner.Individual || f.Owner == BankAccountOwner.Joint\r\n );\r\n if (filterBankAccountInstructions != null) {\r\n filterBankAccountInstructions.forEach((ele) => {\r\n const request: BankAccountCheckRequest = {\r\n ActorId: model?.ClientDetails?.ActorId,\r\n ClAccountId: model.ClAccountId ? model.ClAccountId : getQueryParameters()[\"claccountid\"],\r\n AccountNumber: ele.AccountNumber,\r\n SortCode: ele.BankCodes.BankCode + ele.BankCodes.BranchCode + ele.BankCodes.ExtraCode,\r\n RollNumber: ele.RollNumber,\r\n NominatedForDirectDebit: ele.NominatedForDirectDebit,\r\n NominatedForWithdrawal: ele.NominatedForWithdrawal,\r\n Owner: ele.Owner,\r\n };\r\n requests.push(request);\r\n });\r\n Action.ExperianBankAcountCheck(requests);\r\n }\r\n };\r\n\r\n return <>;\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { boolParse, dateParser } from \"../../../Common/Review/ReviewParser\";\r\nexport interface CappedAndFlexiTableColumnsProps {\r\n Title: string;\r\n Key?: string;\r\n type?: ColumnType;\r\n}\r\nexport interface CappedAndFlexiTableProps {\r\n tableTitle: string;\r\n data?: any[];\r\n columnsType?: CappedAndFlexiTableColumnsProps[];\r\n}\r\n\r\nexport const enum ColumnType {\r\n PlainText = 0,\r\n Money = 1,\r\n Percentage = 2,\r\n DateTime = 3,\r\n bool = 4,\r\n}\r\nexport const CappedAndFlexiTableReview = (props: CappedAndFlexiTableProps): JSX.Element => {\r\n const getCellData = (type: ColumnType, value) => {\r\n switch (type) {\r\n case ColumnType.PlainText:\r\n return
;\r\n case ColumnType.Money:\r\n return ;\r\n case ColumnType.Percentage:\r\n return ;\r\n case ColumnType.bool:\r\n return ;\r\n case ColumnType.DateTime:\r\n return ;\r\n default:\r\n return ;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n

{props.tableTitle}

\r\n
{value}{MoneyDisplayHelper.FromatMoneyDisplay(value, CurrencyCode.GBP, true, 2)}{value + \"%\"}{boolParse(value)}{dateParser(value)}{value}
\r\n \r\n {props.columnsType.map((row, index) => {\r\n return (\r\n \r\n \r\n {props.data.map((item) => {\r\n return getCellData(row.type, item[row.Key]);\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n
{

{row.Title}

}
\r\n \r\n );\r\n};\r\n","import { ProcessComponent, IProcessComponentProps } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../../Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { ClientAccountStore } from \"../../../../../Stroes/Variable\";\r\nimport { AdviserContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\nimport { ExternalDocumentType } from \"../../../../../../../Wrap/Models/Domains/Documents/ExternalDocumentType\";\r\nimport { ExternalFundDocument } from \"../../../../../../../Wrap/Models/Models/Documents/InstructionDocuments/ExternalFundDocument\";\r\nimport * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\n\r\nexport interface ICashProductDeclarationsProps extends React.Props\r\n{\r\n instrumentCodes: Array;\r\n isCashDeclarationChecked: boolean;\r\n onCashDeclarationChanged: (newValue: boolean) => void;\r\n}\r\n\r\nexport interface ICashProductDeclarationsState\r\n{\r\n isTermsAndConditionsUrlLoading: boolean\r\n isPrivacyPolicyUrlLoading: boolean\r\n termsAndConditionsUrl: string;\r\n privacyPolicyUrl: string;\r\n}\r\n\r\nexport class CashProductDeclarations extends React.Component\r\n{\r\n constructor(props: ICashProductDeclarationsProps) {\r\n super(props);\r\n\r\n this.state =\r\n {\r\n isTermsAndConditionsUrlLoading: true,\r\n isPrivacyPolicyUrlLoading: true,\r\n termsAndConditionsUrl: null,\r\n privacyPolicyUrl: null\r\n };\r\n }\r\n\r\n public componentDidMount()\r\n {\r\n const client: ClientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n const company: string = client?.Company ||\r\n AdviserContextStoreStatic.getData()?.Company;\r\n\r\n this.getDocumentUrl(\r\n ExternalDocumentType.BondsmithTermsAndConditions,\r\n company,\r\n (result: ExternalFundDocument) =>\r\n {\r\n this.setState(\r\n {\r\n isTermsAndConditionsUrlLoading: false,\r\n termsAndConditionsUrl: result.Instruments[0].FinexDocumentUrl\r\n })\r\n });\r\n\r\n this.getDocumentUrl(\r\n ExternalDocumentType.BondsmithPrivacyPolicy,\r\n company,\r\n (result: ExternalFundDocument) =>\r\n {\r\n this.setState(\r\n {\r\n isPrivacyPolicyUrlLoading: false,\r\n privacyPolicyUrl: result.Instruments[0].FinexDocumentUrl\r\n })\r\n });\r\n }\r\n\r\n private getDocumentUrl(\r\n externalDocType: ExternalDocumentType, company: string,\r\n callback: (val: ExternalFundDocument) => void): void\r\n {\r\n InstructionDocumentTypeRequestTriggerActionsCreator.getExternalFundDocument(\r\n 0,\r\n \"\",\r\n company,\r\n externalDocType,\r\n [this.props.instrumentCodes[0]],\r\n callback);\r\n }\r\n\r\n public render(): JSX.Element\r\n {\r\n if (this.state.isTermsAndConditionsUrlLoading || this.state.isPrivacyPolicyUrlLoading)\r\n {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n

Cash deposits

\r\n

\r\n By ticking the box below, I confirm that\r\n

    \r\n
  • I have provided my client with Bondsmith’s End User \r\n \r\n terms and conditions\r\n and that my client agrees to be bound by them.
  • \r\n
  • I have advised my client of Bondsmith’s \r\n \r\n privacy notice\r\n .\r\n
  • \r\n
  • I have provided my client with the product information sheet(s) for the relevant cash deposit(s) and the FSCS information sheet.
  • \r\n
  • I will continue to provide my client with any relevant information required under applicable laws and regulations.
  • \r\n
  • My client meets the eligibility criteria set out in the Bondsmith End User terms and conditions. I will inform abrdn if this is no longer the case.
  • \r\n
\r\n

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

* Orders will remain pending until the KYB process is complete, and\r\n product selections may no longer be available at the time of completion.

\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PensionOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { ContributionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionBase\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { ChargeFromMap } from \"../../AdviserCharges/Resource/Contents\";\r\nimport { LessThanAge } from \"../../Helpers/PensionHelper\";\r\nimport { FrequencyArraysMap, FrequencyTypeArrays, SourceTypeMap } from \"../../Resource/Contents\";\r\nimport { CrystallizationPerContribution } from \"../../SIPP/DrawdownDetails/CrystallizationPerContribution\";\r\nimport {\r\n isCappedOrFlexIOrUFPLS,\r\n isRegualr,\r\n showBenefitTable,\r\n} from \"../../SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport {\r\n CrystallisationOptionsMap,\r\n DrawdownTypeOptionsMap,\r\n LTADetailHeading,\r\n PensionOptionMap,\r\n} from \"../../SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { bankAccountParseWithHolderName, boolParse, dateParser, prepareTypography } from \"../ReviewParser\";\r\n\r\ninterface IDrawdownReviewProps {\r\n data: PensionBase;\r\n process: ProcessType;\r\n colNum: number;\r\n onEditAction: () => void;\r\n isOpen?: boolean;\r\n showDrawdownPriceLock?: boolean;\r\n showAssetsToSell?: boolean;\r\n modelData: ContributionBase | ApplyModel;\r\n isImmediateLumpSum: boolean;\r\n hasEnhancedPensionProtection: boolean;\r\n}\r\n\r\nexport const DrawdownReview = (props: IDrawdownReviewProps) => {\r\n const { data, process, modelData, hasEnhancedPensionProtection } = props;\r\n const lessThan75 = LessThanAge(75, JsonDateParser.toDate(modelData.ClientDetails?.DateOfBirth));\r\n const drawdownConfig = () => {\r\n if (!data) {return [];}\r\n const drawdown = [];\r\n if (process == ProcessType.TakePensionBenefits) {\r\n drawdown.push(\r\n {\r\n title: \"Did you give financial advice?\",\r\n data: boolParse(data?.AdviceGiven),\r\n },\r\n {\r\n title:\r\n \"Does your client have pension, drawdown or annuity that started before 6 April 2006 that you have not informed us of previously?\",\r\n data: boolParse(data?.DrawdownModel?.PreADay),\r\n },\r\n {\r\n title: \"Pension option\",\r\n data: PensionOptionMap[data?.DrawdownModel?.PensionOption],\r\n }\r\n );\r\n }\r\n if (data?.DrawdownModel?.PensionOption != PensionOption.UFPLS) {\r\n drawdown.push({\r\n title: \"Drawdown type\",\r\n data: DrawdownTypeOptionsMap[data?.DrawdownModel?.DrawdownType],\r\n });\r\n }\r\n return drawdown;\r\n };\r\n\r\n const crystallisationDetailConfig = () => {\r\n if (!data) {return [];}\r\n const crystallisationDetails = data?.DrawdownModel?.CrystallisationDetails;\r\n return [\r\n {\r\n title: Crystallisation details,\r\n data: \" \",\r\n },\r\n {\r\n title: \"Uncrystallised value\",\r\n data: MoneyDisplayHelper.getMoneyFormat(crystallisationDetails?.UnCrystallisedValue),\r\n },\r\n {\r\n title: \"Value available to crystallise\",\r\n data: MoneyDisplayHelper.getMoneyFormat(crystallisationDetails?.AvailableToCrystallise),\r\n },\r\n {\r\n title: \"Available cash\",\r\n data: MoneyDisplayHelper.getMoneyFormat(crystallisationDetails?.AvailableCash),\r\n },\r\n {\r\n title: \"Crystallisation options\",\r\n data: CrystallisationOptionsMap[crystallisationDetails?.CrystallisationOption],\r\n },\r\n {\r\n title: \"Crystallisation amount\",\r\n data: MoneyDisplayHelper.getMoneyFormat(crystallisationDetails?.CrystallisationAmount),\r\n },\r\n ];\r\n };\r\n\r\n const regularCrystallisationDetailConfig = () => {\r\n if (!data) {return [];}\r\n const DrawdownModel = data?.DrawdownModel;\r\n return [\r\n {\r\n title: Regular crystallisation details,\r\n data: \" \",\r\n },\r\n {\r\n title: \"Regular crystallisation amount\",\r\n data: MoneyDisplayHelper.getMoneyFormat(DrawdownModel?.RegularCrystallisationDetails?.Amount),\r\n },\r\n {\r\n title: \"Specify a different initial crystallisation amount\",\r\n data: boolParse(DrawdownModel?.RegularCrystallisationDetails?.HasADifferentInitialAmount),\r\n },\r\n {\r\n title: \"Initial regular Crystallisation amount\",\r\n data: DrawdownModel?.RegularCrystallisationDetails?.HasADifferentInitialAmount\r\n ? MoneyDisplayHelper.getMoneyFormat(DrawdownModel?.RegularCrystallisationDetails?.InitialAmount)\r\n : null,\r\n },\r\n {\r\n title: \"Payment frequency\",\r\n data: FrequencyArraysMap[DrawdownModel?.RegularCrystallisationDetails?.Frequency],\r\n },\r\n {\r\n title: \"First payment date\",\r\n data: dateParser(DrawdownModel?.RegularCrystallisationDetails?.FirstPaymentDay),\r\n },\r\n ];\r\n };\r\n\r\n const ltaBreakdownDetailsConfig = () => {\r\n if (!data) {return [];}\r\n const DrawdownModel = data?.DrawdownModel;\r\n const LifetimeAllowance = DrawdownModel?.LifetimeAllowance;\r\n const LTADetails = [];\r\n LTADetails.push({\r\n title: LTA breakdown details,\r\n data: \" \",\r\n });\r\n if (lessThan75) {\r\n LTADetails.push(\r\n { title: LTADetailHeading.previousLTA, data: LifetimeAllowance?.SlaPreviouslyCrystallised + \"%\" },\r\n {\r\n title: LTADetailHeading.LTABefore2006,\r\n data: LifetimeAllowance?.SlaBenefitsPriorTo2006 + \"%\",\r\n }\r\n );\r\n }\r\n LTADetails.push({\r\n title: LTADetailHeading.otherLTA,\r\n data: DrawdownModel?.SlaUsedOffPlatform + \"%\",\r\n });\r\n if (lessThan75) {\r\n LTADetails.push({\r\n title: LTADetailHeading.availableLTA,\r\n data: MoneyDisplayHelper.getMoneyFormat(LifetimeAllowance?.AvailablePersonalAllowance),\r\n });\r\n }\r\n if (isCappedOrFlexIOrUFPLS(DrawdownModel) && lessThan75) {\r\n LTADetails.push(\r\n {\r\n title: LTADetailHeading.LTAByThisCrystallisation,\r\n data: LifetimeAllowance?.SlaUsedByProposedCrystallisation + \"%\",\r\n },\r\n {\r\n title: LTADetailHeading.LTAInTotal,\r\n data: LifetimeAllowance?.TotalSlaUsed + \"%\",\r\n },\r\n {\r\n title: LTADetailHeading.crystallisationAmountSubjectToLTAExcessCharge,\r\n data: MoneyDisplayHelper.getMoneyFormat(LifetimeAllowance?.ChargeableCrystallisationPortion),\r\n }\r\n );\r\n }\r\n if (isRegualr(DrawdownModel) && lessThan75) {\r\n LTADetails.push({ title: LTADetailHeading.estimateLTAForInitialCrystallisation, data: \"0.00%\" });\r\n LTADetails.push(\r\n { title: LTADetailHeading.estimateLTAPerRegularCrystallisation, data: \"0.00%\" },\r\n { title: LTADetailHeading.estimateAvailableLTAInAYear, data: \"0.00%\" },\r\n { title: LTADetailHeading.estimateLTAUsedInAYear, data: \"0.00%\" },\r\n { title: LTADetailHeading.estimateTotalLTAUsedInAYear, data: \"0.00%\" },\r\n {\r\n title: LTADetailHeading.estimatedChargeableCrystallisation,\r\n data: \"2.00%\",\r\n }\r\n );\r\n }\r\n return LTADetails;\r\n };\r\n\r\n const taxFreeLumpSumPaymentConfig = () => {\r\n if (!data) {return [];}\r\n const DrawdownModel = data?.DrawdownModel;\r\n const taxFreeLumpSum = [];\r\n taxFreeLumpSum.push({\r\n title: TFLS payment,\r\n data: \" \",\r\n });\r\n taxFreeLumpSum.push({\r\n title: \"Tax free lump sum payment\",\r\n data: MoneyDisplayHelper.getMoneyFormat(DrawdownModel?.CurrentPclsEntitlement),\r\n });\r\n if (showBenefitTable(DrawdownModel, lessThan75, hasEnhancedPensionProtection)) {\r\n taxFreeLumpSum.push({\r\n title: \"Gross excess benefits - Lump sum\",\r\n data: DrawdownModel?.GrossExcessBenefitLumpSum + \"%\",\r\n });\r\n taxFreeLumpSum.push({\r\n title: \"Gross excess benefits - Provide additional income\",\r\n data: DrawdownModel?.GrossExcessBenefitProvideAdditionalIncome + \"%\",\r\n });\r\n }\r\n return taxFreeLumpSum;\r\n };\r\n\r\n const adviserChargesConfig = () => {\r\n if (!data) {return [];}\r\n const DrawdownModel = data?.DrawdownModel;\r\n const adviserCharges = [];\r\n adviserCharges.push({\r\n title: Adviser charges,\r\n data: \" \",\r\n });\r\n if (\r\n DrawdownModel?.DrawdownType != DrawdownType.Regular &&\r\n DrawdownModel?.PensionOption != PensionOption.UFPLS\r\n ) {\r\n adviserCharges.push({\r\n title: \"Rate\",\r\n data:\r\n DrawdownModel?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.Type ===\r\n MoneyOrPercentageType.Money\r\n ? MoneyDisplayHelper.getMoneyFormat(\r\n DrawdownModel?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.Money\r\n )\r\n : DrawdownModel?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.Percentage + \"%\",\r\n });\r\n adviserCharges.push({\r\n title: \"Take the charge from - DIAC\",\r\n data: SourceTypeMap[DrawdownModel?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.SourceType],\r\n });\r\n }\r\n adviserCharges.push({\r\n title: \"Annual rate\",\r\n data: DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge\r\n ? DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge?.Type == MoneyOrPercentageType.Money\r\n ? MoneyDisplayHelper.getMoneyFormat(\r\n DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge?.Money\r\n )\r\n : DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge?.Percentage + \"%\"\r\n : null,\r\n });\r\n adviserCharges.push({\r\n title: \"Deduction frequency\",\r\n data: FrequencyArraysMap[DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge?.Frequency],\r\n });\r\n adviserCharges.push({\r\n title: \"Take the charge from - OAC\",\r\n data: ChargeFromMap[DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge?.SourceType],\r\n });\r\n return adviserCharges;\r\n };\r\n\r\n const drawdownPriceLockConfig = () => {\r\n if (!data) {return [];}\r\n const DrawdownModel = data?.DrawdownModel;\r\n const drawdownPriceLock = [];\r\n drawdownPriceLock.push({\r\n title: Drawdown price lock,\r\n data: \" \",\r\n });\r\n drawdownPriceLock.push({\r\n title: \"Do you want to apply the Drawdown Price Lock?\",\r\n data: boolParse(DrawdownModel?.DrawdownPriceLock),\r\n });\r\n if (DrawdownModel?.DrawdownPriceLock) {\r\n drawdownPriceLock.push({\r\n title: \"Drawdown price lock\",\r\n data: DrawdownModel?.DrawdownPriceLockPercentage,\r\n });\r\n }\r\n return drawdownPriceLock;\r\n };\r\n\r\n const assetsToSellConfig = () => {\r\n if (!data) {return [];}\r\n const DrawdownModel = data?.DrawdownModel;\r\n const assetsToSell = [];\r\n assetsToSell.push({\r\n title: Choose assets to sell,\r\n data: \" \",\r\n });\r\n assetsToSell.push({\r\n title: \"Choose asset selection method\",\r\n data: DrawdownModel?.IsAcrossAllAssets ? \"Proportionally across all assets\" : \"From specified assets\",\r\n });\r\n if (!DrawdownModel?.IsAcrossAllAssets) {\r\n for (const el of DrawdownModel?.PensionCommencementLumpSumAllocations) {\r\n const name = data?.PreRetirementInstrumentSelections?.Instruments?.find((selection) => {\r\n return selection?.Instrument.ProductId === el.ProductId;\r\n }).Instrument.Name;\r\n assetsToSell.push({\r\n title:
{name}
,\r\n data:
{el?.Percentage}%
,\r\n });\r\n }\r\n }\r\n return assetsToSell;\r\n };\r\n const bankAccountDetailsConfig = () => {\r\n if (!data) {return [];}\r\n const { IncomePaymentAllocations } = data?.DrawdownModel?.Income;\r\n if (!IncomePaymentAllocations) {return [];}\r\n const bankDetails = [];\r\n bankDetails.push({\r\n title: Bank account details,\r\n data: \" \",\r\n });\r\n IncomePaymentAllocations.map((bankAccount) => {\r\n bankDetails.push({\r\n title: \"Bank account\",\r\n data: bankAccountParseWithHolderName(\r\n bankAccount.BankAccountId,\r\n modelData?.AllBankAccounts || [],\r\n bankAccount.Destination\r\n ),\r\n });\r\n bankDetails.push({\r\n title: \"Portion of PCLS\",\r\n data: bankAccount.PclsAllocation + \"%\",\r\n });\r\n bankDetails.push({\r\n title: \"Proportion of income\",\r\n data: bankAccount.Allocation + \"%\",\r\n });\r\n });\r\n return bankDetails;\r\n };\r\n\r\n const title = process == ProcessType.TakePensionBenefits ? \"Pension benefit details\" : \"Drawdown details\";\r\n return (\r\n \r\n
\r\n \r\n
\r\n {data?.DrawdownModel?.DrawdownType === DrawdownType.Regular &&\r\n data?.DrawdownModel?.PensionOption != PensionOption.UFPLS ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n {props.isImmediateLumpSum && (\r\n {}}\r\n onRef={() => {}}\r\n modelData={data}\r\n />\r\n )}\r\n \r\n {props.showDrawdownPriceLock && (\r\n \r\n )}\r\n
\r\n {props.showAssetsToSell && (\r\n \r\n )}\r\n {data?.DrawdownModel?.PensionOption == PensionOption.UFPLS && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { prepareTypography } from \"../ReviewParser\";\r\nimport {\r\n MpaaQuestionText,\r\n AdviceGivenQuestionText,\r\n MoneyPurchaseAnnualAllowanceSourceArrayMap,\r\n} from \"../../Resource/Contents\";\r\nimport { StringHelper } from \"../../../../../../../react-core/Helpers/StringHelper\";\r\nexport interface FinancialAdviceReviewProps {\r\n data: any;\r\n disableEdit?: boolean;\r\n}\r\nexport class FinancialAdviceReview extends FormComponent {\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n
\r\n

Financial advice

\r\n Navigator.navigateToAndPreserveQueryParameters(this.paymentsInUrlConfig())\r\n }\r\n >\r\n \r\n Edit financial advice\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n private paymentsInUrlConfig = () => {\r\n return Urls.get().SPTPaymentsIn;\r\n };\r\n\r\n private singlePaymentConfig = () => {\r\n const { data } = this.props;\r\n const configs = [];\r\n\r\n configs.push({ title: AdviceGivenQuestionText, data: StringHelper.ConvertBooleanToString(data?.AdviceGiven) });\r\n\r\n if (data?.MoneyPurchaseAnnualAllowance != null) {\r\n const value =\r\n data?.MoneyPurchaseAnnualAllowance?.Triggered != null\r\n ? StringHelper.ConvertBooleanToString(data?.MoneyPurchaseAnnualAllowance?.Triggered)\r\n : \"Unknown\";\r\n configs.push({\r\n title: MpaaQuestionText,\r\n data: value,\r\n });\r\n if (data?.MoneyPurchaseAnnualAllowance?.Triggered == true) {\r\n configs.push({\r\n title: \"Effective date\",\r\n data: JsonDateParser.getFormatDate(data?.MoneyPurchaseAnnualAllowance?.DateTriggered, \"dd-MM-yyyy\"),\r\n });\r\n configs.push({\r\n title: \"Reason why\",\r\n data: MoneyPurchaseAnnualAllowanceSourceArrayMap[data?.MoneyPurchaseAnnualAllowance?.Source],\r\n });\r\n }\r\n }\r\n return configs;\r\n };\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { bankAccountParseWithHolderName, boolParse, dateParser, prepareTypography } from \"../ReviewParser\";\r\nimport { FrequencyArraysMap, quoteSippIncomePaymentDetailsLabels } from \"../../../NewQuoteWizard/Resource/Content\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { CappedAndFlexiTableReview, ColumnType } from \"./CappedAndFlexiTableReview\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { ContributionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionBase\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PensionArrangementType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { nbSippIncomePaymentDetailsLabels } from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CappedModel } from \"../../../../../../../Wrap/Models/Domains/Drawdown/CappedModel\";\r\nimport { FlexiModel } from \"../../../../../../../Wrap/Models/Domains/Drawdown/FlexiModel\";\r\nimport {\r\n calculateMaximumAvailablePerPayment,\r\n calculateMaximumGrossOneOffIncomePaymentWithStandardAlgorithm,\r\n calculateMaximumIncomePerPaymentWithStandardAlgorithm,\r\n calculateMaximumIncomePerPaymentWithTargetAlgorithm,\r\n calculateMaximumInitialIncomePayment,\r\n} from \"../../SIPP/IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\n\r\ninterface IIncomePaymentReviewProps {\r\n data: PensionBase;\r\n process: ProcessType;\r\n colNum: number;\r\n onEditAction: () => void;\r\n model: ContributionBase | ApplyModel;\r\n isOpen?: boolean;\r\n isITFC: boolean;\r\n}\r\n\r\nexport const IncomePaymentReview = (props: IIncomePaymentReviewProps) => {\r\n const { data, process, isITFC } = props;\r\n const columnsTypes = {\r\n CappedcolumnsType: [\r\n { Title: \"From\", Key: \"From\", type: ColumnType.PlainText },\r\n { Title: \"Amount\", Key: \"Amount\", type: ColumnType.Money },\r\n { Title: \"Type\", Key: \"Type\", type: ColumnType.PlainText },\r\n { Title: \"Taxable\", Key: \"Taxable\", type: ColumnType.bool },\r\n { Title: \"GAD Maximum\", Key: \"GADMaximum\", type: ColumnType.Money },\r\n { Title: \"Income taken to date\", Key: \"Incometakentodate\", type: ColumnType.Money },\r\n { Title: \"Last mandatory review\", Key: \"Lastmandatoryreview\", type: ColumnType.PlainText },\r\n {\r\n Title: \"Maximum Income Payment For Remainder Of Pension Year\",\r\n Key: \"MaximumIncomePaymentForRemainderOfPensionYear\",\r\n type: ColumnType.Money,\r\n },\r\n {\r\n Title: \"MaximumI ncome Payment For Future Pension Years\",\r\n Key: \"MaximumIncomePaymentForFuturePensionYears\",\r\n type: ColumnType.Money,\r\n },\r\n ],\r\n FlexicolumnsType: [\r\n { Title: \"From\", Key: \"From\", type: ColumnType.PlainText },\r\n { Title: \"Amount\", Key: \"Amount\", type: ColumnType.Money },\r\n { Title: \"Type\", Key: \"Type\", type: ColumnType.PlainText },\r\n { Title: \"Maximum Income Per Payment\", Key: \"MaximumIncomePerPayment\", type: ColumnType.Money },\r\n ],\r\n };\r\n\r\n const incomePaymentConfig = () => {\r\n if (!data) {return [];}\r\n const income =\r\n data?.DrawdownModel?.Income ||\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome;\r\n const incomePaymentConfig = [\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.targetSpecificArrangements,\r\n data: boolParse(income?.TargetSpecificArrangements),\r\n },\r\n ];\r\n if (income?.TargetSpecificArrangements == false) {\r\n if (\r\n data?.DrawdownModel?.DrawdownType != DrawdownType.Capped &&\r\n !data?.PensionTransfers?.find((transfer) => transfer.DrawdownType === DrawdownType.Capped)\r\n ) {\r\n incomePaymentConfig.push({\r\n title: quoteSippIncomePaymentDetailsLabels.takeDifferentInitialIncomePayment,\r\n data: boolParse(income?.TakeDifferentInitialIncomePayment),\r\n });\r\n if (income?.TakeDifferentInitialIncomePayment) {\r\n incomePaymentConfig.push(\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.maximumInitialIncomePayment,\r\n data: MoneyDisplayHelper.getMoneyFormat({\r\n Amount: calculateMaximumInitialIncomePayment(process, data, isITFC),\r\n }),\r\n },\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.grossInitialIncomePayment,\r\n data: MoneyDisplayHelper.getMoneyFormat(income?.GrossInitialIncomePayment),\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (income?.TargetSpecificArrangements == true) {\r\n incomePaymentConfig.push({\r\n title: quoteSippIncomePaymentDetailsLabels.maximumIncomePerPayment,\r\n data: MoneyDisplayHelper.getMoneyFormat({\r\n Amount: calculateMaximumIncomePerPaymentWithTargetAlgorithm(process, data, isITFC),\r\n }),\r\n });\r\n incomePaymentConfig.push({\r\n title: quoteSippIncomePaymentDetailsLabels.grossIncomePerPaymentFromPension,\r\n data: MoneyDisplayHelper.getMoneyFormat(income?.GrossIncomePerPaymentFromPension),\r\n });\r\n } else {\r\n incomePaymentConfig.push({\r\n title: quoteSippIncomePaymentDetailsLabels.maximumIncomePerPayment,\r\n data: MoneyDisplayHelper.getMoneyFormat({\r\n Amount: calculateMaximumIncomePerPaymentWithStandardAlgorithm(process, data, isITFC),\r\n }),\r\n });\r\n incomePaymentConfig.push({\r\n title: quoteSippIncomePaymentDetailsLabels.grossIncomePerPayment,\r\n data: MoneyDisplayHelper.getMoneyFormat(income?.GrossIncomePerPayment),\r\n });\r\n }\r\n\r\n incomePaymentConfig.push(\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.incomeFrequency,\r\n data: FrequencyArraysMap[income?.Frequency],\r\n },\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.firstPaymentDate,\r\n data: income?.NextPayment ? dateParser(income?.NextPayment) : null,\r\n },\r\n {\r\n title: \"End date\",\r\n data:\r\n income?.PaymentEnd === null\r\n ? nbSippIncomePaymentDetailsLabels.untilNotified\r\n : dateParser(income?.PaymentEnd),\r\n }\r\n );\r\n\r\n return incomePaymentConfig;\r\n };\r\n\r\n const oneoffPaymentConfig = () => {\r\n if (!data) {return [];}\r\n const oneOff =\r\n data?.DrawdownModel?.OneOffTaxableWithdrawalDetails ||\r\n data?.PensionTransfers[0]?.OneOffTaxableWithdrawalDetails;\r\n const oneOffPaymentConfig = [];\r\n if (oneOff != null && oneOff?.Amount?.Amount > 0) {\r\n oneOffPaymentConfig.push({\r\n title: One-off income payment,\r\n data: \" \",\r\n });\r\n // TODO - need split target & standard algorithm for maximum income payment\r\n oneOffPaymentConfig.push({\r\n title: quoteSippIncomePaymentDetailsLabels.maximumGrossOneOffIncomePayment,\r\n data: MoneyDisplayHelper.getMoneyFormat({\r\n Amount: calculateMaximumGrossOneOffIncomePaymentWithStandardAlgorithm(process, data, isITFC),\r\n }),\r\n });\r\n oneOffPaymentConfig.push({\r\n title: quoteSippIncomePaymentDetailsLabels.oneOffIncomePayment,\r\n data: MoneyDisplayHelper.getMoneyFormat(oneOff.Amount),\r\n });\r\n }\r\n return oneOffPaymentConfig;\r\n };\r\n\r\n const regularIncomePaymentConfig = () => {\r\n if (!data) {return [];}\r\n const income =\r\n data?.DrawdownModel?.Income ||\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome;\r\n const regularIncomePayment = [\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.taxableIncomeRequiredInAddition,\r\n data: boolParse(income?.TaxableIncomeRequiredInAddition),\r\n },\r\n ];\r\n if (income?.TaxableIncomeRequiredInAddition) {\r\n regularIncomePayment.push(\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.maximumAvailablePerPayment,\r\n data: MoneyDisplayHelper.getMoneyFormat({\r\n Amount: calculateMaximumAvailablePerPayment(process, data?.DrawdownModel),\r\n }),\r\n },\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.grossIncomePerPayment,\r\n data: MoneyDisplayHelper.getMoneyFormat(income?.GrossIncomePerPayment),\r\n },\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.incomeFrequency,\r\n data: FrequencyArraysMap[data?.DrawdownModel?.RegularCrystallisationDetails?.Frequency],\r\n },\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.firstPaymentDate,\r\n data: dateParser(data?.DrawdownModel?.RegularCrystallisationDetails?.FirstPaymentDay),\r\n },\r\n {\r\n title: quoteSippIncomePaymentDetailsLabels.endDate,\r\n data: income?.PaymentEnd ? dateParser(income?.PaymentEnd) : null,\r\n }\r\n );\r\n }\r\n return regularIncomePayment;\r\n };\r\n\r\n const assetsToSellConfig = () => {\r\n if (!data) {return [];}\r\n const DrawdownModel = data?.DrawdownModel;\r\n const assetsToSell = [];\r\n assetsToSell.push({\r\n title: Choose assets to sell,\r\n data: \" \",\r\n });\r\n assetsToSell.push({\r\n title: \"Choose asset selection method\",\r\n data: DrawdownModel?.IncomeDisinvestmentAllocations?.length\r\n ? \"From specified assets\"\r\n : \"Proportionally across all assets\",\r\n });\r\n\r\n if (DrawdownModel?.IncomeDisinvestmentAllocations?.length) {\r\n for (const el of DrawdownModel?.IncomeDisinvestmentAllocations) {\r\n const name = data?.PreRetirementInstrumentSelections?.Instruments?.find((selection) => {\r\n return selection?.Instrument.ProductId === el.ProductId;\r\n }).Instrument.Name;\r\n assetsToSell.push({\r\n title:
{name}
,\r\n data:
{el?.Percentage}%
,\r\n });\r\n }\r\n }\r\n return assetsToSell;\r\n };\r\n\r\n const bankAccountDetailsConfig = () => {\r\n if (!data) {return [];}\r\n const IncomePaymentAllocations = data?.DrawdownModel?.Income?.IncomePaymentAllocations;\r\n if (!IncomePaymentAllocations) {return [];}\r\n const bankDetails = [];\r\n bankDetails.push({\r\n title: Bank account details,\r\n data: \" \",\r\n });\r\n const backAccounts = [...props.model.AllBankAccounts, ...props.model.BankAccountInstructions];\r\n IncomePaymentAllocations.map((bankAccount) => {\r\n bankDetails.push({\r\n title: \"Bank account\",\r\n data: bankAccountParseWithHolderName(bankAccount.BankAccountId, backAccounts, bankAccount.Destination),\r\n });\r\n\r\n bankDetails.push({\r\n title: \"Portion of PCLS\",\r\n data: bankAccount.PclsAllocation + \"%\",\r\n });\r\n bankDetails.push({\r\n title: \"Proportion of income\",\r\n data: bankAccount.Allocation + \"%\",\r\n });\r\n });\r\n return bankDetails;\r\n };\r\n\r\n const getCappedModel = (): CappedModel[] => {\r\n const existingCappedModel = data?.DrawdownModel?.ExistingArrangements?.CappedModels || [];\r\n const drawdownCappedModel: CappedModel[] =\r\n data?.DrawdownModel?.DrawdownType == DrawdownType.Capped\r\n ? [\r\n {\r\n Type: \"Member\",\r\n From: nbSippIncomePaymentDetailsLabels.crystallisation,\r\n Amount: data?.DrawdownModel?.CrystallisationDetails?.CrystallisedValue?.Amount,\r\n Taxable: null,\r\n GadMaximum: data?.DrawdownModel?.GadRates?.GadMaximum,\r\n IncomeTakenToDate: data?.DrawdownModel?.Income?.CurrentYearIncome?.Amount,\r\n LastMandatoryReview: null,\r\n MaximumIncomePaymentForRemainderOfPensionYear: 20000,\r\n MaximumIncomePaymentForFuturePensionYears: 50000,\r\n },\r\n ]\r\n : [];\r\n const pensionTransferCapped: CappedModel[] = (data?.PensionTransfers || [])\r\n .filter(\r\n (ele) =>\r\n ele.DrawdownType == DrawdownType.Capped && ele.PensionSource == PensionArrangementType.Crystallised\r\n )\r\n .map((ele) => {\r\n return {\r\n Type: ele?.IsInheritedFund ? \"Inherited\" : \"Member\",\r\n From: ele?.ProviderDetails?.Name,\r\n Amount: ele?.CurrentValue?.Amount,\r\n Taxable: null,\r\n GadMaximum: ele?.IncomePaymentDetails?.GadMaximum?.Amount,\r\n IncomeTakenToDate: ele?.IncomePaymentDetails?.CurrentYearIncome?.Amount,\r\n LastMandatoryReview: ele?.IncomePaymentDetails?.LastGadReviewDate,\r\n MaximumIncomePaymentForRemainderOfPensionYear: 20000,\r\n MaximumIncomePaymentForFuturePensionYears: 50000,\r\n };\r\n });\r\n return drawdownCappedModel.concat(pensionTransferCapped, existingCappedModel);\r\n };\r\n\r\n const getFlexiModel = (): FlexiModel[] => {\r\n const existingCappedModel = data?.DrawdownModel?.ExistingArrangements?.FlexiModels || [];\r\n const drawdownCappedModel: FlexiModel[] =\r\n data?.DrawdownModel?.DrawdownType == DrawdownType.Flexible\r\n ? [\r\n {\r\n Type: \"Member\",\r\n From: nbSippIncomePaymentDetailsLabels.crystallisation,\r\n Amount: data?.DrawdownModel?.CrystallisationDetails?.CrystallisedValue?.Amount,\r\n MaximumIncomePerPayment: 2000,\r\n },\r\n ]\r\n : [];\r\n const pensionTransferCapped = (data?.PensionTransfers || [])\r\n .filter(\r\n (ele) =>\r\n ele.DrawdownType == DrawdownType.Flexible &&\r\n ele.PensionSource == PensionArrangementType.Crystallised\r\n )\r\n .map((ele) => {\r\n return {\r\n Type: ele?.IsInheritedFund ? \"Inherited\" : \"Member\",\r\n From: ele?.ProviderDetails?.Name,\r\n Amount: ele?.CurrentValue?.Amount,\r\n MaximumIncomePerPayment: 2000,\r\n };\r\n });\r\n return drawdownCappedModel.concat(pensionTransferCapped, existingCappedModel);\r\n };\r\n\r\n return (\r\n \r\n {data?.DrawdownModel?.DrawdownType == DrawdownType.Regular ? (\r\n
\r\n \r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n \r\n
\r\n )}\r\n {data?.DrawdownModel?.Income?.TargetSpecificArrangements && (\r\n
\r\n {getCappedModel().length > 0 && (\r\n \r\n )}\r\n {getFlexiModel().length > 0 && (\r\n \r\n )}\r\n
\r\n )}\r\n\r\n {process != ProcessType.Quote && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AllocationTable } from \"../../../../../../Shared/IST/Components/AllocationTable\";\r\nimport { initPensionInstrumentSelections } from \"../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport {\r\n distributionDividendPreferenceMap,\r\n distributionOptionsProcess,\r\n manageIncomeOptionsMap,\r\n ProcessType,\r\n} from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\n\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { DistributionDividendPreference } from \"../../../../../../../Wrap/Constants/Enums/Domain/DistributionDividendPreference\";\r\nimport { IReviewProps, prepareTypography } from \"../ReviewParser\";\r\nimport { NewQuoteAction } from \"../../../NewQuoteWizard/Actions/NewQuoteAction\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\n\r\ninterface IInvestmentReview extends IReviewProps {\r\n ownerHierarchyId?: number;\r\n serviceProposition?: ServiceProposition;\r\n}\r\nexport const InvestmentReview = (props: IInvestmentReview) => {\r\n const { data, colNum, extraInfo, process, subAccountType } = props;\r\n const [treasuredAssetProductIds, setTreasuredAssetProductIds] = React.useState([]);\r\n\r\n React.useEffect(() => {\r\n if (props.ownerHierarchyId) {\r\n Action.getInstructionTreasuredAssetsProductIds(props.ownerHierarchyId, (data) => {\r\n setTreasuredAssetProductIds(data);\r\n });\r\n }\r\n }, [props.ownerHierarchyId]);\r\n\r\n const navigate = () => {\r\n if (process == ProcessType.NB) {\r\n Navigator.navigateToAndPreserveQueryParameters(investmentUrlConfig());\r\n } else if (process == ProcessType.Quote) {\r\n investmentUrlConfigForNewQuote();\r\n } else if (process == ProcessType.SinglePayment) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().SPTist);\r\n } else if (process == ProcessType.TopUpWithITFLS) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().TopUpWithITFLSIST);\r\n }else if (process == ProcessType.AddRegular || ProcessType.EditRegular) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().RegularPaymentIst);\r\n }\r\n };\r\n\r\n const investmentUrlConfig = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.InvestmentAccount:\r\n return Urls.get().NBInvestmentSelectionPP;\r\n case SubAccountType.StocksIsa:\r\n return Urls.get().NBInvestmentSelectionISA;\r\n case SubAccountType.Pension:\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n return Urls.get().NBInvestmentSelectionSIPP;\r\n default:\r\n break;\r\n }\r\n };\r\n const investmentUrlConfigForNewQuote = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.InvestmentAccount:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteInvestmentSelectionPP);\r\n case SubAccountType.StocksIsa:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteInvestmentSelectionISA);\r\n case SubAccountType.Pension:\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteInvestmentSelectionSIPP);\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n let instrumentSelection = data?.InstrumentSelections?.Instruments;\r\n if (SubAccountTypeHelper.isOnPlatformPension(subAccountType)) {\r\n const preRetirement = data?.PreRetirementInstrumentSelections?.Instruments || [];\r\n const postRetirement = data?.PostRetirementInstrumentSelections?.Instruments || [];\r\n instrumentSelection = initPensionInstrumentSelections(preRetirement, postRetirement);\r\n }\r\n\r\n const bankAccountParse = (bankAccountId: number, bankAccountInstructions: any) => {\r\n const bankAccountList = bankAccountInstructions || [];\r\n if (bankAccountList.length == 0 || !bankAccountId) {\r\n return;\r\n }\r\n const bankAccount = bankAccountList.find((ele) => ele.Id == bankAccountId);\r\n return (\r\n
\r\n \r\n {bankAccount?.AccountNumber +\r\n \" \" +\r\n bankAccount?.BankCodes.BankCode +\r\n \"-\" +\r\n bankAccount?.BankCodes.BranchCode +\r\n \"-\" +\r\n bankAccount?.BankCodes.ExtraCode}\r\n \r\n
\r\n );\r\n };\r\n\r\n const distributionOptionsConfig = () => {\r\n const config = [];\r\n if (\r\n data.DistributionDividendOptions &&\r\n data.DistributionDividendOptions.DistributionDividendPreference !=\r\n DistributionDividendPreference.NotSpecified\r\n ) {\r\n config.push({\r\n title: \"Distribution options\",\r\n data: (\r\n <>\r\n \r\n {SubAccountTypeHelper.isOnPlatformPension(subAccountType)\r\n ? manageIncomeOptionsMap[\r\n data.DistributionDividendOptions.DistributionDividendPreference\r\n ]\r\n : data.DistributionDividendOptions.DistributionDividendPreference ==\r\n DistributionDividendPreference.ProductCash\r\n ? `Leave as cash in ${SubAccountTypeHelper.isIsa(subAccountType) ? \"ISA\" : \"PP\"}`\r\n : distributionDividendPreferenceMap[\r\n data.DistributionDividendOptions.DistributionDividendPreference\r\n ]}\r\n \r\n {data.DistributionDividendOptions.DistributionDividendPreference ==\r\n DistributionDividendPreference.BankAccount && (\r\n <>\r\n
\r\n \r\n {bankAccountParse(\r\n data.DistributionDividendOptions.BankAccountId,\r\n extraInfo.BankAccountInstructions\r\n )}\r\n \r\n \r\n )}\r\n \r\n ),\r\n });\r\n }\r\n return config;\r\n };\r\n\r\n return (\r\n (props.onEditAction ? props.onEditAction() : navigate())}\r\n >\r\n
\r\n {}}\r\n product={subAccountType}\r\n type={process}\r\n modelData={data}\r\n data={instrumentSelection}\r\n onChange={() => {}}\r\n onToggle={() => {}}\r\n isAssetClass={false}\r\n readonly={true}\r\n cssWrapper=\"no-sided-padding no-borders bg-default\"\r\n treasuredAssetsProductIds={treasuredAssetProductIds || []}\r\n accountServiceProposition={props.serviceProposition}\r\n />\r\n {distributionOptionsProcess.includes(process) && (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { IReviewProps, moneyParse } from \"../ReviewParser\";\r\n\r\nexport const OneOffWithdrawalReview = (props: IReviewProps) => {\r\n const { data, onEditAction } = props;\r\n\r\n const config = () => {\r\n if (!data) {return [];}\r\n const config = [\r\n {\r\n title: \"One off withdrawal\",\r\n data: moneyParse(data?.OneOffWithdrawal?.Amount.Amount),\r\n },\r\n ];\r\n return config;\r\n };\r\n\r\n return (\r\n onEditAction()}>\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { BatchType } from \"../../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { batchTypeArraysMap, OrderFrequencyArraysMap } from \"../../Resource/Contents\";\r\nimport { dateParser, IReviewProps } from \"../ReviewParser\";\r\n\r\nexport const OrderSetupReview = (props: IReviewProps) => {\r\n const { data } = props;\r\n\r\n const checkNone = (config) => {\r\n return typeof config.data != \"boolean\";\r\n };\r\n const orderSetupConfig = () => {\r\n if (!data) {return [];}\r\n const config = [\r\n {\r\n title: \"Batch ID\",\r\n data: data?.BatchId,\r\n },\r\n {\r\n title: \"Batch type\",\r\n data: batchTypeArraysMap[data?.BatchType],\r\n },\r\n data?.OrderType == BatchType.OneOff && {\r\n title: \"Action date\",\r\n data: dateParser(data?.ActionDate),\r\n },\r\n data?.OrderType == BatchType.Standing && {\r\n title: \"Start date\",\r\n data: dateParser(data?.StartDate),\r\n },\r\n data?.OrderType == BatchType.Standing && {\r\n title: \"Frequency\",\r\n data: OrderFrequencyArraysMap[data?.Frequency],\r\n },\r\n data?.OrderType == BatchType.Standing &&\r\n data?.ContinueUntilDate && {\r\n title: \"Continue\",\r\n data: dateParser(data?.UntilDate),\r\n },\r\n data?.OrderType == BatchType.Standing &&\r\n !data?.ContinueUntilDate && {\r\n title: \"Continue\",\r\n data: \"Until notified\",\r\n },\r\n ];\r\n return config.filter(checkNone);\r\n };\r\n\r\n return ;\r\n};\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { SourceOfWealthOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/SourceOfWealthOption\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport {\r\n CedingTypeMap,\r\n SourceOfWealthArraryMap,\r\n ThirdPartyTypeArrayMap,\r\n TransferTypeMap,\r\n} from \"../../../NewBusinessWizard/Resource/Contents\";\r\nimport {\r\n depositMethodArraysMap,\r\n DpcQuestionText,\r\n PaymentType,\r\n regularDepositMethodArraysMap,\r\n TransferInModelMap,\r\n} from \"../../Resource/Contents\";\r\nimport {\r\n boolParse,\r\n moneyParse,\r\n regularPaymentParse,\r\n singlePaymentParse,\r\n transferInParse,\r\n bankAccountParse,\r\n pensionArrangementTypeParse,\r\n IReviewProps,\r\n} from \"../ReviewParser\";\r\nimport { NewQuoteAction } from \"../../../NewQuoteWizard/Actions/NewQuoteAction\";\r\nimport { SubAccountTypeHelper } from \"../../Helpers/SubAccountTypeHelper\";\r\nimport { QuoteAndApplyBaseModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/QuoteAndApplyBaseModel\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { getMoneyFormat } from \"../../../NewQuoteWizard/Components/Shared/Utils\";\r\nimport { ThirdPartyPaymentModel } from \"../../../../../../../Wrap/Models/Models/Shared/ThirdPartyPaymentModel\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\n\r\nexport const PaymentsInReview = (props: IReviewProps) => {\r\n const { data, extraInfo, subAccountType, process } = props;\r\n\r\n const singlePaymentTypeConfig = (paymentData: any, paymentType: PaymentType) => {\r\n if (!paymentData) {return false;}\r\n return { title: `${paymentType} single payment`, data: singlePaymentParse(paymentData, subAccountType) };\r\n };\r\n\r\n const bankAccountConfig = (bankAccountNumber: any) => {\r\n if (!bankAccountNumber) {return false;}\r\n\r\n return { title: \"Bank account\", data: bankAccountParse(bankAccountNumber, extraInfo) };\r\n };\r\n\r\n const paymentMethodConfig = (paymentMethod: any, isRegular: boolean) => {\r\n if (!paymentMethod) {return false;}\r\n return {\r\n title: \"Payment method\",\r\n data: isRegular ? regularDepositMethodArraysMap[paymentMethod] : depositMethodArraysMap[paymentMethod],\r\n };\r\n };\r\n\r\n const paymentStartConfig = (model: any) => {\r\n if (!model) {return false;}\r\n return {\r\n title: \"Collection starts\",\r\n data: JsonDateParser.getFormatDateString(\r\n new Date(model?.RegularBuyId ? model?.NextPaymentDate : model?.FirstCollectionDate),\r\n \"dd MM yyyy\",\r\n true\r\n ),\r\n };\r\n };\r\n\r\n const regularPaymentTypeConfig = (paymentData: any, paymentType: PaymentType) => {\r\n if (!paymentData) {return false;}\r\n return { title: `${paymentType} regular payment`, data: regularPaymentParse(paymentData, subAccountType) };\r\n };\r\n\r\n const ThirdPartyConfig = (thirdPartyPaymentModel: ThirdPartyPaymentModel) => {\r\n if (!thirdPartyPaymentModel) {return false;}\r\n return [\r\n { title: \"Third Party Type\", data: ThirdPartyTypeArrayMap[thirdPartyPaymentModel.Type] },\r\n {\r\n title: \"Client Name\",\r\n data: `${TitleMap.getString(thirdPartyPaymentModel.Title)} ${thirdPartyPaymentModel.FirstName} ${\r\n thirdPartyPaymentModel.LastName\r\n }`,\r\n },\r\n {\r\n title: \"Date Of Birth\",\r\n data: JsonDateParser.getFormatDate(thirdPartyPaymentModel.DateOfBirth, \"dd/MM/yyyy\"),\r\n },\r\n { title: \"Address Line 1\", data: thirdPartyPaymentModel.Address?.Line1 },\r\n { title: \"Address Line 2\", data: thirdPartyPaymentModel.Address?.Line2 },\r\n { title: \"Address Line 3\", data: thirdPartyPaymentModel.Address?.Line3 },\r\n { title: \"Address Line 4\", data: thirdPartyPaymentModel.Address?.Line4 },\r\n { title: \"PostCode\", data: thirdPartyPaymentModel.Address?.Postcode },\r\n ];\r\n };\r\n\r\n const isAssumedShow = (): boolean => {\r\n if (process != ProcessType.Quote || !extraInfo) {return false;}\r\n switch (subAccountType) {\r\n case SubAccountType.Npr:\r\n case SubAccountType.Sipp:\r\n return true;\r\n case SubAccountType.StocksIsa:\r\n return !(extraInfo as QuoteAndApplyBaseModel).SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n\r\n case SubAccountType.InvestmentAccount:\r\n return (\r\n !(extraInfo as QuoteAndApplyBaseModel).SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n ) &&\r\n !(extraInfo as QuoteAndApplyBaseModel).SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isIsa(ele.SubAccountType)\r\n )\r\n );\r\n default:\r\n return false;\r\n }\r\n };\r\n const getRetireAge = (model: QuoteAndApplyBaseModel): string => {\r\n const birthday = JsonDateParser.toDateNoOffset(model?.ClientDetails?.DateOfBirth);\r\n const plannedRetirementDate = JsonDateParser.toDateNoOffset(model?.AnnuityAssumptions?.PlannedRetirementDate);\r\n return plannedRetirementDate\r\n ? (plannedRetirementDate.getFullYear() - birthday.getFullYear()).toString()\r\n : \"None\";\r\n };\r\n\r\n const getAssumeAmount = (model: QuoteAndApplyBaseModel): string => {\r\n const Assumed = model?.AssumedHoldings;\r\n\r\n return Assumed == null ? \"None\" : moneyParse(model?.AssumedHoldings?.Amount);\r\n };\r\n\r\n const paymentsInfoConfig = (model: QuoteAndApplyBaseModel) => {\r\n if (!extraInfo) {return [];}\r\n const config = [\r\n process != ProcessType.SinglePayment &&\r\n process != ProcessType.TopUpWithITFLS &&\r\n SubAccountTypeHelper.isOnPlatformPension(subAccountType) && {\r\n title: \"Selected retirement\",\r\n data: getRetireAge(model),\r\n },\r\n isAssumedShow() && {\r\n title: \"Assumed other holdings\",\r\n data: getAssumeAmount(model),\r\n },\r\n ];\r\n return config.filter(Boolean);\r\n };\r\n\r\n const singlePaymentConfig = () => {\r\n let config = [];\r\n config.push(singlePaymentTypeConfig(data.ClientSinglePayment, PaymentType.Client));\r\n if (shouldDisplaySinglePaymentDetail()) {\r\n config.push(paymentMethodConfig(data.ClientSinglePayment?.PaymentMethod, false));\r\n config.push(bankAccountConfig(data.ClientSinglePayment?.BankAccountNumber));\r\n }\r\n\r\n config.push(singlePaymentTypeConfig(data.ThirdPartySinglePayment, PaymentType.ThirdParty));\r\n if (shouldDisplaySinglePaymentDetail()) {\r\n config.push(paymentMethodConfig(data.ThirdPartySinglePayment?.PaymentMethod, false));\r\n config.push(bankAccountConfig(data.ThirdPartySinglePayment?.BankAccountNumber));\r\n config = config.concat(ThirdPartyConfig(data.ThirdPartySinglePayment));\r\n }\r\n\r\n config.push(singlePaymentTypeConfig(data.EmployerSinglePayment, PaymentType.Employer));\r\n if (shouldDisplaySinglePaymentDetail()) {\r\n config.push(paymentMethodConfig(data.EmployerSinglePayment?.PaymentMethod, false));\r\n config.push(bankAccountConfig(data.EmployerSinglePayment?.BankAccountNumber));\r\n }\r\n\r\n return config.filter(Boolean);\r\n };\r\n\r\n const regularPaymentConfig = () => {\r\n let config = [];\r\n config.push(regularPaymentTypeConfig(data.ClientRegularPayment, PaymentType.Client));\r\n if (shouldDisplayRegularPaymentDetail()) {\r\n config.push(paymentStartConfig(data?.ClientRegularPayment));\r\n config.push(paymentMethodConfig(data.ClientRegularPayment?.RegularPaymentMethod, true));\r\n config.push(bankAccountConfig(data.ClientRegularPayment?.BankAccountNumber));\r\n }\r\n\r\n config.push(regularPaymentTypeConfig(data.ThirdPartyRegularPayment, PaymentType.ThirdParty));\r\n if (shouldDisplayRegularPaymentDetail()) {\r\n config.push(paymentStartConfig(data?.ThirdPartyRegularPayment));\r\n config.push(paymentMethodConfig(data.ThirdPartyRegularPayment?.RegularPaymentMethod, true));\r\n config.push(bankAccountConfig(data.ThirdPartyRegularPayment?.BankAccountNumber));\r\n config = config.concat(ThirdPartyConfig(data.ThirdPartyRegularPayment));\r\n }\r\n\r\n config.push(regularPaymentTypeConfig(data.EmployerRegularPayment, PaymentType.Employer));\r\n if (shouldDisplayRegularPaymentDetail()) {\r\n config.push(paymentStartConfig(data?.EmployerRegularPayment));\r\n config.push(paymentMethodConfig(data.EmployerRegularPayment?.RegularPaymentMethod, true));\r\n config.push(bankAccountConfig(data.EmployerRegularPayment?.BankAccountNumber));\r\n }\r\n\r\n return config.filter(Boolean);\r\n };\r\n\r\n const shouldDisplaySinglePaymentDetail = () => {\r\n return (\r\n process == ProcessType.NB || process == ProcessType.SinglePayment || process == ProcessType.TopUpWithITFLS\r\n );\r\n };\r\n\r\n const shouldDisplayRegularPaymentDetail = () => {\r\n return process == ProcessType.NB || process == ProcessType.EditRegular || process == ProcessType.AddRegular;\r\n };\r\n\r\n const transferInConfig = () => {\r\n const config = [];\r\n const addExtraInfo =\r\n shouldDisplaySinglePaymentDetail() && SubAccountTypeHelper.isOnPlatformPension(subAccountType);\r\n const transferInArr = transferInParse(data, subAccountType);\r\n const transferins = data[TransferInModelMap[subAccountType]];\r\n !isNullOrEmpty(transferInArr) &&\r\n transferInArr.map((ele, index) => {\r\n const transferin = transferins[index];\r\n if (process == ProcessType.TopUpWithITFLS) {\r\n const transferin = data[TransferInModelMap[subAccountType]];\r\n transferin.map((ele, index) => {\r\n config.push({ title: \"Transfer In \" + (index + 1), data: \" \" });\r\n\r\n config.push({\r\n title: \"Pension source\",\r\n data: pensionArrangementTypeParse(ele?.PensionSource),\r\n });\r\n\r\n config.push({\r\n title: \"Ceding scheme\",\r\n data: ele.ProviderDetails?.Name,\r\n });\r\n config.push({\r\n title: \"Ceding type\",\r\n data: CedingTypeMap[ele.PensionDetails?.ExternalPensionSchemeType],\r\n });\r\n config.push({\r\n title: \"Block transfer\",\r\n data: boolParse(ele.Protection?.BlockTransferProtection?.HasProtection),\r\n });\r\n config.push({\r\n title: \"Dependant's drawdown\",\r\n data: boolParse(ele?.PensionDetails?.IsDependentsPension),\r\n });\r\n config.push({\r\n title: \"Account number\",\r\n data: ele.AccountOrPlanNumber,\r\n });\r\n config.push({\r\n title: \"Transfer type\",\r\n data: TransferTypeMap[ele.TransferType],\r\n });\r\n config.push({\r\n title: \"Current value\",\r\n data: getMoneyFormat(ele.CurrentValue.Amount),\r\n });\r\n config.push({\r\n title: \"Full or partial transfer\",\r\n data: ele.FullTransfer ? \"Full\" : \"Partial\",\r\n });\r\n });\r\n } else {\r\n config.push({ title: \"Transfer In \" + (index + 1), data: ele });\r\n if (addExtraInfo) {\r\n config.push({\r\n title: \"Pension source\",\r\n data: pensionArrangementTypeParse(transferin?.PensionSource),\r\n });\r\n config.push({\r\n title: \"Dependant's pension\",\r\n data: boolParse(transferin?.PensionDetails?.IsDependentsPension),\r\n });\r\n config.push({\r\n title: DpcQuestionText,\r\n data: boolParse(transferin?.PensionDetails?.IsDisqualifyingPensionCredits),\r\n });\r\n }\r\n }\r\n });\r\n return config;\r\n };\r\n\r\n const extraInfoConfig = () => {\r\n const config = [];\r\n if (!extraInfo) {return config;}\r\n if (process == ProcessType.NB && SubAccountTypeHelper.isOnPlatformPension(subAccountType)) {\r\n config.push({\r\n title: \"Source of wealth\",\r\n data: SourceOfWealthArraryMap[data?.SourceOfWealth?.SourceOfWealthOption],\r\n });\r\n if (data?.SourceOfWealth?.SourceOfWealthOption == SourceOfWealthOption.Other) {\r\n config.push({\r\n title: \"Other Source of wealth\",\r\n data: data.SourceOfWealth.OtherSourceOfWealth,\r\n });\r\n }\r\n }\r\n return config;\r\n };\r\n\r\n const navigate = () => {\r\n if (process == ProcessType.NB) {\r\n Navigator.navigateToAndPreserveQueryParameters(paymentsInUrlConfig());\r\n } else if (process == ProcessType.Quote) {\r\n paymentsInUrlConfigForNewQuote();\r\n } else if (process == ProcessType.SinglePayment) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().SPTPaymentsIn);\r\n } else if (process == ProcessType.TopUpWithITFLS) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().TopUpWithITFLSPaymentsIn);\r\n } else if (process == ProcessType.AddRegular || ProcessType.EditRegular) {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().RegularPaymentsIn);\r\n }\r\n };\r\n\r\n const paymentsInUrlConfigForNewQuote = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.InvestmentAccount:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuotePaymentsInPP);\r\n case SubAccountType.StocksIsa:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuotePaymentsInISA);\r\n case SubAccountType.Pension:\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuotePaymentsInSIPP);\r\n default:\r\n break;\r\n }\r\n };\r\n const paymentsInUrlConfig = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.InvestmentAccount:\r\n return Urls.get().NBPaymentsInPP;\r\n case SubAccountType.WrapCash:\r\n return Urls.get().NBPaymentsInWrapCash;\r\n case SubAccountType.StocksIsa:\r\n return Urls.get().NBPaymentsInISA;\r\n case SubAccountType.Pension:\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n return Urls.get().NBPaymentsInSIPP;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n (props.onEditAction ? props.onEditAction() : navigate())}\r\n >\r\n
\r\n \r\n \r\n {(shouldDisplayRegularPaymentDetail() || props.process == ProcessType.Quote) && (\r\n \r\n )}\r\n \r\n {SubAccountTypeHelper.isOnPlatformPension(subAccountType) && (\r\n \r\n )}\r\n
\r\n \r\n }\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { IReviewProps, withdralalParse } from \"../ReviewParser\";\r\nimport { NewQuoteAction } from \"../../../NewQuoteWizard/Actions/NewQuoteAction\";\r\n\r\nexport const WithDrawalReview = (props: IReviewProps) => {\r\n const { data, subAccountType, process, onEditAction } = props;\r\n\r\n const navigate = () => {\r\n if (process == ProcessType.NB) {\r\n Navigator.navigateToAndPreserveQueryParameters(withDrawalUrlConfig());\r\n } else if (process == ProcessType.Quote) {\r\n withDrawalUrlConfigForNewQuote();\r\n }\r\n };\r\n\r\n const withDrawalUrlConfigForNewQuote = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.InvestmentAccount:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteWithdrawalsPP);\r\n case SubAccountType.StocksIsa:\r\n return NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteWithdrawalsISA);\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const withDrawalUrlConfig = () => {\r\n switch (subAccountType) {\r\n case SubAccountType.InvestmentAccount:\r\n return Urls.get().NBWithdrawalsPP;\r\n case SubAccountType.StocksIsa:\r\n return Urls.get().NBWithdrawalsISA;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const withDrawalConfig = () => {\r\n if (!data) {return [];}\r\n const config = [];\r\n const regularWithdrawalArr = withdralalParse(data.RegularWithdrawalModel, process);\r\n regularWithdrawalArr.map((ele, index) => {\r\n config.push({ title: \"Withdrawal \" + (index + 1), data: ele });\r\n });\r\n return config;\r\n };\r\n\r\n return (\r\n (onEditAction ? onEditAction() : navigate())}\r\n >\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { FrequencyTypeMap } from \"../../../../Resoures/Contents\";\r\nimport * as React from \"react\";\r\nimport { getMoneyFormat } from \"../../NewQuoteWizard/Components/Shared/Utils\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionArrangementTypeArrayMap } from \"../../../../../Admin/Company/CompanyWizard/Resource/Content\";\r\nimport { ITypographyProps, Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { TransferInModelMap, WithdrawalMethodMap } from \"../Resource/Contents\";\r\nimport { TransferType } from \"../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { PensionArrangementType } from \"../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { RegularWithdrawalModel } from \"../../../../../../Wrap/Models/Models/Processes/RegularWithdrawal/RegularWithdrawalModel\";\r\nimport { CheckboxGroup } from \"../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { InvestmentAllocation } from \"../../../../../../Wrap/Models/Domains/Investment/InvestmentAllocation\";\r\nimport { MoneyOrPercentage } from \"../../../../../../Wrap/Models/Models/Shared/MoneyOrPercentage\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { SubAccountTypeHelper } from \"../Helpers/SubAccountTypeHelper\";\r\nimport { StringHelper } from \"../../../../../../react-core/Helpers/StringHelper\";\r\nimport { BankAccountInstruction } from \"../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { ContributionBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionBase\";\r\nimport { ApplyModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { IncomePaymentDestination } from \"../../../../../../Wrap/Constants/Enums/Domain/IncomePaymentDestination\";\r\nimport { incomePaymentDetailsLabels } from \"../SIPP/IncomePaymentDetails/Resource/Content\";\r\nimport { ClientDetails } from \"../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { RegularPaymentAdviceCharge } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/RegularPaymentAdviceCharge\";\r\nimport { Gender } from \"../../../../../../Wrap/Constants/Enums/Domain/Gender\";\r\nimport { TitleMap } from \"../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { ContinueUntil } from \"../../NewBusinessWizard/Resource/Contents\";\r\n\r\n//PaymentsIn\r\nexport const singlePaymentParse = (model: any, subAccountType: SubAccountType) => {\r\n if (!model) {return handleNull();}\r\n return (\r\n <>\r\n {getMoneyFormat(model.Money.Amount)}\r\n
\r\n {model.TaxRelief && SubAccountTypeHelper.isOnPlatformPension(subAccountType) && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n (model?.Money?.Amount || 0) * 1.25,\r\n model?.Money?.CurrencyCode || CurrencyCode.GBP\r\n ) + \" including tax relief(gross)\"}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport const regularPaymentParse = (model: any, subAccountType: SubAccountType) => {\r\n if (!model) {return handleNull();}\r\n const moneyAndFrnquency = moneyOrfrenquencyParse(model);\r\n const firstCollectionDate = dateParser(model.FirstCollectionDate);\r\n return (\r\n <>\r\n \r\n {firstCollectionDate}\r\n {moneyAndFrnquency}\r\n {model.ContinueUntil != null ? `Until date ${dateParser(model.ContinueUntil)}` : `Until notified`}\r\n
\r\n
\r\n
\r\n {model.TaxRelief && SubAccountTypeHelper.isOnPlatformPension(subAccountType) && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n (model?.Money?.Amount || 0) * 1.25,\r\n model?.Money?.CurrencyCode || CurrencyCode.GBP\r\n ) + \" including tax relief(gross)\"}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport const transferInParse = (model: any, subAccountType: SubAccountType): Array => {\r\n const transferModel = model[TransferInModelMap[subAccountType]];\r\n switch (subAccountType) {\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n return sippTransferInParse(transferModel);\r\n case SubAccountType.StocksIsa:\r\n return isaTransferInParse(transferModel);\r\n case SubAccountType.InvestmentAccount:\r\n return ppTransferInParse(transferModel);\r\n default:\r\n return [];\r\n }\r\n};\r\n\r\nconst sippTransferInParse = (transferModel: any) => {\r\n if (!transferModel) {return [];}\r\n const result = [];\r\n transferModel.map((ele) => {\r\n result.push(\r\n <>\r\n {PensionArrangementTypeArrayMap.optionsmap[ele.PensionSource]}\r\n
\r\n {!ele.CurrentValue.Amount ? (\r\n Re-register assets\r\n ) : (\r\n {getMoneyFormat(ele.CurrentValue.Amount)}\r\n )}\r\n
\r\n {ele.ProviderDetails?.Name}\r\n \r\n );\r\n });\r\n return result;\r\n};\r\n\r\nconst isaTransferInParse = (transferModel: any) => {\r\n if (!transferModel) {return [];}\r\n const result = [];\r\n transferModel.map((ele) => {\r\n result.push(\r\n <>\r\n {ele.TransferType == TransferType.Cash ? (\r\n <>\r\n Cash\r\n
\r\n {getMoneyFormat(ele.CurrentValue.Amount)}\r\n \r\n ) : (\r\n {\"S&S ISA\"}\r\n )}\r\n
\r\n {ele.ProviderDetails?.Name}\r\n \r\n );\r\n });\r\n return result;\r\n};\r\n\r\nconst ppTransferInParse = (transferModel: any) => {\r\n if (!transferModel) {return [];}\r\n const result = [];\r\n transferModel.map((ele) => {\r\n result.push(\r\n <>\r\n {ele.CurrentValue.Amount ? (\r\n {getMoneyFormat(ele.CurrentValue.Amount)}\r\n ) : (\r\n Re-register assets\r\n )}\r\n
\r\n {ele.ProviderDetails?.Name}\r\n \r\n );\r\n });\r\n return result;\r\n};\r\n\r\n//Advice Charge\r\nexport const adviserParse = (model: MoneyOrPercentage) => {\r\n const money = model?.Money.Amount ? getMoneyFormat(model.Money.Amount) : null;\r\n const percentage = model?.Percentage ? model.Percentage + \"%\" : null;\r\n if (!money && !percentage) {return false;}\r\n return (\r\n \r\n {model?.Type == MoneyOrPercentageType.Money ? money : percentage}\r\n
\r\n {model?.Frequency ? FrequencyTypeMap[model.Frequency] : \"\"}\r\n
\r\n );\r\n};\r\n\r\nexport const regularAdviceParse = (model: RegularPaymentAdviceCharge) => {\r\n const money = model?.AdviceCharge?.Money?.Amount ? getMoneyFormat(model.AdviceCharge.Money.Amount) : null;\r\n const percentage = model?.AdviceCharge?.Percentage ? model.AdviceCharge.Percentage + \"%\" : null;\r\n if (!money && !percentage) {return false;}\r\n return (\r\n \r\n {model.AdviceCharge.Type == MoneyOrPercentageType.Money ? money : percentage}\r\n
\r\n {model.Frequency ? FrequencyTypeMap[model.Frequency] : \"\"}\r\n
\r\n );\r\n};\r\n\r\nexport const ongoingAdviceParse = (model: MoneyOrPercentage) => {\r\n const money = model?.Money?.Amount ? getMoneyFormat(model.Money.Amount) : null;\r\n const percentage = model?.Percentage ? model.Percentage + \"%\" : null;\r\n if (!money && !percentage) {return false;}\r\n return (\r\n \r\n {model?.Type == MoneyOrPercentageType.Money ? money : percentage}\r\n
\r\n {model?.Frequency ? FrequencyTypeMap[model.Frequency] : \"\"}\r\n
\r\n );\r\n};\r\n\r\n//Withdrawals\r\nexport const withdralalParse = (model: RegularWithdrawalModel[], process: ProcessType): Array => {\r\n if (!model || model.length == 0) {\r\n return [];\r\n }\r\n return model.map((ele) => {\r\n return (\r\n <>\r\n Amount: {moneyOrPercentage(ele.ClientRegularPayment.Withdrawal)}\r\n
\r\n Frequency: {FrequencyTypeMap[ele.ClientRegularPayment.Withdrawal.Frequency]}\r\n
\r\n First withdrawal date: {dateParser(ele.ClientRegularPayment.FirstCollectionDate)}\r\n
\r\n Continue until: {ele.ClientRegularPayment.IsContinue ? ContinueUntil[0] : ContinueUntil[1]}\r\n
\r\n {!ele.ClientRegularPayment.IsContinue && (\r\n <>\r\n Continue - until date: {dateParser(ele.ClientRegularPayment.DeferredFromDate)}\r\n
\r\n \r\n )}\r\n {process == ProcessType.NB && (\r\n <>\r\n Withdrawal method: {WithdrawalMethodMap[ele.ClientRegularPayment.WithdrawalMethod]}\r\n
\r\n \r\n )}\r\n {ele.ProportionallyAllocated ? \"Proportionally across all assets\" : \"From specified\"}\r\n
\r\n {ele.ProportionallyAllocated === false && renderCheckboxGroup(ele.Allocations)}\r\n \r\n );\r\n });\r\n};\r\n\r\nexport const prepareTypography = (\r\n config,\r\n colNum,\r\n type: \"vertical\" | \"narrow\" | \"common\" | \"auto-width\" | \"wider\" = \"vertical\"\r\n): ITypographyProps => {\r\n return { type: type, config: config, colNum: colNum };\r\n};\r\n\r\nexport const pensionArrangementTypeParse = (pensionSource: any) => {\r\n return pensionSource === PensionArrangementType.Accumulation ? \"Pre-retirement\" : \"Post-retirement\";\r\n};\r\n\r\nexport const renderCheckboxGroup = (instruments: InvestmentAllocation[]) => {\r\n let dataArr = [];\r\n if (instruments && instruments.length > 0) {\r\n dataArr = instruments.map((ele) => {\r\n return {\r\n label: ele.Name,\r\n value: true,\r\n disabled: true,\r\n };\r\n });\r\n }\r\n return ;\r\n};\r\n\r\nexport const boolParse = (data: boolean) => {\r\n return StringHelper.ConvertBooleanToString(data);\r\n};\r\n\r\nexport const moneyParse = (data: number) => {\r\n return data ? getMoneyFormat(data) : \"None\";\r\n};\r\n\r\nexport const bankAccountParseWithHolderName = (\r\n bankAccountId: number,\r\n model: any[],\r\n destination: IncomePaymentDestination\r\n) => {\r\n const bankAccountDetail = model.find((x) => x.BankAccountId == bankAccountId || x.Id == bankAccountId);\r\n if (destination && destination == IncomePaymentDestination.WrapCash)\r\n {return {incomePaymentDetailsLabels.wrapCash};}\r\n return (\r\n
\r\n \r\n {bankAccountDetail.AccountNumber +\r\n \" \" +\r\n bankAccountDetail.BankCodes.BankCode +\r\n \"-\" +\r\n bankAccountDetail.BankCodes.BranchCode +\r\n \"-\" +\r\n bankAccountDetail.BankCodes.ExtraCode}\r\n \r\n
\r\n {bankAccountDetail.HolderName}\r\n
\r\n );\r\n};\r\n\r\nexport const bankAccountParseById = (bankAccountId: number, model: BankAccountInstruction[]) => {\r\n const bankAccountDetail = model.find((x) => x.Id == bankAccountId);\r\n\r\n return (\r\n
\r\n \r\n {bankAccountDetail.AccountNumber +\r\n \" \" +\r\n bankAccountDetail.BankCodes.BankCode +\r\n \"-\" +\r\n bankAccountDetail.BankCodes.BranchCode +\r\n \"-\" +\r\n bankAccountDetail.BankCodes.ExtraCode}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const bankAccountParse = (bankAccountNumber: string, model: ContributionBase | ApplyModel) => {\r\n if (bankAccountNumber == null) {\r\n return;\r\n }\r\n const bankAccountDetail =\r\n (model?.BankAccountInstructions || []).find((x) => x.AccountNumber == bankAccountNumber)?.BankCodes ||\r\n (model?.AllBankAccounts || []).find((x) => x.AccountNumber == bankAccountNumber)?.BankCodes;\r\n\r\n if (bankAccountDetail == null) {\r\n return;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {`${bankAccountNumber}​ ${bankAccountDetail.BankCode}​-${bankAccountDetail.BranchCode}​-${bankAccountDetail.ExtraCode}​`}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const dateParser = (model) => {\r\n return JsonDateParser.getFormatDateString(new Date(model), \"dd MM yyyy\", true);\r\n};\r\n\r\nexport const jointAccountParser = (first: ClientDetails, second: ClientDetails) => {\r\n const birthDate1 = dateParser(first.DateOfBirth);\r\n const birthDate2 = dateParser(second.DateOfBirth);\r\n const config1 = [\r\n {\r\n title: \"Title\",\r\n data: TitleMap.getString(first.Title),\r\n },\r\n {\r\n title: \"Name\",\r\n data: first.FirstName + \" \" + first.LastName,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: first.Gender == Gender.Female ? \"Female\" : \"Male\",\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: birthDate1,\r\n },\r\n ];\r\n const config2 = [\r\n {\r\n title: \"Title\",\r\n data: TitleMap.getString(second.Title),\r\n },\r\n {\r\n title: \"Name\",\r\n data: second.FirstName + \" \" + second.LastName,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: second.Gender == Gender.Female ? \"Female\" : \"Male\",\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: birthDate2,\r\n },\r\n ];\r\n return (\r\n <>\r\n

Joint account holder

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

Client 1

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

Client 2

\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst moneyOrfrenquencyParse = (model): JSX.Element => {\r\n return (\r\n
\r\n {getMoneyFormat(model.Money.Amount)}
{FrequencyTypeMap[model.Frequency]}\r\n
\r\n );\r\n};\r\n\r\nconst moneyOrPercentage = (data: MoneyOrPercentage) => {\r\n if (!data) {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(0, CurrencyCode.GBP);\r\n }\r\n\r\n if (data.Type == MoneyOrPercentageType.Money) {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data.Money?.Amount ? data.Money.Amount : 0, CurrencyCode.GBP);\r\n } else {\r\n return `${data.Percentage || 0}%`;\r\n }\r\n};\r\n\r\nconst handleNull = (): JSX.Element => {\r\n return None;\r\n};\r\n\r\nexport interface IReviewProps {\r\n data: any;\r\n subAccountType: SubAccountType;\r\n process: ProcessType;\r\n colNum: number;\r\n isOpen?: boolean;\r\n extraInfo?: ContributionBase | ApplyModel;\r\n onEditAction?: () => void;\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { DrawdownInstructionClient } from \"../../../../../../../../Wrap/Api/Drawdown/DrawdownInstruction\";\r\nimport { DrawdownRequestClient } from \"../../../../../../../../Wrap/Api/Drawdown/DrawdownRequest\";\r\nimport { ImmediateTaxFreeCashIncomeRequestClient } from \"../../../../../../../../Wrap/Api/Drawdown/ImmediateTaxFreeCashIncomeRequest\";\r\nimport { DrawdownModel } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { DrawdownCalculationStoreDispatcher } from \"../Store/Variable\";\r\n\r\nexport class DrawdownCalculationAction {\r\n public static doCalculate(callback?) {\r\n if (callback) {callback();}\r\n }\r\n\r\n public static postDrawdown(hiercharyId, model, callback, isTakePensionBenefitsWizard = false) {\r\n const client = new DrawdownInstructionClient();\r\n DrawdownCalculationStoreDispatcher.dispatch({ actionType: ActionType.Loading, payload: true });\r\n const promise = client.post(hiercharyId, model, isTakePensionBenefitsWizard);\r\n promise.onSuccess((result) => {\r\n DrawdownCalculationStoreDispatcher.dispatch({ actionType: ActionType.Loading, payload: false });\r\n callback(result.Result);\r\n });\r\n promise.onError((error) => {});\r\n }\r\n\r\n public static validateRequestId(requestId: number, drawdownModel: DrawdownModel, isITFC: boolean, callback) {\r\n const client = new DrawdownRequestClient();\r\n const promise = client.post(requestId, drawdownModel, isITFC);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n promise.onError((error) => {\r\n callback(error);\r\n });\r\n }\r\n\r\n public static validateITFCIncomeId(requestId: number, callback){\r\n const client = new ImmediateTaxFreeCashIncomeRequestClient();\r\n const promise = client.post(requestId);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n // TODO backend needs to finish handle error\r\n promise.onError((error) => {\r\n callback(error);\r\n })\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { PensionOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { BenefitCrystallisationEventTotal } from \"../../../../../../../Wrap/Models/Domains/Drawdown/BenefitCrystallisationEventTotal\";\r\nimport { PrimaryPclsUsage } from \"../../../../../../../Wrap/Models/Domains/Drawdown/PrimaryPclsUsage\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport AriaTooltip from \"../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { hasPrimaryProtection } from \"./Helper/DrawdownDetailHelper\";\r\nimport { TaxYear } from \"./TaxYear\";\r\n\r\ninterface IBceAndPclsTaxYearProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n pensionProtection: PensionProtectionDetails;\r\n process: ProcessType;\r\n}\r\n\r\ninterface IBceAndPclsTaxYearState {\r\n hasChanged: boolean;\r\n}\r\n\r\nexport class BceAndPclsTaxYear extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n hasChanged: false,\r\n };\r\n }\r\n\r\n private onTaxYearChange(v, index, field) {\r\n const _data = this.props.data[field].concat();\r\n if (v == -1) {\r\n _data.splice(index, 1);\r\n } else {\r\n for (const key in v) {\r\n _data[index][key] = v[key];\r\n }\r\n }\r\n if (field == \"BceOffPlatform\") {\r\n this.setState({ hasChanged: true });\r\n }\r\n this.props.onChange({ [field]: _data });\r\n }\r\n\r\n private renderTaxYear(data: PrimaryPclsUsage[] | BenefitCrystallisationEventTotal[], key) {\r\n const renderedYears = data.map((y) => y.Year);\r\n return data.map((ele, index) => {\r\n return (\r\n
\r\n this.onTaxYearChange(v, index, key)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n this.onTaxYearChange(-1, index, key)}\r\n />\r\n
\r\n );\r\n });\r\n }\r\n\r\n private showBce = (pensionProtection) => {\r\n if (this.props.data?.PensionOption != PensionOption.UFPLS) {return false;}\r\n return (\r\n hasPrimaryProtection(pensionProtection) ||\r\n (pensionProtection?.PensionEnhancedProtectionDetails &&\r\n !pensionProtection?.PensionEnhancedProtectionDetails.PclsEntitlement)\r\n );\r\n };\r\n\r\n private showPCLS = (data: DrawdownModel, pensionProtection) => {\r\n return hasPrimaryProtection(pensionProtection) && data?.PensionOption != PensionOption.UFPLS ? true : false;\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, pensionProtection } = this.props;\r\n\r\n return (\r\n <>\r\n {this.showPCLS(data, pensionProtection) && (\r\n <>\r\n {data?.OnPlatformPcls && data?.OnPlatformPcls.length > 0 && (\r\n <>\r\n
\r\n

Protected PCLS taken on platform to date per tax year

\r\n \r\n If the figures taken on platform are incorrect and you know the values for the\r\n relevant years, add the difference as an off platform amount in the\r\n corresponding year. If you are unsure whether the figures are correct, or have\r\n any other query on the figures, please contact the Admin team.\r\n \r\n
\r\n {\r\n return {\r\n title: `${ele.Year}/${ele.Year + 1}`,\r\n data: MoneyDisplayHelper.getMoneyFormat(ele.Amount),\r\n };\r\n })}\r\n type=\"common\"\r\n />\r\n \r\n )}\r\n
\r\n

Protected PCLS taken off platform to date per tax year

\r\n \r\n If the figures taken on platform are incorrect and you know the values for the relevant\r\n years, add the difference as an off platform amount in the corresponding year. If you\r\n are unsure whether the figures are correct, or have any other query on the figures,\r\n please contact the Admin team.\r\n \r\n
\r\n onChange({ OffPlatformPcls: v ? [{ Amount: null, Year: 2006 }] : null })}\r\n selected={data?.OffPlatformPcls && data?.OffPlatformPcls.length > 0 ? true : false}\r\n label=\"Has any protected PCLS been taken off platform since 2006 / 2007?\"\r\n getText={(o) => (o ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n />\r\n {data?.OffPlatformPcls && data.OffPlatformPcls.length > 0 && (\r\n <>\r\n {this.renderTaxYear(data.OffPlatformPcls, \"OffPlatformPcls\")}\r\n {\r\n const _data = this.props.data.OffPlatformPcls.concat();\r\n _data.push({ Amount: null, Year: null });\r\n this.props.onChange({ OffPlatformPcls: _data });\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n \r\n )}\r\n {this.showBce(pensionProtection) && (\r\n <>\r\n {data.BceOnPlatform && data.BceOnPlatform.length > 0 && (\r\n <>\r\n
\r\n

Benefit crystallisations performed on platform to date per tax year

\r\n \r\n

\r\n The 'Notional Value of Benefits from before 6 April 2006' for a pension\r\n scheme member is the total calculated for all of the pension schemes that\r\n fall into any of the categories shown below.\r\n

\r\n

\r\n It only includes a pension paid to the original member of the scheme. It\r\n does not include any form of survivor’s pension paid after the death of the\r\n original member.\r\n

\r\n

\r\n \r\n For any approved pension that came into payment before 6 April 2006 (and\r\n became a registered pension on 6 April 2006) that was providing either a\r\n scheme pension or a lifetime annuity at the first benefit\r\n crystallisation event (BCE) date (after 5 April 2006)\r\n \r\n

\r\n

\r\n If the member had not passed their 75th birthday at the BCE date, the\r\n notional value was 25 x the total gross annual amount of the scheme pension,\r\n or lifetime annuity, at the BCE date.\r\n

\r\n

\r\n \r\n For any approved pension that came into payment before 6 April 2006 (and\r\n became a registered pension on 6 April 2006) that was providing any form\r\n of drawdown at the first BCE date (after 5 April 2006)\r\n \r\n

\r\n

The following rules apply.

\r\n

\r\n \r\n 1) If the first BCE occurred in the period from 6 April 2006 to 5 April\r\n 2015 (inclusive), the member had not passed their 75th birthday at the\r\n BCE date and the pre-6 April 2006 pension was providing:\r\n \r\n

\r\n

\r\n a) capped drawdown (including nil income), the notional value was 25\r\n x the gross maximum annual capped drawdown income limit at the BCE date; and\r\n

\r\n

\r\n b) flexible drawdown (including nil income), the notional value was\r\n 25 x the maximum gross annual capped drawdown pension that would have been\r\n paid in the drawdown pension year in which the flexible drawdown declaration\r\n was accepted if that declaration had not been made.\r\n

\r\n

\r\n \r\n 2) If the first BCE occurred after 5 April 2015 and the client had not\r\n passed their 75th birthday at the BCE date and any approved pre-6 April\r\n 2015 pension was providing:\r\n \r\n

\r\n

\r\n a) capped drawdown (including nil income), the notional value was 80%\r\n x 25 x the gross capped drawdown maximum income limit at the BCE date; and\r\n

\r\n

\r\n \r\n b) capped drawdown (including nil income) at 5 April 2015, which became\r\n flexi-access drawdown on, or after, 6 April 2015,{\" \"}\r\n \r\n the notional value was 80% x 25 x the maximum gross annual capped drawdown\r\n pension that would have been paid in the drawdown pension year in which the\r\n capped drawdown fund was converted to a flexi-access fund if that conversion\r\n had not been made.\r\n

\r\n

\r\n \r\n c) flexible drawdown (including nil income) at 5 April 2015, which\r\n became flexi-access drawdown from 6 April 2015, and the flexible\r\n drawdown declaration was accepted in a drawdown pension year that began:\r\n \r\n

\r\n

\r\n i) before 27 March 2014, the notional value was 25 x the maximum\r\n gross annual capped drawdown pension that would have been paid in the\r\n drawdown pension year in which the flexible drawdown declaration was\r\n accepted if the flexible drawdown declaration had not been made; and\r\n

\r\n

\r\n ii) after 26 March 2014, the notional value was 80% x 25 x the\r\n maximum gross annual capped drawdown pension that would have been paid in\r\n the drawdown pension year in which the flexible drawdown declaration was\r\n accepted if the flexible drawdown declaration had not been made.\r\n

\r\n
\r\n
\r\n {\r\n return {\r\n title: `${ele.Year}/${ele.Year + 1}`,\r\n data: MoneyDisplayHelper.getMoneyFormat(ele.Amount),\r\n };\r\n })}\r\n type=\"common\"\r\n />\r\n
\r\n \r\n )}\r\n\r\n \r\n onChange({ NotionalValueBeforeApril2006: { Amount: v, Currency: CurrencyCode.GBP } })\r\n }\r\n value={data.NotionalValueBeforeApril2006?.Amount}\r\n currency={CurrencyCode.GBP}\r\n cssWrapper=\"control-size-245\"\r\n label=\"Notional Value of Benefits from before 6 April 2006\"\r\n />\r\n

Benefit crystallisations performed off platform per tax year

\r\n {\r\n this.setState({ hasChanged: true });\r\n onChange({ BceOffPlatform: v ? [{ Amount: null, Year: 2006 }] : null });\r\n }}\r\n selected={data.BceOffPlatform && data.BceOffPlatform.length > 0 ? true : false}\r\n label=\"Has any benefit crystallisation been performed off platform since 6 April 2006?\"\r\n getText={(o) => (o ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n />\r\n {data?.BceOffPlatform && data.BceOffPlatform.length > 0 && (\r\n <>\r\n {this.renderTaxYear(data.BceOffPlatform, \"BceOffPlatform\")}\r\n {\r\n const _data = this.props.data.BceOffPlatform.concat();\r\n _data.push({ Amount: null, Year: null });\r\n this.props.onChange({ BceOffPlatform: _data });\r\n this.setState({ hasChanged: true });\r\n }}\r\n />\r\n \r\n )}\r\n {this.state.hasChanged && (\r\n \r\n )}\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getAssetsToSellTotalForDrawdown, ShouldDisplayItfcChargesMessage } from \"./Helper/DrawdownDetailHelper\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { ChooseAssetsToSellFor } from \"./Resource/Contents\";\r\nimport { MoneyHelper } from \"../../../../../../Shared/Common/MoneyHelper\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { getAssetsToSellTotalForIncome } from \"../IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\n\r\ninterface IChooseAssetsToSellProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n tableKey: string;\r\n sectionHeader?: string;\r\n processType?: processTypeEnum;\r\n reason?: ChooseAssetsToSellFor;\r\n}\r\n\r\ninterface IChooseAssetsToSellState {}\r\n\r\nexport class ChooseAssetsToSell extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data.IsAcrossAllAssets == null) {\r\n this.props.onChange({ IsAcrossAllAssets: true });\r\n }\r\n }\r\n\r\n getSectionHeader() {\r\n const { data, reason } = this.props;\r\n const defaultHeader = \"Choose assets to sell\";\r\n if (reason === ChooseAssetsToSellFor.Income) {\r\n if (data?.DrawdownType === DrawdownType.Regular) {return defaultHeader;}\r\n else\r\n {return `Choose assets to sell to pay income (${MoneyDisplayHelper.FromatMoneyDisplay(\r\n getAssetsToSellTotalForIncome(data),\r\n MoneyHelper.getDefaultCurrency()\r\n )})`;}\r\n } else {\r\n return defaultHeader;\r\n }\r\n }\r\n\r\n getIsAcrossAll() {\r\n const { data, reason } = this.props;\r\n if (reason === ChooseAssetsToSellFor.Income) {\r\n return isNullOrEmpty(data?.IncomeDisinvestmentAllocations);\r\n }\r\n return data?.IsAcrossAllAssets == true;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, sectionHeader, processType, reason } = this.props;\r\n const shouldDisplayItfcChargesMessage = ShouldDisplayItfcChargesMessage(processType, reason);\r\n return (\r\n <>\r\n {SectionHeader(sectionHeader ? sectionHeader : this.getSectionHeader())}\r\n {shouldDisplayItfcChargesMessage && (\r\n

\r\n {data?.DrawdownType != DrawdownType.Regular ? (\r\n <>{`Disinvestment to pay PCLS and charges (${MoneyDisplayHelper.getMoneyFormat({\r\n Amount: getAssetsToSellTotalForDrawdown(data),\r\n Currency: CurrencyCode.GBP,\r\n })})`}\r\n ) : (\r\n `Disinvestment to pay drawdown and charges`\r\n )}\r\n

\r\n )}\r\n\r\n (v ? \"Proportionally across all assets\" : \"From specified assets\")}\r\n onChange={(v) => onChange({ IsAcrossAllAssets: v, [this.props.tableKey]: [] })}\r\n tooltip={\r\n \"If there is insufficient value in an asset at the time of the sale, we will default to disinvesting proportioanlly from the assets selected.\"\r\n }\r\n cssWrapper={\"rg-inline mb-10\"}\r\n selected={this.getIsAcrossAll()}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { InvestmentAllocation } from \"../../../../../../../Wrap/Models/Domains/Investment/InvestmentAllocation\";\r\nimport { PensionTransfer } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/PensionTransfer\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { RestrictionStore } from \"../../Restrictions/Variable\";\r\nimport { getAssetsToSellTotalForIncomeFromIncome } from \"../IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\nimport { calculateChooseAssetsToSellTotal } from \"./Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellFor } from \"./Resource/Contents\";\r\nimport { ChooseAssetsToSellAssets } from \"./Store/DrawdownCalculationStoreStatic\";\r\n\r\ninterface IChooseAssetsToSellTableProps extends IProcessComponentProps {\r\n data: InvestmentAllocation[];\r\n tableData: ChooseAssetsToSellAssets[];\r\n modelData: DrawdownModel;\r\n reason: ChooseAssetsToSellFor;\r\n processType: ProcessType;\r\n gadReviewtotalValue?: number;\r\n transferData?: PensionTransfer[];\r\n}\r\n\r\ninterface IChooseAssetsToSellTableState {\r\n userInfo: User;\r\n}\r\n\r\nexport class ChooseAssetsToSellTable extends ProcessComponent<\r\n IChooseAssetsToSellTableProps,\r\n IChooseAssetsToSellTableState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n };\r\n }\r\n\r\n private onAssetsChanges(row: ChooseAssetsToSellAssets, v: number) {\r\n const i = this.props.data.findIndex((ele) => ele.ProductId == row.Id);\r\n const _data = this.props.data.concat();\r\n if (i > -1) {\r\n _data[i].Percentage = v;\r\n } else {\r\n _data.push({ Name: row.Assets, Percentage: v, ProductId: row.Id, Type: row.ProductType });\r\n }\r\n this.props.onChange(_data);\r\n }\r\n\r\n isValid() {\r\n const total = this.props.data?.reduce((sum, curr) => {\r\n return (sum = sum + curr.Percentage);\r\n }, 0);\r\n if (total !== 100) {\r\n this.props.showErrorMsgPopUp([\"Please enter values against the assets to disinvest that total 100%\"]);\r\n }\r\n return super.isValid() && total == 100;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, tableData, modelData, reason, processType, transferData } = this.props;\r\n const total = data?.reduce((sum, curr) => {\r\n return (sum = sum + curr.Percentage);\r\n }, 0);\r\n\r\n let totalValue;\r\n if (processType == ProcessType.GadReview) {\r\n totalValue = this.props.gadReviewtotalValue;\r\n } else {\r\n if (modelData) {\r\n totalValue = calculateChooseAssetsToSellTotal(modelData, reason);\r\n } else if (transferData?.length > 0) {\r\n totalValue = getAssetsToSellTotalForIncomeFromIncome(\r\n transferData[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n );\r\n }\r\n }\r\n\r\n if (isNullOrEmpty(tableData)) {\r\n return ;\r\n }\r\n let _tableData = tableData.concat();\r\n\r\n if (RestrictionStore.sellDisabled()) {\r\n _tableData = [];\r\n }\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup sell investments\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n <>\r\n {RestrictionStore.sellDisabled() && }\r\n {\r\n return (\r\n \r\n {data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Current estimated value\",\r\n key: \"MarketValue\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n {\r\n title: \"Percentage of disinvestment amount\",\r\n key: \"\",\r\n render: (data, row: ChooseAssetsToSellAssets, index) => {\r\n const percentage =\r\n this.props.data.find((ele) => ele.ProductId == row.Id)?.Percentage || null;\r\n return (\r\n this.onAssetsChanges(row, v)}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n disabled={row.DisinvestAll}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Please enter a value to disinvest that is less than 100% and equates to less than 100% of the current estimated value of the fund, or select to disinvest all units from the asset.\",\r\n validator: (v) => {\r\n return v <= 100;\r\n },\r\n },\r\n {\r\n errorMessage:\r\n \"Product allocation value exceeds 95% of total holding value\",\r\n validator: (v) => {\r\n if (modelData?.DrawdownType == DrawdownType.Regular) {\r\n return true;\r\n }\r\n const amount = (v || 0) * totalValue * 0.01;\r\n return amount < row.MarketValue?.Amount * 0.95 || row.DisinvestAll;\r\n },\r\n },\r\n {\r\n errorMessage:\r\n \"You have entered a value to disinvest that is greater than the current estimated value of the asset.\",\r\n validator: (v) => {\r\n if (modelData?.DrawdownType == DrawdownType.Regular) {\r\n return true;\r\n }\r\n let amount = (v || 0) * totalValue * 0.01;\r\n amount = Number(amount.toFixed(2));\r\n return amount <= row.MarketValue?.Amount;\r\n },\r\n },\r\n {\r\n errorMessage:\r\n \"You have entered a value that is equal to the current estimated value of the asset. You may either choose to 'disinvest all' or reduce the value that you wish to disinvest.\",\r\n validator: (v) => {\r\n if (modelData?.DrawdownType == DrawdownType.Regular) {\r\n return true;\r\n }\r\n let amount = (v || 0) * totalValue * 0.01;\r\n amount = Number(amount.toFixed(2));\r\n return (\r\n amount !== row.MarketValue?.Amount ||\r\n (amount == row.MarketValue?.Amount && row.DisinvestAll)\r\n );\r\n },\r\n },\r\n ]}\r\n infoText={\r\n modelData?.DrawdownType != DrawdownType.Regular\r\n ? MoneyDisplayHelper.getMoneyFormat({\r\n Amount: (percentage || 0) * totalValue * 0.01,\r\n })\r\n : null\r\n }\r\n />\r\n );\r\n },\r\n },\r\n modelData?.DrawdownType != DrawdownType.Regular\r\n ? {\r\n thCssWrapper: \"cell-right pr-0\",\r\n tdCssWrapper: \"cell-right pr-0\",\r\n title: \"Disinvest all\",\r\n key: \"DisinvestAll\",\r\n render: (data, row: ChooseAssetsToSellAssets, index) => {\r\n const percentage =\r\n this.props.data.find((ele) => ele.ProductId == row.Id)?.Percentage || 0;\r\n return (\r\n {\r\n this.onAssetsChanges(row, v ? 100 : percentage);\r\n\r\n this.props.tableData[index].DisinvestAll = v;\r\n }}\r\n value={data}\r\n />\r\n );\r\n },\r\n }\r\n : null,\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 2 },\r\n {\r\n data: {total}%,\r\n colSpan: 2,\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { PensionOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CrystallisationOption } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/CrystallisationOption\";\r\nimport { CrystallisationDetails } from \"../../../../../../../Wrap/Models/Domains/Drawdown/CrystallisationDetails\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport {\r\n calculateUnCrystallizationAmount,\r\n hasProtectedRetireAgeOrSchemeTaxFreeCash,\r\n} from \"./Helper/DrawdownDetailHelper\";\r\nimport {\r\n CrystallisationOptions,\r\n drawdownDetailsMessage,\r\n crystallisationAmountErrorMessage,\r\n CrystallisationOptionsMap,\r\n} from \"./Resource/Contents\";\r\n\r\ninterface ICrystallisationDetailsProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n pensionProtection: PensionProtectionDetails;\r\n processType: ProcessType;\r\n modelData: PensionBase;\r\n cashInstrmentProductId: number;\r\n doCalculation: VoidFunction;\r\n isImmediateTaxFreeLumpSum: boolean;\r\n}\r\n\r\ninterface ICrystallisationDetailsState {}\r\n\r\nexport class CrystallisationDetailsSection extends ProcessComponent<\r\n ICrystallisationDetailsProps,\r\n ICrystallisationDetailsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { modelData, data, isImmediateTaxFreeLumpSum, processType } = this.props;\r\n const fullAmount = calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum);\r\n this.onCrystallisationDetailChange({\r\n CrystallisationOption: !this.props.data.CrystallisationDetails?.CrystallisationOption\r\n ? this.getCrystallisationOptionDefaultValue(this.props.data.CrystallisationDetails, fullAmount)\r\n : data?.CrystallisationDetails?.CrystallisationOption,\r\n CrystallisationAmount: isImmediateTaxFreeLumpSum\r\n ? { Amount: fullAmount, Currency: CurrencyCode.GBP }\r\n : this.props.data.CrystallisationDetails?.CrystallisationAmount,\r\n // UnCrystallisedValue: { Amount: fullAmount, Currency: CurrencyCode.GBP },\r\n });\r\n }\r\n\r\n private onCrystallisationDetailChange(changes) {\r\n this.onDataChange(this.props.onChange, changes, this.props.data, \"CrystallisationDetails\");\r\n }\r\n\r\n private getConfigTable = (CrystallisationDetails: CrystallisationDetails) => {\r\n const { modelData, processType, isImmediateTaxFreeLumpSum } = this.props;\r\n let config = [\r\n {\r\n title: \"Uncrystallised value\",\r\n data: MoneyDisplayHelper.getMoneyFormat({\r\n Amount: calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum),\r\n Currency: CurrencyCode.GBP,\r\n }),\r\n },\r\n {\r\n title: \"Value available to crystallise\",\r\n data: MoneyDisplayHelper.getMoneyFormat(CrystallisationDetails?.AvailableToCrystallise),\r\n },\r\n {\r\n title: \"Available cash\",\r\n data: MoneyDisplayHelper.getMoneyFormat(CrystallisationDetails?.AvailableCash),\r\n },\r\n ];\r\n if (![ProcessType.NB, ProcessType.Quote].includes(this.props.processType)) {\r\n config = [\r\n {\r\n title: \"Crystallised value\",\r\n data: MoneyDisplayHelper.getMoneyFormat(CrystallisationDetails?.CrystallisedValue),\r\n },\r\n ].concat(config);\r\n }\r\n return config;\r\n };\r\n\r\n private renderCrystallisationDetails(): JSX.Element {\r\n const { data, pensionProtection, isImmediateTaxFreeLumpSum, modelData, processType } = this.props;\r\n const { CrystallisationDetails } = data;\r\n const isUFPLS = data?.PensionOption == PensionOption.UFPLS;\r\n return (\r\n <>\r\n \r\n {\r\n return CrystallisationOptionsMap[v];\r\n }}\r\n selected={CrystallisationDetails?.CrystallisationOption}\r\n onChange={(v) => {\r\n this.onCrystallisationDetailChange({\r\n CrystallisationOption: v,\r\n CrystallisationAmount: {\r\n Amount:\r\n v == CrystallisationOption.Full\r\n ? CrystallisationDetails.AvailableToCrystallise?.Amount\r\n : 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n });\r\n }}\r\n onBlur={(v) => this.props.doCalculation()}\r\n alwaysValidateOnUpdate\r\n validationRules={[\r\n {\r\n errorMessage: drawdownDetailsMessage.crystallisationOptionErrorMessage,\r\n validator: (v) => {\r\n return v == CrystallisationOption.Full\r\n ? true\r\n : v == CrystallisationOption.Partial &&\r\n !hasProtectedRetireAgeOrSchemeTaxFreeCash(pensionProtection);\r\n },\r\n },\r\n {\r\n errorMessage: drawdownDetailsMessage.crystallisationOptionFullErrorMessage,\r\n validator: (v) => {\r\n return v == CrystallisationOption.Partial\r\n ? true\r\n : v == CrystallisationOption.Full &&\r\n this.validateFullOption(\r\n isUFPLS,\r\n CrystallisationDetails,\r\n modelData,\r\n processType,\r\n isImmediateTaxFreeLumpSum\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n this.props.doCalculation()}\r\n onChange={(v) =>\r\n this.onCrystallisationDetailChange({\r\n CrystallisationAmount: { Amount: v, Currency: CurrencyCode.GBP },\r\n })\r\n }\r\n validationRules={[\r\n {\r\n errorMessage: crystallisationAmountErrorMessage.valueToCrystalliseIsZero,\r\n validator: (v) => CrystallisationDetails?.AvailableToCrystallise?.Amount != 0,\r\n },\r\n {\r\n errorMessage: crystallisationAmountErrorMessage.inputIsZeroAndLessThanUncrystallised,\r\n validator: (v) =>\r\n v == 0 &&\r\n CrystallisationDetails?.AvailableToCrystallise?.Amount <\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum)\r\n ? false\r\n : true,\r\n },\r\n {\r\n errorMessage: crystallisationAmountErrorMessage.inputIsZeroAndEqualUncrystallised,\r\n validator: (v) =>\r\n v == 0 &&\r\n CrystallisationDetails?.AvailableToCrystallise?.Amount ==\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum)\r\n ? false\r\n : true,\r\n },\r\n {\r\n errorMessage: crystallisationAmountErrorMessage.inputEqualValueToCrystallise,\r\n validator: (v) =>\r\n v == CrystallisationDetails?.AvailableToCrystallise?.Amount &&\r\n CrystallisationDetails?.CrystallisationOption == CrystallisationOption.Partial &&\r\n CrystallisationDetails?.AvailableToCrystallise?.Amount ==\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum)\r\n ? false\r\n : true,\r\n },\r\n {\r\n errorMessage:\r\n crystallisationAmountErrorMessage.inputGreaterThanValueToCrystalliseAndLessThanUncrystallised,\r\n validator: (v) =>\r\n v > CrystallisationDetails?.AvailableToCrystallise?.Amount &&\r\n CrystallisationDetails?.AvailableToCrystallise?.Amount <\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum)\r\n ? false\r\n : true,\r\n },\r\n {\r\n errorMessage:\r\n crystallisationAmountErrorMessage.inputGreaterThanValueToCrystalliseAndEqualUncrystallised,\r\n validator: (v) =>\r\n v > CrystallisationDetails?.AvailableToCrystallise?.Amount &&\r\n CrystallisationDetails?.AvailableToCrystallise?.Amount ==\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum)\r\n ? false\r\n : true,\r\n },\r\n {\r\n errorMessage:\r\n crystallisationAmountErrorMessage.inputGreaterThanValueToCrystalliseAndLessThanUncrystallised,\r\n validator: (v) =>\r\n v >\r\n Math.min(\r\n CrystallisationDetails?.AvailableToCrystallise?.Amount,\r\n CrystallisationDetails?.AvailableCash.Amount\r\n ) &&\r\n data.PensionOption &&\r\n CrystallisationDetails?.AvailableToCrystallise?.Amount <\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum)\r\n ? false\r\n : true,\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n private validateFullOption(\r\n isUFPLS: boolean,\r\n data: CrystallisationDetails,\r\n modelData: PensionBase,\r\n processType: ProcessType,\r\n isImmediateTaxFreeLumpSum: boolean\r\n ): boolean {\r\n if (isUFPLS) {\r\n return (\r\n data?.AvailableToCrystallise?.Amount ==\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum) &&\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum) ==\r\n data?.AvailableCash?.Amount\r\n );\r\n } else {\r\n return (\r\n data?.AvailableToCrystallise?.Amount ==\r\n calculateUnCrystallizationAmount(modelData, processType, isImmediateTaxFreeLumpSum)\r\n );\r\n }\r\n }\r\n\r\n private getCrystallisationOptionDefaultValue(data: CrystallisationDetails, amount: number): CrystallisationOption {\r\n if (this.props.isImmediateTaxFreeLumpSum) {\r\n return amount == data?.AvailableToCrystallise?.Amount\r\n ? CrystallisationOption.Full\r\n : CrystallisationOption.Partial;\r\n }\r\n if (data?.AvailableToCrystallise?.Amount < amount) {\r\n return CrystallisationOption.Partial;\r\n }\r\n return null;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {SectionHeader(\"Crystallisation details\")}\r\n {this.renderCrystallisationDetails()}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionArrangementType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { TransferType } from \"../../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { PensionHelper } from \"../../Helpers/PensionHelper\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { ChooseAssetsToSellAssets } from \"./Store/DrawdownCalculationStoreStatic\";\r\n\r\ninterface ICrystallizationPerContributionProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n modelData: PensionBase;\r\n}\r\n\r\ninterface ICrystallizationPerContributionState {}\r\n\r\ninterface ICrystallisationPerConributionTableRow {\r\n Contribution?: string;\r\n CrystallisationAmount?: Money;\r\n LTA?: number;\r\n TaxFreeLumpSum?: Money;\r\n}\r\n\r\nexport class CrystallizationPerContribution extends ProcessComponent<\r\n ICrystallizationPerContributionProps,\r\n ICrystallizationPerContributionState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getLTACalculation(payment: number, totalAmount: number, LTA: number): number {\r\n payment = payment || 0;\r\n const value = (payment / totalAmount) * LTA;\r\n return Math.round(Math.pow(10, 2) * value) / Math.pow(10, 2);\r\n }\r\n\r\n private getPCLSAmount(payment: number, availableLTA: number): number {\r\n payment = payment || 0;\r\n const firstValue: number = payment * 0.25;\r\n const secondValue: number = availableLTA * 0.25;\r\n return firstValue > secondValue ? secondValue : firstValue;\r\n }\r\n\r\n private getTableData = () => {\r\n const { data, modelData } = this.props;\r\n const LTA = data?.LifetimeAllowance ? data?.LifetimeAllowance?.SlaUsedByProposedCrystallisation : 0;\r\n const availableLTA =\r\n data?.LifetimeAllowance && data?.LifetimeAllowance?.AvailablePersonalAllowance\r\n ? data?.LifetimeAllowance?.AvailablePersonalAllowance?.Amount || 0\r\n : 0;\r\n const totalValue =\r\n PensionHelper.singlePaymentsTotal(modelData) +\r\n PensionHelper.getTransfersTotal(\r\n (modelData.PensionTransfers || []).filter(\r\n (ele) =>\r\n ele.PensionSource == PensionArrangementType.Accumulation &&\r\n ele.TransferType == TransferType.Cash\r\n )\r\n );\r\n const contributionRow: ICrystallisationPerConributionTableRow[] = [];\r\n if (modelData.ClientSinglePayment?.Money?.Amount > 0) {\r\n const value = PensionHelper.clientSinglePayment(modelData);\r\n contributionRow.push({\r\n Contribution: \"Individual contribution\",\r\n CrystallisationAmount: value,\r\n LTA: this.getLTACalculation(value.Amount, totalValue, LTA),\r\n TaxFreeLumpSum: {\r\n Amount: this.getPCLSAmount(value.Amount, availableLTA),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n });\r\n }\r\n\r\n if (modelData.EmployerSinglePayment?.Money?.Amount > 0) {\r\n const value = PensionHelper.employerSinglePayment(modelData);\r\n contributionRow.push({\r\n Contribution: \"Employer contribution\",\r\n CrystallisationAmount: value,\r\n LTA: this.getLTACalculation(value.Amount, totalValue, LTA),\r\n TaxFreeLumpSum: {\r\n Amount: this.getPCLSAmount(value.Amount, availableLTA),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n });\r\n }\r\n\r\n if (modelData.ThirdPartySinglePayment?.Money?.Amount > 0) {\r\n const value = PensionHelper.thirdPartySinglePayment(modelData);\r\n contributionRow.push({\r\n Contribution: \"Third party contribution\",\r\n CrystallisationAmount: value,\r\n LTA: this.getLTACalculation(value.Amount, totalValue, LTA),\r\n TaxFreeLumpSum: {\r\n Amount: this.getPCLSAmount(value?.Amount, availableLTA),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n });\r\n }\r\n\r\n if (modelData.PensionTransfers && modelData.PensionTransfers.length > 0) {\r\n modelData.PensionTransfers.filter(\r\n (ele) =>\r\n ele.PensionSource == PensionArrangementType.Accumulation && ele.TransferType == TransferType.Cash\r\n ).forEach((transfer, index) => {\r\n const value = transfer.CurrentValue;\r\n contributionRow.push({\r\n Contribution: `Transfer ${index + 1}`,\r\n CrystallisationAmount: value,\r\n LTA: this.getLTACalculation(value?.Amount, totalValue, LTA),\r\n TaxFreeLumpSum: {\r\n Amount: this.getPCLSAmount(value?.Amount, availableLTA),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n });\r\n });\r\n }\r\n return contributionRow;\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, modelData } = this.props;\r\n const tableData = this.getTableData();\r\n let total = tableData.reduce((x, y) => x + y.TaxFreeLumpSum.Amount, 0);\r\n total = total > data.CurrentPclsEntitlement.Amount ? data.CurrentPclsEntitlement.Amount : total;\r\n return (\r\n <>\r\n {SectionHeader(\"Crystallisation per contribution\")}\r\n \r\n {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n {\r\n title: \"LTA %\",\r\n key: \"LTA\",\r\n render: (data, row: ChooseAssetsToSellAssets, index) => {\r\n return data.toFixed(2) + \"%\";\r\n },\r\n },\r\n {\r\n thCssWrapper: \"cell-right pr-0\",\r\n tdCssWrapper: \"cell-right pr-0\",\r\n title: \"Tax-free lump sum\",\r\n key: \"TaxFreeLumpSum\",\r\n render: (data, row: ChooseAssetsToSellAssets, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\" },\r\n {\r\n data: (\r\n \r\n {MoneyDisplayHelper.getMoneyFormat({\r\n Amount:\r\n PensionHelper.singlePaymentsTotal(modelData) +\r\n PensionHelper.getTransfersTotal(modelData.PensionTransfers || []),\r\n Currency: CurrencyCode.GBP,\r\n })}\r\n \r\n ),\r\n },\r\n {\r\n data: {data?.LifetimeAllowance?.SlaUsedByProposedCrystallisation || 0}%,\r\n },\r\n {\r\n data: (\r\n \r\n {MoneyDisplayHelper.getMoneyFormat({ Amount: total, Currency: CurrencyCode.GBP })}\r\n \r\n ),\r\n tfTdCssWrapper: \"cell-right pr-0\",\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { PercentageOrMoney } from \"../../../../../../Shared/PercentageOrMoney/PercentageOrMoney\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { SectionHeader } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SourceTypeArray, SourceTypeMap } from \"../../Resource/Contents\";\r\nimport { SourceType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { MoneyOrPercentage } from \"../../../../../../../Wrap/Models/Models/Shared/MoneyOrPercentage\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { ProductDetailsStore } from \"../../../../../Stroes/Variable\";\r\nimport { calculateNetDrawdownValue, getCrystallisationAmount } from \"./Helper/DrawdownDetailHelper\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\n\r\ninterface IDIACProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n modelData: PensionBase;\r\n onChange: (changes) => void;\r\n existingAccount: boolean;\r\n}\r\n\r\ninterface IDIACState {\r\n wrapcashCurrentTotal: number;\r\n}\r\n\r\nexport class DIAC extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n wrapcashCurrentTotal: ProductDetailsStore.getSubAccount(SubAccountType.WrapCash)?.TotalValue?.Amount,\r\n };\r\n this.subscribeToStore(ProductDetailsStore, () => this.onProductDetailsChange());\r\n }\r\n\r\n private onProductDetailsChange() {\r\n const { existingAccount } = this.props;\r\n if (existingAccount && !this.state.wrapcashCurrentTotal) {\r\n const result = ProductDetailsStore.getSubAccount(SubAccountType.WrapCash);\r\n if (result) {\r\n this.setState({\r\n wrapcashCurrentTotal: result.TotalValue?.Amount,\r\n });\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (!this.props.data?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.SourceType) {\r\n const charge = {\r\n ...this.props.data?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge,\r\n SourceType: SourceType.ProductCash,\r\n };\r\n this.onDataChange(\r\n this.props.onChange,\r\n { DrawdownInitialAdviserCharge: charge },\r\n this.props.data,\r\n \"DrawdownAdviserCharge\"\r\n );\r\n }\r\n }\r\n\r\n validateSufficientProductCashForDIAC(total: number) {\r\n const { data, existingAccount } = this.props;\r\n const diac = data?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge;\r\n if (diac?.SourceType == SourceType.ProductCash) {\r\n return true;\r\n }\r\n if (existingAccount) {\r\n const v = diac?.Type == MoneyOrPercentageType.Money ? diac?.Money?.Amount : diac?.Percentage * total;\r\n return v <= this.state.wrapcashCurrentTotal;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, modelData } = this.props;\r\n const netDrawdownValue = calculateNetDrawdownValue(data, modelData?.PensionProtection) * 0.9999;\r\n const totalforEstimation = getCrystallisationAmount(data);\r\n const adviserCharge: MoneyOrPercentage = data?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge;\r\n\r\n return (\r\n <>\r\n

Adviser charges

\r\n {SectionHeader(\"Drawdown initial adviser charge\", \"Content TBC\")}\r\n {\r\n const charge = { ...adviserCharge, ...v };\r\n this.onDataChange(\r\n onChange,\r\n { DrawdownInitialAdviserCharge: charge },\r\n data,\r\n \"DrawdownAdviserCharge\"\r\n );\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n totalForEstimation={totalforEstimation}\r\n cssPercentageOrMoneyClasses=\"control-size-100 mb-36\"\r\n validationRules={[\r\n {\r\n errorMessage: \" Value entered cannot be greater than the net drawdown value\",\r\n validator: (v) => {\r\n return data?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.SourceType ==\r\n SourceType.WrapCash\r\n ? true\r\n : !v || v <= netDrawdownValue;\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n return SourceTypeMap[v];\r\n }}\r\n onChange={(v) => {\r\n const charge = { ...adviserCharge, SourceType: v };\r\n this.onDataChange(\r\n onChange,\r\n { DrawdownInitialAdviserCharge: charge },\r\n data,\r\n \"DrawdownAdviserCharge\"\r\n );\r\n }}\r\n required=\"Please choose \"\r\n />\r\n {!this.validateSufficientProductCashForDIAC(netDrawdownValue) && (\r\n \r\n )}\r\n {adviserCharge?.SourceType === SourceType.WrapCash && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\n\r\ninterface IDrawdownPriceLockProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n}\r\n\r\ninterface IDrawdownPriceLockState {}\r\n\r\nexport class DrawdownPriceLock extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Drawdown Price Lock\")}\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => onChange({ DrawdownPriceLock: v })}\r\n selected={data?.DrawdownPriceLock}\r\n cssWrapper=\"rg-inline mb-10\"\r\n />\r\n {data?.DrawdownPriceLock && (\r\n <>\r\n

\r\n By selecting 'yes' you are confirming you have read and understood the Drawdown Price Lock\r\n guide available on the Literature library, and authorise us to make the relevant changes\r\n

\r\n

\r\n To get the most out of the Drawdown Price Lock, your client`s total platform eligible assets\r\n should be at their maximum on the platform prior to the lock being applied.\r\n

\r\n

For example, this would mean the lock is applied:

\r\n
    \r\n
  • After all transfers have completed;
  • \r\n
  • Prior to any fund investments being made;
  • \r\n
  • Prior to any tax free lump sum or income being paid; and
  • \r\n
  • Prior to any adviser charging being paid.
  • \r\n
\r\n

This is to ensure your client locks in at the lowest possible platform charge.

\r\n

\r\n If you want to apply family linking prior to the price lock, please call 0345 279 1001\r\n before completing the wizard.\r\n

\r\n
\r\n

\r\n Drawdown Price Lock:\r\n

\r\n {data?.DrawdownPriceLockPercentage}\r\n
\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport {\r\n DrawdownType,\r\n DrawdownType as DrawdownTypeEnum,\r\n} from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DrawdownTypeOptionsMap } from \"./Resource/Contents\";\r\n\r\ninterface IDrawdownTypeProps extends IProcessComponentProps {\r\n pensionProtection: PensionProtectionDetails;\r\n originType: DrawdownType;\r\n isImmediateTaxFreeLumpSum: boolean;\r\n}\r\n\r\ninterface IDrawdownTypeState {\r\n showDetail: boolean;\r\n}\r\n\r\nexport class DrawdownTypeOption extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { showDetail: false };\r\n }\r\n\r\n private getDrawdownTypeOptions(): DrawdownTypeEnum[] {\r\n const { pensionProtection, isImmediateTaxFreeLumpSum } = this.props;\r\n const options = [DrawdownTypeEnum.Flexible];\r\n if (\r\n !pensionProtection?.PensionPrimaryProtectionDetails?.PclsEntitlement &&\r\n !pensionProtection?.PensionSchemeSpecificProtectionDetails?.ProtectedRetirementAge &&\r\n !pensionProtection?.PensionSchemeSpecificProtectionDetails?.PclsEntitlement &&\r\n !isImmediateTaxFreeLumpSum\r\n ) {\r\n options.push(DrawdownTypeEnum.Regular);\r\n }\r\n return options;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, originType } = this.props;\r\n\r\n return (\r\n <>\r\n {\r\n return DrawdownTypeOptionsMap[v];\r\n }}\r\n label=\"Drawdown type\"\r\n options={this.getDrawdownTypeOptions()}\r\n onChange={(v) => {\r\n const originIsRegular = originType == DrawdownType.Regular;\r\n const currIsRegular = v == DrawdownType.Regular;\r\n const hasChanged = (originIsRegular && !currIsRegular) || (!originIsRegular && currIsRegular);\r\n onChange({ DrawdownType: v, ChangeInstructionType: hasChanged });\r\n }}\r\n selected={data?.DrawdownType}\r\n required=\"Please select a drawdown type\"\r\n />\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import { PensionOption } from \"../../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionArrangementType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { SourceType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { TransferType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { Instrument } from \"../../../../../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { InstrumentSearchQuery } from \"../../../../../../../../Wrap/Models/Domains/Investment/InstrumentSearchQuery\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { PensionTransfer } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/PensionTransfer\";\r\nimport { ClientTradableInvestments } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ClientTradableInvestments\";\r\nimport { PensionBase } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { DrawdownModel } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { initAmount } from \"../../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { BuyAction } from \"../../../../Buy/Action/BuyAction\";\r\nimport { PensionHelper } from \"../../../Helpers/PensionHelper\";\r\nimport { ChooseAssetsToSellAssets } from \"../Store/DrawdownCalculationStoreStatic\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { processTypeEnum } from \"../../../Resource/Contents\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { ChooseAssetsToSellFor } from \"../Resource/Contents\";\r\nimport { InvestmentAllocation } from \"../../../../../../../../Wrap/Models/Domains/Investment/InvestmentAllocation\";\r\nimport { Objects } from \"../../../../../../../../react-core/Utils/Objects\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { getAssetsToSellTotalForIncome } from \"../../IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\nimport { ChargesHelper } from \"../../../Helpers/ChargesHelper\";\r\n\r\nexport const isCappedOrFlexIOrUFPLS = (data: DrawdownModel): boolean => {\r\n return (\r\n [DrawdownType.Capped, DrawdownType.Flexible].includes(data?.DrawdownType) ||\r\n data?.PensionOption == PensionOption.UFPLS\r\n );\r\n};\r\n\r\nexport const isRegualr = (data: DrawdownModel): boolean => {\r\n return data?.DrawdownType == DrawdownType.Regular;\r\n};\r\n\r\nexport const calculateBeneiftsCharge = (data: DrawdownModel, v: number, type: string) => {\r\n const ratio = type == \"income\" ? 0.25 : 0.55;\r\n return parseInt(\r\n (ratio * v * 0.01 * (data?.LifetimeAllowance?.ChargeableCrystallisationPortion?.Amount || 0)).toString()\r\n );\r\n};\r\n\r\nexport const calculateBeneiftsNet = (data: DrawdownModel, v: number, type: string) => {\r\n return (\r\n (data?.LifetimeAllowance?.ChargeableCrystallisationPortion?.Amount || 0) * v * 0.01 -\r\n calculateBeneiftsCharge(data, v, type)\r\n );\r\n};\r\n\r\nexport const showBenefitTable = (data: DrawdownModel, lessThan75: boolean, hasEnhancedPensionProtection: boolean) => {\r\n if (!lessThan75) {return false;}\r\n if (hasEnhancedPensionProtection) {return false;}\r\n if (isCappedOrFlexIOrUFPLS(data)) {\r\n if (data?.LifetimeAllowance?.ChargeableCrystallisationPortion?.Amount > 0) {\r\n return true;\r\n }\r\n if (getCrystallisationAmount(data) > 0.9 * data?.LifetimeAllowance?.AvailablePersonalAllowance?.Amount) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n if (isRegualr(data)) {\r\n return data?.LifetimeAllowance?.EstimatedTotalSlaUsedAfterAYear > 100;\r\n }\r\n return false;\r\n};\r\n\r\nexport const showBenefitLastTwoColumn = (data: DrawdownModel) => {\r\n if (data?.DrawdownType == DrawdownType.Regular) {return false;}\r\n return data?.LifetimeAllowance?.ChargeableCrystallisationPortion?.Amount > 0;\r\n};\r\n\r\nexport const hasEnhancedPensionProtection = (data: PensionBase): boolean => {\r\n return (\r\n data?.HasPensionProtection &&\r\n data?.PensionProtection?.PensionEnhancedProtectionDetails?.PclsEntitlement !== undefined\r\n );\r\n};\r\n\r\nexport const calculateChooseAssetsToSellTotal = (data: DrawdownModel, type: ChooseAssetsToSellFor): number => {\r\n if (type === ChooseAssetsToSellFor.Income) {\r\n return getAssetsToSellTotalForIncome(data);\r\n } else {\r\n return getAssetsToSellTotalForDrawdown(data);\r\n }\r\n};\r\n\r\nexport const getAssetsToSellTotalForDrawdown = (data: DrawdownModel): number => {\r\n const charges =\r\n data?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.SourceType == SourceType.ProductCash\r\n ? data?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.Money?.Amount || 0\r\n : 0;\r\n return (\r\n charges +\r\n (data?.TaxFreeLumpSum?.Amount || 0) +\r\n (data?.ExcessBenefitsCalculations?.LumpSumTaxPayable?.Amount || 0) +\r\n (data?.ExcessBenefitsCalculations?.LumpSumTotalNetBenefits?.Amount || 0)\r\n );\r\n};\r\n\r\nexport const showChooseAssetstoSell = (data: DrawdownModel, type: ChooseAssetsToSellFor): boolean => {\r\n if (data?.PensionOption == PensionOption.UFPLS) {return false;}\r\n if (data?.DrawdownType == DrawdownType.Regular) {\r\n if (type && type == ChooseAssetsToSellFor.Income) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n if ([DrawdownType.Capped, DrawdownType.Flexible].includes(data?.DrawdownType)) {\r\n if (type && type == ChooseAssetsToSellFor.Income) {\r\n return getAssetsToSellTotalForIncome(data) > 0;\r\n } else {\r\n return getAssetsToSellTotalForDrawdown(data) > 0;\r\n }\r\n }\r\n return false;\r\n};\r\n\r\nexport const hasProtectedRetireAgeOrSchemeTaxFreeCash = (pensionProtection: PensionProtectionDetails) => {\r\n return (\r\n pensionProtection?.PensionSchemeSpecificProtectionDetails?.ProtectedRetirementAge &&\r\n pensionProtection?.PensionSchemeSpecificProtectionDetails?.PclsEntitlement\r\n );\r\n};\r\n\r\nexport const hasPrimaryProtection = (pensionProtection: PensionProtectionDetails) => {\r\n return (\r\n pensionProtection.PensionPrimaryProtectionDetails?.PclsEntitlement &&\r\n pensionProtection.PensionPrimaryProtectionDetails?.PclsEntitlement > 0\r\n );\r\n};\r\n\r\nexport const getCrystallisationAmount = (data: DrawdownModel) => {\r\n if (isCappedOrFlexIOrUFPLS(data)) {\r\n return data?.CrystallisationDetails?.CrystallisationAmount?.Amount || 0;\r\n }\r\n if (isRegualr(data)) {\r\n return data?.RegularCrystallisationDetails?.Amount?.Amount || 0;\r\n }\r\n return 0;\r\n};\r\n\r\nexport const totalCashValue = (data: PensionBase): number => {\r\n if (!data) {return 0;}\r\n return (\r\n PensionHelper.singlePaymentsTotal(data) +\r\n PensionHelper.getTransfersTotal(\r\n (data?.PensionTransfers || []).filter(\r\n (ele) =>\r\n ele.TransferType == TransferType.Cash && ele.PensionSource == PensionArrangementType.Accumulation\r\n )\r\n )\r\n );\r\n};\r\n\r\nexport const totalReRegValue = (data: PensionBase) => {\r\n let value = 0;\r\n const preRetireReregTransfer = (data?.PensionTransfers || []).filter(\r\n (ele) => ele.TransferType == TransferType.InSpecie && ele.PensionSource == PensionArrangementType.Accumulation\r\n );\r\n value += PensionHelper.getTransfersTotal(preRetireReregTransfer);\r\n return value;\r\n};\r\n\r\nexport const calculateUnCrystallizationAmount = (data: PensionBase, process: ProcessType, isITFC: boolean): number => {\r\n let preTotalCash = totalCashValue(data);\r\n const preRetireReregTransfer = (data?.PensionTransfers || []).filter(\r\n (ele) => ele.TransferType == TransferType.InSpecie && ele.PensionSource == PensionArrangementType.Accumulation\r\n );\r\n preTotalCash += isITFC ? 0 : totalReRegValue(data);\r\n const totalContribution = ChargesHelper.getTotalForIACEstimation(data, SubAccountType.Npr);\r\n let consolidateUncrystallisedValue = 0;\r\n if (process == ProcessType.TopUpWithITFLS || process == ProcessType.TakePensionBenefits) {\r\n // if process is topup / TPB, uncrystallizationAmount need add all existed accumulation arrangements amount value\r\n // consolidate uncrystallised value\r\n consolidateUncrystallisedValue = data?.DrawdownModel?.CrystallisationDetails?.UnCrystallisedValue?.Amount || 0;\r\n }\r\n const initalAdviceCharge =\r\n data?.InitialAdviserCharge?.SourceType == SourceType.WrapCash\r\n ? 0\r\n : data?.InitialAdviserCharge?.Type == MoneyOrPercentageType.Money\r\n ? (preTotalCash * (data?.InitialAdviserCharge?.Money?.Amount || 0)) / totalContribution\r\n : ((data?.InitialAdviserCharge?.Percentage || 0) * preTotalCash) / 100;\r\n let residualValue = 0;\r\n if (!isITFC) {\r\n preRetireReregTransfer.forEach((e) => {\r\n residualValue += e?.ReRegisterValue?.Amount || 0;\r\n });\r\n }\r\n\r\n return (\r\n consolidateUncrystallisedValue +\r\n preTotalCash +\r\n residualValue -\r\n (process != ProcessType.TopUpWithITFLS ? initalAdviceCharge : 0)\r\n );\r\n};\r\n\r\nexport const calculateNetDrawdownValue = (data: DrawdownModel, pensionProtection: PensionProtectionDetails) => {\r\n const isPrimary = pensionProtection?.PensionPrimaryProtectionDetails;\r\n const amount =\r\n (data?.CrystallisationDetails?.CrystallisationAmount?.Amount || 0) -\r\n (isPrimary ? data?.TaxFreeLumpSum?.Amount || 0 : data?.CurrentPclsEntitlement?.Amount || 0) -\r\n (data?.ExcessBenefitsCalculations?.LumpSumTaxPayable?.Amount || 0) -\r\n (data?.ExcessBenefitsCalculations?.AdditionalIncomeTaxPayable?.Amount || 0) -\r\n (data?.ExcessBenefitsCalculations?.LumpSumTotalNetBenefits?.Amount || 0);\r\n return amount;\r\n};\r\n\r\nexport const calculateAvailableCash = (data: PensionBase, cashInvestmentId: number, process: ProcessType): number => {\r\n const uncrystallizationAmount = calculateUnCrystallizationAmount(data, process, false);\r\n const PercentageForCash =\r\n (data?.PreRetirementInstrumentSelections?.Instruments || []).find(\r\n (ele) => ele?.Instrument?.ProductId == cashInvestmentId\r\n )?.Single?.Percentage || 0;\r\n return uncrystallizationAmount * PercentageForCash * 0.01;\r\n};\r\n\r\nexport const getChooseAssetsToSellTable = (data: PensionBase): ChooseAssetsToSellAssets[] => {\r\n const totalSingle: number = PensionHelper.singlePaymentsTotal(data);\r\n const totalClientRegular: number = PensionHelper.clientRegularPayment(data)?.Amount || 0;\r\n const totalThirdPartyRegular: number = PensionHelper.thirdPartyRegulaPayment(data)?.Amount || 0;\r\n const totalEmployerClientRegular: number = PensionHelper.employerRegularPayment(data)?.Amount || 0;\r\n const preTransfers: PensionTransfer[] = data.PensionTransfers\r\n ? data.PensionTransfers.filter(\r\n (ele) => ele.PensionSource == PensionArrangementType.Crystallised && ele.TransferType == TransferType.Cash\r\n )\r\n : [];\r\n const postTransfers: PensionTransfer[] = data.PensionTransfers\r\n ? data.PensionTransfers.filter(\r\n (ele) => ele.PensionSource == PensionArrangementType.Accumulation && ele.TransferType == TransferType.Cash\r\n )\r\n : [];\r\n const totalPre = preTransfers.reduce((total, ele) => {\r\n return total + initAmount(ele.CurrentValue);\r\n }, 0);\r\n const totalPost = postTransfers.reduce((total, ele) => {\r\n return total + initAmount(ele.CurrentValue);\r\n }, 0);\r\n const totalInstrument: ChooseAssetsToSellAssets[] = [];\r\n (data?.PreRetirementInstrumentSelections?.Instruments || []).forEach((element) => {\r\n if (!totalInstrument.find((item) => item.Id == element.Instrument.ProductId)) {\r\n const marketValue =\r\n (element.Single?.Percentage || 0) * 0.01 * totalSingle +\r\n (element.ClientRegular?.Percentage || 0) * 0.01 * totalClientRegular +\r\n (element.ThirdPartyRegular?.Percentage || 0) * 0.01 * totalThirdPartyRegular +\r\n (element.EmployerRegular?.Percentage || 0) * 0.01 * totalEmployerClientRegular +\r\n (element.Transfer?.Percentage || 0) * 0.01 * totalPre;\r\n totalInstrument.push({\r\n Assets: element.Instrument?.Name,\r\n MarketValue: { Amount: marketValue, Currency: CurrencyCode.GBP },\r\n Id: element.Instrument?.ProductId,\r\n ProductType: element?.Instrument?.Type,\r\n DisinvestAll: false,\r\n FactsheetUrl: element?.Instrument?.FinexDocumentUrl,\r\n });\r\n }\r\n });\r\n (data?.PostRetirementInstrumentSelections?.Instruments || []).forEach((element) => {\r\n if (!totalInstrument.find((item) => item.Id == element.Instrument.ProductId)) {\r\n const marketValue =\r\n (element.Single?.Percentage || 0) * 0.01 * totalSingle +\r\n (element.ClientRegular?.Percentage || 0) * 0.01 * totalClientRegular +\r\n (element.ThirdPartyRegular?.Percentage || 0) * 0.01 * totalThirdPartyRegular +\r\n (element.EmployerRegular?.Percentage || 0) * 0.01 * totalEmployerClientRegular +\r\n (element.Transfer?.Percentage || 0) * 0.01 * totalPost;\r\n totalInstrument.push({\r\n Assets: element.Instrument?.Name,\r\n MarketValue: { Amount: marketValue, Currency: CurrencyCode.GBP },\r\n Id: element.Instrument?.ProductId,\r\n ProductType: element?.Instrument?.Type,\r\n DisinvestAll: false,\r\n FactsheetUrl: element?.Instrument?.FinexDocumentUrl,\r\n });\r\n }\r\n });\r\n (data?.PensionTransfers || []).forEach((ele) => {\r\n (ele.Instruments || []).forEach((element) => {\r\n totalInstrument.push({\r\n Assets: element.Investment?.DisplayName,\r\n MarketValue: {\r\n Amount: element?.Investment?.UnitPrice?.Amount * element.Units,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n Id: element.Investment?.ProductId,\r\n ProductType: element?.Investment?.Type,\r\n DisinvestAll: false,\r\n FactsheetUrl: \"\",\r\n });\r\n });\r\n });\r\n return totalInstrument;\r\n};\r\n\r\nexport const getSellableAssets = (type: SubAccountType, hierarchyid, subAccountHierarchyId, callback?) => {\r\n BuyAction.getReuseHoldings(hierarchyid, subAccountHierarchyId, 0, (data: ClientTradableInvestments) => {\r\n const inidividual = data.CurrentIndividualHoldings.filter(\r\n (ele) =>\r\n (ele.CurrQuantity > 0 && !ele.HasOpenValueSellOrder && ele.MarketValue?.Amount > 0) ||\r\n ele.DisplayName == \"GBP Cash\"\r\n );\r\n const model = data.CurrentModelHoldings.filter(\r\n (ele) => ele.CurrQuantity > 0 && !ele.HasOpenValueSellOrder && ele.MarketValue?.Amount > 0\r\n );\r\n let ids = inidividual.map((ele) => ele.ProductId);\r\n ids = ids.concat(model.map((ele) => ele.ProductId));\r\n const query: InstrumentSearchQuery = {\r\n ProductWrapperTypes: [type],\r\n ProductIds: ids,\r\n CanBeSold: true,\r\n ResultsPerPage: ids.length,\r\n ServiceProposition: data.AccountServiceProposition,\r\n };\r\n const currentAssets: ChooseAssetsToSellAssets[] = [];\r\n InvestmentSelectionAction.searchInstruments(query, subAccountHierarchyId, (result: Instrument[]) => {\r\n result.forEach((ele) => {\r\n const obj = data.CurrentIndividualHoldings.find((item) => item.ProductId == ele.ProductId);\r\n const model = data.CurrentModelHoldings.find((item) => item.ProductId == ele.ProductId);\r\n if (obj) {\r\n currentAssets.push({\r\n Assets: obj.DisplayName,\r\n MarketValue: obj.MarketValue,\r\n ProductType: obj.Type,\r\n Id: obj.ProductId,\r\n DisinvestAll: false,\r\n FactsheetUrl: obj.FinexFactSheetUrl,\r\n });\r\n } else if (model) {\r\n currentAssets.push({\r\n Assets: model.DisplayName,\r\n MarketValue: model.MarketValue,\r\n ProductType: model.Type,\r\n Id: model.ProductId,\r\n DisinvestAll: false,\r\n FactsheetUrl: model.FinexFactSheetUrl,\r\n });\r\n }\r\n });\r\n if (callback) {callback(currentAssets);}\r\n });\r\n });\r\n};\r\n\r\nexport const getUpdatedAssetsToSell = (\r\n usedAllocations: InvestmentAllocation[],\r\n usedForTotal: number,\r\n assets: ChooseAssetsToSellAssets[]\r\n) => {\r\n if (isNullOrEmpty(usedAllocations) || usedForTotal == 0) {return assets;}\r\n const updatedAssets = Objects.cloneObject(assets);\r\n usedAllocations.map((ele, index) => {\r\n if (ele.Percentage > 0) {\r\n const assetIndex = updatedAssets.findIndex((x) => x.Id == ele.ProductId);\r\n if (assetIndex > -1) {\r\n updatedAssets[assetIndex].MarketValue = {\r\n Amount: updatedAssets[assetIndex].MarketValue.Amount - usedForTotal * ele.Percentage * 0.01,\r\n Currency: updatedAssets[assetIndex].MarketValue.Currency,\r\n };\r\n }\r\n }\r\n });\r\n return updatedAssets;\r\n};\r\n\r\nexport const ShouldDisplayItfcChargesMessage = (\r\n processType: processTypeEnum,\r\n reason?: ChooseAssetsToSellFor\r\n): boolean => {\r\n if (reason === ChooseAssetsToSellFor.Income) {return false;}\r\n const nonEligibleProcessTypes = [processTypeEnum.GadReview];\r\n return !nonEligibleProcessTypes.some((type) => type === processType);\r\n};\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\n\r\ninterface IIllHealthProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n getDrawdownModel: VoidFunction;\r\n}\r\n\r\ninterface IIllHealthState {\r\n showDetail: boolean;\r\n}\r\n\r\nexport class IllHealth extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { showDetail: false };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Are you proceeding on the basis of ill health?\")}\r\n (o ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n onChange({ IllHealth: v });\r\n if (v) {this.props.getDrawdownModel();}\r\n }}\r\n cssWrapper=\"rg-inline mb-10\"\r\n required=\"Please select\"\r\n selected={data?.InstructionId == null ? false : true}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\n\r\ninterface IInformationProps extends IProcessComponentProps {}\r\n\r\ninterface IInformationState {\r\n showDetail: boolean;\r\n}\r\n\r\nexport class Information extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { showDetail: false };\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {SectionHeader(\"Information\")}\r\n

\r\n Please be aware that your selection of assets may affect how early we can pay your client’s Pension\r\n Commencement Lump Sum (PCLS) and income.{\" \"}\r\n

\r\n this.setState({ showDetail: true })}>\r\n Click here for more detail{\" >>\"}\r\n \r\n

\r\n For more general guidance on our drawdown process{\" \"}\r\n \r\n click here{\" >>\"}\r\n \r\n

\r\n\r\n {this.state.showDetail && (\r\n this.setState({ showDetail: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

TBC

\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { isCappedOrFlexIOrUFPLS, isRegualr } from \"./Helper/DrawdownDetailHelper\";\r\n\r\nimport { drawdownDetailsMessage, LTADetailHeading, LTADetailTooltiopMessage } from \"./Resource/Contents\";\r\n\r\ninterface ILTABreakdownDetailsProps extends IProcessComponentProps {\r\n lessThan75: boolean;\r\n data: DrawdownModel;\r\n process: ProcessType;\r\n doCalculation: VoidFunction;\r\n}\r\n\r\ninterface ILTABreakdownDetailsState {}\r\n\r\nexport class LTABreakdownDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private renderLTATextBox(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n {\r\n this.onDataChange(onChange, { SlaUsedOffPlatform: v }, data);\r\n }}\r\n onBlur={(v) => this.props.doCalculation()}\r\n maxNumberOfDecimalPlaces={{ errorMessage: \"only allow two decimal places\", value: 2 }}\r\n required={\"Please enter\"}\r\n />\r\n );\r\n }\r\n\r\n private renderLTADetails(): JSX.Element {\r\n const { lessThan75, data } = this.props;\r\n const LifetimeAllowance = data?.LifetimeAllowance;\r\n const LTADetails = [];\r\n if (lessThan75) {\r\n LTADetails.push(\r\n { title: LTADetailHeading.previousLTA, data: LifetimeAllowance?.SlaPreviouslyCrystallised + \"%\" },\r\n {\r\n title: LTADetailHeading.LTABefore2006,\r\n data: LifetimeAllowance?.SlaBenefitsPriorTo2006 + \"%\",\r\n tooltip: LTADetailTooltiopMessage.previousLTA,\r\n }\r\n );\r\n }\r\n LTADetails.push({\r\n title: LTADetailHeading.otherLTA,\r\n data: this.renderLTATextBox(),\r\n tooltip: LTADetailTooltiopMessage.otherLTA,\r\n });\r\n if (lessThan75) {\r\n LTADetails.push({\r\n title: LTADetailHeading.availableLTA,\r\n data:\r\n LifetimeAllowance?.AvailablePersonalAllowance?.Amount > 0\r\n ? MoneyDisplayHelper.getMoneyFormat(LifetimeAllowance?.AvailablePersonalAllowance)\r\n : \"N/A\",\r\n });\r\n }\r\n if (isCappedOrFlexIOrUFPLS(data) && lessThan75) {\r\n LTADetails.push(\r\n {\r\n title: LTADetailHeading.LTAByThisCrystallisation,\r\n data: LifetimeAllowance?.SlaUsedByProposedCrystallisation + \"%\",\r\n tooltip: LTADetailTooltiopMessage.LTAByThisCrystallisation,\r\n },\r\n {\r\n title: LTADetailHeading.LTAInTotal,\r\n data: LifetimeAllowance?.TotalSlaUsed + \"%\",\r\n tooltip: LTADetailTooltiopMessage.LTAInTotal,\r\n },\r\n {\r\n title: LTADetailHeading.crystallisationAmountSubjectToLTAExcessCharge,\r\n data: MoneyDisplayHelper.getMoneyFormat(LifetimeAllowance?.ChargeableCrystallisationPortion),\r\n }\r\n );\r\n }\r\n if (isRegualr(data) && lessThan75) {\r\n const previouslyUsed = LifetimeAllowance?.SlaPreviouslyCrystallised + data?.SlaUsedOffPlatform;\r\n const differentInitialCrystallisationAmount =\r\n this.props.data.RegularCrystallisationDetails != null\r\n ? this.props.data.RegularCrystallisationDetails.HasADifferentInitialAmount\r\n : false;\r\n if (differentInitialCrystallisationAmount) {\r\n LTADetails.push({\r\n title: LTADetailHeading.estimateLTAForInitialCrystallisation,\r\n data: LifetimeAllowance?.SlaUsedByProposedInitialRegularCrystallisation + \"%\",\r\n });\r\n }\r\n\r\n LTADetails.push(\r\n {\r\n title: LTADetailHeading.estimateLTAPerRegularCrystallisation,\r\n data: LifetimeAllowance?.SlaUsedByProposedCrystallisation + \"%\",\r\n },\r\n {\r\n title: LTADetailHeading.estimateAvailableLTAInAYear,\r\n data: Math.max(0, 100 - LifetimeAllowance?.EstimatedTotalSlaUsedAfterAYear) + \"%\",\r\n },\r\n {\r\n title: LTADetailHeading.estimateLTAUsedInAYear,\r\n data: LifetimeAllowance?.EstimatedTotalSlaUsedAfterAYear - previouslyUsed + \"%\",\r\n },\r\n {\r\n title: LTADetailHeading.estimateTotalLTAUsedInAYear,\r\n data: LifetimeAllowance?.EstimatedTotalSlaUsedAfterAYear + \"%\",\r\n },\r\n {\r\n title: LTADetailHeading.estimatedChargeableCrystallisation,\r\n data: Math.max(0, LifetimeAllowance?.EstimatedTotalSlaUsedAfterAYear - 100) + \"%\",\r\n tooltip: LTADetailTooltiopMessage.estimatedChargeableCrystallisation,\r\n }\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.renderLTADetails()};\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { addYears } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PensionOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IJsonDate } from \"../../../../../../../Wrap/System/IJsonDate\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { DrawdownCalculationAction } from \"./Action/DrawdownCalculationAction\";\r\nimport { calculateBeneiftsCharge, calculateBeneiftsNet, hasPrimaryProtection } from \"./Helper/DrawdownDetailHelper\";\r\nimport { PensionOptionMap } from \"./Resource/Contents\";\r\n\r\ninterface IPensionOptionsProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n pensionProtection: PensionProtectionDetails;\r\n clientDetail: ClientDetails;\r\n validateDrawdown: (data: DrawdownModel) => void;\r\n}\r\n\r\ninterface IPensionOptionsState {\r\n dri: number;\r\n itfc: number;\r\n driAlert: boolean;\r\n itfcAlert: boolean;\r\n}\r\n\r\nexport class PensionOptions extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n driAlert: false,\r\n itfcAlert: false,\r\n dri: null,\r\n itfc: null,\r\n };\r\n }\r\n\r\n private olderThan(age: number, dateOfBirth: IJsonDate) {\r\n const now = new Date();\r\n const birth = JsonDateParser.toDate(dateOfBirth);\r\n return addYears(birth, age) <= now;\r\n }\r\n\r\n private hasUFPLS = (): boolean => {\r\n const { pensionProtection, clientDetail, data } = this.props;\r\n\r\n if (hasPrimaryProtection(pensionProtection)) {return false;}\r\n if (\r\n pensionProtection?.PensionEnhancedProtectionDetails &&\r\n pensionProtection?.PensionEnhancedProtectionDetails?.PclsEntitlement\r\n ) {\r\n return false;\r\n }\r\n if (\r\n this.olderThan(77, clientDetail?.DateOfBirth) &&\r\n data?.LifetimeAllowance?.AvailablePersonalAllowance?.Amount <= 0\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n private hasDrawdown = (): boolean => {\r\n return true;\r\n };\r\n\r\n private validateId = (id, isITFC) => {\r\n if (!id) {return;}\r\n DrawdownCalculationAction.validateRequestId(id, this.props.data, isITFC, (d) => {\r\n if (d.length > 0) {\r\n if (isITFC) {\r\n this.setState({ itfcAlert: true });\r\n } else {\r\n this.setState({ driAlert: true });\r\n }\r\n } else {\r\n const _data: DrawdownModel = JSON.parse(JSON.stringify(d));\r\n\r\n if (_data?.CrystallisationDetails) {\r\n _data.CrystallisationDetails.AvailableToCrystallise = {\r\n Amount: 100000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n _data.CrystallisationDetails.CrystallisedValue = {\r\n Amount: 100000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n _data.CrystallisationDetails.UnCrystallisedValue = {\r\n Amount: 100000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n _data.CrystallisationDetails.AvailableCash = {\r\n Amount: 10000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n }\r\n\r\n _data.CurrentPclsEntitlement = {\r\n Amount: 13413.75,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n\r\n _data.DrawdownPriceLockPercentage = 0.35;\r\n _data.DrawdownPriceLock = false;\r\n _data.LifetimeAllowance = {\r\n ChargeableCrystallisationPortion: {\r\n Amount: 46345,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n AvailablePersonalAllowance: {\r\n Amount: 53655,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n SlaBenefitsPriorTo2006: 5,\r\n TotalSlaUsed: 104.31,\r\n SlaPreviouslyCrystallised: 90,\r\n SlaUsedByProposedCrystallisation: 9.31,\r\n };\r\n this.props.validateDrawdown(_data);\r\n // this.props.validateDrawdown(d);\r\n }\r\n });\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Pension options\")}\r\n PensionOptionMap[v]}\r\n validationRules={[\r\n {\r\n errorMessage: \"Can not select this type\",\r\n validator: (v) => {\r\n if (v == PensionOption.UFPLS) {return this.hasUFPLS();}\r\n if (v == PensionOption.Drawdown) {return this.hasDrawdown();}\r\n return true;\r\n },\r\n },\r\n ]}\r\n onChange={(v) =>\r\n onChange({\r\n PensionOption: v,\r\n GrossExcessBenefitLumpSum: v == PensionOption.UFPLS ? 100 : 0,\r\n GrossExcessBenefitTotal: v == PensionOption.UFPLS ? 100 : 0,\r\n ExcessBenefitsCalculations: {\r\n ...data?.ExcessBenefitsCalculations,\r\n LumpSumTaxPayable: {\r\n Amount:\r\n v == PensionOption.UFPLS ? calculateBeneiftsCharge(data, 100, \"lumpsum\") : 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n LumpSumTotalNetBenefits: {\r\n Amount: v == PensionOption.UFPLS ? calculateBeneiftsNet(data, 100, \"lumpsum\") : 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n },\r\n })\r\n }\r\n required=\"Please select Pension options\"\r\n selected={data?.PensionOption}\r\n cssWrapper=\"rg-inline mb-10\"\r\n />\r\n \r\n

\r\n If there is insufficient cash to fund the tax-free lump sum, we will sell assets to\r\n cover the payment, in line with any deducation preference.\r\n

\r\n

\r\n Any phasing instructions will cease following a crystallisation. Please contact us after\r\n submitting the application if you would like phasing to continue.\r\n

\r\n

\r\n For more information about our crystallisation process, please contact our support team\r\n at xxxxxxxxx.\r\n

\r\n \r\n }\r\n />\r\n {data?.PensionOption != PensionOption.UFPLS && (\r\n <>\r\n
\r\n
\r\n {\r\n this.setState({ driAlert: false, itfcAlert: false, itfc: null, dri: v });\r\n }}\r\n // maxLength={7}\r\n value={this.state.dri}\r\n cssWrapper=\"control-size-245\"\r\n />\r\n
\r\n
\r\n this.validateId(this.state.dri, false)}\r\n >\r\n Validate\r\n \r\n
\r\n
\r\n {this.state.driAlert && (\r\n \r\n )}\r\n \r\n )}\r\n {data?.PensionOption != PensionOption.UFPLS && (\r\n <>\r\n
\r\n
\r\n {\r\n this.setState({ itfcAlert: false, driAlert: false, dri: null, itfc: v });\r\n }}\r\n // maxLength={7}\r\n value={this.state.itfc}\r\n cssWrapper=\"control-size-245\"\r\n />\r\n
\r\n
\r\n this.validateId(this.state.itfc, true)}\r\n >\r\n Validate\r\n \r\n
\r\n
\r\n {this.state.itfcAlert && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { PensionProtection as PensionProtectionButton } from \"../../PaymentsIn/SIPP/PensionProtection\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { PensionProtectionPlayBack } from \"./PensionProtectionPlayBack\";\r\n\r\ninterface IPensionProtectionProps extends IProcessComponentProps {\r\n data: PensionBase;\r\n process: ProcessType;\r\n}\r\n\r\ninterface IPensionProtectionState {\r\n hasChanged: boolean;\r\n}\r\n\r\nexport class PensionProtection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n hasChanged: false,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, process } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Pension protection\")}\r\n {![ProcessType.NB, ProcessType.Quote, ProcessType.TopUpWithITFLS].includes(process) ? (\r\n <>\r\n

\r\n If your client has any form of pension protection which they are using for this withdrawal,\r\n please click below to add the details\r\n

\r\n onChange(v)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { ITypographySectionProps, Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { GrantedTypes, GrantedTypesMap, PensionProtectionMap } from \"../../../ClientRecord/Resource/Contents\";\r\n\r\ninterface IPensionProtectionPlayBackProps {\r\n data: PensionProtectionDetails;\r\n hasPensionProtection: boolean;\r\n}\r\nexport const PensionProtectionPlayBack = (props: IPensionProtectionPlayBackProps) => {\r\n let config: ITypographySectionProps[] = [];\r\n if (!props.data) {return null;}\r\n\r\n const grantSelected = (key: string): string => {\r\n const _data = props.data[key];\r\n let flag = null;\r\n GrantedTypes.forEach((ele) => {\r\n if (_data[ele]) {flag = ele;}\r\n });\r\n return flag;\r\n };\r\n PensionProtectionMap.forEach((ele) => {\r\n if (props.data[ele.key]) {\r\n config.push({\r\n title: {ele.value},\r\n data: \"Yes\",\r\n });\r\n switch (ele.key) {\r\n case \"PensionEnhancedProtectionDetails\":\r\n config = config.concat([\r\n { title: \"PCLS entitlement (%)\", data: props.data[ele.key].PclsEntitlement },\r\n { title: \"Certificate number\", data: props.data[ele.key].CertificateNumber },\r\n ]);\r\n break;\r\n case \"PensionPrimaryProtectionDetails\":\r\n config = config.concat([\r\n { title: \"PCLS entitlement (£)\", data: props.data[ele.key].PclsEntitlement },\r\n { title: \"Certificate number\", data: props.data[ele.key].CertificateNumber },\r\n { title: \"Enhancement factor number\", data: props.data[ele.key].EnhancementFactor },\r\n ]);\r\n break;\r\n case \"PensionFixedProtectionDetails\":\r\n config = config.concat([\r\n {\r\n title: \"Certificate number (Fixed protection 2012)\",\r\n data: props.data[ele.key].CertificateNumber,\r\n },\r\n ]);\r\n break;\r\n case \"PensionFixed2014ProtectionDetails\":\r\n config = config.concat([\r\n {\r\n title: \"Certificate number (Fixed protection 2014)\",\r\n data: props.data[ele.key].CertificateNumber,\r\n },\r\n ]);\r\n break;\r\n case \"PensionFixed2016ProtectionDetails\":\r\n config = config.concat([\r\n {\r\n title: \"Certificate number (Fixed protection 2016)\",\r\n data: props.data[ele.key].CertificateNumber,\r\n },\r\n ]);\r\n break;\r\n case \"PensionIndividual2014ProtectionDetails\":\r\n config = config.concat([\r\n {\r\n title: \"Certificate number (Individual protection 2014)\",\r\n data: props.data[ele.key].CertificateNumber,\r\n },\r\n { title: \"Individual Protection 2014 LTA amount\", data: props.data[ele.key].Amount },\r\n ]);\r\n break;\r\n case \"PensionIndividual2016ProtectionDetails\":\r\n config = config.concat([\r\n {\r\n title: \"Certificate number (Individual protection 2016)\",\r\n data: props.data[ele.key].CertificateNumber,\r\n },\r\n { title: \"Individual Protection 2016 LTA amount\", data: props.data[ele.key].Amount },\r\n ]);\r\n break;\r\n case \"PensionRelevantOverseasProtectionDetails\":\r\n case \"PensionQropsProtectionDetails\":\r\n case \"PensionCreditProtectionDetails\":\r\n config = config.concat([\r\n { title: \"Certificate number\", data: props.data[ele.key].CertificateNumber },\r\n { title: \"Enhancement factor number\", data: props.data[ele.key].EnhancementFactor },\r\n { title: \"Granted\", data: GrantedTypesMap[grantSelected(ele.key)] },\r\n ]);\r\n break;\r\n case \"PensionSchemeSpecificProtectionDetails\":\r\n config = config.concat([\r\n { title: \"Protected PCLS value\", data: props.data[ele.key].PclsEntitlement },\r\n { title: \"ADay fund value\", data: props.data[ele.key].ADayFundValue },\r\n { title: \"Protected retirement age\", data: props.data[ele.key].ProtectedRetirementAge },\r\n ]);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n });\r\n return (\r\n <>\r\n {}}\r\n getText={(o) => (o ? \"Yes\" : \"No\")}\r\n options={[true, false]}\r\n cssWrapper=\"rg-inline mb-20\"\r\n disabled={true}\r\n selected={props.hasPensionProtection}\r\n />\r\n {props.hasPensionProtection && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\n\r\ninterface IPreADayPensionDetailsProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n}\r\n\r\ninterface IPreADayPensionDetailsState {}\r\n\r\nexport class PreADayPensionDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Pre-A-Day pension details\")}\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => onChange({ PreADay: v })}\r\n selected={data?.PreADay}\r\n required={\"Please select\"}\r\n cssWrapper=\"rg-inline mb-10\"\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { addWeeks } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { FrequencyTypeArrays, FrequencyArraysMap, datePickerOptions } from \"../../Resource/Contents\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { BusinessDaysAction } from \"../../../../Common/BusinessDays/Actions/BusinessDaysAction\";\r\n\r\ninterface IRegularCrystallisationProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n process: ProcessType;\r\n doCalculation: VoidFunction;\r\n}\r\n\r\ninterface IRegularCrystallisationState {\r\n minimumDate?: Date;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport class RegularCrystallisation extends ProcessComponent<\r\n IRegularCrystallisationProps,\r\n IRegularCrystallisationState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onChangeRegularCrystallisation(changes) {\r\n this.onDataChange(this.props.onChange, changes, this.props.data, \"RegularCrystallisationDetails\");\r\n }\r\n\r\n componentDidMount() {\r\n const { data } = this.props;\r\n super.componentDidMount();\r\n if (!data?.RegularCrystallisationDetails?.FirstPaymentDay) {\r\n this.onChangeRegularCrystallisation({\r\n FirstPaymentDay: JsonDateParser.toJsonDateNoOffset(addWeeks(new Date(), 2)),\r\n });\r\n }\r\n\r\n BusinessDaysAction.GetBusinessDays(new Date(), true, 10, true, (callBack: Date) => {\r\n this.setState({\r\n minimumDate: callBack,\r\n isLoading: true,\r\n });\r\n });\r\n }\r\n\r\n private renderRegularCrystallisationDetails(): JSX.Element {\r\n const { data, process } = this.props;\r\n if (!this.state.isLoading) {return null;}\r\n return (\r\n <>\r\n \r\n this.onChangeRegularCrystallisation({ HasADifferentInitialAmount: v, InitialAmount: null })\r\n }\r\n selected={data?.RegularCrystallisationDetails?.HasADifferentInitialAmount}\r\n label=\"Specify a different initial crystallisation amount?\"\r\n getText={(o) => (o ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n />\r\n {data?.RegularCrystallisationDetails?.HasADifferentInitialAmount && (\r\n \r\n this.onChangeRegularCrystallisation({\r\n InitialAmount: { Amount: v, Currency: CurrencyCode.GBP },\r\n })\r\n }\r\n onBlur={(v) => this.props.doCalculation()}\r\n validationRules={[\r\n {\r\n errorMessage: \"Please enter an amount that is greater than zero.\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n />\r\n )}\r\n \r\n this.onChangeRegularCrystallisation({ Amount: { Amount: v, Currency: CurrencyCode.GBP } })\r\n }\r\n onBlur={(v) => this.props.doCalculation()}\r\n validationRules={[\r\n {\r\n errorMessage: \"Please enter an amount that is greater than zero.\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n />\r\n {\r\n return FrequencyArraysMap[v];\r\n }}\r\n cssWrapper=\"control-size-245\"\r\n required=\"Please select payment frequency\"\r\n placeholder=\"Please select\"\r\n selected={data?.RegularCrystallisationDetails?.Frequency}\r\n label=\"Payment frequency\"\r\n onChange={(v) => this.onChangeRegularCrystallisation({ Frequency: v })}\r\n onBlur={(v) => this.props.doCalculation()}\r\n />\r\n {false && (\r\n \r\n

\r\n Changing the payment date / frequency will amend any regular pension income also\r\n associated with this pension.\r\n

\r\n

\r\n Please review the income required from the pension through 'Edit Income Payments'\r\n process following acceptance of this instruction.\r\n

\r\n \r\n }\r\n />\r\n )}\r\n
\r\n
\r\n {\r\n if (v.getDate() > 28) {return false;}\r\n return true;\r\n },\r\n }}\r\n label=\"First payment date\"\r\n selected={JsonDateParser.toDateNoOffset(\r\n data?.RegularCrystallisationDetails?.FirstPaymentDay\r\n )}\r\n moreThan={{\r\n errorMessage: \"Please enter a date that is at least 10 working days from today.\",\r\n value: new Date(this.state.minimumDate),\r\n }}\r\n onChange={(v) =>\r\n this.onChangeRegularCrystallisation({\r\n FirstPaymentDay: JsonDateParser.toJsonDateNoOffset(v),\r\n })\r\n }\r\n cssWrapper=\"control-size-245\"\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select first payment date\"\r\n />\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {SectionHeader(\"Regular crystallisation details\")}\r\n {this.renderRegularCrystallisationDetails()}\r\n \r\n );\r\n }\r\n}\r\n","import { PensionOption } from \"../../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { CrystallisationOption } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/CrystallisationOption\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\n\r\nexport const DrawdownTypeOptionsMap = {\r\n [DrawdownType.Flexible]: \"Flexi-access single\",\r\n [DrawdownType.Regular]: \"Regular crystallisation\",\r\n [DrawdownType.Capped]: \"Capped single\",\r\n};\r\n\r\nexport const PensionOptionMap = {\r\n [PensionOption.Drawdown]: \"Drawdown\",\r\n [PensionOption.UFPLS]: \"Uncrystallised funds pension lump sum\",\r\n};\r\n\r\nexport enum ChooseAssetsToSellFor {\r\n Drawdown,\r\n Income,\r\n}\r\n\r\nexport const crystallisationAmountErrorMessage = {\r\n valueToCrystalliseIsZero:\r\n \"The value available to crystallise is zero so you cannot complete the crystallisation at this time.\",\r\n inputIsZeroAndLessThanUncrystallised:\r\n \"Please enter a crystallisation amount that is greater than zero and less than or equal to the value available to crystallise.\",\r\n inputIsZeroAndEqualUncrystallised:\r\n \"Please enter a crystallisation amount that is greater than zero and less than the value available to crystallise.\",\r\n inputEqualValueToCrystallise:\r\n 'The amount you have entered is equal to the total value available to crystallise. If you want to crystallise the whole amount, please choose \"Full\" for your crystallisation options.',\r\n inputGreaterThanValueToCrystalliseAndLessThanUncrystallised:\r\n \"The amount you have entered is greater than the value available to crystallise. Please enter a crystallisation amount that is greater than zero and less than or equal to the value available to crystallise.\",\r\n inputGreaterThanValueToCrystalliseAndEqualUncrystallised:\r\n \"The amount you have entered is greater than the value available to crystallise. Please enter a crystallisation amount that is greater than zero and less than the value available to crystallise.\",\r\n};\r\n\r\nexport const drawdownDetailsMessage = {\r\n crystallisationOptionErrorMessage:\r\n \"You will need to cancel the process because the client has entitlements that require this to be a full crystallisation, but the value available to crystallise is less than the uncrystallised fund value.\",\r\n crystallisationOptionFullErrorMessage: \"Can not select full crystallisation.\",\r\n LTAInputErrorMessage:\r\n \"Please enter a value for the LTA crystallised off platform that is equal to or greater than 0%\",\r\n LTAMaxErrorMsg: \"Please enter a value for the LTA crystallised off platform that is between 0% and 999.99%.\",\r\n regularCrystallisationAmountErrorMessage: \"Please enter an amount that is greater than zero\",\r\n};\r\n\r\nexport const CrystallisationOptions = [CrystallisationOption.Full, CrystallisationOption.Partial];\r\nexport const CrystallisationOptionsMap = {\r\n [CrystallisationOption.Full]: \"Full\",\r\n [CrystallisationOption.Partial]: \"Partial\",\r\n};\r\n\r\nexport const LTADetailHeading = {\r\n previousLTA: \"Lifetime allowance (LTA) previously used in this account\",\r\n LTABefore2006: \"LTA used by benefits that commenced before 6 April 2006\",\r\n availableLTA: \"Available LTA\",\r\n otherLTA: \"Other LTA used you need to tell us about\",\r\n LTAByThisCrystallisation: \"LTA % used by this crystallisation\",\r\n LTAInTotal: \"LTA % used in total following this crystallisation\",\r\n crystallisationAmountSubjectToLTAExcessCharge: \"Amount of crystallisation subject to LTA excess charge\",\r\n estimateLTAForInitialCrystallisation: \"Estimated LTA % usage for initial crystallisation\",\r\n estimateLTAPerRegularCrystallisation: \"Estimated LTA % usage per regular crystallisation\",\r\n estimateAvailableLTAInAYear: \"Estimated available LTA after a year\",\r\n estimateLTAUsedInAYear: \"Estimated LTA that will be used after a year\",\r\n estimateTotalLTAUsedInAYear: \"Estimated total LTA that will be used after a year\",\r\n estimatedChargeableCrystallisation: \"Estimated chargeable portion of crystallisation after a year\",\r\n crystallisationChargeablePortion: \"Chargeable portion of crystallisation\",\r\n};\r\n\r\nexport const LTADetailTooltiopMessage = {\r\n previousLTA: \"TBC by Pension pod/SL props\",\r\n otherLTA: \"TBC by Pension pod/SL props\",\r\n LTAByThisCrystallisation:\r\n \"This is the percentage of the lifetime allowance for the current tax year that will be used by your client's crystallisation.\",\r\n LTAInTotal:\r\n \"This is the total lifetime allowance for the current tax year that will be used once this crystallisation is added to any previous crystallisations taken by your client.\",\r\n estimatedChargeableCrystallisation:\r\n \"This is the estimated amount that we will crystallise in order to achieve the required income\",\r\n};\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../../../react-core/Flux/BaseStore\";\r\nimport { ProductType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { Money } from \"../../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { DrawdownCalculationStoreDispatcher } from \"./Variable\";\r\n\r\nexport interface DrawdownCalculationStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport interface ChooseAssetsToSellAssets {\r\n Assets: string;\r\n MarketValue: Money;\r\n Id: number;\r\n ProductType: ProductType;\r\n DisinvestAll: boolean;\r\n FactsheetUrl: string;\r\n}\r\n\r\nexport class DrawdownCalculationStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(DrawdownCalculationStoreDispatcher, (actionData) =>\r\n this.onDrawdownCalculationStoreStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): DrawdownCalculationStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): DrawdownCalculationStoreStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onDrawdownCalculationStoreStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType, isLoading: actionData.payload });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../../../react-core/Flux/Dispatcher\";\r\nimport { DrawdownCalculationStoreStatic } from \"./DrawdownCalculationStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const DrawdownCalculationStoreDispatcher: Dispatcher = new Dispatcher();\r\nexport const DrawdownCalculationStoreStore: DrawdownCalculationStoreStatic = new DrawdownCalculationStoreStatic();\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { PensionOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport {\r\n calculateBeneiftsCharge,\r\n calculateBeneiftsNet,\r\n getCrystallisationAmount,\r\n showBenefitLastTwoColumn,\r\n showBenefitTable,\r\n} from \"./Helper/DrawdownDetailHelper\";\r\n\r\ninterface ITaxFreeLumpSumPaymentProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n pensionProtection: PensionProtectionDetails;\r\n process: ProcessType;\r\n lessThan75: boolean;\r\n hasEnhancedPensionProtection: boolean;\r\n}\r\n\r\ninterface ITaxFreeLumpSumPaymentState {\r\n isConfirm: boolean;\r\n}\r\n\r\nexport class TaxFreeLumpSumPayment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isConfirm: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n let lumpsumCharge = null;\r\n let lumpsumNet = null;\r\n let incomeCharge = null;\r\n let incomeNet = null;\r\n if (this.props.data?.GrossExcessBenefitLumpSum && this.props.data?.GrossExcessBenefitLumpSum > 0) {\r\n lumpsumCharge = calculateBeneiftsCharge(\r\n this.props.data,\r\n this.props.data.GrossExcessBenefitLumpSum,\r\n \"lumpsum\"\r\n );\r\n lumpsumNet = calculateBeneiftsNet(this.props.data, this.props.data.GrossExcessBenefitLumpSum, \"lumpsum\");\r\n }\r\n if (\r\n this.props.data?.GrossExcessBenefitProvideAdditionalIncome &&\r\n this.props.data?.GrossExcessBenefitProvideAdditionalIncome > 0\r\n ) {\r\n incomeCharge = calculateBeneiftsCharge(\r\n this.props.data,\r\n this.props.data.GrossExcessBenefitProvideAdditionalIncome,\r\n \"income\"\r\n );\r\n incomeNet = calculateBeneiftsNet(\r\n this.props.data,\r\n this.props.data.GrossExcessBenefitProvideAdditionalIncome,\r\n \"income\"\r\n );\r\n }\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n ExcessBenefitsCalculations: {\r\n LumpSumTaxPayable: { Amount: lumpsumCharge, Currency: CurrencyCode.GBP },\r\n LumpSumTotalNetBenefits: { Amount: lumpsumNet, Currency: CurrencyCode.GBP },\r\n AdditionalIncomeTaxPayable: { Amount: incomeCharge, Currency: CurrencyCode.GBP },\r\n AdditionalIncomeTotalNetBenefits: { Amount: incomeNet, Currency: CurrencyCode.GBP },\r\n },\r\n },\r\n this.props.data\r\n );\r\n }\r\n\r\n isValid() {\r\n const { data, pensionProtection, showErrorMsgPopUp, lessThan75, hasEnhancedPensionProtection } = this.props;\r\n const isPrimary = pensionProtection?.PensionPrimaryProtectionDetails;\r\n const crystallisationAmount = data?.CrystallisationDetails?.CrystallisationAmount?.Amount;\r\n if (isPrimary && data?.CurrentPclsEntitlement?.Amount == crystallisationAmount) {return false;}\r\n if (showBenefitTable(data, lessThan75, hasEnhancedPensionProtection) && data?.GrossExcessBenefitTotal !== 100) {\r\n showErrorMsgPopUp([\"Please enter values for the gross excess benefits that total 100%.\"]);\r\n return false;\r\n }\r\n return super.isValid();\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, pensionProtection, process, lessThan75, hasEnhancedPensionProtection } = this.props;\r\n\r\n const isPrimary = pensionProtection?.PensionPrimaryProtectionDetails;\r\n const isPrimaryProtectedTaxFreeCashEntitlement =\r\n pensionProtection?.PensionPrimaryProtectionDetails?.PclsEntitlement &&\r\n pensionProtection?.PensionPrimaryProtectionDetails?.PclsEntitlement > 0;\r\n const crystallisationAmount = getCrystallisationAmount(data);\r\n\r\n return (\r\n <>\r\n {process == ProcessType.TakePensionBenefits && data?.PensionOption == PensionOption.UFPLS ? (\r\n
\r\n
\r\n
\r\n

Tax-free element of uncrystallised funds pension lump sum:

\r\n {MoneyDisplayHelper.getMoneyFormat(data?.UfplsWithdrawal?.TaxFreePortion)}\r\n
\r\n

Taxable element of uncrystallised funds pension lump sum:

\r\n {MoneyDisplayHelper.getMoneyFormat(data?.UfplsWithdrawal?.TaxablePortion)}\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n

Tax free lump sum payment:

\r\n {isPrimary ? (\r\n <>\r\n \r\n onChange({\r\n TaxFreeLumpSum: { Amount: v, Currency: CurrencyCode.GBP },\r\n })\r\n }\r\n validationRules={[\r\n {\r\n errorMessage: \"Please enter an amount that is greater than zero.\",\r\n validator: (v) => v > 0,\r\n },\r\n {\r\n errorMessage:\r\n \"Please specify a value for the TFLS to be paid that is less than the crystallisation amount and less than or equal to the maximum TFLS available.\",\r\n validator: (v) =>\r\n v <= data?.CrystallisationDetails?.CrystallisedValue?.Amount ||\r\n v <= data?.CurrentPclsEntitlement?.Amount,\r\n },\r\n ]}\r\n infoText={`Maximum PCLS available: ${MoneyDisplayHelper.getMoneyFormat(\r\n data?.CurrentPclsEntitlement\r\n )}`}\r\n disabled={!isPrimaryProtectedTaxFreeCashEntitlement}\r\n />\r\n {data?.TaxFreeLumpSum?.Amount < data?.CurrentPclsEntitlement?.Amount && (\r\n this.setState({ isConfirm: v })}\r\n value={this.state.isConfirm}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Please confirm that your client is happy to proceed with less than the maximum tax-free cash entitlement.\",\r\n validator: (v) => v == true,\r\n },\r\n ]}\r\n />\r\n )}\r\n \r\n ) : (\r\n MoneyDisplayHelper.getMoneyFormat(data?.CurrentPclsEntitlement)\r\n )}\r\n\r\n {!isPrimary && data?.CurrentPclsEntitlement?.Amount == crystallisationAmount && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {showBenefitTable(data, lessThan75, hasEnhancedPensionProtection) && (\r\n <>\r\n

Benefits in excess of LTA

\r\n \r\n \r\n \r\n \r\n \r\n {showBenefitLastTwoColumn(data) && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {showBenefitLastTwoColumn(data) && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n {data?.PensionOption != PensionOption.UFPLS && (\r\n \r\n \r\n \r\n {showBenefitLastTwoColumn(data) && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {data?.GrossExcessBenefitTotal?.toFixed(2)}%\r\n \r\n {showBenefitLastTwoColumn(data) && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
BenefitGross excess benefitsTax payable on excess benefitsTotal net benefits
Lump sum\r\n {\r\n onChange({\r\n GrossExcessBenefitLumpSum: v,\r\n ExcessBenefitsCalculations: {\r\n ...data?.ExcessBenefitsCalculations,\r\n LumpSumTaxPayable: {\r\n Amount: calculateBeneiftsCharge(data, v, \"lumpsum\"),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n LumpSumTotalNetBenefits: {\r\n Amount: calculateBeneiftsNet(data, v, \"lumpsum\"),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n },\r\n GrossExcessBenefitTotal:\r\n v + (data?.GrossExcessBenefitProvideAdditionalIncome || 0),\r\n });\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n required={\"Please enter\"}\r\n />\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(\r\n data?.ExcessBenefitsCalculations?.LumpSumTaxPayable\r\n )}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(\r\n data?.ExcessBenefitsCalculations?.LumpSumTotalNetBenefits\r\n )}\r\n
Provide additional income\r\n {\r\n onChange({\r\n GrossExcessBenefitProvideAdditionalIncome: v,\r\n ExcessBenefitsCalculations: {\r\n ...data?.ExcessBenefitsCalculations,\r\n AdditionalIncomeTaxPayable: {\r\n Amount: calculateBeneiftsCharge(data, v, \"income\"),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n AdditionalIncomeTotalNetBenefits: {\r\n Amount: calculateBeneiftsNet(data, v, \"income\"),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n },\r\n GrossExcessBenefitTotal:\r\n v + (data?.GrossExcessBenefitLumpSum || 0),\r\n });\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n required={\"Please enter\"}\r\n />\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(\r\n data?.ExcessBenefitsCalculations?.AdditionalIncomeTaxPayable\r\n )}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat(\r\n data?.ExcessBenefitsCalculations\r\n ?.AdditionalIncomeTotalNetBenefits\r\n )}\r\n
Total\r\n {MoneyDisplayHelper.getMoneyFormat({\r\n Amount:\r\n (data?.ExcessBenefitsCalculations?.LumpSumTaxPayable?.Amount ||\r\n 0) +\r\n (data?.ExcessBenefitsCalculations?.AdditionalIncomeTaxPayable\r\n ?.Amount || 0),\r\n Currency: CurrencyCode.GBP,\r\n })}\r\n \r\n {MoneyDisplayHelper.getMoneyFormat({\r\n Amount:\r\n (data?.ExcessBenefitsCalculations?.LumpSumTotalNetBenefits\r\n ?.Amount || 0) +\r\n (data?.ExcessBenefitsCalculations\r\n ?.AdditionalIncomeTotalNetBenefits?.Amount || 0),\r\n Currency: CurrencyCode.GBP,\r\n })}\r\n
\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PrimaryPclsUsage } from \"../../../../../../../Wrap/Models/Domains/Drawdown/PrimaryPclsUsage\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface ITaxYearProps extends IProcessComponentProps {\r\n data: PrimaryPclsUsage;\r\n excludeYears: number[];\r\n}\r\n\r\ninterface ITaxYearState {}\r\n\r\nexport class TaxYear extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getOptions = (currYear: number, fromYear: number, excludeYears: number[], renderYear: number): number[] => {\r\n const options = [];\r\n while (fromYear <= currYear) {\r\n if (fromYear == renderYear || !excludeYears.includes(fromYear)) {\r\n options.push(fromYear);\r\n }\r\n fromYear = fromYear + 1;\r\n }\r\n return options;\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, excludeYears, onChange } = this.props;\r\n const currYear = new Date().getFullYear();\r\n const fromYear = 2006;\r\n\r\n return (\r\n
\r\n
\r\n \r\n onChange({\r\n Year: v,\r\n })\r\n }\r\n options={this.getOptions(currYear, fromYear, excludeYears, data.Year)}\r\n getText={(o) => `${o}/${o + 1}`}\r\n selected={data.Year}\r\n required=\"Please select a tax year. \"\r\n placeholder=\"Please select\"\r\n />\r\n
\r\n
\r\n \r\n onChange({\r\n Amount: { Amount: v, Currency: CurrencyCode.GBP },\r\n })\r\n }\r\n required={\"Please enter a value for the amount taken.\"}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { InvalidateDate } from \"../../../../../../../react-core/Datepicker/Resources/ContentContent\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { addDays, addYears, stripToDay } from \"../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Objects } from \"../../../../../../../react-core/Utils/Objects\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { Arrangements } from \"../../../../../../../Wrap/Models/Domains/Drawdown/Arrangements\";\r\nimport { DrawdownAnnualIncome } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownAnnualIncome\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { MoneyHelper } from \"../../../../../../Shared/Common/MoneyHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { datePickerOptions, processTypeEnum } from \"../../Resource/Contents\";\r\nimport { CappedFlexiTable } from \"./CappedFlexiTable\";\r\nimport { getAssetsToSellTotalForIncomeFromIncome } from \"./Helper/IncomePaymentHelper\";\r\nimport { IncomeArrangementType, incomePaymentDetailsLabels, incomePaymentDetailsMessages } from \"./Resource/Content\";\r\n\r\nexport interface CappedFlexiSectionProps extends IProcessComponentProps {\r\n processType?: processTypeEnum;\r\n data: Arrangements;\r\n income: DrawdownAnnualIncome;\r\n drawdownType: DrawdownType;\r\n onIncomeChange: (v) => void;\r\n onChange: (v) => void;\r\n modelData?: DrawdownModel;\r\n pensionProtection?: PensionProtectionDetails;\r\n}\r\n\r\ninterface ICappedFlexiSectionState {}\r\n\r\nexport class CappedFlexiSection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n private handleChange(changes) {\r\n this.props.onIncomeChange(changes);\r\n }\r\n\r\n public isValid(): boolean {\r\n let pass = super.isValid();\r\n if (pass && this.isValidTotal()) {\r\n pass = false;\r\n this.props.showErrorMsgPopUp([incomePaymentDetailsMessages.grossIncomeNotSumOfArrangementsIncome]);\r\n }\r\n return pass;\r\n }\r\n\r\n isValidTotal() {\r\n return this.cappedFlexiTotals() !== getAssetsToSellTotalForIncomeFromIncome(this.props.income);\r\n }\r\n\r\n cappedFlexiTotals(): number {\r\n const cappedModels = this.props.data?.CappedModels;\r\n const cappedTotals = cappedModels\r\n ? cappedModels.reduce((sum, model) => {\r\n return sum + (model.IncomePerPaymentForCurrentPensionYear || 0);\r\n }, 0)\r\n : 0;\r\n return MoneyHelper.roundNumberToDecimalPlaces(cappedTotals + this.flexiTotals(), 2);\r\n }\r\n\r\n flexiTotals() {\r\n const flexiModels = this.props.data?.FlexiModels;\r\n\r\n return flexiModels\r\n ? flexiModels.reduce((sum, model) => {\r\n return sum + (model.IncomePerPayment || 0);\r\n }, 0)\r\n : 0;\r\n }\r\n\r\n yearFromNow = () => {\r\n const result = stripToDay(addYears(new Date(Date.now()), 1));\r\n if (result.getDate() > 28) {\r\n result.setDate(28);\r\n }\r\n return result;\r\n };\r\n\r\n updateValue = (index: number, key: string, value: number, type: IncomeArrangementType) => {\r\n const { data, onChange } = this.props;\r\n const capped = type === IncomeArrangementType.Capped;\r\n const list = capped ? data?.CappedModels : data?.FlexiModels;\r\n if (list && list.length > index) {\r\n const updatedList = Objects.cloneObject(list);\r\n updatedList[index][key] = value;\r\n const change = capped ? { CappedModels: updatedList } : { FlexiModels: updatedList };\r\n onChange(change);\r\n }\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, processType, modelData, pensionProtection } = this.props;\r\n return (\r\n <>\r\n {!isNullOrEmpty(data?.CappedModels) && (\r\n \r\n this.updateValue(index, key, value, IncomeArrangementType.Capped)\r\n }\r\n drawdown={modelData}\r\n processType={processType}\r\n pensionProtection={pensionProtection}\r\n />\r\n )}\r\n {!isNullOrEmpty(data?.FlexiModels) && (\r\n \r\n this.updateValue(index, key, value, IncomeArrangementType.Flexi)\r\n }\r\n drawdown={modelData}\r\n processType={processType}\r\n pensionProtection={pensionProtection}\r\n />\r\n )}\r\n {this.props.drawdownType == DrawdownType.Flexible && (\r\n <>\r\n
\r\n
\r\n {this.props.income?.FlexiIncomeReviewDate &&\r\n JsonDateParser.toDate(this.props.income?.FlexiIncomeReviewDate) >\r\n JsonDateParser.toDate(addYears(new Date(), 3)) && (\r\n \r\n )}\r\n v.getDate() <= 28,\r\n }}\r\n required={incomePaymentDetailsMessages.nextFlexiReviewDateRequired}\r\n onChange={(v) =>\r\n this.handleChange({\r\n FlexiIncomeReviewDate: JsonDateParser.toJsonDateNoOffset(v),\r\n })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n this.handleChange({\r\n FrequencyFlexiIncomeReview: v,\r\n })\r\n }\r\n />\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CappedModel } from \"../../../../../../../Wrap/Models/Domains/Drawdown/CappedModel\";\r\nimport { FlexiModel } from \"../../../../../../../Wrap/Models/Domains/Drawdown/FlexiModel\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport {\r\n calculateMaximumIncomePaymentForFlexiTargetForExistingArrangement,\r\n calculateMaximumIncomePaymentForFutureYearForExistingArrangement,\r\n} from \"./Helper/IncomePaymentHelper\";\r\nimport { IncomeArrangementType, IncomeArrangementTypeMaps } from \"./Resource/Content\";\r\nimport { TakeFullValue } from \"./TakeFullValue\";\r\n\r\nexport interface CappedFlexiTableProps {\r\n data: any[];\r\n type: IncomeArrangementType;\r\n cssWrapper?: string;\r\n onChange: (index: number, key: string, newValue: any) => void;\r\n drawdown?: DrawdownModel;\r\n processType?: processTypeEnum;\r\n pensionProtection?: PensionProtectionDetails;\r\n}\r\n\r\ninterface Column {\r\n title: string;\r\n key: string;\r\n render?: (item: T, index: number, key: string) => React.ReactNode;\r\n}\r\n\r\nfunction getColumns(props: CappedFlexiTableProps): Column[] {\r\n if (props.type == IncomeArrangementType.Capped) {\r\n const cappedColumns: Column[] = [\r\n {\r\n title: \"From\",\r\n key: \"From\",\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\"\r\n },\r\n {\r\n title: \"Type\",\r\n key: \"Type\",\r\n },\r\n {\r\n title: \"GAD Maximum\",\r\n key: \"GadMaximum\",\r\n },\r\n {\r\n title: \"Taxable\",\r\n key: \"Taxable\",\r\n render: (item) => {\r\n return item.Taxable ? \"Yes\" : \"No\";\r\n }\r\n },\r\n {\r\n title: \"Income taken to date\",\r\n key: \"IncomeTakenToDate\",\r\n },\r\n {\r\n title: \"Next years GAD Maximum\",\r\n key: \"NextYearsGadMaximum\",\r\n },\r\n {\r\n title: \"Last mandatory review\",\r\n key: \"LastMandatoryReview\",\r\n render: (item) => {\r\n return JsonDateParser.getFormatDate(item.LastMandatoryReview, \"dd-MM-yyyy\")\r\n }\r\n },\r\n {\r\n title: \"Maximum income payment for remainder of pension year\",\r\n key: \"MaximumIncomePaymentForRemainderOfPensionYear\",\r\n render: (item) => {\r\n const result = calculateMaximumIncomePaymentForFutureYearForExistingArrangement(\r\n props?.processType,\r\n item,\r\n props?.drawdown?.Income\r\n );\r\n return MoneyDisplayHelper.FromatMoneyDisplay(result);\r\n },\r\n },\r\n {\r\n title: \"Maximum income payment for future pension years\",\r\n key: \"MaximumIncomePaymentForFuturePensionYears\",\r\n render: (item) => {\r\n const result = calculateMaximumIncomePaymentForFutureYearForExistingArrangement(\r\n props?.processType,\r\n item,\r\n props?.drawdown?.Income\r\n );\r\n return MoneyDisplayHelper.FromatMoneyDisplay(result);\r\n },\r\n },\r\n {\r\n title: \"Income per payment for current pension year\",\r\n key: \"IncomePerPaymentForCurrentPensionYear\",\r\n render: (item, index, key) => {\r\n const value = item.IncomePerPaymentForCurrentPensionYear;\r\n const maxValue = item.MaximumIncomePaymentForRemainderOfPensionYear;\r\n return (\r\n {\r\n props.onChange(index, key, newValue);\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Value cannot be greater than maximum income payment for remainder of current pension year\",\r\n validator: (v) => v <= maxValue,\r\n },\r\n {\r\n errorMessage: \"Value can not be less than 0\",\r\n validator: (v) => v >= 0,\r\n },\r\n ]}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n title: \"Income per payment for future pension years\",\r\n key: \"IncomePerPaymentForFuturePensionYears\",\r\n render: (item, index, key) => {\r\n const maxValue = item.MaximumIncomePaymentForFuturePensionYears;\r\n return (\r\n {\r\n props.onChange(index, key, newValue);\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Value cannot be greater than maximum income payment for future pension years\",\r\n validator: (v) => v <= maxValue,\r\n },\r\n {\r\n errorMessage: \"Value can not be less than 0\",\r\n validator: (v) => v >= 0,\r\n },\r\n ]}\r\n />\r\n );\r\n },\r\n },\r\n ];\r\n return cappedColumns;\r\n }\r\n const flexiColumns: Column[] = [\r\n {\r\n title: \"From\",\r\n key: \"From\",\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n render: (item) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(item.Amount);\r\n }\r\n },\r\n {\r\n title: \"Type\",\r\n key: \"Type\",\r\n },\r\n {\r\n title: \"Maximum income payment per payment\",\r\n key: \"MaximumIncomePerPayment\",\r\n render: (item) => {\r\n const value = calculateMaximumIncomePaymentForFlexiTargetForExistingArrangement(\r\n props?.processType,\r\n item,\r\n props?.drawdown,\r\n props?.pensionProtection\r\n );\r\n return MoneyDisplayHelper.FromatMoneyDisplay(value);\r\n },\r\n },\r\n {\r\n title: \"Income per payment\",\r\n key: \"IncomePerPayment\",\r\n render: (item, index, key) => {\r\n const value = item.IncomePerPayment;\r\n const maxValue = item.MaximumIncomePerPayment;\r\n return (\r\n props.onChange(index, key, newValue)}\r\n />\r\n );\r\n },\r\n },\r\n ];\r\n return flexiColumns;\r\n}\r\n\r\nexport const CappedFlexiTable = (props: CappedFlexiTableProps) => {\r\n const columns = getColumns(props);\r\n const cssWrapper = classNames(\"one-off-income-table\", props.cssWrapper);\r\n\r\n return (\r\n <>\r\n

{IncomeArrangementTypeMaps[props.type]}

\r\n \r\n \r\n {columns.map((row, index) => {\r\n return (\r\n \r\n \r\n {props.data.map((item, index) => {\r\n if (row.render) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
{

{row.title}

}
{row.render(item, index, row.key)}{item[row.key]}
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DrawdownAnnualIncome } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownAnnualIncome\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { calculateMaximumInitialIncomePayment } from \"./Helper/IncomePaymentHelper\";\r\nimport { DrawdownIncomeAmendmentInstruction } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownIncomeAmendmentInstruction\";\r\n\r\ninterface IDifferentInitialIncomePaymentProps extends IProcessComponentProps {\r\n data: DrawdownAnnualIncome;\r\n labels: any;\r\n messages: any;\r\n drawdownType?: DrawdownType;\r\n pensionBase: PensionBase;\r\n processType?: processTypeEnum;\r\n isITFC: boolean;\r\n regularCrystalDifferentInital?: boolean;\r\n existingArrangements?: DrawdownIncomeAmendmentInstruction[];\r\n}\r\ninterface IDifferentInitialIncomePaymentState {}\r\n\r\nexport class DifferentInitialIncomePayment extends ProcessComponent<\r\n IDifferentInitialIncomePaymentProps,\r\n IDifferentInitialIncomePaymentState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n private handleChange(changes) {\r\n const { data, onChange } = this.props;\r\n const changedIncome = { ...data, ...changes };\r\n this.onDataChange(onChange, changedIncome, data);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n data,\r\n labels,\r\n messages,\r\n drawdownType,\r\n pensionBase,\r\n processType,\r\n isITFC,\r\n existingArrangements,\r\n regularCrystalDifferentInital,\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n {drawdownType != DrawdownType.Regular && (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n if (v) {\r\n this.handleChange({ TakeDifferentInitialIncomePayment: v });\r\n } else {\r\n this.handleChange({\r\n TakeDifferentInitialIncomePayment: v,\r\n GrossInitialIncomePayment: {\r\n Amount: 0,\r\n Currency: CurrencyCode.NotSpecified,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )}\r\n {(data?.TakeDifferentInitialIncomePayment || regularCrystalDifferentInital) && (\r\n <>\r\n
\r\n {labels.maximumInitialIncomePayment}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumInitialIncomePayment(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n this.handleChange({\r\n GrossInitialIncomePayment: {\r\n Amount: v,\r\n Currency: data?.GrossInitialIncomePayment?.Currency || CurrencyCode.GBP,\r\n },\r\n })\r\n }\r\n validationRules={[\r\n {\r\n errorMessage: \"Please enter an amount that is greater than zero.\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n required={messages.grossInitialIncomePaymentRequired}\r\n atMost={{\r\n errorMessage: messages.messagesGrossInitialIncomeOver,\r\n value: calculateMaximumInitialIncomePayment(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ),\r\n }}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DifferentInitialIncomePayment;\r\n","import { filter } from \"lodash\";\r\nimport { DateHelper } from \"../../../../../../../../react-core/Helpers/DateHelper\";\r\nimport { addDays, addYears } from \"../../../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Frequency } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { PensionArrangementType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { SourceType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { CappedModel } from \"../../../../../../../../Wrap/Models/Domains/Drawdown/CappedModel\";\r\nimport { DrawdownAnnualIncome } from \"../../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownAnnualIncome\";\r\nimport { DrawdownIncomeAmendmentInstruction } from \"../../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownIncomeAmendmentInstruction\";\r\nimport { FlexiModel } from \"../../../../../../../../Wrap/Models/Domains/Drawdown/FlexiModel\";\r\nimport { PensionProtectionDetails } from \"../../../../../../../../Wrap/Models/Models/Customer/PensionProtection/PensionProtectionDetails\";\r\nimport { PensionTransfer } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/PensionTransfer\";\r\nimport { PensionBase } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { DrawdownModel } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IJsonDate } from \"../../../../../../../../Wrap/System/IJsonDate\";\r\nimport { MoneyHelper } from \"../../../../../../../Shared/Common/MoneyHelper\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { Process } from \"../../../../../../../Shared/Process/Process/Process\";\r\nimport {\r\n nbSippIncomePaymentDetailsLabels,\r\n nextYearsGadMaximum,\r\n TransferOrDrawdown,\r\n} from \"../../../../NewBusinessWizard/Resource/Contents\";\r\nimport { ChargesHelper } from \"../../../Helpers/ChargesHelper\";\r\nimport { processTypeEnum } from \"../../../Resource/Contents\";\r\nimport {\r\n calculateNetDrawdownValue,\r\n totalCashValue,\r\n totalReRegValue,\r\n} from \"../../DrawdownDetails/Helper/DrawdownDetailHelper\";\r\n\r\nexport const shouldDisplayDifferentInitialIncomePayment = (\r\n data: DrawdownAnnualIncome,\r\n drawdownType: DrawdownType,\r\n pensionTransfer: PensionTransfer[],\r\n hasCappedArrangement: boolean,\r\n processType: processTypeEnum,\r\n regularCrystalDifferentInital: boolean\r\n): boolean => {\r\n if (drawdownType === DrawdownType.Regular) {return regularCrystalDifferentInital;}\r\n return (\r\n data?.TargetSpecificArrangements != true &&\r\n !hasCappedArrangement &&\r\n drawdownType !== DrawdownType.Capped &&\r\n processType !== processTypeEnum.GadReview &&\r\n !pensionTransfer?.find((transfer) => {\r\n return transfer.DrawdownType === DrawdownType.Capped;\r\n })\r\n );\r\n};\r\n\r\nexport const isIncomeExhausted = (\r\n drawdownType: DrawdownType,\r\n data: DrawdownAnnualIncome,\r\n pensionBase: PensionBase,\r\n processType: processTypeEnum,\r\n isITFC: boolean\r\n): boolean => {\r\n let paymentsPerYear = 0;\r\n if (data?.Frequency) {\r\n switch (data?.Frequency) {\r\n case Frequency.Monthly:\r\n paymentsPerYear = 12;\r\n break;\r\n case Frequency.Quarterly:\r\n paymentsPerYear = 4;\r\n break;\r\n case Frequency.HalfYearly:\r\n paymentsPerYear = 2;\r\n break;\r\n case Frequency.Yearly:\r\n paymentsPerYear = 1;\r\n break;\r\n }\r\n }\r\n if (\r\n drawdownType == DrawdownType.Flexible &&\r\n data?.GrossIncomePerPayment?.Amount &&\r\n processType != processTypeEnum.Quote\r\n ) {\r\n const incomePerYear = MoneyHelper.roundNumberToDecimalPlaces(\r\n MoneyHelper.multiplyBy(data?.GrossIncomePerPayment?.Amount, paymentsPerYear).Amount,\r\n 2\r\n );\r\n let maximumIncomePerPayment = 0;\r\n if (data?.TargetSpecificArrangements) {\r\n // use target algorithm\r\n maximumIncomePerPayment = calculateMaximumIncomePerPaymentWithTargetAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC\r\n );\r\n } else {\r\n // use standard algorithm\r\n maximumIncomePerPayment = calculateMaximumIncomePerPaymentWithStandardAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC\r\n );\r\n }\r\n return incomePerYear > maximumIncomePerPayment;\r\n }\r\n return false;\r\n};\r\n\r\nexport const getAssetsToSellTotalForIncome = (data: DrawdownModel): number => {\r\n return data?.Income?.TargetSpecificArrangements\r\n ? data?.Income?.GrossIncomePerPaymentFromPension?.Amount\r\n : data?.Income?.GrossIncomePerPayment?.Amount || 0;\r\n};\r\n\r\nexport const getAssetsToSellTotalForIncomeFromIncome = (data: DrawdownAnnualIncome): number => {\r\n return data?.TargetSpecificArrangements\r\n ? data?.GrossIncomePerPaymentFromPension?.Amount\r\n : data?.GrossIncomePerPayment?.Amount || 0;\r\n};\r\n\r\nexport const calculateMaximumAvailablePerPayment = (\r\n processType: processTypeEnum | ProcessType,\r\n drawdown: DrawdownModel\r\n): number => {\r\n if (\r\n processType == processTypeEnum.Quote ||\r\n processType == ProcessType.Quote ||\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == ProcessType.NB\r\n ) {\r\n const returnValue =\r\n (drawdown?.RegularCrystallisationDetails?.Amount?.Amount || 0) - (drawdown?.TaxFreeLumpSum?.Amount || 0);\r\n return returnValue < 0 ? 0 : returnValue;\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumIncomePerPaymentWithStandardAlgorithm = (\r\n processType: processTypeEnum | ProcessType,\r\n pensionBase: PensionBase,\r\n isITFC: boolean,\r\n existingArrangements: DrawdownIncomeAmendmentInstruction[] = []\r\n): number => {\r\n if (\r\n processType == processTypeEnum.Quote ||\r\n processType == ProcessType.Quote ||\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == ProcessType.NB\r\n ) {\r\n const crystallisedTransfer = pensionBase?.PensionTransfers?.filter(\r\n (e) => e?.PensionSource == PensionArrangementType.Crystallised\r\n );\r\n if (hasCappedTransfer(crystallisedTransfer || [])) {\r\n // Scenario 1 - have capped transfer THEN IGNORE all flexi arrangements\r\n // incomePerPayment = SUM(GAD maximum / frequency)\r\n const returnValue = maximumIncomePerPaymentForCappedTransfers(\r\n crystallisedTransfer?.filter((e) => e?.DrawdownType == DrawdownType.Capped),\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency\r\n );\r\n // round down to 2 decimals\r\n return Math.floor(returnValue * 100) / 100;\r\n } else if (\r\n pensionBase?.DrawdownModel?.DrawdownType == DrawdownType.Flexible ||\r\n hasFlexiTransferOnly(crystallisedTransfer)\r\n ) {\r\n // Scenario 2 - only have flexi drawdown or flexi transfer\r\n const flexiTransfer = maximumIncomePerPaymentForFlexiTransfers(\r\n crystallisedTransfer?.filter((e) => e?.DrawdownType == DrawdownType.Flexible),\r\n true\r\n );\r\n const netToDrawdown = calculateNetDrawdownValue(pensionBase?.DrawdownModel, pensionBase?.PensionProtection);\r\n const iac = calculateIAC(pensionBase, isITFC);\r\n const diac = calculateDIAC(pensionBase?.DrawdownModel);\r\n\r\n // (((Flexi Transfers+Net to single drawdown) - Initial adviser charges taken from product cash)-SIPP Product charges)\r\n // TODO Product charges ignore for now\r\n const returnValue = flexiTransfer + netToDrawdown - iac - diac;\r\n return returnValue < 0 ? 0 : returnValue;\r\n }\r\n } else if (processType == processTypeEnum.topUpWithITFLS || processType == ProcessType.TopUpWithITFLS) {\r\n const cappedArrangements = filter(existingArrangements, { Type: PensionArrangementType.Capped });\r\n if (cappedArrangements && cappedArrangements.length > 0) {\r\n // if have capped arrangement - apply capped formula\r\n // (SUM (Each GAD Maximum /Frequency))\r\n let total = 0;\r\n const frequency = pensionBase?.DrawdownModel?.Income?.Frequency || Frequency.Monthly;\r\n cappedArrangements.forEach((e) => {\r\n const value = (e?.CappedArrangement?.NextYearsGadMaximum || 0) / frequencyMap[frequency];\r\n total += value;\r\n });\r\n return total;\r\n } else {\r\n // apply flexi formula\r\n // (((Each value to move to crystallised account - Drawdown initial adviser charge to come from product cash)-SIPP Product Charges) + (value of existing flexi access arrangements - any in progress income payments))\r\n // Ignore product charge for now\r\n const netToDrawdown = calculateNetDrawdownValue(pensionBase?.DrawdownModel, pensionBase?.PensionProtection);\r\n const diac = calculateDIAC(pensionBase?.DrawdownModel);\r\n\r\n // Find all flexi existing arrangements\r\n const flexiArrangements = filter(existingArrangements, { Type: PensionArrangementType.Fad });\r\n let flexiTotal = 0;\r\n if (flexiArrangements && flexiArrangements.length > 0) {\r\n flexiArrangements.forEach((e) => {\r\n const amount = calculateFlexiArrangementAmount(e?.FlexiArrangement);\r\n flexiTotal += amount;\r\n });\r\n }\r\n\r\n return netToDrawdown - diac + flexiTotal;\r\n }\r\n }\r\n return 0;\r\n};\r\n\r\nexport const getInitialPaymentRequested = (pensionBase: PensionBase) => {\r\n return (\r\n pensionBase?.DrawdownModel?.Income?.GrossInitialIncomePayment?.Amount ||\r\n (pensionBase?.PensionTransfers &&\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.GrossInitialIncomePayment?.Amount)\r\n );\r\n};\r\n\r\nexport const calculateMaximumIncomePerPaymentWithTargetAlgorithm = (\r\n processType: processTypeEnum | ProcessType,\r\n pensionBase: PensionBase,\r\n isITFC: boolean,\r\n existingArrangements: DrawdownIncomeAmendmentInstruction[] = []\r\n): number => {\r\n if (\r\n processType == processTypeEnum.Quote ||\r\n processType == ProcessType.Quote ||\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == ProcessType.NB\r\n ) {\r\n // Capped transfer\r\n // SUM(Each Transfer GAD Maximum)-Each income paid to date) / Pension Year Frequency)\r\n const crystallisedTransfer = pensionBase?.PensionTransfers?.filter(\r\n (e) => e?.PensionSource == PensionArrangementType.Crystallised\r\n );\r\n const firstPaymentDate =\r\n pensionBase?.DrawdownModel?.Income?.NextPayment ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.NextPayment;\r\n const frequency =\r\n pensionBase?.DrawdownModel?.Income?.Frequency ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency;\r\n const paymentEndDate =\r\n pensionBase?.DrawdownModel?.Income?.PaymentEnd ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.PaymentEnd;\r\n const cappedTransfer = cappedTransferWithTarget(\r\n crystallisedTransfer?.filter((e) => e?.DrawdownType == DrawdownType.Capped),\r\n firstPaymentDate,\r\n paymentEndDate,\r\n frequency\r\n );\r\n const flexiTransfer = maximumIncomePerPaymentForFlexiTransfers(\r\n crystallisedTransfer?.filter((e) => e?.DrawdownType == DrawdownType.Flexible),\r\n true\r\n );\r\n const netToDrawdown = calculateNetDrawdownValue(pensionBase?.DrawdownModel, pensionBase?.PensionProtection);\r\n const iac = calculateIAC(pensionBase, isITFC);\r\n const diac = calculateDIAC(pensionBase?.DrawdownModel);\r\n\r\n // (((SUM(Each Transfer GAD Maximum)-Each income paid to date) / Pension Year Frequency) + (Flexi Transfers+Net to single drawdown) - Initial adviser charge taken from product cash for Flexi)-SIPP Product charges)\r\n const returnValue = cappedTransfer + flexiTransfer + netToDrawdown - iac - diac;\r\n return returnValue < 0 ? 0 : returnValue;\r\n } else if (processType == processTypeEnum.topUpWithITFLS || processType == ProcessType.TopUpWithITFLS) {\r\n // SUM ((((Each existing GA Maximum - Each income paid to date) - each in progress capped income payments)/ Pension Year Frequency) + (((Each value to move to crystallised account - Drawdown initial adviser charge to come from product cash)-SIPP Product charges) + (value of existing flexi access arrangements - any in progress income payments))).\r\n // Capped arrangements\r\n const cappedArrangements = filter(existingArrangements, { Type: PensionArrangementType.Capped });\r\n let cappedArrangementsValue = 0;\r\n if (cappedArrangements && cappedArrangements.length > 0) {\r\n cappedArrangements.forEach((e) => {\r\n const value = cappedArrangementWithTarget(e?.CappedArrangement, pensionBase?.DrawdownModel?.Income);\r\n cappedArrangementsValue += value;\r\n });\r\n }\r\n\r\n // Flexi arrangements & drawdown\r\n const netToDrawdown = calculateNetDrawdownValue(pensionBase?.DrawdownModel, pensionBase?.PensionProtection);\r\n const diac = calculateDIAC(pensionBase?.DrawdownModel);\r\n\r\n // Find all flexi existing arrangements\r\n const flexiArrangements = filter(existingArrangements, { Type: PensionArrangementType.Fad });\r\n let flexiTotal = 0;\r\n if (flexiArrangements && flexiArrangements.length > 0) {\r\n flexiArrangements.forEach((e) => {\r\n const amount = calculateFlexiArrangementAmount(e?.FlexiArrangement);\r\n flexiTotal += amount;\r\n });\r\n }\r\n\r\n const flexiArrangementsValue = netToDrawdown - diac + flexiTotal;\r\n\r\n const returnValue = cappedArrangementsValue + flexiArrangementsValue;\r\n return returnValue < 0 ? 0 : returnValue;\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumInitialIncomePayment = (\r\n processType: processTypeEnum | ProcessType,\r\n pensionBase: PensionBase,\r\n isITFC: boolean,\r\n existingArrangements: DrawdownIncomeAmendmentInstruction[] = []\r\n): number => {\r\n if (\r\n processType == processTypeEnum.Quote ||\r\n processType == ProcessType.Quote ||\r\n processType == processTypeEnum.NewBusiness ||\r\n processType == ProcessType.NB\r\n ) {\r\n if (pensionBase?.DrawdownModel?.DrawdownType == DrawdownType.Regular) {\r\n // Regular drawdown\r\n // Maximum initial income payment = (Initial Crystallisation amount – Tax free cash for initial crystallisation)\r\n // TODO - Tax free cash for initial crystallisation need discuss how to handle this field\r\n return (\r\n (pensionBase?.DrawdownModel?.RegularCrystallisationDetails?.InitialAmount?.Amount || 0) -\r\n (pensionBase?.DrawdownModel?.RegularCrystallisationDetails?.InitialAmountPCLS?.Amount || 0)\r\n );\r\n } else {\r\n return calculateMaximumIncomePerPaymentWithStandardAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n );\r\n }\r\n }\r\n if (processType == processTypeEnum.topUpWithITFLS) {\r\n const returnValue =\r\n calculateMaximumIncomePerPaymentWithStandardAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n );\r\n return Math.max(0, returnValue);\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumGrossOneOffIncomePaymentWithStandardAlgorithm = (\r\n processType: processTypeEnum | ProcessType,\r\n pensionBase: PensionBase,\r\n isITFC: boolean\r\n): number => {\r\n if (processType == processTypeEnum.Quote || processType == ProcessType.Quote) {\r\n const crystallisedTransfer = pensionBase?.PensionTransfers?.filter(\r\n (e) => e?.PensionSource == PensionArrangementType.Crystallised\r\n );\r\n if (hasCappedTransfer(crystallisedTransfer || [])) {\r\n // (SUM (Each Transfer GAD Maximum - income paid to date in pension year for each arrangement) - (Income requested x frequency))\r\n const sumedGad = sumGadMaximumForCappedTransfers(\r\n pensionBase?.PensionTransfers?.filter(\r\n (e) =>\r\n e?.PensionSource == PensionArrangementType.Crystallised &&\r\n e?.DrawdownType == DrawdownType.Capped\r\n )\r\n );\r\n const incomeRequest =\r\n (pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.GrossIncomePerPayment?.Amount || 0) *\r\n frequencyMap[\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency ||\r\n Frequency.Monthly\r\n ];\r\n\r\n const subsequentIncomePaymentsFromPension =\r\n (pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.GrossIncomePerPaymentFromPension?.Amount || 0) *\r\n frequencyMap[\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency ||\r\n Frequency.Monthly\r\n ];\r\n const returnValue = sumedGad - incomeRequest - subsequentIncomePaymentsFromPension;\r\n return returnValue < 0 ? 0 : returnValue;\r\n } else if (\r\n pensionBase?.DrawdownModel?.DrawdownType == DrawdownType.Flexible ||\r\n hasFlexiTransferOnly(crystallisedTransfer)\r\n ) {\r\n // Flexi only\r\n // ((Maximum income per payment - income requested for initial income payment) - (income requested for subsequent income payments x balance frequency))\r\n const maximumIncomePerPayment = calculateMaximumIncomePerPaymentWithStandardAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC\r\n );\r\n const initialPaymentRequested =\r\n pensionBase?.DrawdownModel?.Income?.GrossInitialIncomePayment?.Amount ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.GrossInitialIncomePayment?.Amount;\r\n const subsequentIncomePayments =\r\n pensionBase?.DrawdownModel?.Income?.GrossIncomePerPayment?.Amount ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.GrossIncomePerPayment?.Amount;\r\n const subsequentIncomePaymentsFromPension =\r\n pensionBase?.DrawdownModel?.Income?.GrossIncomePerPaymentFromPension?.Amount ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.GrossIncomePerPaymentFromPension?.Amount;\r\n const frequency =\r\n pensionBase?.DrawdownModel?.Income?.Frequency ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency;\r\n const firstPaymentDate =\r\n pensionBase?.DrawdownModel?.Income?.NextPayment ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.NextPayment;\r\n const paymentEndDate =\r\n pensionBase?.DrawdownModel?.Income?.PaymentEnd ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.PaymentEnd;\r\n let balanceFrequency = calculateBalanceFrequency(\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n firstPaymentDate,\r\n paymentEndDate,\r\n frequency\r\n );\r\n balanceFrequency = initialPaymentRequested > 0 ? balanceFrequency - 1 : balanceFrequency;\r\n const returnValue =\r\n maximumIncomePerPayment -\r\n (initialPaymentRequested || 0) -\r\n (subsequentIncomePayments || 0) * balanceFrequency -\r\n (subsequentIncomePaymentsFromPension || 0) * balanceFrequency;\r\n\r\n return returnValue < 0 ? 0 : returnValue;\r\n }\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumGrossOneOffIncomePaymentWithTargetAlgorithm = (\r\n processType: processTypeEnum | ProcessType,\r\n pensionBase: PensionBase,\r\n isITFC: boolean\r\n): number => {\r\n // Maximum income payment\r\n const maximumIncomePerPayment = calculateMaximumIncomePerPaymentWithTargetAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC\r\n );\r\n const subsequentIncomePayments =\r\n pensionBase?.DrawdownModel?.Income?.GrossIncomePerPayment?.Amount ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.GrossIncomePerPayment\r\n ?.Amount;\r\n const subsequentIncomePaymentsFromPension =\r\n pensionBase?.DrawdownModel?.Income?.GrossIncomePerPaymentFromPension?.Amount ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.GrossIncomePerPaymentFromPension?.Amount;\r\n const frequency =\r\n pensionBase?.DrawdownModel?.Income?.Frequency ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency;\r\n const firstPaymentDate =\r\n pensionBase?.DrawdownModel?.Income?.NextPayment ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.NextPayment;\r\n const paymentEndDate =\r\n pensionBase?.DrawdownModel?.Income?.PaymentEnd ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.PaymentEnd;\r\n const balanceFrequency = calculateBalanceFrequency(\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n firstPaymentDate,\r\n paymentEndDate,\r\n frequency\r\n );\r\n\r\n const returnValue =\r\n maximumIncomePerPayment -\r\n (subsequentIncomePayments || 0) * balanceFrequency -\r\n (subsequentIncomePaymentsFromPension || 0) * balanceFrequency;\r\n return returnValue < 0 ? 0 : returnValue;\r\n};\r\n\r\nexport const calculateMaximumIncomePaymentForRemainderOfYear = (\r\n processType: processTypeEnum | ProcessType,\r\n transferOrDrawdown: TransferOrDrawdown,\r\n pensionBase: PensionBase\r\n): number => {\r\n if (processType == processTypeEnum.NewBusiness || processType == ProcessType.NB) {\r\n // ((GAD Maximum - Income Paid to date) / Pension Year Frequency)\r\n const gadMaximum = transferOrDrawdown?.IncomePaymentDetails?.GadMaximum?.Amount || 0;\r\n const incomePaidToDate = transferOrDrawdown?.IncomePaymentDetails?.CurrentYearIncome?.Amount || 0;\r\n const frequency =\r\n pensionBase?.DrawdownModel?.Income?.Frequency ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency;\r\n const firstPaymentDate =\r\n pensionBase?.DrawdownModel?.Income?.NextPayment ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.NextPayment;\r\n const paymentEndDate =\r\n pensionBase?.DrawdownModel?.Income?.PaymentEnd ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.PaymentEnd;\r\n const pensionYearFrequency = calculateBalanceFrequency(\r\n transferOrDrawdown?.IncomePaymentDetails?.LastGadReviewDate,\r\n firstPaymentDate,\r\n paymentEndDate,\r\n frequency\r\n );\r\n if (pensionYearFrequency <= 0) {\r\n return 0;\r\n }\r\n const returnValue = (gadMaximum - incomePaidToDate) / pensionYearFrequency;\r\n return Math.floor(returnValue * 100) / 100;\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumIncomePaymentForRemainderOfYearForExistingArrangement = (\r\n processType: processTypeEnum | ProcessType,\r\n cappedModel: CappedModel,\r\n income: DrawdownAnnualIncome\r\n) => {\r\n if (processType == processTypeEnum.topUpWithITFLS || processType == ProcessType.TopUpWithITFLS) {\r\n return cappedArrangementWithTarget(cappedModel, income);\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumIncomePaymentForFutureYearForExistingArrangement = (\r\n processType: processTypeEnum | ProcessType,\r\n cappedModel: CappedModel,\r\n income: DrawdownAnnualIncome\r\n) => {\r\n if (processType == processTypeEnum.topUpWithITFLS || processType == ProcessType.TopUpWithITFLS) {\r\n // Gadmaximum / frequency\r\n const returnValue = (cappedModel?.GadMaximum || 0) / frequencyMap[income?.Frequency || Frequency.Monthly];\r\n return Math.floor(returnValue * 100) / 100;\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumIncomePaymentForFutureYear = (\r\n processType: processTypeEnum | ProcessType,\r\n transferOrDrawdown: TransferOrDrawdown,\r\n pensionBase: PensionBase\r\n): number => {\r\n if (processType == processTypeEnum.NewBusiness || processType == ProcessType.NB) {\r\n // (Next Gad Maximum / Frequency)\r\n // TODO- next gad maximum hardcode for now\r\n const nextGadMaximum = transferOrDrawdown?.IncomePaymentDetails?.GadMaximum?.Amount || 0;\r\n const frequency =\r\n pensionBase?.DrawdownModel?.Income?.Frequency ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.Frequency;\r\n const returnValue = nextGadMaximum / frequencyMap[frequency || Frequency.Monthly];\r\n // round down to 2 decimals\r\n return Math.floor(returnValue * 100) / 100;\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumIncomePaymentForFlexiTarget = (\r\n processType: processTypeEnum | ProcessType,\r\n transferOrDrawdown: TransferOrDrawdown,\r\n pensionBase: PensionBase,\r\n isITFC: boolean\r\n): number => {\r\n if (processType == processTypeEnum.NewBusiness || processType == ProcessType.NB) {\r\n // (Amount for Flexi Access Drawdown - Initial adviser charges taken from product cash)-SIPP Product charges)\r\n if (transferOrDrawdown?.ProviderDetails?.Name == nbSippIncomePaymentDetailsLabels.crystallisation) {\r\n // From drawdown\r\n // Amount for Flexi Access Drawdown = Net to Drawdown\r\n // IAC = DIAC\r\n const amountForFlexiAccessDrawdown = calculateNetDrawdownValue(\r\n pensionBase?.DrawdownModel,\r\n pensionBase?.PensionProtection\r\n );\r\n const IAC = calculateDIAC(pensionBase?.DrawdownModel) + calculateIAC(pensionBase, isITFC, false);\r\n const returnValue = amountForFlexiAccessDrawdown - IAC;\r\n return returnValue < 0 ? 0 : returnValue;\r\n } else {\r\n // From transfer\r\n // Amount for Flexi Access Drawdown = transfer value\r\n // IAC = Proportion of IAC\r\n const amountForFlexiAccessDrawdown = maximumIncomePerPaymentForFlexiTransfers([transferOrDrawdown], true);\r\n const IAC = calculateProportionIAC(\r\n maximumIncomePerPaymentForFlexiTransfers([transferOrDrawdown], false) || 0,\r\n pensionBase\r\n );\r\n const returnValue = amountForFlexiAccessDrawdown - IAC;\r\n return returnValue < 0 ? 0 : returnValue;\r\n }\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateMaximumIncomePaymentForFlexiTargetForExistingArrangement = (\r\n processType: processTypeEnum | ProcessType,\r\n flexiModel: FlexiModel,\r\n drawdown: DrawdownModel,\r\n pensionProtection: PensionProtectionDetails\r\n) => {\r\n if (processType == processTypeEnum.topUpWithITFLS || processType == ProcessType.TopUpWithITFLS) {\r\n if (flexiModel?.From == \"Crystallisation\") {\r\n // From drawdown\r\n // Amount for Flexi Access Drawdown = Net to Drawdown\r\n // IAC = DIAC\r\n const amountForFlexiAccessDrawdown = calculateNetDrawdownValue(drawdown, pensionProtection);\r\n const IAC = calculateDIAC(drawdown);\r\n const returnValue = amountForFlexiAccessDrawdown - IAC;\r\n return returnValue < 0 ? 0 : returnValue;\r\n } else {\r\n // From existing arrangement\r\n // Amount for Flexi Access Drawdown = existing amount - current income\r\n const result = calculateFlexiArrangementAmount(flexiModel);\r\n return result < 0 ? 0 : result;\r\n }\r\n }\r\n // TODO: handle other process types\r\n};\r\n\r\n// used for calculating gross one-off income payment\r\nconst sumGadMaximumForCappedTransfers = (cappedTransfers: PensionTransfer[]) => {\r\n let total = 0;\r\n cappedTransfers.forEach((e) => {\r\n const value =\r\n (e?.IncomePaymentDetails?.GadMaximum?.Amount || 0) -\r\n (e?.IncomePaymentDetails?.CurrentYearIncome?.Amount || 0);\r\n total += value;\r\n });\r\n return total;\r\n};\r\n\r\nconst cappedTransferWithTarget = (\r\n transfers: PensionTransfer[],\r\n firstPaymentDate: IJsonDate,\r\n paymentEndDate: IJsonDate,\r\n frequency: Frequency\r\n) => {\r\n let total = 0;\r\n transfers = transfers || [];\r\n firstPaymentDate = firstPaymentDate || JsonDateParser.toJsonDateNoOffset(new Date());\r\n frequency = frequency || Frequency.Monthly;\r\n transfers.forEach((e) => {\r\n const balanceFrequency = calculateBalanceFrequency(\r\n e?.IncomePaymentDetails?.LastGadReviewDate,\r\n firstPaymentDate,\r\n paymentEndDate,\r\n frequency\r\n );\r\n if (balanceFrequency > 0) {\r\n let value =\r\n ((e?.IncomePaymentDetails?.GadMaximum?.Amount || 0) -\r\n (e?.IncomePaymentDetails?.CurrentYearIncome?.Amount || 0)) /\r\n balanceFrequency;\r\n\r\n // round down to 2 decimals\r\n value = Math.floor(value * 100) / 100;\r\n total += value;\r\n }\r\n });\r\n return total;\r\n};\r\n\r\nconst cappedArrangementWithTarget = (cappedModel: CappedModel, income: DrawdownAnnualIncome): number => {\r\n // SUM ((((Each existing GAD Maximum - Each income paid to date) - each in progress capped income payments)/ Pension Year Frequency)\r\n const gadMaximum = cappedModel?.GadMaximum || 0;\r\n const incomePaidToDate = cappedModel?.IncomeTakenToDate || 0;\r\n const inProgressIncome = cappedModel?.IncomePerPaymentForCurrentPensionYear || 0;\r\n const frequencyBalance = calculateBalanceFrequency(\r\n cappedModel?.LastMandatoryReview,\r\n income?.NextPayment,\r\n income?.PaymentEnd,\r\n income?.Frequency\r\n );\r\n\r\n if (frequencyBalance <= 0) {\r\n return 0;\r\n }\r\n const returnValue = (gadMaximum - incomePaidToDate - inProgressIncome) / frequencyBalance;\r\n if (returnValue < 0) {\r\n return 0;\r\n } else {\r\n return Math.floor(returnValue * 100) / 100;\r\n }\r\n};\r\n\r\nconst maximumIncomePerPaymentForCappedTransfers = (\r\n cappedTransfers: PensionTransfer[],\r\n frequency: Frequency\r\n): number => {\r\n let total = 0;\r\n cappedTransfers = cappedTransfers || [];\r\n // Maximum Income Per Payment = (SUM (Each Transfer GAD Maximum/Frequency)\r\n cappedTransfers.forEach((e) => {\r\n const value = (e?.IncomePaymentDetails?.GadMaximum?.Amount || 0) / frequencyMap[frequency || Frequency.Monthly];\r\n total += value;\r\n });\r\n return total;\r\n};\r\n\r\nexport const maximumIncomePerPaymentForFlexiTransfers = (\r\n flexiTransfers: PensionTransfer[],\r\n needResidualCash = false\r\n): number => {\r\n // Maximum Income Per Payment = (SUM(Each Transfer Cash Value))\r\n let total = 0;\r\n flexiTransfers = flexiTransfers || [];\r\n flexiTransfers.forEach((e) => {\r\n total += e?.CurrentValue?.Amount || 0;\r\n if (e?.Instruments != null && e?.Instruments?.length > 0) {\r\n // calculate re-reg value\r\n e?.Instruments?.forEach((el) => {\r\n total += (el?.Units || 0) * (el?.Investment?.UnitPrice?.Amount || 0);\r\n });\r\n total += needResidualCash ? e?.ReRegisterValue?.Amount || 0 : 0;\r\n }\r\n });\r\n return total;\r\n};\r\n\r\n/**\r\n *\r\n * @param data PensionBase model\r\n * @param isITFC if true - will inclue pre-retire transfer re-reg value\r\n * @param includePostFlexi if true - will include post-retire transfer value (both cash * re-reg)\r\n * @returns\r\n */\r\nconst calculateIAC = (data: PensionBase, isITFC: boolean, includePostFlexi = true) => {\r\n // single payment + pre-retirement cash transfer\r\n let preTotalCash = totalCashValue(data);\r\n // Not itfc - add pre-retirement re-reg transfer\r\n preTotalCash += isITFC ? 0 : totalReRegValue(data);\r\n // add post-retirement flexi transfer (both cash & rereg)\r\n preTotalCash += includePostFlexi\r\n ? maximumIncomePerPaymentForFlexiTransfers(\r\n data?.PensionTransfers?.filter(\r\n (e) =>\r\n e?.PensionSource == PensionArrangementType.Crystallised &&\r\n e?.DrawdownType == DrawdownType.Flexible\r\n )\r\n )\r\n : 0;\r\n const totalContribution = ChargesHelper.getTotalForIACEstimation(data, SubAccountType.Npr);\r\n return data?.InitialAdviserCharge?.SourceType == SourceType.WrapCash\r\n ? 0\r\n : data?.InitialAdviserCharge?.Type == MoneyOrPercentageType.Money\r\n ? (preTotalCash * (data?.InitialAdviserCharge?.Money?.Amount || 0)) / totalContribution\r\n : ((data?.InitialAdviserCharge?.Percentage || 0) * preTotalCash) / 100;\r\n};\r\n\r\n/**\r\n *\r\n * @param transferAmount current transfer amount\r\n * @param pensionBase pensionBase model\r\n * @returns Return de proportion iac value again the total transfer value (include pre/post retire transfer - both cash & re-reg)\r\n */\r\nconst calculateProportionIAC = (transferAmount: number, pensionBase: PensionBase) => {\r\n const iacType = pensionBase?.TransferInitialAdviceCharge?.Type;\r\n if (iacType == MoneyOrPercentageType.Money) {\r\n let totalTransfer = 0;\r\n pensionBase?.PensionTransfers?.forEach((e) => {\r\n totalTransfer += e?.CurrentValue?.Amount || 0;\r\n });\r\n return (transferAmount / totalTransfer) * (pensionBase?.TransferInitialAdviceCharge?.Money?.Amount || 0);\r\n } else {\r\n return (transferAmount * pensionBase?.TransferInitialAdviceCharge?.Percentage) / 100;\r\n }\r\n};\r\n\r\n/**\r\n *\r\n * @param drawdown\r\n * @returns Return DIAC (cash or percetage)\r\n */\r\nconst calculateDIAC = (drawdown: DrawdownModel) => {\r\n if (drawdown == null) {\r\n return 0;\r\n }\r\n return drawdown?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.SourceType == SourceType.WrapCash\r\n ? 0\r\n : drawdown?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.Type == MoneyOrPercentageType.Money\r\n ? drawdown?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.Money?.Amount || 0\r\n : ((drawdown?.DrawdownAdviserCharge?.DrawdownInitialAdviserCharge?.Percentage || 0) *\r\n drawdown?.CrystallisationDetails?.CrystallisationAmount?.Amount) /\r\n 100;\r\n};\r\n\r\n/**\r\n *\r\n * @param flexiModel Existing flexi arrangement\r\n * @returns value of existing flexi access arrangements - any in progress income payments\r\n */\r\nconst calculateFlexiArrangementAmount = (flexiModel: FlexiModel) => {\r\n // TODO - need to determine how to calculate in progress income payments\r\n return (flexiModel.Amount || 0) - (flexiModel?.IncomePerPayment || 0);\r\n};\r\n\r\nconst hasCappedTransferOnly = (pensionTransfers: PensionTransfer[]): boolean => {\r\n pensionTransfers = pensionTransfers || [];\r\n return !pensionTransfers.some((e) => e.DrawdownType == DrawdownType.Flexible);\r\n};\r\n\r\nconst hasCappedTransfer = (pensionTransfers: PensionTransfer[]): boolean => {\r\n pensionTransfers = pensionTransfers || [];\r\n return pensionTransfers.some((e) => e.DrawdownType == DrawdownType.Capped);\r\n};\r\n\r\nconst hasFlexiTransferOnly = (pensionTransfers: PensionTransfer[]): boolean => {\r\n pensionTransfers = pensionTransfers || [];\r\n return !pensionTransfers.some((e) => e.DrawdownType == DrawdownType.Capped);\r\n};\r\n\r\nconst calculateBalanceFrequency = (\r\n lastGadReviewDate: IJsonDate,\r\n firstPaymentDate: IJsonDate,\r\n paymentEndDate: IJsonDate,\r\n frequency: Frequency\r\n): number => {\r\n const frequencyMap = {\r\n [Frequency.Monthly]: 1,\r\n [Frequency.Quarterly]: 3,\r\n [Frequency.HalfYearly]: 6,\r\n [Frequency.Yearly]: 12,\r\n };\r\n if (lastGadReviewDate == null || firstPaymentDate == null) {\r\n return 0;\r\n }\r\n const yearEnd =\r\n paymentEndDate == null\r\n ? addDays(addYears(JsonDateParser.toDate(lastGadReviewDate), 1), -1)\r\n : addYears(JsonDateParser.toDate(firstPaymentDate), 1) <= JsonDateParser.toDate(paymentEndDate)\r\n ? addDays(addYears(JsonDateParser.toDate(lastGadReviewDate), 1), -1)\r\n : JsonDateParser.toDate(paymentEndDate);\r\n const pensionYearEnd = findPensionYearEnd(JsonDateParser.toDate(lastGadReviewDate), yearEnd);\r\n const monthDifference = DateHelper.getMonthDifference(pensionYearEnd, JsonDateParser.toDate(firstPaymentDate));\r\n return monthDifference < 0\r\n ? 0\r\n : frequency == Frequency.Monthly\r\n ? monthDifference + 1\r\n : (monthDifference + 1) % frequencyMap[frequency] == 0\r\n ? (monthDifference + 1) / frequencyMap[frequency]\r\n : Math.floor((monthDifference + 1) / frequencyMap[frequency]) + 1;\r\n};\r\n\r\nconst findPensionYearEnd = (pensionYearStart: Date, pensionYearEnd: Date): Date => {\r\n const nowDate = new Date();\r\n if (nowDate >= pensionYearStart && nowDate <= pensionYearEnd) {\r\n return pensionYearEnd;\r\n } else {\r\n const newStartDate = addDays(pensionYearEnd, 1);\r\n const newEndDate = addYears(pensionYearEnd, 1);\r\n return findPensionYearEnd(newStartDate, newEndDate);\r\n }\r\n};\r\n\r\nexport const frequencyMap = {\r\n [Frequency.Monthly]: 12,\r\n [Frequency.Quarterly]: 4,\r\n [Frequency.HalfYearly]: 2,\r\n [Frequency.Yearly]: 1,\r\n};\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../../react-core/Html/CircleBtn\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { Objects } from \"../../../../../../../react-core/Utils/Objects\";\r\nimport { BankAccountIdType } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountIdType\";\r\nimport { BankAccountOwner } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { IncomePaymentDestination } from \"../../../../../../../Wrap/Constants/Enums/Domain/IncomePaymentDestination\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { DrawdownPaymentDestinationAllocation } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentDestinationAllocation\";\r\nimport { BankAccountInstruction } from \"../../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { BankAccountAction } from \"../../PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { NewBankAccountInstruction } from \"../../PaymentsIn/BankAccount/NewBankAccountInstruction\";\r\nimport { PaymentType } from \"../../Resource/Contents\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { incomePaymentDetailsLabels, incomePaymentDetailsMessages } from \"./Resource/Content\";\r\n\r\ninterface IIncomeBankDetailsProps extends IProcessComponentProps {\r\n data: DrawdownPaymentDestinationAllocation[];\r\n allBankAccounts?: BankAccount[];\r\n showPropotionOfIncome: boolean;\r\n showPropotionOfPcls?: boolean;\r\n OwnerHierarchyId?: string;\r\n bankAccountInstructions?: BankAccountInstruction[];\r\n onChangeBankAccountInstructions?: (changes: BankAccountInstruction[]) => void;\r\n}\r\n\r\ninterface IIncomeBankDetailsState {\r\n splitAcrossTwoBankAccounts: boolean;\r\n\r\n addNewBankAccount: boolean;\r\n}\r\n\r\nexport class IncomeBankDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n splitAcrossTwoBankAccounts: this.props.data?.length > 1,\r\n\r\n addNewBankAccount: false,\r\n };\r\n }\r\n\r\n isValid() {\r\n let flag = true;\r\n if (\r\n this.props.showPropotionOfIncome &&\r\n this.props.data.reduce((sum, cur) => (sum = sum + (cur.Allocation || 0)), 0) != 100\r\n ) {\r\n flag = false;\r\n this.props.showErrorMsgPopUp &&\r\n this.props.showErrorMsgPopUp([incomePaymentDetailsLabels.totalProportionOfIncomeNot100]);\r\n }\r\n if (\r\n this.props.showPropotionOfPcls &&\r\n this.props.data.reduce((sum, cur) => (sum = sum + (cur.PclsAllocation || 0)), 0) != 100\r\n ) {\r\n flag = false;\r\n this.props.showErrorMsgPopUp &&\r\n this.props.showErrorMsgPopUp([incomePaymentDetailsLabels.totalPortionOfPCLSNot100]);\r\n }\r\n return flag;\r\n }\r\n\r\n getBankAccountOption(): Map {\r\n const { allBankAccounts, bankAccountInstructions } = this.props;\r\n const options = new Map();\r\n options.set(-1, incomePaymentDetailsLabels.wrapCash);\r\n if (!isNullOrEmpty(allBankAccounts)) {\r\n allBankAccounts.forEach((account) => {\r\n options.set(\r\n account.BankAccountId,\r\n `${account?.SortCode || \"\"} | ${account?.AccountNumber || \"\"} | ${account.HolderName || \"\"}`\r\n );\r\n });\r\n }\r\n if (!isNullOrEmpty(bankAccountInstructions)) {\r\n bankAccountInstructions.forEach((account) => {\r\n options.set(\r\n account.Id,\r\n `${account.BankCodes?.BankCode || \"\"} ${account.BankCodes?.ExtraCode || \"\"} | ${\r\n account.AccountNumber || \"\"\r\n } | ${account.AccountName || \"\"}`\r\n );\r\n });\r\n }\r\n\r\n return options;\r\n }\r\n\r\n private saveNewBankAccountInstruction(bankAccountInstruction: BankAccountInstruction) {\r\n const { onChangeBankAccountInstructions, bankAccountInstructions, OwnerHierarchyId } = this.props;\r\n\r\n if (\r\n (bankAccountInstructions || []).findIndex((x) => x.AccountNumber == bankAccountInstruction.AccountNumber) ==\r\n -1\r\n ) {\r\n bankAccountInstruction.OwnerHierarchyId = OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(bankAccountInstruction, null, null, (savedBankAccountInstruction) => {\r\n const BankAccountInstructions = (bankAccountInstructions || []).concat(savedBankAccountInstruction);\r\n onChangeBankAccountInstructions(BankAccountInstructions);\r\n this.setState({ addNewBankAccount: false });\r\n });\r\n } else {\r\n return this.props.showErrorMsgPopUp([\"Please enter a non-existing bank account\"], true);\r\n }\r\n }\r\n\r\n initializedList(splitAcrossTwoBankAccounts: boolean) {\r\n const data = [this.getEmptyData(splitAcrossTwoBankAccounts)];\r\n if (splitAcrossTwoBankAccounts) {\r\n data.push(this.getEmptyData(splitAcrossTwoBankAccounts));\r\n }\r\n this.props.onChange(data);\r\n }\r\n\r\n getEmptyData(splitAcrossTwoBankAccounts: boolean): DrawdownPaymentDestinationAllocation {\r\n return {\r\n BankAccountId: null,\r\n BankAccountIdType: BankAccountIdType.BankAccount,\r\n Destination: IncomePaymentDestination.BankAccount,\r\n Allocation: splitAcrossTwoBankAccounts ? null : 100,\r\n PclsAllocation: splitAcrossTwoBankAccounts ? null : 100,\r\n };\r\n }\r\n\r\n getBankAccounts(bankAccountOptions: any, isPrimaryBankAccount: boolean) {\r\n const { data } = this.props;\r\n const keyList: number[] = Array.from(bankAccountOptions.keys());\r\n const index = isPrimaryBankAccount ? 1 : 0;\r\n return !this.state.splitAcrossTwoBankAccounts\r\n ? keyList\r\n : keyList.filter((key) => key !== data[index]?.BankAccountId);\r\n }\r\n\r\n onPortionIncomeChange(index: number, value: number) {\r\n const data = Objects.cloneObject(this.props.data);\r\n if (data[index]) {\r\n data[index].Allocation = value;\r\n this.props.onChange(data);\r\n }\r\n }\r\n\r\n onPortionPclsChange(index: number, value: number) {\r\n const data = Objects.cloneObject(this.props.data);\r\n if (data[index]) {\r\n data[index].PclsAllocation = value;\r\n this.props.onChange(data);\r\n }\r\n }\r\n\r\n onBankAccountIdChange(index: number, value: number) {\r\n const updatedData = Objects.cloneObject(this.props.data);\r\n if (updatedData[index]) {\r\n if (value == -1) {\r\n updatedData[index].Destination = IncomePaymentDestination.WrapCash;\r\n updatedData[index].BankAccountIdType = BankAccountIdType.NotSpecified;\r\n } else {\r\n updatedData[index].Destination = IncomePaymentDestination.BankAccount;\r\n }\r\n const isBankAccountInstrcution: boolean = (this.props.bankAccountInstructions || []).some(\r\n (ele) => ele.Id == value\r\n );\r\n if (isBankAccountInstrcution) {\r\n updatedData[index].BankAccountIdType = BankAccountIdType.BankAccountInstruction;\r\n }\r\n updatedData[index].BankAccountId = value;\r\n\r\n this.props.onChange(updatedData);\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, showPropotionOfIncome, onChangeBankAccountInstructions } = this.props;\r\n const { splitAcrossTwoBankAccounts, addNewBankAccount } = this.state;\r\n const bankAccountOptions = this.getBankAccountOption();\r\n if (isNullOrEmpty(this.props.data)) {\r\n this.initializedList(this.state.splitAcrossTwoBankAccounts);\r\n }\r\n const showAddBank = onChangeBankAccountInstructions && !addNewBankAccount;\r\n return (\r\n <>\r\n {(data || []).some((ele) => ele.BankAccountIdType == BankAccountIdType.BankAccountInstruction) && (\r\n \r\n )}\r\n {SectionHeader(incomePaymentDetailsLabels.bankDetailsHeader)}\r\n
\r\n {incomePaymentDetailsLabels.selectBankAccount}\r\n
\r\n {bankAccountOptions.size > 1 && (\r\n
\r\n
\r\n {\r\n this.initializedList(v);\r\n this.setState({ splitAcrossTwoBankAccounts: v });\r\n }}\r\n cssWrapper=\"square-checkbox\"\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n return bankAccountOptions.get(v);\r\n }}\r\n onChange={(v) => {\r\n this.onBankAccountIdChange(0, v);\r\n }}\r\n placeholder={\"Please select\"}\r\n required={\"Please select\"}\r\n />\r\n
\r\n
\r\n {showAddBank && (\r\n
\r\n
\r\n {\r\n this.setState({ addNewBankAccount: true });\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n {addNewBankAccount && (\r\n \r\n {\r\n this.saveNewBankAccountInstruction(instruction);\r\n }}\r\n data={{\r\n NominatedForWithdrawal: true,\r\n Owner: BankAccountOwner.Individual,\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n payeeType={PaymentType.Client}\r\n isReview={false}\r\n withdrawalsOnly\r\n />\r\n this.setState({ addNewBankAccount: false })}\r\n />\r\n \r\n )}\r\n {this.state.splitAcrossTwoBankAccounts && (\r\n <>\r\n
\r\n
\r\n {\r\n this.onPortionPclsChange(0, v);\r\n }}\r\n />\r\n
\r\n
\r\n {showPropotionOfIncome && (\r\n
\r\n
\r\n {\r\n this.onPortionIncomeChange(0, v);\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n return bankAccountOptions.get(v);\r\n }}\r\n onChange={(v) => {\r\n this.onBankAccountIdChange(1, v);\r\n }}\r\n placeholder={\"Please select\"}\r\n required={\"Please select\"}\r\n />\r\n
\r\n
\r\n {this.props.showPropotionOfPcls && (\r\n
\r\n
\r\n {\r\n this.onPortionPclsChange(1, v);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n incomePaymentDetailsMessages.totalProportionOfIncomeNot100,\r\n validator: (v) =>\r\n !v ||\r\n !data[0]?.PclsAllocation ||\r\n v + data[0]?.PclsAllocation === 100,\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n )}\r\n {showPropotionOfIncome && (\r\n
\r\n
\r\n {\r\n this.onPortionIncomeChange(1, v);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage:\r\n incomePaymentDetailsMessages.totalProportionOfIncomeNot100,\r\n validator: (v) =>\r\n !v || !data[0]?.Allocation || v + data[0]?.Allocation === 100,\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\nexport default IncomeBankDetails;\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { DrawdownAnnualIncome } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownAnnualIncome\";\r\nimport DifferentInitialIncomePayment from \"./DifferentInitialIncomePayment\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { processTypeEnum } from \"../../Resource/Contents\";\r\nimport { PensionTransfer } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/PensionTransfer\";\r\nimport {\r\n calculateMaximumAvailablePerPayment,\r\n calculateMaximumIncomePerPaymentWithStandardAlgorithm,\r\n calculateMaximumIncomePerPaymentWithTargetAlgorithm,\r\n getInitialPaymentRequested,\r\n shouldDisplayDifferentInitialIncomePayment,\r\n} from \"./Helper/IncomePaymentHelper\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { InvalidateDate } from \"../../../../../../../react-core/Datepicker/Resources/ContentContent\";\r\nimport { addYears, stripToDay } from \"../../../../../../../react-core/utils/date\";\r\nimport { DrawdownIncomeAmendmentInstruction } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownIncomeAmendmentInstruction\";\r\n\r\ninterface IIncomeRequiredProps extends IProcessComponentProps {\r\n data: DrawdownAnnualIncome;\r\n onChange: (changes) => void;\r\n labels: any;\r\n messages: any;\r\n drawdownType: DrawdownType;\r\n pensionTransfer?: PensionTransfer[];\r\n regularCrystalDifferentInital?: boolean;\r\n processType?: processTypeEnum;\r\n hasCappedArrangement?: boolean;\r\n pensionBase: PensionBase;\r\n isITFC: boolean;\r\n existingArrangements?: DrawdownIncomeAmendmentInstruction[];\r\n}\r\ninterface IIncomeRequiredState {}\r\n\r\nexport class IncomeRequired extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { data, onChange, drawdownType, regularCrystalDifferentInital } = this.props;\r\n super.componentDidMount();\r\n if (drawdownType === DrawdownType.Regular && regularCrystalDifferentInital) {\r\n onChange({ TakeDifferentInitialIncomePayment: true });\r\n }\r\n if (drawdownType !== DrawdownType.Regular && data?.TargetSpecificArrangements != true) {\r\n onChange({ TargetSpecificArrangements: false });\r\n }\r\n }\r\n\r\n private caluclateMaximumIncomePaymentByStandard = (\r\n processType: processTypeEnum,\r\n pensionBase: PensionBase,\r\n isITFC: boolean,\r\n existingArrangements: DrawdownIncomeAmendmentInstruction[]\r\n ) => {\r\n const returnValue =\r\n calculateMaximumIncomePerPaymentWithStandardAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ) - (getInitialPaymentRequested(pensionBase) || 0);\r\n return returnValue < 0 ? 0 : returnValue;\r\n };\r\n\r\n private caluclateMaximumIncomePaymentByTarget = (\r\n processType: processTypeEnum,\r\n pensionBase: PensionBase,\r\n isITFC: boolean,\r\n existingArrangements: DrawdownIncomeAmendmentInstruction[]\r\n ) => {\r\n const returnValue =\r\n calculateMaximumIncomePerPaymentWithTargetAlgorithm(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ) - (getInitialPaymentRequested(pensionBase) || 0);\r\n return returnValue < 0 ? 0 : returnValue;\r\n };\r\n yearFromNow = () => {\r\n const result = stripToDay(addYears(new Date(), 1));\r\n if (result.getDate() > 28) {\r\n result.setDate(28);\r\n }\r\n return result;\r\n };\r\n public render(): JSX.Element {\r\n const {\r\n data,\r\n labels,\r\n onChange,\r\n messages,\r\n drawdownType,\r\n pensionTransfer,\r\n processType,\r\n hasCappedArrangement,\r\n regularCrystalDifferentInital,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements,\r\n } = this.props;\r\n return (\r\n <>\r\n {drawdownType !== DrawdownType.Regular && (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n if (v) {\r\n onChange({\r\n TargetSpecificArrangements: v,\r\n TakeDifferentInitialIncomePayment: false,\r\n GrossInitialIncomePayment: {\r\n Amount: 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n GrossIncomePerPayment: {\r\n Amount: 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n FlexiIncomeReviewDate:\r\n data?.FlexiIncomeReviewDate &&\r\n data?.FlexiIncomeReviewDate.toString() != InvalidateDate\r\n ? data?.FlexiIncomeReviewDate\r\n : this.yearFromNow(),\r\n FrequencyFlexiIncomeReview:\r\n data?.FrequencyFlexiIncomeReview && data?.FrequencyFlexiIncomeReview != 0\r\n ? data?.FrequencyFlexiIncomeReview\r\n : 12,\r\n });\r\n } else {\r\n onChange({\r\n TargetSpecificArrangements: v,\r\n GrossInitialIncomePayment: {\r\n Amount: 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n GrossIncomePerPayment: {\r\n Amount: 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n GrossIncomePerPaymentFromPension: {\r\n Amount: 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n FlexiIncomeReviewDate: null,\r\n FrequencyFlexiIncomeReview: null,\r\n });\r\n }\r\n }}\r\n />\r\n )}\r\n {data?.TargetSpecificArrangements && processType != processTypeEnum.topUpWithITFLS && (\r\n
\r\n {messages.targetSpecificArrangementsMessage}\r\n
\r\n )}\r\n {!data?.TargetSpecificArrangements && drawdownType === DrawdownType.Capped && (\r\n \r\n )}\r\n {pensionTransfer && pensionTransfer.find((transfer) => transfer.IsInheritedFund) && (\r\n \r\n )}\r\n {shouldDisplayDifferentInitialIncomePayment(\r\n data,\r\n drawdownType,\r\n pensionTransfer,\r\n hasCappedArrangement,\r\n processType,\r\n regularCrystalDifferentInital\r\n ) && (\r\n {\r\n onChange(v);\r\n }}\r\n labels={labels}\r\n messages={messages}\r\n drawdownType={drawdownType}\r\n onRef={(ref) => this.appendChild(ref)}\r\n pensionBase={pensionBase}\r\n processType={processType}\r\n isITFC={isITFC}\r\n existingArrangements={existingArrangements}\r\n regularCrystalDifferentInital={regularCrystalDifferentInital}\r\n />\r\n )}\r\n {drawdownType === DrawdownType.Regular ? (\r\n
\r\n {labels.maximumAvailablePerPayment}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumAvailablePerPayment(processType, pensionBase?.DrawdownModel),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n
\r\n ) : (\r\n
\r\n {labels.maximumIncomePerPayment}\r\n \r\n {data?.TargetSpecificArrangements !== true\r\n ? MoneyDisplayHelper.FromatMoneyDisplay(\r\n this.caluclateMaximumIncomePaymentByStandard(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ),\r\n CurrencyCode.GBP\r\n )\r\n : MoneyDisplayHelper.FromatMoneyDisplay(\r\n this.caluclateMaximumIncomePaymentByTarget(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n
\r\n )}\r\n {!data?.TargetSpecificArrangements && (\r\n
\r\n
\r\n {\r\n onChange({\r\n GrossIncomePerPayment: {\r\n Amount: v,\r\n Currency: data?.GrossIncomePerPayment?.Currency || CurrencyCode.GBP,\r\n },\r\n });\r\n }}\r\n required={messages.grossIncomePerPaymentRequired}\r\n validationRules={[\r\n {\r\n errorMessage: \"Please enter an amount that is greater than zero.\",\r\n validator: (v) => (drawdownType === DrawdownType.Flexible ? v >= 0 : v > 0),\r\n },\r\n ]}\r\n atMost={{\r\n errorMessage:\r\n drawdownType === DrawdownType.Regular\r\n ? messages.grossAvailablePerPaymentOver\r\n : messages.grossIncomePerPaymentOver,\r\n value:\r\n drawdownType === DrawdownType.Regular\r\n ? calculateMaximumAvailablePerPayment(\r\n processType,\r\n pensionBase?.DrawdownModel\r\n ) || 0\r\n : this.caluclateMaximumIncomePaymentByStandard(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ),\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n\r\n {data?.TargetSpecificArrangements && (\r\n
\r\n
\r\n (drawdownType === DrawdownType.Flexible ? v >= 0 : v > 0),\r\n },\r\n ]}\r\n onChange={(v) => {\r\n onChange({\r\n GrossIncomePerPaymentFromPension: {\r\n Amount: v,\r\n Currency:\r\n data?.GrossIncomePerPaymentFromPension?.Currency || CurrencyCode.GBP,\r\n },\r\n });\r\n }}\r\n required={messages.grossIncomePerPaymentFromPensionRequired}\r\n atMost={{\r\n errorMessage: messages.grossIncomePerPaymentOver,\r\n value: this.caluclateMaximumIncomePaymentByTarget(\r\n processType,\r\n pensionBase,\r\n isITFC,\r\n existingArrangements\r\n ),\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default IncomeRequired;\r\n","import * as React from \"react\";\r\n\r\n\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Button } from \"../../../../../../../react-core/Html/Button\";\r\n\r\ninterface IPayeEstimate {\r\n data: any;\r\n onClick: () => void;\r\n labels: any;\r\n messages: any;\r\n}\r\nconst PayeEstimate = ({data, onClick, labels, messages}: IPayeEstimate) =>{\r\n \r\n return (\r\n
\r\n {}}\r\n >\r\n {labels.calculateEstimatedPaye}\r\n \r\n
\r\n
\r\n {labels.estimatedPayeTax}\r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.EstimatedPayeTax?.Amount,\r\n data?.EstimatedPayeTax?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n
\r\n
\r\n {labels.estimatedNetPayment}\r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.EstimatedNetPayment?.Amount,\r\n data?.EstimatedNetPayment?.Currency || CurrencyCode.GBP\r\n )}\r\n
\r\n
\r\n {labels.taxCode}\r\n {data?.TaxCode}\r\n
\r\n
\r\n {labels.taxBasis}\r\n {data?.TaxBasis}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PayeEstimate;","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { addDays, stripToDay } from \"../../../../../../../react-core/utils/date\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { datePickerOptions, FrequencyTypeArrays, FrequencyArraysMap, processTypeEnum } from \"../../Resource/Contents\";\r\nimport PayeEstimate from \"./PayeEstimate\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { RegularIncomePaymentAlertMsg } from \"../../Resource/Contents\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { PaymentMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/PaymentMethod\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { RegularCrystallisationDetails } from \"../../../../../../../Wrap/Models/Domains/Drawdown/RegularCrystallisationDetails\";\r\nimport { DrawdownAnnualIncome } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownAnnualIncome\";\r\nimport { isIncomeExhausted } from \"./Helper/IncomePaymentHelper\";\r\nimport { IncomePaymentMethod, IncomePaymentMethodMap, IncomePaymentMethodOptions } from \"./Resource/Content\";\r\nimport { Frequency } from \"../../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\n\r\ninterface IRegularIncomePaymentProps extends IProcessComponentProps {\r\n data: DrawdownAnnualIncome;\r\n onChange: (changes) => void;\r\n labels: any;\r\n messages: any;\r\n drawdownType: DrawdownType;\r\n availableCash?: any;\r\n taxFreeLumpSum?: any;\r\n shouldHidePaymentMethod?: boolean;\r\n regularCrystallisationDetails?: RegularCrystallisationDetails;\r\n pensionBase: PensionBase;\r\n processType?: processTypeEnum;\r\n isITFC: boolean;\r\n}\r\ninterface IRegularIncomePaymentState {\r\n firstPaymentDateAlertDisplay?: boolean;\r\n endDateDisplay: boolean;\r\n}\r\n\r\nexport class RegularIncomePayment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n firstPaymentDateAlertDisplay: false,\r\n endDateDisplay: props.data?.PaymentEnd != null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { onChange, drawdownType, regularCrystallisationDetails, availableCash, taxFreeLumpSum } = this.props;\r\n super.componentDidMount();\r\n\r\n if (drawdownType === DrawdownType.Regular && regularCrystallisationDetails) {\r\n onChange({\r\n Frequency: regularCrystallisationDetails.Frequency,\r\n PaymentMethod: PaymentMethod.Bacs,\r\n NextPayment: regularCrystallisationDetails.FirstPaymentDay,\r\n });\r\n } else {\r\n let daysUntilFirstPaymentDate = 10;\r\n if (availableCash?.Amount < taxFreeLumpSum?.Amount) {\r\n daysUntilFirstPaymentDate = 15;\r\n }\r\n onChange({\r\n Frequency: Frequency.Monthly,\r\n NextPayment: JsonDateParser.toJsonDateNoOffset(this.daysFromNow(daysUntilFirstPaymentDate)),\r\n });\r\n }\r\n }\r\n\r\n private daysFromNow(days): Date {\r\n const result = stripToDay(addDays(new Date(Date.now()), days));\r\n if (result.getDate() > 28) {\r\n result.setDate(28);\r\n }\r\n return result;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n data,\r\n labels,\r\n messages,\r\n drawdownType,\r\n availableCash,\r\n taxFreeLumpSum,\r\n shouldHidePaymentMethod,\r\n onChange,\r\n pensionBase,\r\n processType,\r\n isITFC,\r\n } = this.props;\r\n\r\n let paymentMethodOptions = IncomePaymentMethodOptions;\r\n let defaultPaymentMethod = IncomePaymentMethod.FasterOrChaps;\r\n if (taxFreeLumpSum > 0) {\r\n if (drawdownType === DrawdownType.Regular && data.GrossInitialIncomePayment.Amount <= 0) {\r\n paymentMethodOptions = [IncomePaymentMethod.Bacs];\r\n defaultPaymentMethod = IncomePaymentMethod.Bacs;\r\n }\r\n } else {\r\n paymentMethodOptions = [IncomePaymentMethod.Bacs];\r\n }\r\n\r\n let daysUntilFirstPaymentDate = 10;\r\n let firstPaymentDateMoreThanMessage = messages.firstPaymentDateUnder10;\r\n if (availableCash?.Amount < taxFreeLumpSum?.Amount) {\r\n daysUntilFirstPaymentDate = 15;\r\n firstPaymentDateMoreThanMessage = messages.firstPaymentDateUnder15;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n return FrequencyArraysMap[v];\r\n }}\r\n required={drawdownType !== DrawdownType.Regular && messages.incomeFrequencyRequired}\r\n disabled={drawdownType === DrawdownType.Regular}\r\n onChange={(v) => {\r\n onChange({\r\n Frequency: v,\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n {drawdownType === DrawdownType.Regular && (\r\n \r\n )}\r\n {isIncomeExhausted(drawdownType, data, pensionBase, processType, isITFC) && (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{labels.flexiArrangementsExhausted}
\r\n
\r\n {\r\n onChange({ FlexiArrangementsExhaustedConfirmed: v });\r\n }}\r\n cssWrapper=\"rounded-checkbox pl-40\"\r\n validationRules={[\r\n {\r\n errorMessage:\r\n \"Please confirm that your client is happy to proceed with their post-retirement arrangment value being exhausted within a year\",\r\n validator: (v) => {\r\n return (\r\n isIncomeExhausted(\r\n drawdownType,\r\n data,\r\n pensionBase,\r\n processType,\r\n isITFC\r\n ) && v\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {!shouldHidePaymentMethod && (\r\n
\r\n
\r\n {\r\n return IncomePaymentMethodMap[v];\r\n }}\r\n onChange={(v) => onChange({ PaymentMethod: v })}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n v.getDate() <= 28,\r\n }}\r\n required={messages.firstPaymentDateRequired}\r\n onChange={(v) => {\r\n onChange({ NextPayment: JsonDateParser.toJsonDateNoOffset(v) });\r\n if (!this.state.firstPaymentDateAlertDisplay) {\r\n this.setState({\r\n firstPaymentDateAlertDisplay: true,\r\n });\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {drawdownType === DrawdownType.Regular && this.state.firstPaymentDateAlertDisplay && (\r\n \r\n )}\r\n {drawdownType !== DrawdownType.Regular && (\r\n <>\r\n
\r\n
\r\n (v ? labels.untilNotified : labels.enterADate)}\r\n onChange={(v) => {\r\n onChange({ PaymentEnd: null });\r\n this.setState({\r\n endDateDisplay: !v,\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {\r\n onChange({ PaymentEnd: JsonDateParser.toJsonDateNoOffset(v) });\r\n }}\r\n disabled={!this.state.endDateDisplay}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {drawdownType !== DrawdownType.Regular && this.state.endDateDisplay && data?.PaymentEnd && (\r\n \r\n )}\r\n {}} labels={labels} messages={messages} />\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RegularIncomePayment;\r\n","import * as React from \"react\";\r\nexport const incomePaymentDetailsLabels = {\r\n needToProvideAnIncome: \"Does this pension need to provide an income?\",\r\n taxableIncomeRequiredInAddition: \"Is taxable income required in addition to the tax-free lump sum?\",\r\n paymentMethod: \"Payment method\",\r\n bankDetailsHeader: \"Bank details\",\r\n expectedGadMaximum: \"Expected GAD maximum\",\r\n targetSpecificArrangements: \"Do you wish to target specific arrangements?\",\r\n maximumIncomePerPayment: \"Maximum income per payment\",\r\n maximumAvailablePerPayment: \"Maximum available per payment\",\r\n incomeFrequency: \"Income frequency\",\r\n firstPaymentDate: \"First payment date\",\r\n endDate: \"End date\",\r\n untilNotified: \"Until notified\",\r\n enterADate: \"Enter a date\",\r\n calculateEstimatedPaye: \"Calculate estimated PAYE\",\r\n estimatedPayeTax: \"Estimated PAYE tax\",\r\n estimatedNetPayment: \"Estimated net payment\",\r\n taxCode: \"Tax Code\",\r\n taxBasis: \"Basis\",\r\n pensionYearEndDate: \"Income year-end date\",\r\n totalPostRetirementAccountValue: \"Total post-retirement arrangement value\",\r\n from: \"From\",\r\n amount: \"Amount\",\r\n type: \"Type\",\r\n member: \"Member\",\r\n gadMaximum: \"GAD maximum\",\r\n incomeTakenToDate: \"Income taken to date\",\r\n lastMandatoryReview: \"Last mandatory review\",\r\n maximumIncomePaymentForRemainderOfYear: \"Maximum income payment for remainder of pension year\",\r\n maximumIncomePaymentForFutureYears: \"Maximum income payment for future pension years\",\r\n incomePerPaymentForCurrentPensionYear: \"Income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYears: \"Income per payment for future pension years\",\r\n MaximumIncomePerPayment: \"Maximum income payment per payment\",\r\n incomePerPayment: \"Income per payment\",\r\n clientAge: \"Client age\",\r\n flexiArrangementsExhausted: \"Please tick to confirm your client understands this and is happy to proceed\",\r\n incomeRequired: \"Does this pension need to provide an income?\",\r\n sumOfValueToSell: \"Percentage of income payment (total)\",\r\n selectBankAccount: \"Select bank account\",\r\n splitAcrossTwoBankAccounts: \"Split across two bank accounts\",\r\n bankAccount1: \"Bank account 1\",\r\n bankAccount2: \"Bank account 2\",\r\n addBankAccount: \"Add bank account\",\r\n portionOfPcls: \"Portion of PCLS\",\r\n proportionOfIncome: \"Proportion of income\",\r\n capped: \"Capped\",\r\n inherited: \"Inherited\",\r\n nextYearsGadMaximum: \"Next years GAD Maximum\",\r\n nextFlexiReviewDate: \"Next flexi income review date\",\r\n frequencyOfFlexiIncomeReview: \"Frequency of flexi income review\",\r\n cappedPlusFlexiTotals: \"Capped plus flexi totals\",\r\n takeDifferentInitialIncomePayment: \"Do you wish to take a different initial income payment?\",\r\n grossInitialIncomePayment: \"Gross initial income payment\",\r\n maximumInitialIncomePayment: \"Maximum for initial income payment\",\r\n grossIncomePerPayment: \"Gross income per payment\",\r\n grossIncomePerPaymentFromPension: \"Gross income per payment from the pension\",\r\n crystallisation: \"Crystallisation\",\r\n wrapCash: \"Wrap cash\",\r\n totalPortionOfPCLSNot100: \"Total portion of PCLS must be 100%\",\r\n totalProportionOfIncomeNot100: \"Total proportion of income must be 100%\",\r\n bankAccountNotValidated:\r\n \"Please note this bank account is not validated - it must have been validated by the time we do the crystallisation.\",\r\n};\r\n\r\nexport const incomePaymentDetailsMessages = {\r\n grossIncomePerPaymentRequired: \"Please enter gross income per payment\",\r\n incomeFrequencyRequired: \"Please enter income frequency\",\r\n firstPaymentDateRequired: \"Please enter first payment date\",\r\n enterADateRequired: \"Please enter a date\",\r\n flexiArrangementsExhausted:\r\n \"The income specified will exhaust one or more of your client's flexi access arrangements within a year\",\r\n messagesGrossInitialIncomeOver: \"Gross initial income payment must not be greater than maximum\",\r\n grossIncomePerPaymentOver:\r\n \"Please enter an income amount that is greater than zero and less than or equal to the maximum income per payment.\",\r\n firstPaymentDateUnder15: \"The date selected must be at least 15 working days from today\",\r\n firstPaymentDateUnder10: \"The date selected must be at least 10 working days from today\",\r\n endDateUnder: \"End date must be equal to or later than the first payment date\",\r\n dateOver28: \"Date must also be between 1-28 of any month\",\r\n standardAlgorithmCappedMessage:\r\n \"SL to provide content regarding the maximum gross annual income and the income paid to date\",\r\n inheritedFundMessage:\r\n \"SL to provide content around whether the inherited drawdowns should be targeted or excluded and they should consider the use of the standard algorithm or targeting arrangements\",\r\n percentageOver100: \"value can't exceed 100%\",\r\n percentageUnder0: \"At least 0%\",\r\n not100PercentMessage:\r\n \"Please enter values against the assets from which the income payment will be made that total 100%\",\r\n cannotBeGreaterThanMaximumIncomePaymentForRemainderOfYear:\r\n \"Income per payment for current pension year cannot be more than the maximum\",\r\n cannotBeGreaterThanMaximumIncomePaymentForFutureYears:\r\n \"Income per payment for future pension years cannot be more than the maximum\",\r\n cannotBeGreaterThanMaximumPerIncomePayment: \"Income per payment cannot be more than maximum\",\r\n nextFlexiReviewDateRequired: \"Please enter next flexi income review date\",\r\n nextFlexiReviewDateUnder: \"Date must be 20 days or more in the future\",\r\n frequencyOfFlexiIncomeReviewUnderOver: \"Frequency must be between 1 and 60\",\r\n totalPortionOfPCLSNot100: \"Total portion of PCLS must be 100%\",\r\n totalProportionOfIncomeNot100: \"Total proportion of income must be 100%\",\r\n incomePerPaymentForCurrentPensionYearRequired: \"Please enter income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYearsRequired: \"Please enter income per payment for future pension years\",\r\n grossIncomeNotSumOfArrangementsIncome: \"Total of arrangments income must equal gross income\",\r\n confirmIncomeReviewDate: \"Income review date is more than 3 years in the future. Please confirm this is correct\",\r\n};\r\n\r\nexport enum IncomeArrangementType {\r\n Capped,\r\n Flexi,\r\n}\r\n\r\nexport const IncomeArrangementTypeMaps = {\r\n [IncomeArrangementType.Capped]: \"Capped\",\r\n [IncomeArrangementType.Flexi]: \"Flexi\",\r\n};\r\n\r\nexport enum IncomePaymentMethod {\r\n FasterOrChaps = 10,\r\n Bacs = 5,\r\n}\r\n\r\nexport const IncomePaymentMethodMap = {\r\n [IncomePaymentMethod.FasterOrChaps]: \"FASTER/CHAPS\",\r\n [IncomePaymentMethod.Bacs]: \"BACS\",\r\n};\r\n\r\nexport const IncomePaymentMethodOptions = [IncomePaymentMethod.FasterOrChaps, IncomePaymentMethod.Bacs];\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\n\r\ninterface ITakeFullValueProps {\r\n currentValue: number;\r\n maxValue: number;\r\n onChange: (value: number) => void;\r\n}\r\n\r\nexport const TakeFullValue = (props: ITakeFullValueProps) => {\r\n const [currentValue, setcurrentValue] = useState(props.currentValue);\r\n const [maxValue, setmaxValue] = useState(props.maxValue);\r\n const [tempValue, settempValue] = useState(props.currentValue);\r\n const [isChecked, setisChecked] = useState(false);\r\n\r\n return (\r\n <>\r\n \r\n props.onChange(v)}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Value cannot be greater than maximum income per payment\",\r\n validator: (v) => v <= maxValue,\r\n },\r\n {\r\n errorMessage: \"Value can not be less than 0\",\r\n validator: (v) => v >= 0,\r\n },\r\n ]}\r\n />\r\n {\r\n setisChecked(v);\r\n if (v) {\r\n setisChecked(true);\r\n settempValue(currentValue);\r\n setcurrentValue(maxValue);\r\n } else {\r\n setisChecked(false);\r\n settempValue(currentValue);\r\n setcurrentValue(tempValue);\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CompanyWizardAction } from \"../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { CompanyServicePropositionStore } from \"../../../../Admin/Company/CompanyWizard/Stores/Variable\";\r\nimport { RadioGroup } from \"../../../../../react-core/Html/RadioGroup\";\r\nimport { Objects } from \"../../../../../react-core/Utils/Objects\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { ServicePropositionMap } from \"../../../../Shared/Entities/Maps/ServicePropositionMap\";\r\nimport { SectionHeader } from \"./SharedComponents\";\r\n\r\ninterface IServicePropositionSelectionProps extends IProcessComponentProps {\r\n actorId: number;\r\n selectedPropositionId: number;\r\n disable: boolean;\r\n}\r\n\r\ninterface IServicePropositionSelectionState {\r\n availablePropositions: Array;\r\n}\r\n\r\nexport class ServicePropositionSelection extends ProcessComponent<\r\n IServicePropositionSelectionProps,\r\n IServicePropositionSelectionState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = this.getDefaultState();\r\n this.subscribeToStore(CompanyServicePropositionStore, () => this.onCompanyWizardStoreChange());\r\n }\r\n\r\n private getDefaultState() {\r\n const availablePropositions = CompanyServicePropositionStore.getData();\r\n return {\r\n availablePropositions: availablePropositions,\r\n } as IServicePropositionSelectionState;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.actorId != null) {\r\n CompanyWizardAction.getCompanyServicePropositions(this.props.actorId);\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextprops: IServicePropositionSelectionProps) {\r\n if (nextprops.actorId != this.props.actorId && nextprops.actorId != null) {\r\n CompanyWizardAction.getCompanyServicePropositions(nextprops.actorId);\r\n }\r\n if (\r\n nextprops.selectedPropositionId === this.props.selectedPropositionId &&\r\n this.props.selectedPropositionId === undefined\r\n ) {\r\n const propositions = this.getPropositions();\r\n if (propositions.length === 1) {\r\n this.props.onChange({ AccountServiceProposition: propositions[0] });\r\n }\r\n }\r\n }\r\n\r\n private onCompanyWizardStoreChange() {\r\n const availablePropositions = CompanyServicePropositionStore.getData();\r\n this.updateStatePart((x) => {\r\n x.availablePropositions = availablePropositions;\r\n });\r\n }\r\n\r\n private getPropositions() {\r\n let propositions = this.state.availablePropositions\r\n ? Objects.cloneObject(this.state.availablePropositions)\r\n : [];\r\n\r\n if (propositions.includes(ServiceProposition.NonWrapEnabled)) {\r\n propositions = [].concat(ServiceProposition.Wrap);\r\n }\r\n\r\n return propositions;\r\n }\r\n\r\n render() {\r\n const propositions = this.getPropositions();\r\n\r\n return (\r\n <>\r\n
\r\n {SectionHeader(\"Service proposition type\")}\r\n ele)}\r\n getText={(option) => ServicePropositionMap.getString(propositions.find((x) => x == option))}\r\n selected={this.props.selectedPropositionId}\r\n onChange={(value) => this.props.onChange({ AccountServiceProposition: value })}\r\n required={\"Please select a service proposition type\"}\r\n disabled={this.props.disable || propositions.length === 1}\r\n />\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport AriaTooltip from \"../../../../Shared/Tooltip/AriaTooltip\";\r\n\r\nexport const SectionHeader = (title: string | JSX.Element, tooltipContent?: string | JSX.Element): JSX.Element => {\r\n return (\r\n

\r\n {title}{\" \"}\r\n {tooltipContent && (\r\n \r\n {tooltipContent}\r\n \r\n )}\r\n

\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { find } from \"lodash\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { InvestmentAllocation } from \"../../../../../../Wrap/Models/Domains/Investment/InvestmentAllocation\";\r\nimport { InstrumentSelection } from \"../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { CheckboxGroup } from \"../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { GiaBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/GiaBase\";\r\nimport {\r\n getPaymentsAmountByKey,\r\n getTransferInAmount,\r\n initAmount,\r\n} from \"../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { IsaBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/IsaBase\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { TransferISTSelection } from \"../../../../../../Wrap/Models/Models/InstrumentSelection/TransferISTSelection\";\r\nimport { ProductType } from \"../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\n\r\ninterface IInvestmentToWithdrawalProps extends IProcessComponentProps {\r\n instruments: Array;\r\n model: GiaBase | IsaBase;\r\n keyString: string;\r\n type: ProcessType;\r\n reRegInstruments: TransferISTSelection[];\r\n}\r\n\r\ninterface IInvestmentToWithdrawalState {}\r\n\r\nexport function calculateMoney(\r\n allocations: Array,\r\n money: Money,\r\n reregInvestments: TransferISTSelection[],\r\n instruments: Array,\r\n model: GiaBase | IsaBase,\r\n key: string\r\n): Array {\r\n // Calculate total proportion\r\n let totalProportion = 0;\r\n const singlePaymentsTotalAmount = getPaymentsAmountByKey(model, [\r\n \"ClientSinglePayment\",\r\n \"ThirdPartySinglePayment\",\r\n \"EmployerSinglePayment\",\r\n ]);\r\n const regularClientPaymentsTotalAmount = getPaymentsAmountByKey(model, [\"ClientRegularPayment\"]);\r\n const regularThirdPartyPaymentsTotalAmount = getPaymentsAmountByKey(model, [\"ThirdPartyRegularPayment\"]);\r\n const regularEmployerPaymentsTotalAmount = getPaymentsAmountByKey(model, [\"EmployerRegularPayment\"]);\r\n const transferInTotalAmount = getTransferInAmount(model, key);\r\n allocations.forEach((e) => {\r\n const obj = instruments.find((o) => {\r\n return o.Instrument.ProductId === e.ProductId;\r\n });\r\n totalProportion += singlePaymentsTotalAmount * (obj?.Single?.Percentage || 0);\r\n totalProportion += regularClientPaymentsTotalAmount * (obj?.ClientRegular?.Percentage || 0);\r\n totalProportion += regularThirdPartyPaymentsTotalAmount * (obj?.ThirdPartyRegular?.Percentage || 0);\r\n totalProportion += regularEmployerPaymentsTotalAmount * (obj?.EmployerRegular?.Percentage || 0);\r\n totalProportion += transferInTotalAmount * (obj?.Transfer?.Percentage || 0);\r\n const reg = reregInvestments.find((ele) => ele.Investment.ProductId === e.ProductId);\r\n totalProportion += initAmount(reg?.QuotationValue);\r\n });\r\n\r\n // Prepare new allocations array\r\n let _totalAmount = 0;\r\n const newAllocations = allocations.map((e, index) => {\r\n const obj = find(instruments, (o) => {\r\n return o.Instrument.ProductId === e.ProductId;\r\n });\r\n const reg = reregInvestments.find((ele) => ele.Investment.ProductId === e.ProductId);\r\n const totalAmount =\r\n singlePaymentsTotalAmount * (obj?.Single?.Percentage || 0) +\r\n regularClientPaymentsTotalAmount * (obj?.ClientRegular?.Percentage || 0) +\r\n regularThirdPartyPaymentsTotalAmount * (obj?.ThirdPartyRegular?.Percentage || 0) +\r\n regularEmployerPaymentsTotalAmount * (obj?.EmployerRegular?.Percentage || 0) +\r\n transferInTotalAmount * (obj?.Transfer?.Percentage || 0) +\r\n initAmount(reg?.QuotationValue);\r\n const currentAmt = parseFloat((money.Amount * (totalAmount / totalProportion)).toFixed(6));\r\n let latestMoney = {};\r\n if (index === allocations.length - 1) {\r\n latestMoney = {\r\n Amount: money.Amount - _totalAmount,\r\n Currency: money.Currency,\r\n };\r\n } else {\r\n _totalAmount += currentAmt;\r\n latestMoney = {\r\n Amount: currentAmt,\r\n Currency: money.Currency,\r\n };\r\n }\r\n e.Value = latestMoney;\r\n return e;\r\n });\r\n\r\n return newAllocations;\r\n}\r\n\r\nexport class InvestmentToWithdrawal extends ProcessComponent<\r\n IInvestmentToWithdrawalProps,\r\n IInvestmentToWithdrawalState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, instruments, onChange, reRegInstruments } = this.props;\r\n\r\n onChange({\r\n Allocations: !data.Allocations\r\n ? []\r\n : data.Allocations.filter(\r\n (e) =>\r\n instruments.some((item) => item.Instrument.ProductId == e.ProductId) ||\r\n reRegInstruments.some((item) => item.Investment.ProductId == e.ProductId)\r\n ),\r\n ProportionallyAllocated: data?.ProportionallyAllocated !== null ? data.ProportionallyAllocated : true,\r\n });\r\n }\r\n\r\n isValid() {\r\n const { data } = this.props;\r\n if (data.ProportionallyAllocated === false && data.Allocations.length == 0)\r\n {this.props.showErrorMsgPopUp([\"You must select at least one specific asset.\"], true);}\r\n const flag = data.ProportionallyAllocated === false && data.Allocations.length == 0 ? false : true;\r\n return super.isValid() && flag;\r\n }\r\n\r\n private renderCheckboxGroup() {\r\n const { data, instruments, onChange, model, keyString, reRegInstruments } = this.props;\r\n const displayRereg = reRegInstruments.filter(\r\n (ele) => !instruments.some((item) => item.Instrument.ProductId == ele.Investment.ProductId)\r\n );\r\n let dataArr = [];\r\n // TODO Need change after function implemented\r\n // TODO Use mock data for now, need change when get real data\r\n if (instruments && instruments.length > 0) {\r\n dataArr = instruments.filter((item) => item.Instrument.Type != ProductType.CashProduct).map((ele, index) => {\r\n return {\r\n label: ele?.Instrument?.Name,\r\n value: data.Allocations?.some((item) => item.ProductId == ele?.Instrument?.ProductId),\r\n onChange: (v) => {\r\n if (v) {\r\n let _data;\r\n const newAllocation: InvestmentAllocation = {\r\n Id: null,\r\n ProductId: ele?.Instrument?.ProductId,\r\n Name: ele?.Instrument?.Name,\r\n };\r\n if (data?.ClientRegularPayment?.Withdrawal?.Percentage) {\r\n // save percentage\r\n newAllocation.Percentage = data?.ClientRegularPayment?.Withdrawal?.Percentage;\r\n _data = data.Allocations?.concat(newAllocation);\r\n } else {\r\n // calculate accurate money amoun\r\n const newAllocations = data.Allocations?.concat(newAllocation);\r\n _data = calculateMoney(\r\n newAllocations,\r\n data?.ClientRegularPayment?.Withdrawal?.Money,\r\n reRegInstruments,\r\n instruments,\r\n model,\r\n keyString\r\n );\r\n }\r\n onChange({ Allocations: _data });\r\n } else {\r\n const newAllocations = data.Allocations?.filter(\r\n (item) => item.ProductId !== ele?.Instrument?.ProductId\r\n );\r\n const _data = calculateMoney(\r\n newAllocations,\r\n data?.ClientRegularPayment?.Withdrawal?.Money,\r\n reRegInstruments,\r\n instruments,\r\n model,\r\n keyString\r\n );\r\n onChange({\r\n Allocations: _data,\r\n });\r\n }\r\n },\r\n };\r\n });\r\n } else if (displayRereg && displayRereg.length > 0) {\r\n dataArr = displayRereg.map((ele, index) => {\r\n return {\r\n label: ele?.Investment?.DisplayName,\r\n value: data.Allocations?.some((item) => item.ProductId == ele?.Investment?.ProductId),\r\n onChange: (v) => {\r\n if (v) {\r\n let _data;\r\n const newAllocation: InvestmentAllocation = {\r\n Id: null,\r\n ProductId: ele?.Investment?.ProductId,\r\n Name: ele?.Investment?.DisplayName,\r\n };\r\n if (data?.ClientRegularPayment?.Withdrawal?.Percentage) {\r\n // save percentage\r\n newAllocation.Percentage = data?.ClientRegularPayment?.Withdrawal?.Percentage;\r\n _data = data.Allocations?.concat(newAllocation);\r\n } else {\r\n // calculate accurate money amoun\r\n const newAllocations = data.Allocations?.concat(newAllocation);\r\n _data = calculateMoney(\r\n newAllocations,\r\n data?.ClientRegularPayment?.Withdrawal?.Money,\r\n reRegInstruments,\r\n instruments,\r\n model,\r\n keyString\r\n );\r\n }\r\n onChange({ Allocations: _data });\r\n } else {\r\n const newAllocations = data.Allocations?.filter(\r\n (item) => item.ProductId !== ele?.Investment?.ProductId\r\n );\r\n const _data = calculateMoney(\r\n newAllocations,\r\n data?.ClientRegularPayment?.Withdrawal?.Money,\r\n reRegInstruments,\r\n instruments,\r\n model,\r\n keyString\r\n );\r\n onChange({\r\n Allocations: _data,\r\n });\r\n }\r\n },\r\n };\r\n });\r\n }\r\n return ;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, type } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\r\n \"Investments to withdraw\",\r\n \"Note - A stockbroking charge will be applied every time an equity, bond or gilt is disinvested to fund this withdrawal and it is not possible to take regular withdrawals from cash deposit investments\"\r\n )}\r\n (v ? \"Proportionately across all assets\" : \"From specified\")}\r\n onChange={(v) => onChange({ ProportionallyAllocated: v, Allocations: [] })}\r\n required={\"Please choose\"}\r\n />\r\n\r\n {data.ProportionallyAllocated === (type == ProcessType.WhatIf) && (data.ProportionallyAllocated === false ? this.renderCheckboxGroup() : () => {})}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { isEmpty } from \"lodash\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { addDays, addMonths } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { WithdrawalMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/WithdrawalMethod\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { PercentageOrMoney } from \"../../../../../Shared/PercentageOrMoney/PercentageOrMoney\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ContinueUntil } from \"../../NewBusinessWizard/Resource/Contents\";\r\nimport {\r\n datePickerOptions,\r\n FrequencyArraysMap,\r\n FrequencyTypeArrays,\r\n WithdrawalMethodArray,\r\n WithdrawalMethodMap,\r\n} from \"../Resource/Contents\";\r\nimport { calculateMoney } from \"./InvestmentToWithdrawal\";\r\nimport { InstrumentSelection } from \"../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { getISTPaymentAmount, getReRegTransferAmount } from \"../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { GiaBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/GiaBase\";\r\nimport { IsaBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/IsaBase\";\r\nimport { BankAccountIdType } from \"../../../../../../Wrap/Constants/Enums/Domain/BankAccountIdType\";\r\nimport { VerificationCheckStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/VerificationCheckStatus\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { TransferISTSelection } from \"../../../../../../Wrap/Models/Models/InstrumentSelection/TransferISTSelection\";\r\nimport { RegularWithdrawalModel } from \"../../../../../../Wrap/Models/Models/Processes/RegularWithdrawal/RegularWithdrawalModel\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { isNullOrEmpty } from \"../../../../../../react-core/Utils/Arrays\";\r\n\r\ninterface IWithdrawalProps extends IProcessComponentProps {\r\n type?: ProcessType;\r\n bankAccountInstruction?: Array;\r\n allBankAccounts?: any;\r\n ownerId?: string;\r\n onBankChange?: (bank) => void;\r\n instruments?: Array;\r\n model: GiaBase | IsaBase;\r\n keyString: string;\r\n reRegInvestments: TransferISTSelection[];\r\n existingWithdrawal?: RegularWithdrawalModel;\r\n}\r\n\r\ninterface IWithdrawalState {\r\n isAddingNewBank;\r\n}\r\n\r\nexport class Withdrawal extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isAddingNewBank: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange, type } = this.props;\r\n const firstDate = data?.ClientRegularPayment?.FirstCollectionDate;\r\n const changes: any = {};\r\n if (!firstDate) {\r\n changes.FirstCollectionDate = JsonDateParser.toJsonDateNoOffset(addDays(addMonths(new Date(), 1), 1));\r\n }\r\n if (data?.ClientRegularPayment?.WithdrawalMethod === undefined) {\r\n changes.WithdrawalMethod = WithdrawalMethod.TransferToWrapCash;\r\n }\r\n\r\n if (!isEmpty(changes)) {\r\n this.onDataChange(onChange, changes, data, \"ClientRegularPayment\");\r\n }\r\n if (isNullOrEmpty(data?.ClientRegularPayment?.Withdrawal?.Frequency) && type == ProcessType.NB) {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ClientRegularPayment\"),\r\n { Frequency: Frequency.Monthly },\r\n data.ClientRegularPayment,\r\n \"Withdrawal\"\r\n );\r\n }\r\n }\r\n\r\n private renderUntilDate(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n
\r\n \r\n this.onDataChange(\r\n onChange,\r\n { DeferredFromDate: JsonDateParser.toJsonDateNoOffset(v) },\r\n data,\r\n \"ClientRegularPayment\"\r\n )\r\n }\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select until date\"\r\n />\r\n
\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, onRef, type, instruments, reRegInvestments } = this.props;\r\n return (\r\n <>\r\n
\r\n {\r\n delete v.Frequency;\r\n if (data?.Allocations && data?.Allocations.length > 0) {\r\n if (v?.Money?.Amount) {\r\n // need Change money\r\n const _data = calculateMoney(\r\n data?.Allocations,\r\n v?.Money,\r\n reRegInvestments,\r\n instruments,\r\n this.props.model,\r\n this.props.keyString\r\n );\r\n onChange({ Allocations: _data });\r\n } else {\r\n // just change percentage\r\n data?.Allocations?.forEach((e) => {\r\n e.Percentage = v?.Percentage;\r\n e.Value = null;\r\n });\r\n onChange({ Allocations: data?.Allocations });\r\n }\r\n }\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ClientRegularPayment\"),\r\n v,\r\n data.ClientRegularPayment,\r\n \"Withdrawal\"\r\n );\r\n }}\r\n required={\"Withdrawal amount is required\"}\r\n validationRules={[\r\n {\r\n errorMessage: \"Withdrawal amount must be > 0 and cannot exceed Payments in amount.\",\r\n validator: (v) => {\r\n if (this.props.type == ProcessType.WhatIf) {return true;}\r\n if (data?.ClientRegularPayment?.Withdrawal?.Type == MoneyOrPercentageType.Money) {\r\n // Cal total payments in amount\r\n const totalAmount = getISTPaymentAmount(this.props.model, this.props.keyString);\r\n const reRegAmount = getReRegTransferAmount(\r\n this.props.model,\r\n this.props.keyString\r\n );\r\n return v > 0 && v <= totalAmount + reRegAmount;\r\n } else {\r\n return true;\r\n }\r\n },\r\n },\r\n {\r\n errorMessage: \"Withdrawal percentage must be > 0\",\r\n validator: (v) => {\r\n if (\r\n data?.ClientRegularPayment?.Withdrawal?.Type == MoneyOrPercentageType.Percentage\r\n ) {\r\n return v > 0;\r\n } else {\r\n return true;\r\n }\r\n },\r\n },\r\n ]}\r\n onRef={(ref) => {\r\n this.appendChild(ref);\r\n }}\r\n cssPercentageOrMoneyClasses=\"control-size-115\"\r\n />\r\n\r\n
\r\n \r\n {\r\n return FrequencyArraysMap[v];\r\n }}\r\n required={\"Withdrawal frequency is required\"}\r\n selected={data?.ClientRegularPayment?.Withdrawal?.Frequency}\r\n label=\"Withdrawal frequency\"\r\n placeholder=\"Please select\"\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ClientRegularPayment\"),\r\n { Frequency: v },\r\n data.ClientRegularPayment,\r\n \"Withdrawal\"\r\n );\r\n }}\r\n />\r\n
\r\n \r\n {\r\n if (v?.getDate() > 28) {return false;}\r\n return true;\r\n },\r\n }}\r\n onChange={(d) =>\r\n this.onDataChange(\r\n onChange,\r\n { FirstCollectionDate: JsonDateParser.toJsonDateNoOffset(d) },\r\n data,\r\n \"ClientRegularPayment\"\r\n )\r\n }\r\n required={`${\r\n this.props.type == ProcessType.WhatIf &&\r\n data?.ClientRegularPayment?.DeferredFromDate\r\n ? \"Next\"\r\n : \"First\"\r\n } withdrawal date is required`}\r\n {...datePickerOptions}\r\n />\r\n
\r\n\r\n \r\n {\r\n return v;\r\n }}\r\n required=\"Please select\"\r\n selected={data?.ClientRegularPayment?.IsContinue ? ContinueUntil[0] : ContinueUntil[1]}\r\n label=\"Continue until\"\r\n onChange={(v) =>\r\n v === ContinueUntil[0]\r\n ? this.onDataChange(\r\n onChange,\r\n { IsContinue: true, DeferredFromDate: null },\r\n data,\r\n \"ClientRegularPayment\"\r\n )\r\n : this.onDataChange(\r\n onChange,\r\n { IsContinue: false, DeferredFromDate: null },\r\n data,\r\n \"ClientRegularPayment\"\r\n )\r\n }\r\n />\r\n \r\n {!data?.ClientRegularPayment?.IsContinue && this.renderUntilDate()}\r\n \r\n\r\n {type === ProcessType.NB && (\r\n <>\r\n ele.VerificationStatus == VerificationCheckStatus.Passed\r\n ).length > 0\r\n ? WithdrawalMethodArray\r\n : [WithdrawalMethod.TransferToWrapCash]\r\n }\r\n getText={(v) => WithdrawalMethodMap[v]}\r\n label=\"Method\"\r\n infoText=\"Withdrawals can only be paid to external bank accounts once they have been verified.\"\r\n selected={data?.ClientRegularPayment?.WithdrawalMethod}\r\n onChange={(v) => {\r\n this.onDataChange(onChange, { WithdrawalMethod: v }, data, \"ClientRegularPayment\");\r\n }}\r\n />\r\n\r\n {data?.ClientRegularPayment?.WithdrawalMethod == WithdrawalMethod.BankAccount && (\r\n ele.VerificationStatus == VerificationCheckStatus.Passed\r\n )}\r\n getText={(o) => o.AccountNumber}\r\n selected={this.props.allBankAccounts.find(\r\n (ele) => ele.BankAccountId == data?.ClientRegularPayment?.BankAccountId\r\n )}\r\n required={\"Please select\"}\r\n cssWrapper=\"control-size-430\"\r\n placeholder=\"Please select\"\r\n onChange={(v) => {\r\n this.onDataChange(\r\n onChange,\r\n {\r\n BankAccountId: v.BankAccountId,\r\n BankAccountIdType: BankAccountIdType.BankAccount,\r\n },\r\n data,\r\n \"ClientRegularPayment\"\r\n );\r\n }}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../react-core/Html/Accordion\";\r\nimport { CircleBtn, CircleBtnType } from \"../../../../../../react-core/Html/CircleBtn\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { RestrictionTypeEnum } from \"../../../../../../Wrap/Constants/Enums/RestrictionTypeEnum\";\r\nimport { WhatIfToolDetailModel } from \"../../../../../../Wrap/Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel\";\r\nimport { User } from \"../../../../../../Wrap/Models/Models/User/User\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../Shared/Common/UserMessages\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { getReRegInvestment } from \"../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../Actions/Action\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { InvestmentToWithdrawal } from \"./InvestmentToWithdrawal\";\r\nimport { Withdrawal } from \"./Withdrawal\";\r\nimport { ProductType } from \"../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\n\r\ninterface IWithdrawalsProps extends IProcessComponentProps {\r\n modelName: string;\r\n type?: ProcessType;\r\n onBankChange?: (bank) => void;\r\n extraInfoWhatIf?: WhatIfToolDetailModel;\r\n}\r\n\r\ninterface IWithdrawalsState {\r\n expandList: boolean[];\r\n withToAddWithdrawal: boolean;\r\n isRestrictionActive: boolean;\r\n userInfo: User;\r\n}\r\n\r\nexport class Withdrawals extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n const { RegularWithdrawalModel } = this.props.data[this.props.modelName];\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n expandList: [true],\r\n withToAddWithdrawal: RegularWithdrawalModel.length > 0,\r\n isRestrictionActive: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { type } = this.props;\r\n super.componentDidMount();\r\n if (type != ProcessType.Quote && type != ProcessType.NB) {\r\n const subaccounthierarchyid = getQueryParameters()[\"subaccounthierarchyid\"];\r\n Action.isAccountRestrictionActive(subaccounthierarchyid, RestrictionTypeEnum.Withdraw, (isActive) => {\r\n this.setState({ isRestrictionActive: isActive });\r\n });\r\n }\r\n }\r\n\r\n private addWithdrawal() {\r\n const { RegularWithdrawalModel } = this.props.data[this.props.modelName];\r\n const { expandList } = this.state;\r\n if (\r\n RegularWithdrawalModel &&\r\n RegularWithdrawalModel.length !== 0 &&\r\n !(\r\n this.isValidChild(RegularWithdrawalModel.length - 1) &&\r\n this.isValidChild(RegularWithdrawalModel.length * 2 - 1)\r\n )\r\n ) {\r\n return;\r\n }\r\n const _data = RegularWithdrawalModel ? RegularWithdrawalModel.concat() : [];\r\n _data.push({\r\n ClientRegularPayment: { Withdrawal: { Type: MoneyOrPercentageType.Percentage }, IsContinue: true },\r\n Allocations: [],\r\n ProportionallyAllocated: null,\r\n });\r\n this.onDataChange(\r\n this.props.onChange,\r\n { RegularWithdrawalModel: _data },\r\n this.props.data,\r\n this.props.modelName\r\n );\r\n expandList[expandList.length - 1] = false;\r\n expandList.push(true);\r\n this.setState({ expandList });\r\n }\r\n\r\n private onRemoveWithdrawal(index) {\r\n const { RegularWithdrawalModel } = this.props.data[this.props.modelName];\r\n const { expandList } = this.state;\r\n const _data = RegularWithdrawalModel.concat();\r\n _data.splice(index, 1);\r\n expandList.splice(index, 1);\r\n this.onDataChange(\r\n this.props.onChange,\r\n { RegularWithdrawalModel: _data },\r\n this.props.data,\r\n this.props.modelName\r\n );\r\n this.setState({ expandList });\r\n }\r\n\r\n private removeAllWithdrawals() {\r\n const { RegularWithdrawalModel } = this.props.data[this.props.modelName];\r\n const { expandList } = this.state;\r\n const _data = RegularWithdrawalModel.concat();\r\n this.onDataChange(\r\n this.props.onChange,\r\n { RegularWithdrawalModel: [] },\r\n this.props.data,\r\n this.props.modelName\r\n );\r\n this.setState({ expandList });\r\n }\r\n\r\n private getKeyString(modelName) {\r\n switch (modelName) {\r\n case \"GiaModel\":\r\n case \"GiaQuote\":\r\n return \"GiaTransfers\";\r\n case \"IsaModel\":\r\n case \"ISAQuote\":\r\n return \"IsaTransfers\";\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\n private getProps = (datas, index, indice) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: datas,\r\n isReview: this.props.isReview,\r\n onRef: (ref) => this.appendChild(ref, indice),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => {\r\n const { RegularWithdrawalModel } = this.props.data[this.props.modelName];\r\n const _data = RegularWithdrawalModel.concat();\r\n const _item = _data[index];\r\n for (const key in changes) {\r\n _item[key] = changes[key];\r\n }\r\n _data[index] = _item;\r\n this.onDataChange(onChange, { RegularWithdrawalModel: _data }, data, this.props.modelName);\r\n },\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { BankAccountInstructions, AllBankAccounts, OwnerHierarchyId } = this.props.data;\r\n const { RegularWithdrawalModel, InstrumentSelections } = this.props.data[this.props.modelName];\r\n const { isRestrictionActive } = this.state;\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup receive withdrawals\";\r\n let liquidInvestmentsMessage = \"You have not selected any investments which are eligible for withdrawals.\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n const reRegInstruments = getReRegInvestment(\r\n this.props.modelName == \"IsaModel\" || this.props.modelName == \"ISAQuote\"\r\n ? this.props.data[this.props.modelName].IsaTransfers\r\n : this.props.data[this.props.modelName].GiaTransfers,\r\n this.props.data.CashInstrument\r\n );\r\n const hasExistingRegularWithdrawal = RegularWithdrawalModel && RegularWithdrawalModel.length > 0;\r\n const hasLiquidInvestments = this.props.modelName === \"Contribution\" ? true : \r\n this.props.data[this.props.modelName].InstrumentSelections.Instruments\r\n .filter((item) => item.Instrument.Type != ProductType.CashProduct)\r\n .some((item) => \r\n item.ClientRegular.Percentage > 0 || item.ClientRegular.Money.Amount > 0 ||\r\n item.EmployerRegular.Percentage > 0 || item.EmployerRegular.Money.Amount > 0 ||\r\n item.Single.Percentage > 0 || item.Single.Money.Amount > 0 ||\r\n item.ThirdPartyRegular.Percentage > 0 || item.ThirdPartyRegular.Money.Amount > 0 ||\r\n item.Transfer.Percentage > 0 || item.Transfer.Money.Amount > 0\r\n );\r\n\r\n \r\n if (!hasLiquidInvestments && (RegularWithdrawalModel != null && RegularWithdrawalModel.length > 0)) {\r\n this.removeAllWithdrawals();\r\n }\r\n\r\n return (\r\n \r\n
\r\n

Withdrawals

\r\n {isRestrictionActive && }\r\n {!hasLiquidInvestments && }\r\n {!hasExistingRegularWithdrawal && hasLiquidInvestments && (\r\n (v ? \"Yes\" : \"No\")}\r\n disabled={isRestrictionActive}\r\n label=\"Do you wish to add a withdrawal?\"\r\n selected={RegularWithdrawalModel.length > 0}\r\n onChange={(v) => {\r\n const expandList = [];\r\n if (v) {\r\n if (RegularWithdrawalModel.length === 0) {\r\n RegularWithdrawalModel.push({\r\n ClientRegularPayment: {\r\n Withdrawal: { Type: MoneyOrPercentageType.Percentage },\r\n IsContinue: true,\r\n },\r\n Allocations: [],\r\n ProportionallyAllocated: null,\r\n });\r\n }\r\n if (RegularWithdrawalModel) {\r\n const len = RegularWithdrawalModel.length;\r\n if (len === 1) {\r\n expandList.push(true);\r\n } else {\r\n for (let i = 0; i < len; i++) {\r\n expandList.push(false);\r\n }\r\n }\r\n }\r\n this.setState({ expandList });\r\n } else {\r\n this.onDataChange(\r\n this.props.onChange,\r\n { RegularWithdrawalModel: [] },\r\n this.props.data,\r\n this.props.modelName\r\n );\r\n }\r\n this.setState({ withToAddWithdrawal: v, expandList: expandList });\r\n }}\r\n />\r\n )}\r\n\r\n {RegularWithdrawalModel &&\r\n RegularWithdrawalModel.length > 0 &&\r\n this.state.withToAddWithdrawal &&\r\n RegularWithdrawalModel.map((ele, index) => {\r\n let existingWithdrawal = null;\r\n if (this.props.type === ProcessType.WhatIf) {\r\n existingWithdrawal = this.props.extraInfoWhatIf?.RegularWithdraws?.[index];\r\n }\r\n return (\r\n <>\r\n this.onRemoveWithdrawal(index)}\r\n onChange={(v) => {\r\n if (v) {\r\n const { expandList } = this.state;\r\n const _expandList = expandList.concat();\r\n _expandList[index] = true;\r\n this.setState({ expandList: _expandList });\r\n }\r\n return v\r\n ? v\r\n : this.isValidChild(index) &&\r\n this.isValidChild(RegularWithdrawalModel.length + index);\r\n }}\r\n isOpen={this.state.expandList[index]}\r\n cssWrapper=\"accordion-simple\"\r\n >\r\n \r\n \r\n this.onRemoveWithdrawal(index)}\r\n />\r\n {index == RegularWithdrawalModel.length - 1 && (\r\n this.addWithdrawal()}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { ValidatorContents } from \"../../../../Common/ValidatorHelper\";\r\nimport { Name50 } from \"../../../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface IAccountNameProps extends IProcessComponentProps {\r\n readOnly: boolean;\r\n}\r\n\r\ninterface IAccountNameState {}\r\n\r\nexport class AccountName extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, readOnly } = this.props;\r\n const { AccountName } = data;\r\n return (\r\n <>\r\n {SectionHeader(\"Account name\")}\r\n {\r\n this.onAccountNameChange({ Full: v });\r\n }}\r\n disabled={readOnly}\r\n />\r\n \r\n );\r\n }\r\n\r\n private onAccountNameChange(changes) {\r\n const accountName = {};\r\n for (const key in changes) {\r\n accountName[key] = changes[key];\r\n }\r\n this.props.onChange({ AccountName: accountName });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviceTypeArrays, AdviceTypeArraysMap } from \"../Resource/Contents\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\n\r\ninterface IAdviceTypeProps extends IProcessComponentProps {\r\n readOnly: boolean;\r\n}\r\n\r\ninterface IAdviceTypeStates {}\r\n\r\nexport class AdviceType extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, readOnly } = this.props;\r\n const { AccountAdviceType } = data;\r\n return (\r\n <>\r\n {SectionHeader(\r\n \"Advice type\",\r\n \"For use when client has selected to receive a discretionary investment service.\"\r\n )}\r\n {\r\n return AdviceTypeArraysMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.props.onChange({ AccountAdviceType: v });\r\n }}\r\n required=\"Please choose advice type\"\r\n disabled={readOnly}\r\n infoText={\"Setting the advice type enables client groups to be segmented for bulk trade reporting.\"}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientRecordAction } from \"../../ClientRecord/Action/ClientRecordAction\";\r\nimport { ClientRecordTab } from \"../../ClientRecord/Resource/Contents\";\r\nimport { ClientRecordStore } from \"../../ClientRecord/Store/Variable\";\r\nimport { WrapperSelectionContents } from \"../../NewBusinessWizard/Resource/Contents\";\r\nimport { PersonalDetail } from \"./../../../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\n\r\ninterface INewClientAlertMessageProps {}\r\n\r\ninterface INewClientAlertMessageState {\r\n personalDetail: PersonalDetail;\r\n isLoading: boolean;\r\n showAlertBox: boolean;\r\n}\r\n\r\nexport class NewClientAlertMessage extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n const data = ClientRecordStore.getData();\r\n this.state = {\r\n personalDetail: data ? data[ClientRecordTab.PersonalDetail] : null,\r\n isLoading: false,\r\n showAlertBox: this.isFromAddClient(),\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onClientRecordStoreChange());\r\n }\r\n\r\n public componentDidMount() {\r\n const isAddClient = this.isFromAddClient();\r\n const clientId = getQueryParameters()[\"customerid\"];\r\n if (isAddClient) {\r\n ClientRecordAction.getPersonalDetail(clientId);\r\n }\r\n }\r\n\r\n private isFromAddClient(): boolean {\r\n return getQueryParameters()[\"isnewclient\"] === \"true\";\r\n }\r\n\r\n private onClientRecordStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n this.setState({ isLoading: false, personalDetail: data[ClientRecordTab.PersonalDetail] });\r\n }\r\n\r\n render() {\r\n if (this.state.isLoading) {return ;}\r\n return (\r\n <>\r\n {this.state.personalDetail && this.state.showAlertBox && (\r\n
\r\n this.onAlertBoxClose()}\r\n />\r\n
\r\n )}\r\n \r\n );\r\n }\r\n\r\n private onAlertBoxClose() {\r\n this.setState({ showAlertBox: false });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ConvertCappedToFlexiClient } from \"../../../../../../Wrap/Api/Drawdown/ConvertCappedToFlexi\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { InstructionStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { ConvertCappedToFlexiModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/ConvertCappedToFlexiModel\";\r\nimport { ConvertToFlexiInstructionDispatcher, ConvertToFlexiInstructionStore } from \"../Store/Variable\";\r\n\r\nexport class ConvertToFlexiAction {\r\n public static getInstruction(hierarchyId: string, instructionId: number): void {\r\n const client = new ConvertCappedToFlexiClient();\r\n if (instructionId && instructionId != undefined) {\r\n //Have instruction\r\n const promise = client.get(\r\n instructionId\r\n );\r\n this.updateConvertToFlexiInstructionStore(promise);\r\n }\r\n else {\r\n //Create new instruction\r\n const promise = client.post(hierarchyId);\r\n promise.onSuccess((result) => {\r\n const instructionId = result.Result;\r\n const model = client.get(instructionId);\r\n this.updateConvertToFlexiInstructionStore(model);\r\n })\r\n }\r\n }\r\n\r\n public static saveInstruction(data: ConvertCappedToFlexiModel, callback?: (result) => void): void {\r\n const client = new ConvertCappedToFlexiClient();\r\n const promise = client.put(data);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback(result);}\r\n });\r\n }\r\n\r\n public static submitInstruction(data: ConvertCappedToFlexiModel, callback?): void {\r\n data.Status = InstructionStatus.Submitted;\r\n const client = new ConvertCappedToFlexiClient();\r\n console.log(data)\r\n const promise = client.put(data);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static deleteInstruction(id, callback?): void {\r\n Promise.resolve(callback());\r\n }\r\n\r\n private static updateConvertToFlexiInstructionStore(promise: any) {\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(ConvertToFlexiInstructionStore.getData()));\r\n if (!data) {data = {};}\r\n data = result;\r\n ConvertToFlexiInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n ConvertToFlexiInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}","import * as React from \"react\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AccountsConversionTable } from \"../../Common/ConvertCappedToFlexi/AccountsConversionTable\";\r\nimport { ImportantInformation } from \"../../Common/ConvertCappedToFlexi/ImportantInformation\";\r\nimport { AdviserDeclaration } from \"../../Common/ConvertCappedToFlexi/AdviserDeclaration\";\r\nimport { convertToFlexiStepperName, ReviewStepInformationText } from \"../Resource/Content\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n onClearError: VoidFunction;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n

\r\n {convertToFlexiStepperName.review}\r\n

\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n >\r\n onChange({ Conversion: v })}\r\n onRef={(ref) => this.appendChild(ref)}\r\n isReviewStep={true}\r\n >\r\n \r\n
\r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n >\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { AccountConversion } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/AccountConversion\";\r\nimport { ConvertCappedToFlexiModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/ConvertCappedToFlexiModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AccountsConversionTable } from \"../../Common/ConvertCappedToFlexi/AccountsConversionTable\";\r\nimport { FlexiIncomeReview } from \"../../Common/ConvertCappedToFlexi/FlexiIncomeReview\";\r\nimport { ImportantInformation } from \"../../Common/ConvertCappedToFlexi/ImportantInformation\";\r\nimport { convertToFlexiStepperName } from \"../Resource/Content\";\r\n\r\ninterface ISelectArrangementProps extends IProcessComponentProps {}\r\n\r\ninterface ISelectArrangementState {}\r\n\r\nexport class SelectArrangement extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { showImportantInformationPopUp: false };\r\n }\r\n\r\n isValid() {\r\n const data: ConvertCappedToFlexiModel = this.props.data;\r\n const selectedArrangements = data.Conversion.filter(\r\n (arrangement) => arrangement.AccountDetails.IsSelected == true\r\n );\r\n if (selectedArrangements.length == 0) {\r\n this.props.showErrorMsgPopUp([\"Please select an arrangement to continue.\"], true);\r\n }\r\n return super.isValid() && selectedArrangements.length > 0;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n

\r\n {convertToFlexiStepperName.selectArrangement}\r\n

\r\n {}} onRef={(ref) => this.appendChild(ref)} />\r\n {\r\n this.onSelectionChange(v);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n isReviewStep={false}\r\n isReview={this.props.isReview}\r\n />\r\n this.onDataChange(onChange, v, data, \"FlexiIncomeReview\")}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n );\r\n }\r\n\r\n private onSelectionChange(data: Array) {\r\n const selectedArrangements = data.filter((a) => a.AccountDetails.IsSelected == true);\r\n this.props.onChange({\r\n Conversion: data,\r\n ArrangementHierarchyIds: selectedArrangements.map((a) => a.AccountDetails.HierarchyId),\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport Content from \"../../../../../react-core/Datepicker/Resources/ContentContent\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { WizardComponent } from \"../../../../Shared/Process/WizardComponent\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { ConvertToFlexiAction } from \"./Actions/ConvertToFlexiActions\";\r\nimport { Review } from \"./Components/Review\";\r\nimport { SelectArrangement } from \"./Components/SelectArrangement\";\r\nimport { convertToFlexiStepperName } from \"./Resource/Content\";\r\nimport { ConvertToFlexiInstructionStore } from \"./Store/Variable\";\r\n\r\nexport class ConvertCappedToFlexiWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(ConvertToFlexiInstructionStore, () => this.onInstructionStoreChange());\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (ConvertToFlexiInstructionStore.getActionType() == ActionType.Success) {\r\n const data = ConvertToFlexiInstructionStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const instructionId = getQueryParameters()[\"id\"];\r\n ConvertToFlexiAction.getInstruction(hierarchyId, instructionId);\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {\r\n if (from == stepLength - 1) {return this.onExit();}\r\n if (!params[\"id\"]) {params[\"id\"] = this.state.data.InstructionId;}\r\n\r\n ConvertToFlexiAction.saveInstruction(this.state.data, (result) => {\r\n this.setState({ onPosting: false });\r\n if (result.length > 0) {\r\n this.setState({ errorMsg: result, isShowErrorMsg: true });\r\n } else {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n //TODO: navigate to customer dashboard\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n ConvertToFlexiAction.submitInstruction(this.state.data, (result) => {\r\n this.setState({ isSubmitting: false });\r\n if (!result.SubmissionSucceed) {\r\n this.setState({\r\n active: true,\r\n errorMsg: [`There was an error when processing`],\r\n });\r\n }\r\n });\r\n }\r\n\r\n setStepperConfig() {\r\n const clAccountId = getQueryParameters()[\"claccountid\"];\r\n const { data } = this.state;\r\n\r\n this.stepperConfig = [\r\n {\r\n title: convertToFlexiStepperName.selectArrangement,\r\n url: Urls.get().ConvertToFlexiSelectArrangement,\r\n path: Contents.URLMap.selectArrangement,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n {\r\n title: convertToFlexiStepperName.review,\r\n url: Urls.get().ConvertToFlexiReview,\r\n path: Contents.URLMap.review,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[this.stepperConfig.length - 2].isValid(),\r\n component: (\r\n this.setState({ errorMsg: [], isShowErrorMsg: false })}\r\n >
\r\n ),\r\n },\r\n {\r\n title: convertToFlexiStepperName.confirmation,\r\n url: Urls.get().ConvertToFlexiConfirmation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n {\r\n this.state.errorMsg.length > 0\r\n ? Navigator.navigateToAndPreserveQueryParameters(Urls.get().ConvertToFlexiReview)\r\n : this.onExit();\r\n }}\r\n buttonLabel={this.state.errorMsg.length > 0 ? \"Previous\" : \"Back to dashboard\"}\r\n errorMsg={this.state.errorMsg[0]}\r\n successMessage={`We've received your instruction for ${data?.ClientDetail?.FirstName} ${data?.ClientDetail?.LastName} (${clAccountId})\r\n .`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Convert capped to flexi\";\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n return processProps;\r\n }\r\n}\r\n","import { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\"\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\"\r\nimport { UnavailabilityReason } from \"../../../../../../Wrap/Constants/Enums/Domain/UnavailabilityReason\"\r\nimport { ConvertCappedToFlexiModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/ConvertCappedToFlexiModel\"\r\n\r\nexport const convertToFlexiStepperName = {\r\n selectArrangement: \"Select arrangements to convert\",\r\n review: \"Review\",\r\n confirmation: \"Confirmation\"\r\n}\r\n\r\nexport const SelectArrangementInformationText = {\r\n warningMessageHeading : \"Important information\",\r\n warningMessageBody: \"You can find out more about when we can convert an account and details of what happens once the conversion takes place.\",\r\n popUpMessage: \"Placeholder here\"\r\n}\r\n\r\nexport const ReviewStepInformationText = \r\n\"We will convert each drawdown account into its own flexi account, retaining the existing capped account number for each.\"\r\n\r\nexport const AdviserDeclaractionText = {\r\n messagePart1 : \"I can confirm on behalf of \",\r\n messagePart2: \" that my client has instructed the conversion to a flexi account.\"\r\n}\r\n\r\nexport const unavailabilityReasonsMap = {\r\n [UnavailabilityReason.IncomeWithdrawalInProgress]: \"Payment of income withdrawal in progress\",\r\n [UnavailabilityReason.ZeroAssetOrCashBalance]: \"No account value\",\r\n [UnavailabilityReason.OrdersInProgress]: \"Trade(s) in progress\",\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { ConvertToFlexiInstructionDispatcher } from \"./Variable\";\r\n\r\nexport interface ConvertToFlexiInstructionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class ConvertToFlexiInstructionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ConvertToFlexiInstructionDispatcher, (actionData) => this.onConvertToFlexiInstructionStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): ConvertToFlexiInstructionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ConvertToFlexiInstructionStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onConvertToFlexiInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionTyped });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { ConvertToFlexiInstructionStatic } from \"./ConvertToFlexiInstructionStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const ConvertToFlexiInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const ConvertToFlexiInstructionStore: ConvertToFlexiInstructionStatic = new ConvertToFlexiInstructionStatic();\r\n\r\n","import { CustomerMergeClient } from \"../../../../../../Wrap/Api/Customer/CustomerMerge\";\r\n\r\nexport class CustomerMergeAction {\r\n public static getCustomerMerge(customerId1: string, customerId2: string, callback) {\r\n const client = new CustomerMergeClient();\r\n const promise = client.get(Number(customerId1), Number(customerId2));\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static mergeCustomer(fromCustomerId: string, toCustomerId: string, callback) {\r\n const client = new CustomerMergeClient();\r\n const promise = client.post(Number(fromCustomerId), Number(toCustomerId));\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { AddressDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { AddressTypeMap } from \"../../ClientRecord/Resource/Contents\";\r\nimport { prepareTypography } from \"../../Common/Review/ReviewParser\";\r\nimport { fieldDefaultValue } from \"../Resource/CustomerMergeHelper\";\r\n\r\ninterface IAddressesProps {\r\n aData: Array;\r\n otheraData: Array;\r\n}\r\n\r\nexport const Addresses = (props: IAddressesProps) => {\r\n // extract the union set of address type\r\n const addressTypeFromaData = props?.aData?.map((e) => e?.PhysicalAddressType);\r\n const addressTypeFromOtheraData = props?.otheraData?.map((e) => e?.PhysicalAddressType);\r\n\r\n // declare a new set\r\n const addressTypeSet = new Set();\r\n addressTypeFromaData?.forEach((e) => addressTypeSet.add(e));\r\n addressTypeFromOtheraData?.forEach((e) => addressTypeSet.add(e));\r\n\r\n // Composite Address aray based on the set\r\n const _sortedAddress = [];\r\n for (const ele of addressTypeSet) {\r\n // find if type already existed\r\n const _data = props?.aData?.find((e) => e?.PhysicalAddressType == ele);\r\n if (_data) {\r\n _sortedAddress.push(_data);\r\n } else {\r\n // need create empty object\r\n _sortedAddress.push({ PhysicalAddressType: null, Address: null });\r\n }\r\n }\r\n\r\n const addressConfig = (aData: Array) => {\r\n const result = [];\r\n aData.forEach((e) => {\r\n result.push(\r\n {\r\n title: \"Address type\",\r\n data: fieldDefaultValue(AddressTypeMap[e?.PhysicalAddressType]),\r\n },\r\n {\r\n title: \"Line 1\",\r\n data: fieldDefaultValue(e?.Address?.Address1),\r\n },\r\n {\r\n title: \"Line 2\",\r\n data: fieldDefaultValue(e?.Address?.Address2),\r\n },\r\n {\r\n title: \"Line 3\",\r\n data: fieldDefaultValue(e?.Address?.Address3),\r\n },\r\n {\r\n title: \"Line 4\",\r\n data: fieldDefaultValue(e?.Address?.Address4),\r\n },\r\n {\r\n title: \"Postcode\",\r\n data: fieldDefaultValue(e?.Address?.PostCode),\r\n }\r\n );\r\n });\r\n return result;\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Addresses\r\n

\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport AriaTooltip from \"../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { CustomerSearchAction } from \"../../ClientRecord/Action/CustomerSearchAction\";\r\nimport { RoutingActions } from \"../../../../../../react-core/Flux/Variables\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport classNames from \"classnames\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\"; \r\nimport { clientTypeEnum } from \"../../ClientSearch/Resource/Content\";\r\n\r\ninterface IClientDetailsPopUpProps {\r\n customerId: number;\r\n clientType: clientTypeEnum;\r\n trigger?: \"hover\" | \"click\";\r\n}\r\n\r\nexport const ClientDetailsPopup = (props: IClientDetailsPopUpProps) => {\r\n if (!props.customerId) { return null; }\r\n\r\n const wrapperRef = React.useRef(null);\r\n const contentRef = React.useRef(null);\r\n const buttonRef = React.useRef(null);\r\n const [visible, setVisibility] = React.useState(false);\r\n const [componentMounted, setComponentMounted] = React.useState(false);\r\n const [customerAge, setCustomerAge] = React.useState(null);\r\n const [customerDOB, setCustomerDOB] = React.useState(null);\r\n const [taxIdentifier, setTaxIdentifier] = React.useState(null);\r\n const [emailAddress, setEmailAddress] = React.useState(null);\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n const [accountIdWithActiveRoles, setAccountIdWithActiveRole] = React.useState(null);\r\n\r\n const getCustomerDetail = (customerId: number) => {\r\n\r\n setIsLoading(true);\r\n CustomerSearchAction.getCustomerData(customerId, (result) => {\r\n if (result?.CustomerTaxResidencyDetails != null && result?.CustomerTaxResidencyDetails.length > 0) {\r\n setTaxIdentifier(result?.CustomerTaxResidencyDetails[0].TaxReference);\r\n }\r\n if (result?.PersonalDetails?.DateOfBirth != null) {\r\n setCustomerAge(JsonDateParser.calculateAge(result?.PersonalDetails.DateOfBirth).toString());\r\n setCustomerDOB(JsonDateParser.getFormatDate(result?.PersonalDetails.DateOfBirth,'dd/MM/yyyy'))\r\n }\r\n if (result?.EmailAddressDetails != null && result?.EmailAddressDetails.length > 0) {\r\n setEmailAddress(result?.EmailAddressDetails?.[0]?.EmailAddress);\r\n }\r\n if (result?.AccountRoleByActorDetails != null && result?.AccountRoleByActorDetails.length > 0) {\r\n setAccountIdWithActiveRole(result?.AccountRoleByActorDetails);\r\n }\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const tooltipConfig = () => {\r\n const config = [];\r\n config.push({\r\n title: \"Account number:\",\r\n data: ( \r\n (accountIdWithActiveRoles && accountIdWithActiveRoles.length > 0) \r\n ? <>\r\n {accountIdWithActiveRoles.map((account, index) => (\r\n
\r\n {account.ClAccountId}
({getActiveRoleByRoleTypeId(account.AccountRoleType)})
\r\n
\r\n ))}\r\n \r\n : 'None'\r\n ),\r\n });\r\n\r\n if (props.clientType == clientTypeEnum.Individual){\r\n config.push({\r\n title: \"Date of birth:\",\r\n data: customerDOB ? ({customerDOB} (age {customerAge})) : ' ',\r\n });\r\n\r\n config.push({\r\n title: \"Email:\",\r\n data: emailAddress ? emailAddress : ' ',\r\n });\r\n\r\n config.push({\r\n title: \"NINO / Identifier:\",\r\n data: taxIdentifier ? taxIdentifier : ' ',\r\n });\r\n }\r\n\r\n return config;\r\n };\r\n\r\n React.useEffect(() => {\r\n if (!componentMounted) {\r\n //making sure we don't mess with focus if this is just component being mounted\r\n setComponentMounted(true);\r\n return;\r\n }\r\n if (visible) {\r\n if (contentRef.current) { contentRef.current.focus(); }\r\n } else {\r\n if (buttonRef.current) { buttonRef.current.focus(); }\r\n }\r\n }, [visible]);\r\n const onButtonClick = () => {\r\n if (props.trigger !== 'hover') {\r\n toggleVisibility();\r\n }\r\n if (props.customerId) {\r\n getCustomerDetail(props.customerId);\r\n }\r\n };\r\n const handleClickOutside = (event: any) => {\r\n if (!wrapperRef.current) { return; }\r\n if (wrapperRef && !wrapperRef.current.contains(event.target)) { closeTooltip(); }\r\n };\r\n const keyStrokesWhileOpen = (event: any) => {\r\n if (event.keyCode === 27) { closeTooltip(); }\r\n };\r\n const toggleVisibility = () => {\r\n if (visible) {\r\n document.removeEventListener(\"touchstart\", handleClickOutside);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n document.removeEventListener(\"keydown\", keyStrokesWhileOpen);\r\n closeTooltip();\r\n } else {\r\n if (buttonRef.current) {\r\n const btnRect = buttonRef.current.getBoundingClientRect();\r\n }\r\n document.addEventListener(\"keydown\", keyStrokesWhileOpen, false);\r\n document.addEventListener(\"touchstart\", handleClickOutside);\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n setVisibility(true);\r\n }\r\n };\r\n\r\n const closeTooltip = () => {\r\n setVisibility(false);\r\n setTaxIdentifier(null);\r\n setCustomerAge(null);\r\n setEmailAddress(null);\r\n };\r\n const wrapperClasses = classNames(\r\n \"aria-tooltip-wrapper\",\r\n { \"is-expanded\": visible },\r\n \"is-dismissable\",\r\n \"is-info-icon\",\r\n \"is-text-and-dots\",\r\n \"to-the-left\"\r\n );\r\n\r\n const getActiveRoleByRoleTypeId = (accountRoleType : RoleType) => {\r\n let accountRoleTypeName:string = \"\";\r\n switch(accountRoleType){\r\n case RoleType.NotSpecified :\r\n accountRoleTypeName = \"Not Specified\";\r\n break;\r\n case RoleType.IndividualAccountHolder :\r\n accountRoleTypeName = \"Individual Account Holder\";\r\n break;\r\n case RoleType.JointAccountHolder :\r\n accountRoleTypeName = \"Joint Account Holder\";\r\n break; \r\n case RoleType.TrustAccountHolder :\r\n accountRoleTypeName = \"Trust Account Holder\";\r\n break;\r\n case RoleType.LifeAssured :\r\n accountRoleTypeName = \"Life Assured\";\r\n break;\r\n case RoleType.AdditionalLifeAssured :\r\n accountRoleTypeName = \"Additional Life Assured\";\r\n break;\r\n case RoleType.RegisteredContact :\r\n accountRoleTypeName = \"Registered Contact\";\r\n break;\r\n case RoleType.LegalRepresentative :\r\n accountRoleTypeName = \"Legal Representative\";\r\n break;\r\n case RoleType.PowerOfAttorney :\r\n accountRoleTypeName = \"Power Of Attorney\";\r\n break;\r\n case RoleType.LetterOfAuthority :\r\n accountRoleTypeName = \"Letter Of Authority\";\r\n break;\r\n case RoleType.Employer :\r\n accountRoleTypeName = \"Employer\";\r\n break;\r\n case RoleType.ExSpouse :\r\n accountRoleTypeName = \"Ex Spouse\";\r\n break;\r\n case RoleType.Dependent :\r\n accountRoleTypeName = \"Dependent\";\r\n break;\r\n case RoleType.Nominee :\r\n accountRoleTypeName = \"Nominee\";\r\n break;\r\n case RoleType.ThirdPartyPayer :\r\n accountRoleTypeName = \"Third Party Payer\";\r\n break;\r\n case RoleType.PartnerOfAccountHolder :\r\n accountRoleTypeName = \"Partner Of Account Holder\";\r\n break;\r\n case RoleType.AccountAccessLegacy :\r\n accountRoleTypeName = \"Account Access Legacy\";\r\n break;\r\n case RoleType.AccountAccess :\r\n accountRoleTypeName = \"Account Access\";\r\n break;\r\n case RoleType.Trustee :\r\n accountRoleTypeName = \"Trustee\";\r\n break;\r\n case RoleType.Settlor :\r\n accountRoleTypeName = \"Settlor\";\r\n break;\r\n case RoleType.Beneficiary :\r\n accountRoleTypeName = \"Beneficiary\";\r\n break;\r\n case RoleType.AdditionalBeneficiary :\r\n accountRoleTypeName = \"Additional Beneficiary\";\r\n break;\r\n case RoleType.TrustAppointer :\r\n accountRoleTypeName = \"Trust Appointer\";\r\n break;\r\n case RoleType.TrustProtector :\r\n accountRoleTypeName = \"Trust Protector\";\r\n break;\r\n case RoleType.ControllingPerson :\r\n accountRoleTypeName = \"Controlling Person\";\r\n break;\r\n case RoleType.DirectorController :\r\n accountRoleTypeName = \"Director Controller\";\r\n break;\r\n case RoleType.ShareholderGT25 :\r\n accountRoleTypeName = \"Shareholder GT 25\";\r\n break;\r\n case RoleType.AdditionalSignatory :\r\n accountRoleTypeName = \"Additional Signatory\";\r\n break;\r\n default :\r\n accountRoleTypeName = \"Not Specified\";\r\n break;\r\n }\r\n return accountRoleTypeName;\r\n };\r\n\r\n return (\r\n\r\n
\r\n
\r\n \r\n
\r\n {visible &&\r\n (
\r\n
\r\n {\r\n isLoading ? <>
:\r\n <>\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n
)}\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { EmailAddressType } from \"../../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { CustomerEmailAddress } from \"../../../../../../Wrap/Models/Models/Customer/CustomerEmailAddress\";\r\nimport { CustomerPhoneNumber } from \"../../../../../../Wrap/Models/Models/Customer/CustomerPhoneNumber\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { PhoneNumberTypeMap } from \"../../ClientRecord/Resource/Contents\";\r\nimport { prepareTypography } from \"../../Common/Review/ReviewParser\";\r\nimport { fieldDefaultValue } from \"../Resource/CustomerMergeHelper\";\r\n\r\ninterface IContactInformationProps {\r\n eData: Array;\r\n pData: Array;\r\n otherpData: Array;\r\n}\r\n\r\nconst phoneNumberConfig = (pData: Array) => {\r\n const result = [];\r\n pData.forEach((e) => {\r\n result.push(\r\n { title: \"Phone type\", data: fieldDefaultValue(PhoneNumberTypeMap[e?.PhoneNumberType]) },\r\n { title: \"Country\", data: fieldDefaultValue(CountryCodeMap.getString(e?.PhoneNumber?.Country)) },\r\n {\r\n title: \"Number\",\r\n data: fieldDefaultValue((e?.PhoneNumber?.AreaCode || \"\") + (e?.PhoneNumber?.Number || \"\")),\r\n }\r\n );\r\n });\r\n return result;\r\n};\r\n\r\nconst emailConfig = (eData: Array) => {\r\n const primaryEmail = eData?.find((e) => {\r\n return e?.EmailAddressType == EmailAddressType.Primary;\r\n });\r\n const otherEmail = eData?.find((e) => {\r\n return e?.EmailAddressType == EmailAddressType.Other;\r\n });\r\n return [\r\n {\r\n title: \"Email - primary\",\r\n data: fieldDefaultValue(primaryEmail?.EmailAddress),\r\n },\r\n {\r\n title: \"Email - other\",\r\n data: fieldDefaultValue(otherEmail?.EmailAddress),\r\n },\r\n ];\r\n};\r\n\r\nconst fullConfig = (pData: Array, eData: Array) => {\r\n const pDataResult = phoneNumberConfig(pData);\r\n const eDataResult = emailConfig(eData);\r\n\r\n return pDataResult.concat(eDataResult);\r\n};\r\n\r\nexport const ContactInformation = (props: IContactInformationProps) => {\r\n const phoneNumberTypeFrompData = props?.pData?.map((e) => e?.PhoneNumberType);\r\n const phoneNumberTypeFromOtherpData = props?.otherpData?.map((e) => e?.PhoneNumberType);\r\n\r\n const phoneNumberTypeSet = new Set();\r\n phoneNumberTypeFrompData?.forEach((e) => phoneNumberTypeSet.add(e));\r\n phoneNumberTypeFromOtherpData?.forEach((e) => phoneNumberTypeSet.add(e));\r\n\r\n const _sortedPhoneNumber = [];\r\n for (const ele of phoneNumberTypeSet) {\r\n const _data1 = props?.pData?.find((e) => e?.PhoneNumberType == ele);\r\n if (_data1) {\r\n _sortedPhoneNumber.push(_data1);\r\n } else {\r\n // need create empty object\r\n _sortedPhoneNumber.push({ PhoneNumberType: null, PhoneNumber: null });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Contact information\r\n

\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport AriaTooltip from \"../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { CustomerSearchAction } from \"../../ClientRecord/Action/CustomerSearchAction\";\r\n\r\ninterface ICustomerDetailsPopUpProps {\r\n customerId: number;\r\n displayText: string;\r\n}\r\n\r\nexport const CustomerDetailsPopup = (props: ICustomerDetailsPopUpProps) => {\r\n if (!props.customerId) {return null;}\r\n\r\n const [customerAge, setCustomerAge] = React.useState(\"Not held\");\r\n const [taxIdentifier, setTaxIdentifier] = React.useState(\"Not held\");\r\n const [emailAddress, setEmailAddress] = React.useState(\"Not held\");\r\n const [postCode, setPostCode] = React.useState(\"Not held\");\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n\r\n const getCustomerDetail = (customerId: number) => {\r\n setIsLoading(true);\r\n CustomerSearchAction.getCustomerData(customerId, (result) => {\r\n if (result?.CustomerTaxResidencyDetails != null && result?.CustomerTaxResidencyDetails.length > 0) {\r\n setTaxIdentifier(result?.CustomerTaxResidencyDetails[0].TaxReference);\r\n }\r\n if (result?.PersonalDetails?.DateOfBirth != null) {\r\n setCustomerAge(JsonDateParser.calculateAge(result?.PersonalDetails.DateOfBirth).toString());\r\n }\r\n if (result?.EmailAddressDetails != null && result?.EmailAddressDetails.length > 0) {\r\n setEmailAddress(result?.EmailAddressDetails?.[0]?.EmailAddress);\r\n }\r\n if (result?.AddressDetails != null && result?.AddressDetails.length > 0) {\r\n setPostCode(result?.AddressDetails[0].Address.PostCode);\r\n }\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const tooltipConfig = () => {\r\n return [\r\n {\r\n title: \"Client age\",\r\n data: customerAge,\r\n },\r\n {\r\n title: (\r\n \r\n Tax /
\r\n Government Identifier\r\n
\r\n ),\r\n data: taxIdentifier,\r\n },\r\n { title: \"Post code\", data: postCode },\r\n { title: \"Email address\", data: emailAddress },\r\n ];\r\n };\r\n\r\n return (\r\n {\r\n getCustomerDetail(props.customerId);\r\n }}\r\n showCloseButton={true}\r\n onClose={() => {\r\n setTaxIdentifier(\"Not held\");\r\n setCustomerAge(\"Not held\");\r\n setPostCode(\"Not held\");\r\n setEmailAddress(\"Not held\");\r\n }}\r\n isLoading={isLoading}\r\n >\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { CustomerMergeModel } from \"../../../../../../Wrap/Models/Models/Customer/CustomerMergeModel\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { CustomerMergeAction } from \"../Action/CustomerMergeAction\";\r\nimport { Addresses } from \"./Addresses\";\r\nimport { ContactInformation } from \"./ContactInformation\";\r\nimport { Declarations } from \"./Declarations\";\r\nimport { PersonalDetails } from \"./PersonalDetails\";\r\nimport { Regulatory } from \"./Regulatory\";\r\nimport { RegulatoryChecks } from \"./RegulatoryChecks\";\r\nimport { Roles } from \"./Roles\";\r\nimport { TickOrCorss } from \"./TickOrCross\";\r\nimport { UserGroup } from \"./UserGroup\";\r\n\r\ninterface ICustomerMergeDetailsProps {}\r\n\r\ninterface ICustomerMergeDetailsState {\r\n isLoading: boolean;\r\n data: CustomerMergeModel;\r\n customerSelected: Array;\r\n}\r\n\r\nexport class CustomerMergeDetails extends FormComponent {\r\n constructor(props: ICustomerMergeDetailsProps) {\r\n super(props);\r\n this.state = {\r\n isLoading: true,\r\n data: null,\r\n customerSelected: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const customerId1 = getQueryParameters()[\"customerid1\"];\r\n const customerId2 = getQueryParameters()[\"customerid2\"];\r\n CustomerMergeAction.getCustomerMerge(customerId1, customerId2, (res) => {\r\n this.setState({ data: res, isLoading: false });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (this.state.isLoading) {\r\n return (\r\n
\r\n

Customer Merge

\r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n

Customer Merge

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

Customer 1

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

Customer 2

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

Continue customer 1?

\r\n {\r\n const checked = this.state.customerSelected;\r\n if (v) {\r\n this.setState({ customerSelected: checked.concat(1) });\r\n } else {\r\n this.setState({ customerSelected: checked.filter((ele) => ele != 1) });\r\n }\r\n }}\r\n disabled={\r\n this.state.customerSelected.length !== 0 && this.state.customerSelected.includes(2)\r\n }\r\n value={this.state.customerSelected.includes(1)}\r\n />\r\n
\r\n
\r\n
\r\n

Continue customer 2?

\r\n {\r\n const checked = this.state.customerSelected;\r\n if (v) {\r\n this.setState({ customerSelected: checked.concat(2) });\r\n } else {\r\n this.setState({ customerSelected: checked.filter((ele) => ele != 2) });\r\n }\r\n }}\r\n disabled={\r\n this.state.customerSelected.length !== 0 && this.state.customerSelected.includes(1)\r\n }\r\n value={this.state.customerSelected.includes(2)}\r\n />\r\n
\r\n
\r\n
\r\n {this.state.customerSelected.length > 0 && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n }\r\n}\r\n","import { join } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ServiceValidationError } from \"../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { CustomerMergeModel } from \"../../../../../../Wrap/Models/Models/Customer/CustomerMergeModel\";\r\nimport { CheckboxGroup } from \"../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { CustomerMergeAction } from \"../Action/CustomerMergeAction\";\r\nimport { doCompare, switchTypes, validateActiveUsers, validateAMLCheckStatus } from \"../Resource/CustomerMergeHelper\";\r\n\r\ninterface IDeclarationsProps {\r\n data: CustomerMergeModel;\r\n customerSelected: Array;\r\n}\r\n\r\nconst submitMerge = (data: CustomerMergeModel, setIsSubmit) => {\r\n let validateResult = [];\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"customer-details\"), data?.FirstCustomer, data?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"contact-information\"), data?.FirstCustomer, data?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"addresses\"), data?.FirstCustomer, data?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"regulatory\"), data?.FirstCustomer, data?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"regulatory-checks\"), data?.FirstCustomer, data?.SecondCustomer)\r\n );\r\n\r\n const isAllMatch = validateResult?.findIndex((e) => e === false); // > 0 means false, -1 means true\r\n if (isAllMatch >= 0) {\r\n setIsSubmit({\r\n isShow: true,\r\n msg: \"All data from customers 1 and 2 must be matching before this process can be completed.\",\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n return;\r\n }\r\n\r\n // validate user id\r\n if (!validateActiveUsers(data?.FirstCustomer?.ActorUserId, data?.SecondCustomer?.ActorUserId)) {\r\n setIsSubmit({\r\n isShow: true,\r\n msg:\r\n \"Cannot submit process as the selected customers have >1 active user for the platform. Please ensure there is only 1 or 0 users tied to these customers in order to submit. Please refer to the adviser if this needs further clarification.\",\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n return;\r\n }\r\n\r\n // validate AML check statu\r\n const result = validateAMLCheckStatus(data?.FirstCustomer, data?.SecondCustomer);\r\n if (result.length !== 0) {\r\n const _string = join(result, \",\");\r\n setIsSubmit({\r\n isShow: true,\r\n msg: `Please re-run the AML checks for the following customer as they have been flagged for not passing their latest AML check: ${_string}`,\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n return;\r\n }\r\n\r\n setIsSubmit({\r\n isShow: true,\r\n msg: (\r\n
\r\n

Are you sure you wish to submit?

\r\n

\r\n PLEASE NOTE: Submitting this wizard will complete the following actions\r\n

\r\n

\r\n

    \r\n
  • Persist the selected customer and remove the unselected customer
  • \r\n
  • Delete the unselected customers user
  • \r\n
\r\n

\r\n
\r\n ),\r\n title: \"Submit\",\r\n isReload: false,\r\n });\r\n};\r\n\r\nconst submit = (customerSelected, setIsSubmit, setIsBusy) => {\r\n const selectedCustomer = customerSelected[0];\r\n let fromCustomer, toCustomer;\r\n const customerId1 = getQueryParameters()[\"customerid1\"];\r\n const customerId2 = getQueryParameters()[\"customerid2\"];\r\n if (selectedCustomer == 1) {\r\n fromCustomer = customerId2;\r\n toCustomer = customerId1;\r\n } else {\r\n fromCustomer = customerId1;\r\n toCustomer = customerId2;\r\n }\r\n\r\n // Get data again and check\r\n CustomerMergeAction.getCustomerMerge(customerId1, customerId2, (res) => {\r\n // Do the comparison\r\n let validateResult = [];\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"customer-details\"), res?.FirstCustomer, res?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"contact-information\"), res?.FirstCustomer, res?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"addresses\"), res?.FirstCustomer, res?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"regulatory\"), res?.FirstCustomer, res?.SecondCustomer)\r\n );\r\n // validate customer-details\r\n validateResult = validateResult.concat(\r\n doCompare(switchTypes(\"regulatory-checks\"), res?.FirstCustomer, res?.SecondCustomer)\r\n );\r\n\r\n const isAllMatch = validateResult?.findIndex((e) => e === false); // > 0 means false, -1 means true\r\n if (isAllMatch >= 0) {\r\n setIsSubmit({\r\n isShow: true,\r\n msg: \"All data from customers 1 and 2 must be matching before this process can be completed.\",\r\n title: \"Error\",\r\n isReload: true,\r\n });\r\n setIsBusy(false);\r\n return;\r\n }\r\n\r\n // validate user id\r\n if (!validateActiveUsers(res?.FirstCustomer?.ActorUserId, res?.SecondCustomer?.ActorUserId)) {\r\n setIsSubmit({\r\n isShow: true,\r\n msg:\r\n \"Cannot submit process as the selected customers have >1 active user for the platform. Please ensure there is only 1 or 0 users tied to these customers in order to submit. Please refer to the adviser if this needs further clarification.\",\r\n title: \"Error\",\r\n isReload: true,\r\n });\r\n setIsBusy(false);\r\n return;\r\n }\r\n\r\n // validate AML check statu\r\n const result = validateAMLCheckStatus(res?.FirstCustomer, res?.SecondCustomer);\r\n if (result.length !== 0) {\r\n const _string = join(result, \",\");\r\n setIsSubmit({\r\n isShow: true,\r\n msg: `Please re-run the AML checks for the following customer as they have been flagged for not passing their latest AML check: ${_string}`,\r\n title: \"Error\",\r\n isReload: true,\r\n });\r\n setIsBusy(false);\r\n return;\r\n }\r\n\r\n CustomerMergeAction.mergeCustomer(fromCustomer, toCustomer, (res: Array) => {\r\n if (res.length == 0) {\r\n Navigator.navigateTo(Urls.get().main.CustomerMergeSelectCustomers, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n flag: 1,\r\n },\r\n });\r\n } else {\r\n const errorMsg = res[0]?.UserMessage;\r\n switch (errorMsg) {\r\n case \"EC0260 Merge error (Category/Type/SubType)\":\r\n setIsSubmit({\r\n isShow: true,\r\n msg: `Merge not possible due to the difference in types of these customers set in the system.`,\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n setIsBusy(false);\r\n break;\r\n case \"EC0260 Merge error (Roles)\":\r\n setIsSubmit({\r\n isShow: true,\r\n msg: `Merge not possible due to the roles held by these 2 customers.`,\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n setIsBusy(false);\r\n break;\r\n case \"EC0260 Merge error (Relationships)\":\r\n setIsSubmit({\r\n isShow: true,\r\n msg: `Merge is not possible due to the relationship set in the system between these 2 customers.`,\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n setIsBusy(false);\r\n break;\r\n case \"EC0260 Merge error (Owner Permissions)\":\r\n setIsSubmit({\r\n isShow: true,\r\n msg: `Merge not possible due to mismatch in permissions/security levels of these 2 customers.`,\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n setIsBusy(false);\r\n break;\r\n default:\r\n console.error(errorMsg);\r\n setIsSubmit({\r\n isShow: true,\r\n msg: `Merge not possible due to some unknown reasom.`,\r\n title: \"Error\",\r\n isReload: false,\r\n });\r\n setIsBusy(false);\r\n break;\r\n }\r\n }\r\n });\r\n });\r\n};\r\n\r\nexport const Declarations = (props: IDeclarationsProps) => {\r\n const [hasChecked, setHasChecked] = React.useState([]);\r\n const [isSubmit, setIsSubmit] = React.useState({ isShow: false, msg: \"\", title: \"\", isReload: false });\r\n const [isCancel, setIsCancel] = React.useState(false);\r\n const [isBusy, setIsBusy] = React.useState(false);\r\n return (\r\n <>\r\n

Declarations

\r\n {\r\n const checked = hasChecked;\r\n if (v) {\r\n setHasChecked(checked.concat(1));\r\n } else {\r\n setHasChecked(checked.filter((ele) => ele != 1));\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n const checked = hasChecked;\r\n if (v) {\r\n setHasChecked(checked.concat(2));\r\n } else {\r\n setHasChecked(checked.filter((ele) => ele != 2));\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n

\r\n The impact of applying these changes has been clearly articulated to all relevant stakeholders.\r\n Specifically calling out the risk that this could result in a loss of access to accounts for individuals\r\n customers if not dealt with properly.\r\n

\r\n {\r\n if (v) {\r\n setHasChecked([1, 2]);\r\n } else {\r\n setHasChecked([]);\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n {\r\n setIsCancel(true);\r\n }}\r\n className=\"prev-button\"\r\n >\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n submitMerge(props.data, setIsSubmit);\r\n }}\r\n disabled={hasChecked?.length != 2 || props.customerSelected.length != 1}\r\n >\r\n Submit\r\n \r\n \r\n
\r\n
\r\n {isSubmit.isShow && (\r\n {\r\n setIsSubmit({ isShow: false, msg: \"\", title: \"\", isReload: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n contentCssCustom=\"pt-20\"\r\n >\r\n

{isSubmit.msg}

\r\n\r\n {\r\n if (isSubmit?.isReload) {location.reload();}\r\n setIsSubmit({ isShow: false, msg: \"\", title: \"\", isReload: false });\r\n }}\r\n >\r\n {isSubmit.title == \"Submit\" ? \"Cancel\" : \"OK\"}\r\n \r\n\r\n {isSubmit.title == \"Submit\" && (\r\n {\r\n setIsBusy(true);\r\n submit(props.customerSelected, setIsSubmit, setIsBusy);\r\n }}\r\n >\r\n Submit\r\n \r\n )}\r\n \r\n )}\r\n {isCancel && (\r\n {\r\n setIsCancel(false);\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n contentCssCustom=\"pt-20\"\r\n >\r\n

Are you sure you wish to cancel?

\r\n {checkPermission(UserClaim.AdviserPortalCustomerFullyAccessReadWrite) && (\r\n {\r\n window.location.href =\r\n \"/wpadviser/en-gb/dashboard/home/main/admin/customer-merge/select-customers\";\r\n }}\r\n >\r\n Yes\r\n \r\n )}\r\n {\r\n setIsCancel(false);\r\n }}\r\n >\r\n No\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { join } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { EmploymentDetail } from \"../../../../../../Wrap/Models/Models/Customer/EmploymentDetail\";\r\nimport { PersonalDetail } from \"../../../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { TitleMap } from \"../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { prepareTypography } from \"../../Common/Review/ReviewParser\";\r\nimport { GenderOptionsMap, Marital } from \"../../NewBusinessWizard/Resource/Contents\";\r\nimport { IndividualEmploymentStatusOptionsMap } from \"../../NewQuoteWizard/Resource/Content\";\r\nimport { fieldDefaultValue, getNationality } from \"../Resource/CustomerMergeHelper\";\r\n\r\ninterface IPersonalDetailsProps {\r\n pData: PersonalDetail;\r\n eData: EmploymentDetail;\r\n tData: Array;\r\n}\r\n\r\nexport const PersonalDetails = (props: IPersonalDetailsProps) => {\r\n const personalDetailsConfig = (\r\n pData: PersonalDetail,\r\n eData: EmploymentDetail,\r\n tData: Array\r\n ) => {\r\n return [\r\n {\r\n title: \"Title\",\r\n data: fieldDefaultValue(TitleMap.getString(pData?.Title)),\r\n },\r\n {\r\n title: \"First name(s)\",\r\n data: fieldDefaultValue(pData.GivenName),\r\n },\r\n {\r\n title: \"Surname\",\r\n data: fieldDefaultValue(pData?.FamilyName),\r\n },\r\n {\r\n title: \"Gender\",\r\n data: fieldDefaultValue(GenderOptionsMap[pData?.Gender]),\r\n },\r\n {\r\n title: \"Marital status\",\r\n data: fieldDefaultValue(Marital.optionsMap[pData?.MaritalStatus]),\r\n },\r\n {\r\n title: \"DOB\",\r\n data: JsonDateParser.getFormatDate(pData?.DateOfBirth, \"dd/MM/yyyy\"),\r\n },\r\n {\r\n title: \"Town of birth\",\r\n data: fieldDefaultValue(pData?.TownOfBirth),\r\n },\r\n {\r\n title: \"Country of nationality\",\r\n data: fieldDefaultValue(join(getNationality(tData), \",\")),\r\n },\r\n {\r\n title: \"Country of birth\",\r\n data: fieldDefaultValue(CountryCodeMap.getString(pData?.CountryOfBirth)),\r\n },\r\n {\r\n title: \"Employment status\",\r\n data: fieldDefaultValue(IndividualEmploymentStatusOptionsMap[eData?.IndividualEmploymentStatus]),\r\n },\r\n ];\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Customer details\r\n

\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { TaxReferenceTypeMap } from \"../../ClientRecord/Resource/RegulatoryCountryHelper\";\r\nimport { prepareTypography } from \"../../Common/Review/ReviewParser\";\r\nimport { fieldDefaultValue, renderYesOrNo } from \"../Resource/CustomerMergeHelper\";\r\n\r\ninterface IRegulatoryProps {\r\n tData: Array;\r\n othertData: Array;\r\n}\r\n\r\nconst regulatoryConfig = (tData: Array) => {\r\n const result = [];\r\n tData?.forEach((e) => {\r\n result.push(\r\n {\r\n title: \"Country name\",\r\n data: fieldDefaultValue(CountryCodeMap.getString(e?.Country)),\r\n },\r\n {\r\n title: \"Client nationality\",\r\n data: fieldDefaultValue(renderYesOrNo(e?.IsNationality)),\r\n },\r\n {\r\n title: \"Client tax resident\",\r\n data: fieldDefaultValue(renderYesOrNo(e?.IsTaxResident)),\r\n },\r\n {\r\n title: \"Primary tax resident\",\r\n data: fieldDefaultValue(renderYesOrNo(e?.PrimaryTaxResidency)),\r\n },\r\n {\r\n title: \"Primary citizenship\",\r\n data: fieldDefaultValue(renderYesOrNo(e?.PrimaryCitizenship)),\r\n },\r\n {\r\n title: \"National identifier\",\r\n data: fieldDefaultValue(e?.NationalIdentifier),\r\n },\r\n {\r\n title: \"Passport identification number\",\r\n data: fieldDefaultValue(e?.PassportNumber),\r\n },\r\n {\r\n title: \"Tax reference\",\r\n data: fieldDefaultValue(e?.TaxReference),\r\n },\r\n {\r\n title: \"Tax reference type\",\r\n data: fieldDefaultValue(TaxReferenceTypeMap[e?.TaxReferenceType]),\r\n }\r\n );\r\n });\r\n return result;\r\n};\r\n\r\nexport const Regulatory = (props: IRegulatoryProps) => {\r\n const _sortedTax = props?.tData?.sort((a, b) => {\r\n if (a?.Country?.toString() > b?.Country?.toString()) {\r\n return 1;\r\n }\r\n if (a?.Country?.toString() < b?.Country?.toString()) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n\r\n if (_sortedTax?.length < props.othertData?.length) {\r\n // add empty item to keep the same size\r\n const sizeDifference = props.othertData.length - _sortedTax.length;\r\n for (let i = 0; i < sizeDifference; i++) {\r\n _sortedTax.push({\r\n Country: null,\r\n IsTaxResident: null,\r\n PrimaryCitizenship: null,\r\n PrimaryTaxResidency: null,\r\n NationalIdentifier: null,\r\n PassportNumber: null,\r\n TaxReferenceType: null,\r\n TaxReference: null,\r\n TaxResidencyForPensionRelief: null,\r\n TaxExempt: null,\r\n TaxExemptionReason: null,\r\n IsNationality: null,\r\n });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Regulatory\r\n

\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { RegulatoryCheckInfoStatus } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoStatus\";\r\nimport { RegulatoryCheckInfoType } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoType\";\r\nimport { RegulatoryCheckDetailsModel } from \"../../../../../../Wrap/Models/Models/Customer/RegulatoryCheckDetailsModel\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { RegulatoryCheckInfoTypeMap, RegulatoryCheckResultTypeMap } from \"../../ClientRecord/Resource/Contents\";\r\nimport { prepareTypography } from \"../../Common/Review/ReviewParser\";\r\nimport { fieldDefaultValue } from \"../Resource/CustomerMergeHelper\";\r\n\r\ninterface IRegulatoryChecksProps {\r\n tData: Array;\r\n}\r\n\r\nconst regulatoryChecksConfig = (tData: Array) => {\r\n const aml = tData?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.AML);\r\n const pep = tData?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.PEP);\r\n\r\n return [\r\n {\r\n title: \"AML method\",\r\n data: fieldDefaultValue(\r\n aml?.ServiceProvider != null && (aml?.ServiceProvider == \"Manual\" || aml?.ServiceProvider == \"Experian\")\r\n ? aml?.ServiceProvider\r\n : \"\"\r\n ),\r\n },\r\n {\r\n title: \"AML check status\",\r\n data: fieldDefaultValue(RegulatoryCheckInfoTypeMap[aml?.RegulatoryCheckStatus]),\r\n },\r\n {\r\n title: \"AML status\",\r\n data: fieldDefaultValue(RegulatoryCheckResultTypeMap[aml?.RegulatoryCheckResult]),\r\n },\r\n {\r\n title: \"PEP check status\",\r\n data: fieldDefaultValue(RegulatoryCheckInfoTypeMap[pep?.RegulatoryCheckStatus]),\r\n },\r\n {\r\n title: \"PEP status\",\r\n data: fieldDefaultValue(\r\n pep == null || pep?.RegulatoryCheckResult == null\r\n ? \" \"\r\n : pep?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n pep?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? \"N/A\"\r\n : RegulatoryCheckResultTypeMap[pep?.RegulatoryCheckResult]\r\n ),\r\n },\r\n ];\r\n};\r\n\r\nexport const RegulatoryChecks = (props: IRegulatoryChecksProps) => {\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Regulatory checks\r\n

\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { roleTypeMap } from \"../../ClientRecord/Resource/Contents\";\r\n\r\ninterface IRolesProps {\r\n rData: Array;\r\n otherrData: Array;\r\n}\r\nconst renderRoles = (rData: Array, lengthDifference: number) => {\r\n const result = [];\r\n rData?.forEach((e) => {\r\n result.push(\r\n

\r\n {e?.ClAccountId} - {roleTypeMap[e?.AccountRoleType]}\r\n

\r\n );\r\n });\r\n if (lengthDifference > 0) {\r\n for (let i = 0; i < lengthDifference; i++) {\r\n result.push(
);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\nexport const Roles = (props: IRolesProps) => {\r\n let lengthDifference = 0;\r\n if (props.rData.length < props.otherrData.length) {\r\n lengthDifference = props.otherrData.length - props.rData.length;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Roles\r\n

\r\n
\r\n
\r\n {renderRoles(props?.rData, lengthDifference)}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { CustomerSearchModel } from \"../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchModel\";\r\nimport { CustomerSearchResult } from \"../../../../../../Wrap/Models/Models/Customer/CustomerSearch/CustomerSearchResult\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ITableConfig, Table } from \"../../../../../Shared/Table/Table\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { Filter } from \"../../AddClient/Components/ClientType/Filter\";\r\nimport { ButtonLabels } from \"../../AddClient/Resource/Contents\";\r\nimport { CustomerSearchAction, ICustomerSearchQuery } from \"../../ClientRecord/Action/CustomerSearchAction\";\r\nimport { customerStatusMap } from \"../../ClientRecord/Resource/Contents\";\r\nimport { AdviserInfoMessage, SelectCustomerErrorMsg, SelectCustomerSuccessMsg } from \"../Resource/Content\";\r\nimport { CustomerDetailsPopup } from \"./CustomerDetailsPopUp\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { EntityType } from \"../../../../../../Wrap/Constants/Enums/EntityType\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\n\r\ninterface ISelectCustomersProps {}\r\ninterface ISelectCustomerState {\r\n ownerAdviserId: number;\r\n selectedCustomers: CustomerSearchResult[];\r\n\r\n customerId: number;\r\n firstName: string;\r\n lastName: string;\r\n\r\n isSearching: boolean;\r\n searchResult: CustomerSearchModel;\r\n currentPage: number;\r\n\r\n showErrorMsg: boolean;\r\n showSuccessMsg: boolean;\r\n}\r\n\r\nexport class SelectCustomers extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n ownerAdviserId: null,\r\n selectedCustomers: [],\r\n customerId: null,\r\n firstName: \"\",\r\n lastName: \"\",\r\n isSearching: false,\r\n searchResult: null,\r\n currentPage: 1,\r\n showErrorMsg: false,\r\n showSuccessMsg: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const isSuccessful = getQueryParameters()[\"flag\"];\r\n if (isSuccessful == \"1\") {\r\n this.setState({ showSuccessMsg: true });\r\n }\r\n }\r\n\r\n private searchCustomers(currentPage: number) {\r\n this.setState({ isSearching: true });\r\n const { customerId, firstName, lastName, ownerAdviserId } = this.state;\r\n const customerSearchQuery: ICustomerSearchQuery = {\r\n customerId: customerId,\r\n customerStatus: CustomerStatus.NotSpecified,\r\n firstName: firstName != \"\" ? firstName + \"%\" : null,\r\n lastName: lastName != \"\" ? lastName + \"%\" : null,\r\n dateOfBirth: null,\r\n TaxIdentifier: null,\r\n clAccountId: null,\r\n customerRole: RoleType.NotSpecified,\r\n visibleToAdviserId: null,\r\n entityId: ownerAdviserId,\r\n entityType: EntityType.Advisor,\r\n };\r\n CustomerSearchAction.searchCustomers(customerSearchQuery, currentPage, 10, (data: CustomerSearchModel) => {\r\n this.setState({ searchResult: data, isSearching: false });\r\n });\r\n }\r\n\r\n private goToNextStep() {\r\n if (this.state.selectedCustomers.length == 2) {\r\n this.setState({ showErrorMsg: false });\r\n console.log(\"Go to next step\");\r\n console.log(this.state.selectedCustomers);\r\n Navigator.navigateTo(Urls.get().main.CustomerMergeDetails, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n customerid1: this.state.selectedCustomers[0].CustomerId,\r\n customerid2: this.state.selectedCustomers[1].CustomerId,\r\n },\r\n });\r\n } else {\r\n this.setState({ showErrorMsg: true });\r\n }\r\n }\r\n\r\n private renderCustomersSearch() {\r\n return (\r\n <>\r\n

Customers to merge

\r\n
\r\n this.setState({ customerId: v })}\r\n value={this.state.customerId}\r\n maxLength={15}\r\n cssWrapper=\"control-size-245 mr-10\"\r\n />\r\n this.setState({ firstName: v })}\r\n value={this.state.firstName}\r\n maxLength={100}\r\n cssWrapper=\"control-size-245 mr-10\"\r\n />\r\n this.setState({ lastName: v })}\r\n value={this.state.lastName}\r\n maxLength={100}\r\n cssWrapper=\"control-size-245 mr-10\"\r\n />\r\n
\r\n this.searchCustomers(1)}\r\n >\r\n Search\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private getSelectCustomerColConfig(isSelectedCustomerTable: boolean): ITableConfig[] {\r\n return [\r\n {\r\n title: \"Select\",\r\n key: \"CustomerId\",\r\n render: (data: number, row) => {\r\n if (isSelectedCustomerTable) {\r\n return (\r\n {\r\n const list = this.state.selectedCustomers.filter((x) => x.CustomerId != data);\r\n this.setState({\r\n selectedCustomers: list,\r\n showSuccessMsg: false,\r\n showErrorMsg: false,\r\n });\r\n }}\r\n >\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n x.CustomerId == data)}\r\n onChange={(v) => {\r\n if (v) {\r\n const list = this.state.selectedCustomers;\r\n list.push(row);\r\n this.setState({\r\n selectedCustomers: list,\r\n showSuccessMsg: false,\r\n showErrorMsg: false,\r\n });\r\n } else {\r\n const list = this.state.selectedCustomers.filter((x) => x.CustomerId != data);\r\n this.setState({\r\n selectedCustomers: list,\r\n showSuccessMsg: false,\r\n showErrorMsg: false,\r\n });\r\n }\r\n }}\r\n disabled={\r\n this.state.selectedCustomers.some((x) => x.CustomerId == data) ||\r\n this.state.selectedCustomers.length > 1\r\n }\r\n />\r\n );\r\n }\r\n },\r\n },\r\n {\r\n title: \"Customer ID\",\r\n key: \"CustomerId\",\r\n },\r\n {\r\n title: \"Customer name\",\r\n render: (data, row: CustomerSearchResult) => {\r\n return (\r\n <>\r\n {row.FirstName} {row.LastName}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Date of birth\",\r\n\r\n render: (data, row: CustomerSearchResult) => {\r\n return (\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"CustomerStatus\",\r\n render: (data, row: CustomerSearchResult) => {\r\n return row.IsProspect ? \"Prospect\" : customerStatusMap[data];\r\n },\r\n },\r\n ];\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Customer merge

\r\n {this.state.showSuccessMsg && (\r\n \r\n )}\r\n {this.state.showErrorMsg && }\r\n {this.state.ownerAdviserId && (\r\n \r\n {AdviserInfoMessage}\r\n {checkPermission(UserClaim.AdviserPortalDluFindUsersCanView) && (\r\n window.location.assign(`/admin/users/findusers.aspx`)}\r\n >\r\n here\r\n \r\n )}\r\n \r\n }\r\n />\r\n )}\r\n\r\n {}}\r\n onFilterSelectionChange={(data) => {\r\n if (!data?.Prospect?.OwnerAdviserId) {\r\n this.setState({\r\n ownerAdviserId: null,\r\n selectedCustomers: [],\r\n customerId: null,\r\n firstName: \"\",\r\n lastName: \"\",\r\n isSearching: false,\r\n searchResult: null,\r\n currentPage: 1,\r\n showErrorMsg: false,\r\n });\r\n } else {\r\n this.setState({\r\n ownerAdviserId: data?.Prospect.OwnerAdviserId,\r\n showSuccessMsg: false,\r\n showErrorMsg: false,\r\n selectedCustomers: [],\r\n });\r\n }\r\n }}\r\n onChange={() => {}}\r\n />\r\n {this.state.ownerAdviserId && this.renderCustomersSearch()}\r\n {this.state.ownerAdviserId && this.state.searchResult && (\r\n <>\r\n {\r\n this.setState({ currentPage: pageIndex });\r\n this.searchCustomers(pageIndex);\r\n },\r\n currentPage: this.state.currentPage,\r\n }}\r\n />\r\n

Customers selected

\r\n {\r\n {\r\n }\r\n },\r\n currentPage: 1,\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CustomerMergeModel } from \"../../../../../../Wrap/Models/Models/Customer/CustomerMergeModel\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { prepareTypography } from \"../../Common/Review/ReviewParser\";\r\nimport { doCompare, switchTypes } from \"../Resource/CustomerMergeHelper\";\r\n\r\ninterface ITickOrCrossProps {\r\n type: \"customer-details\" | \"contact-information\" | \"addresses\" | \"regulatory\" | \"regulatory-checks\" | \"user-group\";\r\n data: CustomerMergeModel;\r\n}\r\n\r\nconst renderTickOrCorss = (resultArray: Array, type: string) => {\r\n const config = [];\r\n if (type === \"user-group\") {\r\n resultArray.forEach((e) => {\r\n if (e) {\r\n config.push(\r\n
\r\n
\r\n
\r\n Lines match\r\n \r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n config.push(\r\n
\r\n
\r\n
\r\n Lines do not match\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n });\r\n return config;\r\n }\r\n resultArray.forEach((e) => {\r\n if (e) {\r\n config.push({\r\n title: (\r\n
\r\n Lines match\r\n \r\n
\r\n ),\r\n data:
1
,\r\n });\r\n } else {\r\n config.push({\r\n title: (\r\n
\r\n Lines do not match\r\n \r\n
\r\n ),\r\n data:
1
,\r\n });\r\n }\r\n });\r\n return ;\r\n};\r\n\r\nexport const TickOrCorss = (props: ITickOrCrossProps) => {\r\n const types = switchTypes(props.type);\r\n const customer1 = props.data.FirstCustomer;\r\n const customer2 = props.data.SecondCustomer;\r\n const resultArray = doCompare(types, customer1, customer2);\r\n\r\n const isAllMatch = resultArray?.findIndex((e) => e === false); // > 0 means false, -1 means true\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {isAllMatch >= 0 ? (\r\n

Please check mismatches

\r\n ) : (\r\n

Section match

\r\n )}\r\n
\r\n
\r\n {renderTickOrCorss(resultArray, props?.type)}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { UserRole } from \"../../../../../../Wrap/Models/Domains/UserRoles/UserRole\";\r\n\r\ninterface IUserGroupProps {\r\n gData: Array;\r\n othergData: Array;\r\n}\r\n\r\nconst renderUserGroup = (gData: Array, lengthDifference: number) => {\r\n const result = [];\r\n gData?.forEach((e) => {\r\n result.push(\r\n
\r\n
\r\n {e?.Id} - {e?.Name}\r\n
\r\n
\r\n );\r\n });\r\n\r\n if (lengthDifference > 0) {\r\n for (let i = 0; i < lengthDifference; i++) {\r\n result.push(
);\r\n }\r\n }\r\n return result;\r\n};\r\n\r\nexport const UserGroup = (props: IUserGroupProps) => {\r\n const _sortedUserGroup = props?.gData?.sort((a, b) => {\r\n return a?.Id - b?.Id;\r\n });\r\n\r\n let sizeDifference = 0;\r\n if (_sortedUserGroup?.length < props.othergData?.length) {\r\n sizeDifference = props.othergData?.length - _sortedUserGroup.length;\r\n _sortedUserGroup.push({\r\n Id: null,\r\n Name: null,\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n User group\r\n

\r\n
\r\n
\r\n {renderUserGroup(props?.gData, sizeDifference)}\r\n \r\n );\r\n};\r\n","export const AdviserInfoMessage = \"Before continuing with this process, please ensure that all customers client portal users have been checked and where necessary, set as disabled and unlinked from the OKTA account. This journey can provide additional permissions to accounts so all processes MUST BE FOLLOWED. Please review users\"\r\nexport const SelectCustomerErrorMsg = \"Please select 2 customers to continue\"\r\nexport const SelectCustomerSuccessMsg = \"Customers successfully merged\"","import { flatten, isEqual, sortBy } from \"lodash\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { RegulatoryCheckInfoResult } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoResult\";\r\nimport { RegulatoryCheckInfoStatus } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoStatus\";\r\nimport { RegulatoryCheckInfoType } from \"../../../../../../Wrap/Constants/Enums/Customer/RegulatoryCheckInfoType\";\r\nimport { EmailAddressType } from \"../../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { CustomerMerge } from \"../../../../../../Wrap/Models/Models/Customer/CustomerMerge\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { getValueByKey } from \"../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { RegulatoryCheckResultTypeMap } from \"../../ClientRecord/Resource/Contents\";\r\n\r\nexport const matchSpecificField = (data1: any, data2: any): boolean => {\r\n data1 = CommonHelper.isNullOrEmpty(data1) ? null : data1;\r\n data2 = CommonHelper.isNullOrEmpty(data2) ? null : data2;\r\n return data1 === data2;\r\n};\r\n\r\nexport const getNationality = (tData: Array): Array => {\r\n const result = [];\r\n tData = tData || [];\r\n tData?.forEach((e) => {\r\n if (e?.IsNationality) {\r\n result.push(CountryCodeMap.getString(e?.Country));\r\n }\r\n });\r\n return result;\r\n};\r\n\r\nexport const fieldDefaultValue = (fieldData: any): string => {\r\n if (CommonHelper.isNullOrEmpty(fieldData)) {return \"Not held\";}\r\n return fieldData || \"Not held\";\r\n};\r\n\r\nexport const renderYesOrNo = (boolean: boolean): string => {\r\n return boolean ? \"Yes\" : boolean == false ? \"No\" : \"Not held\";\r\n};\r\n\r\nexport const switchTypes = (type: string) => {\r\n switch (type) {\r\n case \"customer-details\":\r\n return [\r\n \"PersonalDetails.Title\",\r\n \"PersonalDetails.GivenName\",\r\n \"PersonalDetails.FamilyName\",\r\n \"PersonalDetails.Gender\",\r\n \"PersonalDetails.MaritalStatus\",\r\n \"PersonalDetails.DateOfBirth\",\r\n \"PersonalDetails.TownOfBirth\",\r\n \"CountryOfNationality\",\r\n \"PersonalDetails.CountryOfBirth\",\r\n \"EmploymentDetails.IndividualEmploymentStatus\",\r\n ];\r\n case \"contact-information\":\r\n return [\"PhoneNumber\", \"Email\"];\r\n case \"addresses\":\r\n return [\"Addresses\"];\r\n case \"regulatory\":\r\n return [\"Regulatory\"];\r\n case \"regulatory-checks\":\r\n return [\"RegulatoryChecks\"];\r\n }\r\n};\r\n\r\nexport const doCompare = (types: Array, customer1: CustomerMerge, customer2: CustomerMerge) => {\r\n const result = types?.map((e) => {\r\n if (e === \"CountryOfNationality\") {\r\n const nationality1 = getNationality(customer1?.CustomerTaxResidencyDetails);\r\n const _nationality1 = nationality1?.sort((a, b) => {\r\n if (a?.toUpperCase() > b?.toUpperCase()) {\r\n return 1;\r\n }\r\n if (a?.toUpperCase() < b?.toUpperCase()) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n const nationality2 = getNationality(customer2?.CustomerTaxResidencyDetails);\r\n const _nationality2 = nationality2?.sort((a, b) => {\r\n if (a?.toUpperCase() > b?.toUpperCase()) {\r\n return 1;\r\n }\r\n if (a?.toUpperCase() < b?.toUpperCase()) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n return isEqual(_nationality1, _nationality2);\r\n } else if (e === \"PhoneNumber\") {\r\n const result = [];\r\n // extract the union set of address type\r\n const phoneNumberTypeFromCustomer1 = customer1?.PhoneNumberDetails?.map((e) => e?.PhoneNumberType);\r\n const phoneNumberTypeFromCustomer2 = customer2?.PhoneNumberDetails?.map((e) => e?.PhoneNumberType);\r\n\r\n // declare a new set\r\n const phoneNumberTypeSet = new Set();\r\n phoneNumberTypeFromCustomer1?.forEach((e) => phoneNumberTypeSet.add(e));\r\n phoneNumberTypeFromCustomer2?.forEach((e) => phoneNumberTypeSet.add(e));\r\n const phoneNumber1 = [];\r\n const phoneNumber2 = [];\r\n for (const ele of phoneNumberTypeSet) {\r\n // find if type already existed\r\n const _data1 = customer1?.PhoneNumberDetails?.find((e) => e?.PhoneNumberType == ele);\r\n if (_data1) {\r\n phoneNumber1.push(_data1);\r\n } else {\r\n // need create empty object\r\n phoneNumber1.push({ PhoneNumberType: null, PhoneNumber: null });\r\n }\r\n\r\n const _data2 = customer2?.PhoneNumberDetails?.find((e) => e?.PhoneNumberType == ele);\r\n if (_data2) {\r\n phoneNumber2.push(_data2);\r\n } else {\r\n // need create empty object\r\n phoneNumber2.push({ PhoneNumberType: null, PhoneNumber: null });\r\n }\r\n }\r\n\r\n phoneNumber1?.forEach((e, i) => {\r\n result.push(matchSpecificField(e?.PhoneNumberType, phoneNumber2[i]?.PhoneNumberType));\r\n result.push(matchSpecificField(e?.PhoneNumber?.Country, phoneNumber2[i]?.PhoneNumber?.Country));\r\n result.push(\r\n matchSpecificField(\r\n (e?.PhoneNumber?.AreaCode || \"\") + (e?.PhoneNumber?.Number || \"\"),\r\n (phoneNumber2[i]?.PhoneNumber?.AreaCode || \"\") + (phoneNumber2[i]?.PhoneNumber?.Number || \"\")\r\n )\r\n );\r\n });\r\n return result;\r\n } else if (e === \"Email\") {\r\n const result = [];\r\n const primaryEmail1 = customer1?.EmailAddressDetails?.find(\r\n (e) => e?.EmailAddressType == EmailAddressType.Primary\r\n );\r\n const primaryEmail2 = customer2?.EmailAddressDetails?.find(\r\n (e) => e?.EmailAddressType == EmailAddressType.Primary\r\n );\r\n const otherEmail1 = customer1?.EmailAddressDetails?.find(\r\n (e) => e?.EmailAddressType == EmailAddressType.Other\r\n );\r\n const otherEmail2 = customer2?.EmailAddressDetails?.find(\r\n (e) => e?.EmailAddressType == EmailAddressType.Other\r\n );\r\n result.push(matchSpecificField(primaryEmail1?.EmailAddress, primaryEmail2?.EmailAddress));\r\n result.push(matchSpecificField(otherEmail1?.EmailAddress, otherEmail2?.EmailAddress));\r\n return result;\r\n } else if (e === \"Addresses\") {\r\n const result = [];\r\n // extract the union set of address type\r\n const addressTypeFromCustomer1 = customer1?.AddressDetails?.map((e) => e?.PhysicalAddressType);\r\n const addressTypeFromCustomer2 = customer2?.AddressDetails?.map((e) => e?.PhysicalAddressType);\r\n\r\n // declare a new set\r\n const addressTypeSet = new Set();\r\n addressTypeFromCustomer1?.forEach((e) => addressTypeSet.add(e));\r\n addressTypeFromCustomer2?.forEach((e) => addressTypeSet.add(e));\r\n const address1 = [];\r\n const address2 = [];\r\n for (const ele of addressTypeSet) {\r\n // find if type already existed\r\n const _data1 = customer1?.AddressDetails?.find((e) => e?.PhysicalAddressType == ele);\r\n if (_data1) {\r\n address1.push(_data1);\r\n } else {\r\n // need create empty object\r\n address1.push({ PhysicalAddressType: null, Address: null });\r\n }\r\n\r\n const _data2 = customer2?.AddressDetails?.find((e) => e?.PhysicalAddressType == ele);\r\n if (_data2) {\r\n address2.push(_data2);\r\n } else {\r\n // need create empty object\r\n address2.push({ PhysicalAddressType: null, Address: null });\r\n }\r\n }\r\n\r\n address1?.forEach((e, i) => {\r\n result.push(matchSpecificField(e?.PhysicalAddressType, address2[i]?.PhysicalAddressType));\r\n result.push(matchSpecificField(e?.Address?.Address1, address2[i]?.Address?.Address1));\r\n result.push(matchSpecificField(e?.Address?.Address2, address2[i]?.Address?.Address2));\r\n result.push(matchSpecificField(e?.Address?.Address3, address2[i]?.Address?.Address3));\r\n result.push(matchSpecificField(e?.Address?.Address4, address2[i]?.Address?.Address4));\r\n result.push(matchSpecificField(e?.Address?.PostCode, address2[i]?.Address?.PostCode));\r\n });\r\n return result;\r\n } else if (e === \"Regulatory\") {\r\n const result = [];\r\n const tax1 = customer1?.CustomerTaxResidencyDetails?.sort((a, b) => {\r\n if (a?.Country?.toString() > b?.Country?.toString()) {\r\n return 1;\r\n }\r\n if (a?.Country?.toString() < b?.Country?.toString()) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n const tax2 = customer2?.CustomerTaxResidencyDetails?.sort((a, b) => {\r\n if (a?.Country?.toString() > b?.Country?.toString()) {\r\n return 1;\r\n }\r\n if (a?.Country?.toString() < b?.Country?.toString()) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n\r\n // check the length and keep them to the same length\r\n const lengthDifference = tax1?.length - tax2?.length;\r\n if (lengthDifference > 0) {\r\n // phone1 is greater or equal than phone Number2\r\n for (let i = 0; i < lengthDifference; i++) {\r\n tax2?.push({\r\n Country: null,\r\n IsTaxResident: null,\r\n PrimaryCitizenship: null,\r\n PrimaryTaxResidency: null,\r\n NationalIdentifier: null,\r\n PassportNumber: null,\r\n TaxReferenceType: null,\r\n TaxReference: null,\r\n TaxResidencyForPensionRelief: null,\r\n TaxExempt: null,\r\n TaxExemptionReason: null,\r\n IsNationality: null,\r\n });\r\n }\r\n } else {\r\n // phone1 is less than phone2\r\n for (let i = 0; i < lengthDifference * -1; i++) {\r\n tax1?.push({\r\n Country: null,\r\n IsTaxResident: null,\r\n PrimaryCitizenship: null,\r\n PrimaryTaxResidency: null,\r\n NationalIdentifier: null,\r\n PassportNumber: null,\r\n TaxReferenceType: null,\r\n TaxReference: null,\r\n TaxResidencyForPensionRelief: null,\r\n TaxExempt: null,\r\n TaxExemptionReason: null,\r\n IsNationality: null,\r\n });\r\n }\r\n }\r\n\r\n tax1?.forEach((e, i) => {\r\n result.push(matchSpecificField(e?.Country, tax2[i]?.Country));\r\n result.push(matchSpecificField(e?.IsNationality, tax2[i]?.IsNationality));\r\n result.push(matchSpecificField(e?.IsTaxResident, tax2[i]?.IsTaxResident));\r\n result.push(matchSpecificField(e?.PrimaryTaxResidency, tax2[i]?.PrimaryTaxResidency));\r\n result.push(matchSpecificField(e?.PrimaryCitizenship, tax2[i]?.PrimaryCitizenship));\r\n result.push(matchSpecificField(e?.NationalIdentifier, tax2[i]?.NationalIdentifier));\r\n result.push(matchSpecificField(e?.PassportNumber, tax2[i]?.PassportNumber));\r\n result.push(matchSpecificField(e?.TaxReference, tax2[i]?.TaxReference));\r\n result.push(matchSpecificField(e?.TaxReferenceType, tax2[i]?.TaxReferenceType));\r\n });\r\n return result;\r\n } else if (e === \"RegulatoryChecks\") {\r\n const result = [];\r\n const aml1 = customer1?.RegulatoryCheck?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.AML);\r\n const pep1 = customer1?.RegulatoryCheck?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.PEP);\r\n const aml2 = customer2?.RegulatoryCheck?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.AML);\r\n const pep2 = customer2?.RegulatoryCheck?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.PEP);\r\n result.push(matchSpecificField(aml1?.ServiceProvider, aml2?.ServiceProvider));\r\n result.push(matchSpecificField(aml1?.RegulatoryCheckStatus, aml2?.RegulatoryCheckStatus));\r\n result.push(matchSpecificField(aml1?.RegulatoryCheckResult, aml2?.RegulatoryCheckResult));\r\n result.push(matchSpecificField(pep1?.RegulatoryCheckStatus, pep2?.RegulatoryCheckStatus));\r\n result.push(\r\n matchSpecificField(\r\n pep1 == null || pep1?.RegulatoryCheckResult == null\r\n ? \" \"\r\n : pep1?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n pep1?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? \"N/A\"\r\n : RegulatoryCheckResultTypeMap[pep1?.RegulatoryCheckResult],\r\n pep2 == null || pep2?.RegulatoryCheckResult == null\r\n ? \" \"\r\n : pep2?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.NotVetted ||\r\n pep2?.RegulatoryCheckStatus == RegulatoryCheckInfoStatus.SelfCertified\r\n ? \"N/A\"\r\n : RegulatoryCheckResultTypeMap[pep2?.RegulatoryCheckResult]\r\n )\r\n );\r\n\r\n return result;\r\n } else {\r\n return matchSpecificField(getValueByKey(customer1, e), getValueByKey(customer2, e));\r\n }\r\n });\r\n\r\n return flatten(result);\r\n};\r\n\r\nexport const validateJointAccountHolder = (\r\n accountRole1: Array,\r\n accountRole2: Array\r\n) => {\r\n const _jointAccount1 = accountRole1?.filter((e) => e?.AccountRoleType == RoleType.JointAccountHolder);\r\n const _jointAccount2 = accountRole2?.filter((e) => e?.AccountRoleType == RoleType.JointAccountHolder);\r\n if (_jointAccount1.length == 0 || _jointAccount2.length == 0) {\r\n return true;\r\n }\r\n const result = _jointAccount1.some((e) => {\r\n // Find account id in the second list\r\n const _result = _jointAccount2?.find((ele) => ele?.ClAccountId == e?.ClAccountId);\r\n return !!_result;\r\n });\r\n return !result;\r\n};\r\n\r\nexport const validateActiveUsers = (userId1: number, userId2: number) => {\r\n if (userId1 == null || userId2 == null) {return true;}\r\n return userId1 == userId2;\r\n};\r\n\r\nexport const validateAMLCheckStatus = (customer1: CustomerMerge, customer2: CustomerMerge) => {\r\n const aml1 = customer1?.RegulatoryCheck?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.AML);\r\n const aml2 = customer2?.RegulatoryCheck?.find((e) => e?.RegulatoryCheckType == RegulatoryCheckInfoType.AML);\r\n const result = [];\r\n if (aml1?.RegulatoryCheckResult != RegulatoryCheckInfoResult.Pass) {\r\n result.push(\r\n `${customer1?.PersonalDetails?.GivenName} ${customer1?.PersonalDetails?.FamilyName} - ${customer1?.ActorId}`\r\n );\r\n }\r\n if (aml2?.RegulatoryCheckResult != RegulatoryCheckInfoResult.Pass) {\r\n result.push(\r\n `${customer2?.PersonalDetails?.GivenName} ${customer2?.PersonalDetails?.FamilyName} - ${customer2?.ActorId}`\r\n );\r\n }\r\n\r\n return result;\r\n};\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { BankAccountsClient } from \"../../../../../../Wrap/Api/BankAccounts/BankAccounts\";\r\nimport { DrawdownIncomeAmendmentInstructionClient } from \"../../../../../../Wrap/Api/Drawdown/DrawdownIncomeAmendmentInstruction\";\r\nimport { BankAccount } from \"../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { DrawdownIncomeAmendmentModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/DrawdownIncomeAmendmentModel\";\r\nimport { EditIncomeWithdrawalsInstructionDispatcher } from \"../Stores/Variable\";\r\n\r\nexport class EditIncomeWithdrawalsAction {\r\n public static getInstruction(instructionId: number, subAccountHierarchyid: string, clientId: number): void {\r\n const client = new DrawdownIncomeAmendmentInstructionClient();\r\n const promise = client.get(instructionId, subAccountHierarchyid, clientId);\r\n promise.onSuccess((result) => {\r\n result.DrawdownIncomeAmendmentInstruction.ExistingArrangements = {\r\n CappedModels: [\r\n {\r\n Id: 1111,\r\n From: \"1111\",\r\n Amount: 100000,\r\n Type: \"Member\",\r\n GadMaximum: 15000,\r\n Taxable: true,\r\n IncomeTakenToDate: 1300,\r\n NextYearsGadMaximum: 20000,\r\n LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n MaximumIncomePaymentForFuturePensionYears: 2000,\r\n },\r\n // {\r\n // Id: 2222,\r\n // From: \"2222\",\r\n // Amount: 100000,\r\n // Type: \"Member\",\r\n // GadMaximum: 15000,\r\n // Taxable: true,\r\n // IncomeTakenToDate: 1300,\r\n // NextYearsGadMaximum: 20000,\r\n // LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n // MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n // MaximumIncomePaymentForFuturePensionYears: 2000,\r\n // },\r\n ],\r\n FlexiModels: [\r\n {\r\n Id: 1234,\r\n From: \"1234\",\r\n Amount: 10000,\r\n Type: \"Member\",\r\n MaximumIncomePerPayment: 1000,\r\n },\r\n // {\r\n // Id: 2234,\r\n // From: \"2234\",\r\n // Amount: 10000,\r\n // Type: \"Inherited\",\r\n // MaximumIncomePerPayment: 2000,\r\n // },\r\n ],\r\n };\r\n console.log(\"action\");\r\n console.log(result);\r\n EditIncomeWithdrawalsInstructionDispatcher.dispatch({ actionType: ActionType.Success, payload: result });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static createInstruction(model: DrawdownIncomeAmendmentModel, clientId: number): void {\r\n const client = new DrawdownIncomeAmendmentInstructionClient();\r\n const promise = client.post(model);\r\n promise.onSuccess((result) => {\r\n this.getInstruction(\r\n result.DrawdownIncomeAmendmentInstruction.Id,\r\n model?.DrawdownIncomeAmendmentInstruction?.HierarchyId,\r\n clientId\r\n );\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static saveInstruction(data: any, callback?: (result) => void): void {\r\n const client = new DrawdownIncomeAmendmentInstructionClient();\r\n const promise = client.post(data);\r\n promise.onSuccess((result) => {\r\n EditIncomeWithdrawalsInstructionDispatcher.dispatch({ actionType: ActionType.Success, payload: result });\r\n if (callback) {\r\n callback([]);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getBankAccounts(hierarchyId: string, callBack: (result: BankAccount[]) => void) {\r\n const client = new BankAccountsClient();\r\n const promoise = client.get(hierarchyId);\r\n\r\n promoise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static submitInstruction(data, callback?: VoidFunction): void {\r\n Promise.resolve(callback());\r\n }\r\n\r\n public static deleteInstruction(id, callback?: VoidFunction): void {\r\n Promise.resolve(callback());\r\n }\r\n\r\n public static getDrawdownModel() {}\r\n}\r\n","import * as React from \"react\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { DrawdownIncomeAmendmentInstruction } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownIncomeAmendmentInstruction\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DrawdownCalculationAction } from \"../../../Common/SIPP/DrawdownDetails/Action/DrawdownCalculationAction\";\r\n\r\ninterface IITFCIncomeProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n}\r\n\r\ninterface IITFCIncomeState {\r\n itfcIncomeAlert: boolean;\r\n itfcIncomeId: number;\r\n}\r\n\r\nexport class ITFCIncome extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n itfcIncomeAlert: false,\r\n itfcIncomeId: null,\r\n };\r\n }\r\n\r\n private validateId = (id) => {\r\n if (!id) {return;}\r\n DrawdownCalculationAction.validateITFCIncomeId(id, (d) => {\r\n if (d.length > 0 || !d) {\r\n this.setState({ itfcIncomeAlert: true });\r\n } else {\r\n const _data: DrawdownIncomeAmendmentInstruction = JSON.parse(JSON.stringify(d));\r\n // Mock up\r\n _data.Income.TaxableIncomeRequiredInAddition = true;\r\n _data.Income.MaximumIncomePerPayment = { Amount: 1000 };\r\n _data.Income.MaximumInitialIncomePayment = { Amount: 1000 };\r\n this.props.onChange({ Income: _data.Income });\r\n }\r\n });\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n this.setState({ itfcIncomeAlert: false, itfcIncomeId: v });\r\n }}\r\n maxLength={7}\r\n value={this.state.itfcIncomeId}\r\n cssWrapper=\"control-size-245\"\r\n />\r\n
\r\n
\r\n {\r\n this.validateId(this.state.itfcIncomeId);\r\n }}\r\n >\r\n Validate\r\n \r\n
\r\n
\r\n {this.state.itfcIncomeAlert && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { DrawdownIncomeAmendmentModel } from \"../../../../../../../Wrap/Models/Models/Processes/Drawdown/DrawdownIncomeAmendmentModel\";\r\nimport { MoneyHelper } from \"../../../../../../Shared/Common/MoneyHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport { ChooseAssetsToSell } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSell\";\r\nimport { ChooseAssetsToSellTable } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport {\r\n getSellableAssets,\r\n getUpdatedAssetsToSell,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\nimport { CappedFlexiSection } from \"../../../Common/SIPP/IncomePaymentDetails/CappedFlexiSection\";\r\nimport { getAssetsToSellTotalForIncomeFromIncome } from \"../../../Common/SIPP/IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\nimport IncomeBankDetails from \"../../../Common/SIPP/IncomePaymentDetails/IncomeBankDetails\";\r\nimport IncomeRequired from \"../../../Common/SIPP/IncomePaymentDetails/IncomeRequired\";\r\nimport RegularIncomePayment from \"../../../Common/SIPP/IncomePaymentDetails/RegularIncomePayment\";\r\nimport {\r\n incomePaymentDetailsLabels,\r\n incomePaymentDetailsMessages,\r\n} from \"../../../Common/SIPP/IncomePaymentDetails/Resource/Content\";\r\nimport { ITFCIncome } from \"./ITFCIncome\";\r\n\r\ninterface IIncomePaymentDetailsProps extends IProcessComponentProps {\r\n data: DrawdownIncomeAmendmentModel;\r\n extraInfo?: any;\r\n}\r\n\r\ninterface IIncomePaymentDetailsState {\r\n assets: ChooseAssetsToSellAssets[];\r\n isIncomeRequired: boolean;\r\n}\r\n\r\nexport class IncomePaymentDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n assets: [],\r\n isIncomeRequired: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getSellableAssets();\r\n if (!isNullOrEmpty(this.props.data?.DrawdownIncomeAmendmentInstruction?.IncomeDisinvestmentAllocations)) {\r\n this.props.onChange({ IsAcrossAllAssets: false });\r\n }\r\n }\r\n\r\n private getSellableAssets = () => {\r\n const params = getQueryParameters();\r\n const hierarchyId = params[\"hierarchyid\"];\r\n SubAccountTypeHelper.getSubAccountHierarchyId(hierarchyId, SubAccountType.Npr, (subAccountHierarchyId) => {\r\n getSellableAssets(SubAccountType.Npr, hierarchyId, subAccountHierarchyId, (data) => {\r\n const updateAssets = getUpdatedAssetsToSell([], 0, data);\r\n this.setState({ assets: updateAssets });\r\n });\r\n });\r\n };\r\n\r\n private getDrawdownIncomeModelProps = (data: DrawdownIncomeAmendmentModel, onChange) => {\r\n return {\r\n data: data?.DrawdownIncomeAmendmentInstruction,\r\n //data: EditIncomeWithdrawalsInstructionStore.getData()?.Contribution?.DrawdownModel,\r\n onChange: (v) => this.onDataChange(onChange, v, data, \"DrawdownIncomeAmendmentInstruction\"),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n private handleChange(changes, key?: string) {\r\n const { data, onChange } = this.props;\r\n this.onDataChange(\r\n (changes) => {\r\n this.onDataChange(onChange, changes, data, \"DrawdownIncomeAmendmentInstruction\");\r\n },\r\n changes,\r\n data?.DrawdownIncomeAmendmentInstruction,\r\n key\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, extraInfo } = this.props;\r\n return (\r\n <>\r\n

Income payment details

\r\n \r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) =>\r\n this.onDataChange(onChange, changes, data, \"DrawdownIncomeAmendmentInstruction\"),\r\n { TaxableIncomeRequiredInAddition: v },\r\n data.DrawdownIncomeAmendmentInstruction,\r\n \"Income\"\r\n );\r\n if (!v) {\r\n this.onDataChange(\r\n (changes) =>\r\n this.onDataChange(onChange, changes, data, \"DrawdownIncomeAmendmentInstruction\"),\r\n { IncomeDisinvestmentAllocations: [] },\r\n data.DrawdownIncomeAmendmentInstruction,\r\n \"Income\"\r\n );\r\n }\r\n }}\r\n />\r\n {data?.DrawdownIncomeAmendmentInstruction?.Income?.TaxableIncomeRequiredInAddition && (\r\n <>\r\n {\r\n this.handleChange(changes, \"Income\");\r\n }}\r\n labels={incomePaymentDetailsLabels}\r\n messages={incomePaymentDetailsMessages}\r\n onRef={(ref) => this.appendChild(ref)}\r\n processType={processTypeEnum.EditIncomePayments}\r\n drawdownType={DrawdownType.Flexible}\r\n pensionTransfer={[]}\r\n pensionBase={null}\r\n isITFC={false}\r\n />\r\n {data?.DrawdownIncomeAmendmentInstruction?.Income?.TargetSpecificArrangements && (\r\n {\r\n this.handleChange(changes, \"ExistingArrangements\");\r\n }}\r\n income={data?.DrawdownIncomeAmendmentInstruction?.Income}\r\n onIncomeChange={(changes) => this.handleChange(changes, \"Income\")}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={DrawdownType.Flexible}\r\n />\r\n )}\r\n {\r\n this.handleChange(changes, \"Income\");\r\n }}\r\n labels={incomePaymentDetailsLabels}\r\n messages={incomePaymentDetailsMessages}\r\n shouldHidePaymentMethod={false}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={DrawdownType.Flexible}\r\n pensionBase={null}\r\n isITFC={false}\r\n />\r\n this.onDataChange(this.props.onChange, value, data)}\r\n sectionHeader={`Choose assets to sell to pay income (${MoneyDisplayHelper.FromatMoneyDisplay(\r\n getAssetsToSellTotalForIncomeFromIncome(\r\n data?.DrawdownIncomeAmendmentInstruction?.Income\r\n ),\r\n MoneyHelper.getDefaultCurrency()\r\n )})`}\r\n onRef={(ref) => this.appendChild(ref)}\r\n processType={processTypeEnum.GadReview}\r\n tableKey={\"IncomeDisinvestmentAllocations\"}\r\n />\r\n {!data?.IsAcrossAllAssets && (\r\n this.appendChild(ref)}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) =>\r\n this.onDataChange(\r\n onChange,\r\n changes,\r\n data,\r\n \"DrawdownIncomeAmendmentInstruction\"\r\n ),\r\n { IncomeDisinvestmentAllocations: v },\r\n data.DrawdownIncomeAmendmentInstruction\r\n );\r\n }}\r\n processType={ProcessType.GadReview}\r\n gadReviewtotalValue={getAssetsToSellTotalForIncomeFromIncome(\r\n data?.DrawdownIncomeAmendmentInstruction?.Income\r\n )}\r\n />\r\n )}\r\n
\r\n {/* {\r\n this.handleChange({ IncomePaymentAllocations: value }, \"Income\");\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n allBankAccounts={extraInfo?.AllBankAccounts}\r\n /> */}\r\n {\r\n onChange(\r\n setValueByKey(\r\n data,\r\n \"DrawdownIncomeAmendmentInstruction.Income.IncomePaymentAllocations\",\r\n value\r\n )\r\n );\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n allBankAccounts={extraInfo?.AllBankAccounts}\r\n showErrorMsgPopUp={(msg, isShow) => this.props.showErrorMsgPopUp(msg, isShow)}\r\n showPropotionOfIncome={\r\n data?.DrawdownIncomeAmendmentInstruction?.Income?.TaxableIncomeRequiredInAddition\r\n }\r\n />\r\n \r\n )}\r\n {!data?.DrawdownIncomeAmendmentInstruction?.Income?.TaxableIncomeRequiredInAddition && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { InvestmentAllocation } from \"../../../../../../../Wrap/Models/Domains/Investment/InvestmentAllocation\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\n\r\ninterface IAssetsToSellTableProps {\r\n existingData: InvestmentAllocation[];\r\n tableData: InvestmentAllocation[];\r\n title?: string;\r\n}\r\n\r\ninterface IAssetsToSellTableState {}\r\n\r\nexport class AssetsToSellTable extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { existingData, tableData, title } = this.props;\r\n const total = existingData\r\n ? existingData.reduce((sum, curr) => {\r\n return (sum = sum + curr.Percentage);\r\n }, 0)\r\n : [];\r\n\r\n \r\n return (\r\n <>\r\n

{title || \"Disinvest selection\"}

\r\n {\r\n return {data};\r\n },\r\n },\r\n {\r\n title: \"Existing allocation\",\r\n key: \"Id\",\r\n render: (data, row, index) => {\r\n const percentage = this.getExistingAllocation(row.ProductId);\r\n return {percentage};\r\n },\r\n },\r\n {\r\n title: \"New allocation\",\r\n key: \"Percentage\",\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 2 },\r\n { data: {total}% },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n private getExistingAllocation(id) {\r\n if (!isNullOrEmpty(this.props.existingData)) {\r\n const match = this.props.existingData.find((data) => data.ProductId === id);\r\n return match ? match.Percentage : \"-\"\r\n } else {\r\n return \"Proportional\";\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IDeclarationsProps extends IProcessComponentProps {}\r\n\r\ninterface IDeclarationsState {\r\n checkedDeclarations: number[];\r\n}\r\n\r\nexport class Declarations extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n checkedDeclarations: [],\r\n };\r\n }\r\n\r\n isValid() {\r\n if (this.state.checkedDeclarations.length < 2) {\r\n this.props.showErrorMsgPopUp([\"You must accept all items to continue\"], true);\r\n }\r\n\r\n return super.isValid() && this.state.checkedDeclarations.length == 2;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n

Declarations

\r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(1) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 1) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n

\r\n I can confirm that I have provided my client with an illustration in relation to this withdrawal,\r\n inline with my regulatory responsibilities as financial adviser, as detailed in FCA Sourcebook\r\n COBS14.\r\n

\r\n

\r\n I understand that the taxable part of any payment made will be subject to income tax deducted by\r\n Standard Life Assurance Limited (SLAL) and paid to HM Revenue & Customs. Standard Life Assurance\r\n Limited (SLAL) will submit my personal and income details to HM Revenue & Customs.\r\n

\r\n

\r\n I declare that any full payment of the value of benefits under this SIPP shall constitute a full and\r\n final discharge of entitlement to receive benefit from this SIPP.\r\n

\r\n

\r\n I have read and understood the content of Standard Life Assurance Limited (SLAL) leaflet\r\n 'Comprehensive guide to tax and income withdrawals', and the accompanying documents related to\r\n taking income from my account.\r\n

\r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(2) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 2) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n

I confirm that I have seen appropriate evidence of age.

\r\n

This can be either:

\r\n

A valid driving license or passport, or

\r\n

A birth certificate

\r\n {\r\n if (v) {\r\n this.setState({ checkedDeclarations: [1, 2] });\r\n } else {\r\n this.setState({ checkedDeclarations: [] });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DrawdownIncomeAmendmentModel } from \"../../../../../../../Wrap/Models/Models/Processes/Drawdown/DrawdownIncomeAmendmentModel\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { ColumnType } from \"../../../Common/Review/Component/CappedAndFlexiTableReview\";\r\nimport { boolParse, dateParser, prepareTypography } from \"../../../Common/Review/ReviewParser\";\r\nimport { Declarations } from \"./Declarations\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { DrawdownAnnualIncome } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownAnnualIncome\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { FrequencyArraysMap } from \"../../../Common/Resource/Contents\";\r\nimport { editIncomePaymentDetailsLabels } from \"../../Resource/Contents\";\r\nimport { BankDetails } from \"../../../GadReviewWizard/Components/Review/IncomePaymentDetails/BankDetails\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { AssetsToSellTable } from \"./AssetsToSellTable\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: DrawdownIncomeAmendmentModel;\r\n extraInfo: {\r\n AllBankAccounts: Array;\r\n Drawdowntype: DrawdownType;\r\n };\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nconst columnsTypes = {\r\n CappedcolumnsType: [\r\n { Title: \"From\", Key: \"From\", type: ColumnType.PlainText },\r\n { Title: \"Taxable\", Key: \"Taxable\", type: ColumnType.bool },\r\n { Title: \"GAD Maximum\", Key: \"GADMaximum\", type: ColumnType.Money },\r\n { Title: \"Income taken to date\", Key: \"Incometakentodate\", type: ColumnType.Money },\r\n { Title: \"Last mandatory review\", Key: \"Lastmandatoryreview\", type: ColumnType.PlainText },\r\n {\r\n Title: \"Maximum Income Payment For Remainder Of Pension Year\",\r\n Key: \"MaximumIncomePaymentForRemainderOfPensionYear\",\r\n type: ColumnType.Money,\r\n },\r\n {\r\n Title: \"Maximum Income Payment For Future Pension Years\",\r\n Key: \"MaximumIncomePaymentForFuturePensionYears\",\r\n type: ColumnType.Money,\r\n },\r\n {\r\n Title: \"Income Payment For Remainder Of Pension Year\",\r\n Key: \"IncomePerPaymentForCurrentPensionYear\",\r\n type: ColumnType.Money,\r\n },\r\n {\r\n Title: \"Income Payment For Future Pension Years\",\r\n Key: \"IncomePerPaymentForFuturePensionYears\",\r\n type: ColumnType.Money,\r\n },\r\n ],\r\n FlexicolumnsType: [\r\n { Title: \"From\", Key: \"From\", type: ColumnType.PlainText },\r\n { Title: \"Type\", Key: \"Type\", type: ColumnType.PlainText },\r\n { Title: \"Maximum Income Per Payment\", Key: \"MaximumIncomePerPayment\", type: ColumnType.Money },\r\n {\r\n Title: \"Income Payment\",\r\n Key: \"IncomePerPayment\",\r\n type: ColumnType.Money,\r\n },\r\n ],\r\n};\r\n\r\nconst incomePaymentConfig = (annualIncome: DrawdownAnnualIncome) => {\r\n const incomePaymentConfig = [\r\n {\r\n title: editIncomePaymentDetailsLabels.targetSpecificArrangements,\r\n data: boolParse(annualIncome?.TargetSpecificArrangements),\r\n },\r\n ];\r\n if (annualIncome?.TargetSpecificArrangements === false) {\r\n incomePaymentConfig.push({\r\n title: editIncomePaymentDetailsLabels.takeDifferentInitialIncomePayment,\r\n data: boolParse(annualIncome?.TakeDifferentInitialIncomePayment),\r\n });\r\n if (annualIncome?.TakeDifferentInitialIncomePayment) {\r\n incomePaymentConfig.push({\r\n title: editIncomePaymentDetailsLabels.grossInitialIncomePayment,\r\n data: MoneyDisplayHelper.getMoneyFormat(annualIncome?.GrossInitialIncomePayment),\r\n });\r\n }\r\n\r\n incomePaymentConfig.push({\r\n title: editIncomePaymentDetailsLabels.grossIncomePerPayment,\r\n data: MoneyDisplayHelper.getMoneyFormat(annualIncome?.GrossIncomePerPayment),\r\n });\r\n } else {\r\n incomePaymentConfig.push({\r\n title: editIncomePaymentDetailsLabels.grossIncomePerPaymentFromPension,\r\n data: MoneyDisplayHelper.getMoneyFormat(annualIncome?.GrossIncomePerPaymentFromPension),\r\n });\r\n }\r\n\r\n incomePaymentConfig.push(\r\n {\r\n title: editIncomePaymentDetailsLabels.incomeFrequency,\r\n data: FrequencyArraysMap[annualIncome?.Frequency],\r\n },\r\n {\r\n title: editIncomePaymentDetailsLabels.firstPaymentDate,\r\n data: annualIncome?.NextPayment ? dateParser(annualIncome?.NextPayment) : null,\r\n },\r\n {\r\n title: \"End date\",\r\n data: annualIncome?.PaymentEnd == null ? null : dateParser(annualIncome?.PaymentEnd),\r\n }\r\n );\r\n\r\n return incomePaymentConfig;\r\n};\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, extraInfo, showErrorMsgPopUp } = this.props;\r\n const formattedIncome = data?.DrawdownIncomeAmendmentInstruction?.Income?.TargetSpecificArrangements\r\n ? MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.DrawdownIncomeAmendmentInstruction?.Income?.GrossIncomePerPaymentFromPension?.Amount,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n )\r\n : MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.DrawdownIncomeAmendmentInstruction?.Income?.GrossIncomePerPayment?.Amount,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n );\r\n return (\r\n <>\r\n

Review

\r\n
\r\n

Income payment details

\r\n
\r\n {\r\n Navigator.navigateToAndPreserveQueryParameters(\r\n Urls.get().EditIncomeWithdrawalsIncomePaymenDetails\r\n );\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Before

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

After

\r\n \r\n
\r\n
\r\n {data?.DrawdownIncomeAmendmentInstruction?.IncomeDisinvestmentAllocations?.length ? (\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n

Asset selection method

\r\n
\r\n
\r\n
Proportionally across all assets
\r\n
\r\n )}\r\n \r\n {}}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={(msg, isShow) => showErrorMsgPopUp(msg, isShow)}\r\n >\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { EditIncomeWithdrawalsAction } from \"./Actions/EditIncomeWithdrawalsAction\";\r\nimport { IncomePaymentDetails } from \"./Components/IncomePaymentDetails/IncomePaymentDetails\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { EditIncomeWithdrawalsSteppersMap, productMap } from \"./Resource/Contents\";\r\nimport { EditIncomeWithdrawalsInstructionStore } from \"./Stores/Variable\";\r\nimport { DrawdownType } from \"../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { IStepConfig } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\ninterface IEditIncomeWithdrawalsWizardState extends IAccountContextWizardComponentState {\r\n extraInfo: any;\r\n}\r\nexport class EditIncomeWithdrawalsWizard extends AccountContextWizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(EditIncomeWithdrawalsInstructionStore, () => this.onInstructionStoreChange());\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n extraInfo: null,\r\n };\r\n }\r\n private onInstructionStoreChange() {\r\n const data = EditIncomeWithdrawalsInstructionStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n EditIncomeWithdrawalsAction.getBankAccounts(hierarchyId, (result) => {\r\n this.setState({\r\n extraInfo: { AllBankAccounts: result, Drawdowntype: DrawdownType.Flexible },\r\n isLoading: false,\r\n //data: EditIncomeWithdrawalsInstructionStore.getData(),\r\n }); // Edit income have no drawdown type\r\n });\r\n }\r\n\r\n getStepProps(index) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n return stepProps;\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { data } = this.state;\r\n const steppers: IStepConfig[] = [\r\n {\r\n title: EditIncomeWithdrawalsSteppersMap.incomePaymentDetails,\r\n url: Urls.get().EditIncomeWithdrawalsIncomePaymenDetails,\r\n path: Contents.URLMap.incomePayment,\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n\r\n {\r\n title: EditIncomeWithdrawalsSteppersMap.review,\r\n url: Urls.get().EditIncomeWithdrawalsReview,\r\n path: Contents.URLMap.review,\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n\r\n {\r\n title: EditIncomeWithdrawalsSteppersMap.confirm,\r\n url: Urls.get().EditIncomeWithdrawalsConfirmation,\r\n path: Contents.URLMap.confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={`We've sucessfully received your instruction to edit income payments for ${data?.ClientDetails?.PersonalDetails?.GivenName} ${data?.ClientDetails?.PersonalDetails?.FamilyName}.`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n this.stepperConfig = steppers;\r\n }\r\n\r\n setProcessProps() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { data } = this.state;\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Edit income payments\";\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: `${data?.ClientDetails?.PersonalDetails?.GivenName} ${data?.ClientDetails?.PersonalDetails?.SecondFamilyName}`,\r\n splitHeaderSub: this.state.clientAccount?.HeadClAccountId,\r\n };\r\n processProps.subTitle = productMap[type];\r\n return processProps;\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {\r\n if (!params[\"id\"]) {params[\"id\"] = this.state.data?.DrawdownIncomeAmendmentInstruction?.Id;}\r\n EditIncomeWithdrawalsAction.saveInstruction(this.state.data, (result) => {\r\n this.setState({ onPosting: false });\r\n if (result.length > 0) {\r\n this.setState({ errorMsg: result, isShowErrorMsg: true });\r\n } else {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n onCancel() {\r\n this.onExit();\r\n }\r\n onExit() {\r\n const params = getQueryParameters();\r\n //TODO: navigate to customer dashboard\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n onSubmit() {\r\n this.setState({ isSubmitting: true });\r\n\r\n EditIncomeWithdrawalsAction.submitInstruction(null, () =>\r\n this.setState({ active: false, isSubmitting: false })\r\n );\r\n }\r\n}\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\n\r\nexport const EditIncomeWithdrawalsSteppersMap = {\r\n incomePaymentDetails: \"Income payment details\",\r\n review: \"Review\",\r\n confirm: \"Confirmation\",\r\n};\r\n\r\nexport const productMap = {\r\n [SubAccountType.Sipp]: \"SIPP\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks & Shares\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Wrap Cash\",\r\n};\r\n\r\n\r\nexport const editIncomePaymentDetailsLabels = {\r\n targetSpecificArrangements: \"Do you wish to target specific arrangements?\",\r\n takeDifferentInitialIncomePayment: \"Do you wish to take a different initial income payment?\",\r\n grossInitialIncomePayment: \"Gross initial income payment\",\r\n maximumInitialIncomePayment: \"Maximum for initial income payment\",\r\n maximumIncomePerPayment: \"Maximum income per payment\",\r\n grossIncomePerPayment: \"Gross income per payment\",\r\n grossIncomePerPaymentFromPension: \"Gross income per payment from the pension\",\r\n incomeFrequency: \"Income frequency\",\r\n firstPaymentDate: \"First payment date\"\r\n};","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DrawdownType } from \"../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { DrawdownIncomeAmendmentModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/DrawdownIncomeAmendmentModel\";\r\nimport { EditIncomeWithdrawalsInstructionDispatcher } from \"./Variable\";\r\n\r\nexport interface InstructionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: DrawdownIncomeAmendmentModel;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\nexport class EditIncomeWithdrawalsStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(EditIncomeWithdrawalsInstructionDispatcher, (actionData) =>\r\n this.onDrawdownAmendmentInstructionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): InstructionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading === undefined ? true : this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n //mock data need to be removed\r\n const _data: DrawdownIncomeAmendmentModel = JSON.parse(JSON.stringify(this.getState().data));\r\n\r\n return _data;\r\n }\r\n\r\n\r\n public getHasCashIsa() {\r\n return this.getState().hasCashIsa;\r\n }\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): InstructionStaticState {\r\n return { actionType: ActionType.Loading, data: null, hasCashIsa: false };\r\n }\r\n\r\n private onDrawdownAmendmentInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ isLoading: false, actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, hasCashIsa: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { EditIncomeWithdrawalsStatic } from \"./EditIncomeWithdrawalsStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const EditIncomeWithdrawalsInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const EditIncomeWithdrawalsInstructionStore: EditIncomeWithdrawalsStatic = new EditIncomeWithdrawalsStatic();\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { BankAccountsClient } from \"../../../../../../Wrap/Api/BankAccounts/BankAccounts\";\r\nimport { DrawdownIncomeAmendmentInstructionClient } from \"../../../../../../Wrap/Api/Drawdown/DrawdownIncomeAmendmentInstruction\";\r\nimport { DrawdownIncomeAmendmentInstructionCalculationsClient } from \"../../../../../../Wrap/Api/Drawdown/DrawdownIncomeAmendmentInstructionCalculations\";\r\nimport { BankAccount } from \"../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { DrawdownIncomeAmendmentModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/DrawdownIncomeAmendmentModel\";\r\nimport { GadReviewInstructionDispatcher } from \"../Store/Variable\";\r\n\r\nexport class GadReviewAction {\r\n public static createInstruction(model: DrawdownIncomeAmendmentModel, clientId: number): void {\r\n const client = new DrawdownIncomeAmendmentInstructionClient();\r\n const promise = client.post(model);\r\n promise.onSuccess((result) => {\r\n this.getInstruction(\r\n result.DrawdownIncomeAmendmentInstruction.Id,\r\n model?.DrawdownIncomeAmendmentInstruction?.HierarchyId,\r\n clientId\r\n );\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getInstruction(instructionId: number, subAccountHierarchyid: string, clientId: number): void {\r\n const client = new DrawdownIncomeAmendmentInstructionClient();\r\n const promise = client.get(instructionId, subAccountHierarchyid, clientId);\r\n promise.onSuccess((result) => {\r\n result.DrawdownIncomeAmendmentInstruction.ExistingArrangements = {\r\n CappedModels: [\r\n {\r\n Id: 1111,\r\n From: \"1111\",\r\n Amount: 100000,\r\n Type: \"Member\",\r\n GadMaximum: 15000,\r\n Taxable: true,\r\n IncomeTakenToDate: 1300,\r\n NextYearsGadMaximum: 20000,\r\n LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n MaximumIncomePaymentForFuturePensionYears: 2000,\r\n },\r\n {\r\n Id: 2222,\r\n From: \"2222\",\r\n Amount: 100000,\r\n Type: \"Member\",\r\n GadMaximum: 15000,\r\n Taxable: true,\r\n IncomeTakenToDate: 1300,\r\n NextYearsGadMaximum: 20000,\r\n LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n MaximumIncomePaymentForFuturePensionYears: 2000,\r\n },\r\n ],\r\n FlexiModels: [\r\n {\r\n Id: 1234,\r\n From: \"1234\",\r\n Amount: 10000,\r\n Type: \"Member\",\r\n MaximumIncomePerPayment: 1000,\r\n },\r\n {\r\n Id: 2234,\r\n From: \"2234\",\r\n Amount: 10000,\r\n Type: \"Inherited\",\r\n MaximumIncomePerPayment: 2000,\r\n },\r\n ],\r\n };\r\n GadReviewInstructionDispatcher.dispatch({ actionType: ActionType.Success, payload: result });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n private static getDrawdownIncomeCalculations(instructionId: number, callback?: (result) => void) {\r\n const client = new DrawdownIncomeAmendmentInstructionCalculationsClient();\r\n const promise = client.get(instructionId);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public static getBankAccounts(hierarchyId: string, callBack: (result: BankAccount[]) => void) {\r\n const client = new BankAccountsClient();\r\n const promoise = client.get(hierarchyId);\r\n\r\n promoise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static saveInstruction(data: any, callback?: (result) => void): void {\r\n const client = new DrawdownIncomeAmendmentInstructionClient();\r\n const promise = client.post(data);\r\n promise.onSuccess((result) => {\r\n GadReviewInstructionDispatcher.dispatch({ actionType: ActionType.Success, payload: result });\r\n if (callback) {\r\n callback([]);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static submitInstruction(data, callback?: VoidFunction): void {\r\n const client = new DrawdownIncomeAmendmentInstructionClient();\r\n const promise = client.post(data);\r\n promise.onSuccess((result) => {\r\n GadReviewInstructionDispatcher.dispatch({ actionType: ActionType.Success, payload: result });\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n Promise.resolve(callback());\r\n }\r\n\r\n public static deleteInstruction(id, callback?: VoidFunction): void {\r\n Promise.resolve(callback());\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { Objects } from \"../../../../../../../react-core/Utils/Objects\";\r\nimport { IncomePaymentDestination } from \"../../../../../../../Wrap/Constants/Enums/Domain/IncomePaymentDestination\";\r\nimport { DrawdownPaymentDestinationAllocation } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentDestinationAllocation\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { incomePaymentDetailsLabels, incomePaymentDetailsMessages } from \"../../Resource/Contents\";\r\nimport { getBankAccountOptions } from \"../../Resource/Helper\";\r\n\r\ninterface IBankDetailsProps extends IProcessComponentProps {\r\n data: DrawdownPaymentDestinationAllocation[];\r\n onChange: (changes) => void;\r\n allBankAccounts: any;\r\n}\r\ninterface IBankDetailsState {\r\n shouldSplitAcrossBankaccount: boolean;\r\n}\r\n\r\nexport class BankDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { shouldSplitAcrossBankaccount: false };\r\n }\r\n\r\n public componentDidMount() {\r\n super.componentDidMount();\r\n if (!isNullOrEmpty(this.props.allBankAccounts) && this.props.allBankAccounts.length == 1) {\r\n this.onBankAccountChange(0, this.props.allBankAccounts[0].BankAccountId);\r\n }\r\n }\r\n\r\n private handleChange(changes) {\r\n const { onChange } = this.props;\r\n onChange(changes);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, allBankAccounts } = this.props;\r\n const bankAccountOptions: Map = getBankAccountOptions(allBankAccounts);\r\n return (\r\n <>\r\n
\r\n {incomePaymentDetailsLabels.selectBankAccount}\r\n
\r\n {bankAccountOptions.size > 1 && (\r\n
\r\n
\r\n {\r\n this.setState({ shouldSplitAcrossBankaccount: v });\r\n }}\r\n cssWrapper=\"square-checkbox\"\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n return bankAccountOptions.get(v);\r\n }}\r\n onChange={(v) => {\r\n this.onBankAccountChange(0, v);\r\n }}\r\n placeholder=\"Please select\"\r\n required={\"Please select bank acocunt\"}\r\n />\r\n
\r\n
\r\n {this.state.shouldSplitAcrossBankaccount && (\r\n <>\r\n
\r\n
\r\n {\r\n this.onPortionIncomeChange(0, v);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n return bankAccountOptions.get(v);\r\n }}\r\n onChange={(v) => {\r\n this.onBankAccountChange(1, v);\r\n }}\r\n placeholder=\"Please select\"\r\n required={\"Please select bank account\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.onPortionIncomeChange(1, v);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: incomePaymentDetailsMessages.totalProportionOfIncomeNot100,\r\n validator: (v) => v + data[0]?.Allocation === 100,\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n getBankAccounts(bankAccountOptions: any, isPrimaryBankAccount: boolean) {\r\n const { data } = this.props;\r\n const keyList: number[] = Array.from(bankAccountOptions.keys());\r\n const index = isPrimaryBankAccount ? 1 : 0;\r\n return !this.state.shouldSplitAcrossBankaccount\r\n ? keyList\r\n : keyList.filter((key) => key !== data[index]?.BankAccountId);\r\n }\r\n\r\n private onPortionIncomeChange(position: number, value: number) {\r\n const data = Objects.cloneObject(this.props.data);\r\n if (data[position]) {\r\n data[position].Allocation = value;\r\n this.handleChange(data);\r\n }\r\n }\r\n\r\n private onBankAccountChange(position: number, bankAccountId: number) {\r\n let updatedData = Objects.cloneObject(this.props.data);\r\n if (!bankAccountId) {\r\n updatedData = updatedData.splice(position, 1);\r\n this.handleChange(updatedData);\r\n return;\r\n }\r\n const bankAccountInfo = this.props.allBankAccounts.filter(\r\n (bankAccount) => bankAccount.BankAccountId === bankAccountId\r\n )[0];\r\n const isAlreadyAdded = this.props.data.some((bankAccount) => bankAccount.BankAccountId === bankAccountId);\r\n if (bankAccountInfo && !isAlreadyAdded) {\r\n const bankDetail: DrawdownPaymentDestinationAllocation = {\r\n BankAccountId: bankAccountInfo.BankAccountId,\r\n Destination: IncomePaymentDestination.BankAccount,\r\n Allocation: isNullOrEmpty(updatedData) || !this.state.shouldSplitAcrossBankaccount ? 100 : 0,\r\n };\r\n if (\r\n (!isNullOrEmpty(updatedData) && this.state.shouldSplitAcrossBankaccount) ||\r\n isNullOrEmpty(updatedData)\r\n ) {\r\n updatedData.push(bankDetail);\r\n } else {\r\n updatedData[0] = bankDetail;\r\n }\r\n }\r\n this.handleChange(updatedData);\r\n }\r\n}\r\nexport default BankDetails;\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\nimport { incomePaymentDetailsLabels } from \"../../Resource/Contents\";\r\n\r\ninterface IClientDetailsProps {\r\n data: any;\r\n}\r\n\r\ninterface IClientDetailseState {}\r\n\r\nexport class ClientDetails extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Client details\")}\r\n
\r\n {incomePaymentDetailsLabels.clientAge}\r\n \r\n {data?.ClientAgeAsAtReview}\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { FinancialAdvice } from \"../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport IncomeRequired from \"../../../Common/SIPP/IncomePaymentDetails/IncomeRequired\";\r\nimport RegularIncomePayment from \"../../../Common/SIPP/IncomePaymentDetails/RegularIncomePayment\";\r\nimport { incomePaymentDetailsLabels, incomePaymentDetailsMessages } from \"../../Resource/Contents\";\r\nimport { ClientDetails } from \"./ClientDetails\";\r\nimport { PensionDetails } from \"./PensionDetails\";\r\nimport { ChooseAssetsToSell } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSell\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport BankDetails from \"./BankDetails\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { MoneyHelper } from \"../../../../../../Shared/Common/MoneyHelper\";\r\nimport { ChooseAssetsToSellTable } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport {\r\n getSellableAssets,\r\n getUpdatedAssetsToSell,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\nimport { CappedFlexiSection } from \"../../../Common/SIPP/IncomePaymentDetails/CappedFlexiSection\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { getAssetsToSellTotalForIncomeFromIncome } from \"../../../Common/SIPP/IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\n\r\ninterface IIncomePaymentDetailsProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: any;\r\n extraInfo?: any;\r\n disableWithdraw?: boolean;\r\n}\r\n\r\ninterface IIncomePaymentDetailsState {\r\n isIncomeRequired: boolean;\r\n assets: ChooseAssetsToSellAssets[];\r\n userInfo: User;\r\n}\r\n\r\nexport class IncomePaymentDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n const income = this.props.data?.DrawdownIncomeAmendmentInstruction?.Income;\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n assets: null,\r\n isIncomeRequired:\r\n income?.GrossIncomePerPayment?.Amount > 0 || income?.GrossIncomePerPaymentFromPension?.Amount > 0,\r\n };\r\n }\r\n\r\n private getSellableAssets = () => {\r\n const params = getQueryParameters();\r\n const hierarchyId = params[\"hierarchyid\"];\r\n SubAccountTypeHelper.getSubAccountHierarchyId(hierarchyId, SubAccountType.Npr, (subAccountHierarchyId) => {\r\n getSellableAssets(this.props.type, hierarchyId, subAccountHierarchyId, (data) => {\r\n const updateAssets = getUpdatedAssetsToSell([], 0, data);\r\n this.setState({ assets: updateAssets });\r\n });\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getSellableAssets();\r\n\r\n if (!isNullOrEmpty(this.props.data?.DrawdownIncomeAmendmentInstruction?.IncomeDisinvestmentAllocations)) {\r\n this.props.onChange({ IsAcrossAllAssets: false });\r\n }\r\n }\r\n\r\n private handleChange(changes, key?: string) {\r\n const { data, onChange } = this.props;\r\n this.onDataChange(\r\n (changes) => {\r\n this.onDataChange(onChange, changes, data, \"DrawdownIncomeAmendmentInstruction\");\r\n },\r\n changes,\r\n data?.DrawdownIncomeAmendmentInstruction,\r\n key\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, extraInfo } = this.props;\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup income payment\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n
\r\n

Income payment details

\r\n\r\n {this.props.disableWithdraw && }\r\n
\r\n {\r\n this.handleChange(v);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n
\r\n \r\n \r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.setState({ isIncomeRequired: v });\r\n if (!v) {\r\n this.onDataChange(\r\n (changes) =>\r\n this.onDataChange(\r\n onChange,\r\n changes,\r\n data,\r\n \"DrawdownIncomeAmendmentInstruction\"\r\n ),\r\n { Income: null },\r\n data.DrawdownIncomeAmendmentInstruction\r\n );\r\n this.handleChange({ IncomePaymentAllocations: [] }, \"Income\");\r\n }\r\n }}\r\n />\r\n {this.state.isIncomeRequired && (\r\n <>\r\n {\r\n this.handleChange(changes, \"Income\");\r\n }}\r\n labels={incomePaymentDetailsLabels}\r\n messages={incomePaymentDetailsMessages}\r\n onRef={(ref) => this.appendChild(ref)}\r\n processType={processTypeEnum.GadReview}\r\n drawdownType={extraInfo?.DrawdownType}\r\n pensionTransfer={[]}\r\n pensionBase={null}\r\n isITFC={false}\r\n />\r\n {data?.DrawdownIncomeAmendmentInstruction?.Income?.TargetSpecificArrangements &&\r\n extraInfo?.Drawdowntype === DrawdownType.Capped && (\r\n {\r\n this.handleChange(changes, \"ExistingArrangements\");\r\n }}\r\n income={data?.DrawdownIncomeAmendmentInstruction?.Income}\r\n onIncomeChange={(changes) => this.handleChange(changes, \"Income\")}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={extraInfo?.DrawdownType}\r\n />\r\n )}\r\n {\r\n this.handleChange(changes, \"Income\");\r\n }}\r\n labels={incomePaymentDetailsLabels}\r\n messages={incomePaymentDetailsMessages}\r\n shouldHidePaymentMethod={true}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={extraInfo?.DrawdownType}\r\n pensionBase={null}\r\n processType={processTypeEnum.GadReview}\r\n isITFC={false}\r\n />\r\n this.onDataChange(this.props.onChange, value, data)}\r\n sectionHeader={`Choose assets to sell to pay income (${MoneyDisplayHelper.FromatMoneyDisplay(\r\n getAssetsToSellTotalForIncomeFromIncome(\r\n data?.DrawdownIncomeAmendmentInstruction?.Income\r\n ),\r\n MoneyHelper.getDefaultCurrency()\r\n )})`}\r\n onRef={(ref) => this.appendChild(ref)}\r\n processType={processTypeEnum.GadReview}\r\n tableKey={\"IncomeDisinvestmentAllocations\"}\r\n />\r\n {!data.IsAcrossAllAssets && (\r\n this.appendChild(ref)}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) =>\r\n this.onDataChange(\r\n onChange,\r\n changes,\r\n data,\r\n \"DrawdownIncomeAmendmentInstruction\"\r\n ),\r\n { IncomeDisinvestmentAllocations: v },\r\n data.DrawdownIncomeAmendmentInstruction\r\n );\r\n }}\r\n processType={ProcessType.GadReview}\r\n gadReviewtotalValue={getAssetsToSellTotalForIncomeFromIncome(\r\n data?.DrawdownIncomeAmendmentInstruction?.Income\r\n )}\r\n />\r\n )}\r\n
\r\n {\r\n this.handleChange({ IncomePaymentAllocations: value }, \"Income\");\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n allBankAccounts={extraInfo?.AllBankAccounts}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\nimport { incomePaymentDetailsLabels } from \"../../Resource/Contents\";\r\n\r\ninterface IPensionDetailsProps {\r\n data: any;\r\n}\r\n\r\ninterface IPensionDetailsState {}\r\n\r\nexport class PensionDetails extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Current income year\")}\r\n
\r\n {incomePaymentDetailsLabels.gadMaximum}\r\n \r\n {this.getMoneyDisplay(data?.CurrentPensionYearGadMaximum)}\r\n \r\n
\r\n
\r\n {incomePaymentDetailsLabels.pensionYearEndDate}\r\n \r\n {JsonDateParser.getFormatDate(data?.PensionYearEndDate, \"dd/MM/yyyy\")}\r\n \r\n
\r\n
\r\n {SectionHeader(\"New details available for review\")}\r\n
\r\n {incomePaymentDetailsLabels.totalPostRetirementAccountValue}\r\n \r\n {this.getMoneyDisplay(data?.ValueUsedForReview)}\r\n \r\n
\r\n
\r\n {incomePaymentDetailsLabels.expectedGadMaximum}\r\n \r\n {this.getMoneyDisplay(data?.ExpectedGadMaximum)}\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n private getMoneyDisplay(data: Money) {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data?.Amount, data?.Currency || CurrencyCode.GBP);\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\n\r\ninterface IDeclarationProps extends IProcessComponentProps {\r\n data: any;\r\n}\r\n\r\ninterface IDeclarationState {}\r\n\r\nexport class Declaration extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(\"Declarations\")}\r\n {\r\n onChange([1], v);\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n onChange([2], v);\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n onChange([1, 2], v);\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\n\r\ninterface IDocumentsProps {\r\n data: any;\r\n}\r\n\r\ninterface IDocumentsState {}\r\n\r\nexport class Documents extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {SectionHeader(\"Documents\")}\r\n
\r\n {\r\n return {data};\r\n },\r\n },\r\n\r\n {\r\n title: \"Generate\",\r\n key: \"\",\r\n render: () => {\r\n return (\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\n\r\ninterface IFinancialAdviceProps {\r\n data: any;\r\n}\r\n\r\ninterface IFinancialAdviceState {}\r\n\r\nexport class FinancialAdvice extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n

Financial advice

\r\n
\r\n Did you give financial advice?\r\n \r\n {data?.DrawdownIncomeAmendmentInstruction?.AdviceGiven ? \"Yes\" : \"No\"}\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { InvestmentAllocation } from \"../../../../../../../../Wrap/Models/Domains/Investment/InvestmentAllocation\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { SectionHeader } from \"../../../../Common/SharedComponents\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\n\r\ninterface IAssetsToSellTableProps {\r\n existingData: InvestmentAllocation[];\r\n tableData: InvestmentAllocation[];\r\n}\r\n\r\ninterface IAssetsToSellTableState {}\r\n\r\nexport class AssetsToSellTable extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { existingData, tableData } = this.props;\r\n const total = existingData\r\n ? existingData.reduce((sum, curr) => {\r\n return (sum = sum + curr.Percentage);\r\n }, 0)\r\n : [];\r\n\r\n return (\r\n <>\r\n

Disinvest selection

\r\n {\r\n return {data};\r\n },\r\n },\r\n {\r\n title: \"Existing allocation\",\r\n key: \"\",\r\n render: (data, row, index) => {\r\n return {this.getExistingAllocation(data?.Percentage)};\r\n },\r\n },\r\n {\r\n title: \"New allocation\",\r\n key: \"Percentage\",\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 2 },\r\n { data: {total}% },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n private getExistingAllocation(currentInstrument: InvestmentAllocation) {\r\n if (!isNullOrEmpty(this.props.existingData)) {\r\n return this.props.existingData.filter((data) => data.Id === currentInstrument.Id);\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { DrawdownPaymentDestinationAllocation } from \"../../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentDestinationAllocation\";\r\nimport { Typography } from \"../../../../../../../Shared/Typography/Typography\";\r\nimport { getBankAccountOptions } from \"../../../Resource/Helper\";\r\n\r\ninterface IBankDetailsProps {\r\n data?: any;\r\n extraInfo: any;\r\n}\r\n\r\ninterface IBankDetailsState {}\r\n\r\nexport class BankDetails extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n

Bank details

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

Before

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

After

\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private getValues(data: DrawdownPaymentDestinationAllocation[]) {\r\n const bankAccountOptions: Map = getBankAccountOptions(this.props.extraInfo);\r\n const bankAccountDetails = [];\r\n if (!isNullOrEmpty(data)) {\r\n data.forEach((bankAccount, index) => {\r\n bankAccountDetails.push(\r\n { title: `Bank account ${index + 1}`, data: bankAccountOptions.get(bankAccount?.BankAccountId) },\r\n { title: \"Portion of income\", data: bankAccount?.Allocation }\r\n );\r\n });\r\n }\r\n return bankAccountDetails;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { AssetsToSellTable } from \"./AssetsToSellTable\";\r\nimport { BankDetails } from \"./BankDetails\";\r\nimport { PaymentDetails } from \"./PaymentDetails\";\r\n\r\ninterface IIncomePaymentDetailsProps {\r\n data: any;\r\n extraInfo?: any;\r\n}\r\n\r\ninterface IIncomePaymentDetailsState {}\r\n\r\nexport class IncomePaymentDetails extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, extraInfo } = this.props;\r\n return (\r\n <>\r\n
\r\n

Income payment details

\r\n
\r\n {\r\n Navigator.navigateToAndPreserveQueryParameters(\r\n Urls.get().GadReviewIncomePaymentDetails\r\n );\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Money } from \"../../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { Typography } from \"../../../../../../../Shared/Typography/Typography\";\r\nimport { SectionHeader } from \"../../../../AddClient/Components/SharedComponents\";\r\nimport { FrequencyArraysMap } from \"../../../../Common/Resource/Contents\";\r\nimport { incomePaymentDetailsLabels } from \"../../../Resource/Contents\";\r\nimport { getAnnualIncomeBasedOnFrequency } from \"../../../Resource/Helper\";\r\n\r\ninterface IPaymentDetailsProps {\r\n data: any;\r\n}\r\n\r\ninterface IPaymentDetailsState {}\r\n\r\nexport class PaymentDetails extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n

Payment details

\r\n
\r\n {incomePaymentDetailsLabels.totalPostRetirementAccountValue}\r\n \r\n {this.getMoneyDisplay(data?.DrawdownIncomeAmendmentCalucations?.ValueUsedForReview)}\r\n \r\n
\r\n
\r\n {incomePaymentDetailsLabels.expectedGadMaximum}\r\n \r\n {this.getMoneyDisplay(data?.DrawdownIncomeAmendmentCalucations?.ExpectedGadMaximum)}\r\n \r\n
\r\n {SectionHeader(\"Future pension year income\")}\r\n
\r\n
\r\n

Before

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

After

\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private getValues(data: any, isExistingValues: boolean) {\r\n const incomePerPayment = data?.TargetSpecificArrangements\r\n ? data?.GrossIncomePerPaymentFromPension\r\n : data?.GrossIncomePerPayment;\r\n const annualIncome = getAnnualIncomeBasedOnFrequency(incomePerPayment, data?.Frequency);\r\n return [\r\n { title: \"Payment frequency\", data: FrequencyArraysMap[data?.Frequency] },\r\n {\r\n title: isExistingValues ? \"Next payment date\" : \"First payment date\",\r\n data: JsonDateParser.getFormatDate(data?.NextPayment, \"dd/MM/yyyy\"),\r\n },\r\n {\r\n title: \"Expected gross annual income\",\r\n data: annualIncome?.Amount > 0 ? this.getMoneyDisplay(annualIncome) : null,\r\n },\r\n ];\r\n }\r\n\r\n private getMoneyDisplay(data: Money) {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data?.Amount, data?.Currency || CurrencyCode.GBP);\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { IWizardDataModelTemplate } from \"../../../SinglePaymentTransferWizard/Models/WizardDataModelTemplate\";\r\nimport { IncomePaymentDetails } from \"./IncomePaymentDetails/IncomePaymentDetails\";\r\nimport { FinancialAdvice } from \"./FinancialAdvice\";\r\nimport { Documents } from \"./Documents\";\r\nimport { Declaration } from \"./Declaration\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: IWizardDataModelTemplate;\r\n extraInfo?: any;\r\n}\r\n\r\ninterface IReviewState {\r\n hasChecked: any[];\r\n}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { hasChecked: [] };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.isReview) {\r\n this.setState({ hasChecked: [1, 2] });\r\n }\r\n }\r\n\r\n isValid() {\r\n if (this.state.hasChecked.length < 2) {\r\n this.props.showErrorMsgPopUp([\"You must accept all items to continue\"], true);\r\n }\r\n return super.isValid() && this.state.hasChecked.length == 2;\r\n }\r\n\r\n handleChange(declarationIds: number[], isSelected: boolean) {\r\n const checked = this.state.hasChecked;\r\n if (isSelected) {\r\n declarationIds.length == 2\r\n ? this.setState({ hasChecked: declarationIds })\r\n : this.setState({ hasChecked: checked.concat(declarationIds) });\r\n } else {\r\n this.setState({ hasChecked: checked.filter((ele) => ele != declarationIds) });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, extraInfo } = this.props;\r\n return (\r\n
\r\n

Review

\r\n\r\n
\r\n \r\n \r\n \r\n this.appendChild(ref)}\r\n onChange={(declarationIds: number[], isSelected: boolean) => {\r\n this.handleChange(declarationIds, isSelected);\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { Objects } from \"../../../../../react-core/Utils/Objects\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { DrawdownType } from \"../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { RestrictionStore } from \"../Common/Restrictions/Variable\";\r\nimport { GadReviewAction } from \"./Actions/GadReviewAction\";\r\nimport { IncomePaymentDetails } from \"./Components/IncomePaymentDetails/IncomePaymentDetails\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { productMap, GadReviewSteppersMap, TextMessages } from \"./Resource/Contents\";\r\nimport { getDefaultModel } from \"./Resource/Helper\";\r\nimport { GadReviewInstructionStore } from \"./Store/Variable\";\r\ninterface IGadReviewWizardState extends IAccountContextWizardComponentState {\r\n extraInfo: any;\r\n}\r\nexport class GadReviewWizard extends AccountContextWizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(GadReviewInstructionStore, () => this.onInstructionStoreChange());\r\n }\r\n\r\n onAccountRoleStoreChange() {\r\n super.onAccountRoleStoreChange();\r\n if (this.state.customer) {\r\n const id = getQueryParameters()[\"id\"];\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const subAccountHierarchyId = getQueryParameters()[\"subaccounthierarchyid\"];\r\n if (!this.state.data) {\r\n if (id > 0) {\r\n GadReviewAction.getInstruction(id, subAccountHierarchyId, this.state.customer.CustomerId);\r\n } else {\r\n const defaultModel = getDefaultModel(hierarchyId, subAccountHierarchyId);\r\n GadReviewAction.createInstruction(defaultModel, this.state.customer.CustomerId);\r\n }\r\n }\r\n }\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n extraInfo: null,\r\n };\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (GadReviewInstructionStore.getActionType() == ActionType.Success) {\r\n const data = GadReviewInstructionStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n active:\r\n data?.DrawdownIncomeAmendmentInstruction?.Status === InstructionStatus.Pending ||\r\n data?.DrawdownIncomeAmendmentInstruction?.Status === InstructionStatus.NotSpecified,\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n GadReviewAction.getBankAccounts(hierarchyId, (result) => {\r\n this.setState({ extraInfo: { AllBankAccounts: result, Drawdowntype: DrawdownType.Capped } }); // To Update the Drawdowntypedetails\r\n });\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params) {\r\n if (!params[\"id\"]) {params[\"id\"] = this.state.data?.DrawdownIncomeAmendmentInstruction?.Id;}\r\n GadReviewAction.saveInstruction(this.state.data, (result) => {\r\n this.setState({ onPosting: false });\r\n if (result.length > 0) {\r\n this.setState({ errorMsg: result, isShowErrorMsg: true });\r\n } else {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n onCancel() {\r\n // GadReviewAction.deleteInstruction(this.state.data?.DrawdownIncomeAmendmentInstruction?.Id, () =>\r\n // this.onExit()\r\n // );\r\n //SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n //TODO: navigate to customer dashboard\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true });\r\n const data = Objects.cloneObject(this.state.data);\r\n data.DrawdownIncomeAmendmentInstruction.Status = InstructionStatus.Submitted;\r\n GadReviewAction.submitInstruction(data, () => this.setState({ active: false, isSubmitting: false }));\r\n }\r\n\r\n getStepProps(index) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n\r\n if (!stepProps.isReview) {\r\n if (this.disableWithdraw()) {\r\n stepProps.isReview = true;\r\n }\r\n }\r\n return stepProps;\r\n }\r\n\r\n disableWithdraw() {\r\n const data = RestrictionStore.getData();\r\n if (RestrictionStore.WithdrawDisabled()) {\r\n if (getQueryParameters()[\"id\"] > 0) {\r\n if (\r\n this.state.data?.DrawdownIncomeAmendmentInstruction?.Income?.GrossIncomePerPayment?.Amount > 0 ||\r\n this.state.data?.DrawdownIncomeAmendmentInstruction?.Income?.GrossIncomePerPaymentFromPension\r\n ?.Amount\r\n ) {\r\n return false;\r\n }\r\n } else {\r\n // disableWithdraw\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private setReviewConfirmSteppers() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { data } = this.state;\r\n\r\n return [\r\n {\r\n title: GadReviewSteppersMap.review,\r\n url: Urls.get().GadReviewReview,\r\n path: Contents.URLMap.review,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[1] && this.child[1].isValid(),\r\n component: ,\r\n },\r\n {\r\n title: GadReviewSteppersMap.comfirm,\r\n url: Urls.get().GadReviewConfiramation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={TextMessages.successMessage(data)}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n const steppers = [\r\n {\r\n title: GadReviewSteppersMap.incomePaymentDetails,\r\n url: Urls.get().GadReviewIncomePaymentDetails,\r\n path: Contents.URLMap.incomePayment,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n ];\r\n this.stepperConfig = steppers;\r\n this.stepperConfig = this.stepperConfig.concat(this.setReviewConfirmSteppers());\r\n }\r\n\r\n setProcessProps() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { data } = this.state;\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"GAD review\";\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: `${data?.ClientDetails?.PersonalDetails?.GivenName} ${data?.ClientDetails?.PersonalDetails?.FamilyName}`,\r\n splitHeaderSub: this.state.clientAccount?.HeadClAccountId,\r\n };\r\n processProps.subTitle = productMap[type];\r\n return processProps;\r\n }\r\n}\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IndexationType } from \"../../../../../../Wrap/Models/Models/Processes/Quote/Pension/IndexationType\";\r\n\r\nexport const GadReviewSteppersMap = {\r\n incomePaymentDetails: \"Income payment details\",\r\n review: \"Review\",\r\n comfirm: \"Confirmation\",\r\n};\r\n\r\nexport const productMap = {\r\n [SubAccountType.Sipp]: \"SIPP\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks & Shares\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Wrap Cash\",\r\n};\r\n\r\nexport const IndexationMap = {\r\n [IndexationType.AverageWeeklyEarning]: \"Average weekly earning\",\r\n [IndexationType.FixedPercentage]: \"User defined percentage\",\r\n};\r\n\r\nexport const FinancialAdviceMap = {\r\n true: \"Yes\",\r\n false: \"No\",\r\n};\r\n\r\nexport enum PensionBenefitsActionType {\r\n Add = \"add\",\r\n Edit = \"edit\",\r\n}\r\n\r\nexport const TextMessages = {\r\n successMessage: (data) =>\r\n `We've sucessfully received your instruction for ${data?.ClientDetails?.PersonalDetails?.GivenName} ${data?.ClientDetails?.PersonalDetails?.FamilyName}. The update to your client's post-retirement arrangement will be processed automatically at the start of the new pension year`,\r\n};\r\n\r\nexport const daysUntilFirstPaymentDate = 20;\r\n\r\nexport const incomePaymentDetailsLabels = {\r\n expectedGadMaximum: \"Expected GAD maximum\",\r\n targetSpecificArrangements: \"Do you wish to target specific arrangements?\",\r\n maximumIncomePerPayment: \"Maximum income per payment\",\r\n maximumAvailablePerPayment: \"Maximum available per payment\",\r\n grossIncomePerPayment: \"Gross income per payment\",\r\n grossIncomePerPaymentFromPension: \"Gross income per payment from pension\",\r\n incomeFrequency: \"Income frequency\",\r\n firstPaymentDate: \"First payment date\",\r\n endDate: \"End date\",\r\n untilNotified: \"Until notified\",\r\n enterADate: \"Enter a date\",\r\n calculateEstimatedPaye: \"Calculate estimated PAYE\",\r\n estimatedPayeTax: \"Estimated PAYE tax\",\r\n estimatedNetPayment: \"Estimated net payment\",\r\n taxCode: \"Tax Code\",\r\n taxBasis: \"Basis\",\r\n pensionYearEndDate: \"Income year-end date\",\r\n totalPostRetirementAccountValue: \"Total post-retirement arrangement value\",\r\n from: \"From\",\r\n amount: \"Amount\",\r\n type: \"Type\",\r\n member: \"Member\",\r\n gadMaximum: \"GAD maximum\",\r\n incomeTakenToDate: \"Income taken to date\",\r\n lastMandatoryReview: \"Last mandatory review\",\r\n maximumIncomePaymentForRemainderOfYear: \"Maximum income payment for remainder of pension year\",\r\n maximumIncomePaymentForFutureYears: \"Maximum income payment for future pension years\",\r\n incomePerPaymentForCurrentPensionYear: \"Income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYears: \"Income per payment for future pension years\",\r\n MaximumIncomePerPayment: \"Maximum income payment per payment\",\r\n incomePerPayment: \"Income per payment\",\r\n clientAge: \"Client age\",\r\n flexiArrangementsExhausted: \"Please tick to confirm your client understands this and is happy to proceed\",\r\n incomeRequired: \"Does this pension need to provide an income?\",\r\n sumOfValueToSell: \"Percentage of income payment (total)\",\r\n selectBankAccount: \"Select bank account\",\r\n splitAcrossTwoBankAccounts: \"Split across two bank accounts\",\r\n bankAccount1: \"Bank account 1\",\r\n bankAccount2: \"Bank account 2\",\r\n addBankAccount: \"Add bank account\",\r\n portionOfPcls: \"Portion of PCLS\",\r\n proportionOfIncome: \"Proportion of income\",\r\n capped: \"Capped\",\r\n inherited: \"Inherited\",\r\n nextYearsGadMaximum: \"Next years GAD Maximum\",\r\n};\r\n\r\nexport const incomePaymentDetailsMessages = {\r\n grossIncomePerPaymentRequired: \"Please enter gross income per payment\",\r\n incomeFrequencyRequired: \"Please enter income frequency\",\r\n firstPaymentDateRequired: \"Please enter first payment date\",\r\n enterADateRequired: \"Please enter a date\",\r\n flexiArrangementsExhausted:\r\n \"The income specified will exhaust one or more of your client's flexi access arrangements within a year\",\r\n messagesGrossInitialIncomeOver: \"Gross initial income payment must not be greater than maximum\",\r\n grossIncomePerPaymentOver:\r\n \"Please enter an income amount that is greater than zero and less than or equal to the maximum income per payment.\",\r\n firstPaymentDateUnder15: \"The date selected must be at least 15 working days from today\",\r\n firstPaymentDateUnder10: \"The date selected must be at least 10 working days from today\",\r\n endDateUnder: \"End date must be equal to or later than the first payment date\",\r\n dateOver28: \"Date must also be between 1-28 of any month\",\r\n standardAlgorithmCappedMessage:\r\n \"SL to provide content regarding the maximum gross annual income and the income paid to date\",\r\n inheritedFundMessage:\r\n \"SL to provide content around whether the inherited drawdowns should be targeted or excluded and they should consider the use of the standard algorithm or targeting arrangements\",\r\n percentageOver100: \"value can't exceed 100%\",\r\n percentageUnder0: \"At least 0%\",\r\n not100PercentMessage:\r\n \"Please enter values against the assets from which the income payment will be made that total 100%\",\r\n cannotBeGreaterThanMaximumIncomePaymentForRemainderOfYear:\r\n \"Income per payment for current pension year cannot be more than the maximum\",\r\n cannotBeGreaterThanMaximumIncomePaymentForFutureYears:\r\n \"Income per payment for future pension years cannot be more than the maximum\",\r\n cannotBeGreaterThanMaximumPerIncomePayment: \"Income per payment cannot be more than maximum\",\r\n nextFlexiReviewDateRequired: \"Please enter next flexi income review date\",\r\n nextFlexiReviewDateUnder: \"Date must be 20 days or more in the future\",\r\n frequencyOfFlexiIncomeReviewUnderOver: \"Frequency must be between 1 and 60\",\r\n totalPortionOfPCLSNot100: \"Total portion of PCLS must be 100%\",\r\n totalProportionOfIncomeNot100: \"Total proportion of income must be 100%\",\r\n incomePerPaymentForCurrentPensionYearRequired: \"Please enter income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYearsRequired: \"Please enter income per payment for future pension years\",\r\n};\r\n","import { isNullOrEmpty } from \"../../../../../../react-core/Utils/Arrays\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { InstructionStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { DrawdownIncomeAmendmentModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/DrawdownIncomeAmendmentModel\";\r\nimport { MoneyHelper } from \"../../../../../Shared/Common/MoneyHelper\";\r\n\r\nexport const getBankAccountOptions = (allBankAccounts) => {\r\n const withdrawalNominatedBankAccounts = !isNullOrEmpty(allBankAccounts)\r\n ? allBankAccounts.filter((bankAccount) => bankAccount.NominatedForWithdrawal)\r\n : [];\r\n const bankAccountOptions: Map = !isNullOrEmpty(withdrawalNominatedBankAccounts)\r\n ? new Map(\r\n allBankAccounts?.map((account) => {\r\n return [\r\n account.BankAccountId,\r\n `${account.SortCode} | ${account.AccountNumber} | ${account.HolderName}`,\r\n ];\r\n })\r\n )\r\n : new Map();\r\n return bankAccountOptions;\r\n};\r\n\r\nexport const getAnnualIncomeBasedOnFrequency = (incomePerPayment: Money, frequency: Frequency) => {\r\n const annualIncome: Money = { Amount: 0, Currency: MoneyHelper.getDefaultCurrency() };\r\n const incomeAmount = incomePerPayment?.Amount > 0 ? incomePerPayment?.Amount : 0;\r\n switch (frequency) {\r\n case Frequency.Monthly:\r\n annualIncome.Amount = incomeAmount * 12;\r\n break;\r\n case Frequency.Quarterly:\r\n annualIncome.Amount = incomeAmount * 4;\r\n break;\r\n case Frequency.HalfYearly:\r\n annualIncome.Amount = incomeAmount * 2;\r\n break;\r\n case Frequency.Yearly:\r\n annualIncome.Amount = incomeAmount;\r\n break;\r\n }\r\n return annualIncome;\r\n};\r\n\r\nexport const getDefaultModel = (accountHierarchyId: string, subAccountHierarchyId: string) => {\r\n const model: DrawdownIncomeAmendmentModel = {\r\n AccounthierarchyId: accountHierarchyId,\r\n DrawdownIncomeAmendmentInstruction: {},\r\n };\r\n model.DrawdownIncomeAmendmentInstruction = {\r\n HierarchyId: subAccountHierarchyId,\r\n GadReview: true,\r\n Status: InstructionStatus.Pending,\r\n LastModifiedOn: JsonDateParser.toJsonDateNoOffset(new Date()),\r\n };\r\n return model;\r\n};\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { GadReviewInstructionDispatcher } from \"./Variable\";\r\n\r\nexport interface InstructionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\nexport class GadReviewInstructionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(GadReviewInstructionDispatcher, (actionData) =>\r\n this.onGadReviewInstructionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): InstructionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading === undefined ? true : this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n public getHasCashIsa() {\r\n return this.getState().hasCashIsa;\r\n }\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): InstructionStaticState {\r\n return { actionType: ActionType.Loading, data: null, hasCashIsa: false };\r\n }\r\n\r\n private onGadReviewInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ isLoading: false, actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, hasCashIsa: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { GadReviewInstructionStatic } from \"./GadReviewInstructionStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const GadReviewInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const GadReviewInstructionStore: GadReviewInstructionStatic = new GadReviewInstructionStatic();\r\n","import { uniq } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CustomerNameFuzzySearchClient } from \"../../../../../../Wrap/Api/Customer/CustomerNameFuzzySearch\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { PhysicalAddressType } from \"../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { AccountRoleType } from \"../../../../../../Wrap/Models/Domains/Customers/AccountRoleType\";\r\nimport { FullClientDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { CheckboxGroup } from \"../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { TitleMap } from \"../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SearchInput } from \"../../../../../Shared/SearchInput/SearchInput\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { setValueByKey } from \"../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { validationMessage } from \"../../AddClient/Resource/Validation\";\r\nimport { ClientRecordAction } from \"../../ClientRecord/Action/ClientRecordAction\";\r\nimport { roleTypeMap } from \"../../ClientRecord/Resource/Contents\";\r\nimport { PhoneNumberDetails } from \"../../Common/ClientDetails/PhoneNumberDetails\";\r\nimport { NewBusinessAction } from \"../../NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { AddAddress } from \"../../NewBusinessWizard/Components/FullClientDetail/AddAddress\";\r\nimport { CustomerContextStoreStatic } from \"../../NewBusinessWizard/Stores/Variable\";\r\nimport { portfolioDashboardRolesAction } from \"../../PortfolioDashboard/Components/Role/Action/Action\";\r\nimport { PortfolioDashboardStore } from \"../../PortfolioDashboard/Store/Variable\";\r\nimport { AccountInfoAction } from \"../../PortfolioDashboard/Components/Role/Action/AccountInfoAction\";\r\nimport {\r\n ControllingPersonTypeArray,\r\n ControllingPersonTypeMap,\r\n InterestedPartySteppers,\r\n} from \"../../PortfolioDashboard/Components/Role/Resource/Contents\";\r\nimport { hasClientPortalAccess, isDisplay } from \"./InterestedPartyHelper\";\r\nimport { Nationality } from \"../../NewBusinessWizard/Components/FullClientDetail/Nationality\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { CountryCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { TaxDetail } from \"../../NewBusinessWizard/Components/FullClientDetail/TaxDetail\";\r\nimport { FullClientDetailHelper } from \"../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { AddAddresses } from \"../../NewBusinessWizard/Components/FullClientDetail/Addresses\";\r\nimport { PermissionAction } from \"../../../../../Shared/Permission/Action/PermissionAction\";\r\nimport { ControllingPersonType } from \"../../../../../../Wrap/Constants/Enums/Customer/ControllingPersonType\";\r\n\r\ninterface IClientDetailsProps extends IProcessComponentProps {}\r\n\r\nexport interface IClientDetailsState {\r\n roleSelected: AccountRoleType;\r\n isCreateNewCustomer: boolean;\r\n clientPortalAccess: boolean;\r\n customerSelected: FullClientDetailModel;\r\n adviserId: number;\r\n UseAddressForCorrespondence?: boolean;\r\n availableRoleTypes: AccountRoleType[];\r\n selectedAccounts: Array;\r\n availableAccounts: Array;\r\n interestedParties: any[];\r\n residencies: CustomerTaxResidencyModel[];\r\n nationalities: CustomerTaxResidencyModel[];\r\n hasNewUserAccess: boolean;\r\n controllingPersonType: ControllingPersonType;\r\n hasCorrespondenceAddress: boolean;\r\n}\r\n\r\nexport class ClientDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n roleSelected: null,\r\n clientPortalAccess: null,\r\n customerSelected: null,\r\n isCreateNewCustomer: null,\r\n adviserId: null,\r\n UseAddressForCorrespondence: null,\r\n availableRoleTypes: [],\r\n selectedAccounts: [],\r\n availableAccounts: [],\r\n interestedParties: null,\r\n residencies: [],\r\n nationalities: [{ IsNationality: true }],\r\n hasNewUserAccess: null,\r\n controllingPersonType: ControllingPersonType.NotSpecified,\r\n hasCorrespondenceAddress: true,\r\n };\r\n }\r\n\r\n public getState() {\r\n return this.state;\r\n }\r\n\r\n componentDidMount() {\r\n PermissionAction.getPermissionForASPXPage(\"/Admin/Users/NewUser.aspx\", (res) => {\r\n this.setState({ hasNewUserAccess: res.HasPermission });\r\n });\r\n const investorType = getQueryParameters()[\"investortype\"];\r\n const accountHierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n if (accountHierarchyId) {\r\n this.setState({ selectedAccounts: [{ HierarchyId: accountHierarchyId }] });\r\n } else {\r\n ClientRecordAction.getAccountRoleWithAccountDetails(getQueryParameters()[\"customerid\"], (result) => {\r\n const accountHolderRoles = result?.AccountRoles?.filter(\r\n (x) =>\r\n x.AccountRoleType == RoleType.IndividualAccountHolder ||\r\n x.AccountRoleType == RoleType.JointAccountHolder ||\r\n x.AccountRoleType == RoleType.TrustAccountHolder\r\n );\r\n let allAccounts = PortfolioDashboardStore.getData();\r\n allAccounts = allAccounts.filter((x) =>\r\n accountHolderRoles.some((y) => y.ClAccountId == x.HeadClAccountId)\r\n );\r\n\r\n this.setState({ availableAccounts: allAccounts });\r\n });\r\n }\r\n if (investorType) {\r\n this.getAvailableRoleTypes([Number(investorType)]);\r\n }\r\n\r\n NewBusinessAction.getCustomerData(getQueryParameters()[\"customerid\"], (data) => {\r\n this.setState({ adviserId: data?.ActorOwnerId });\r\n });\r\n const actorId = getQueryParameters()[\"ipid\"];\r\n if (Number(actorId) > 0) {\r\n NewBusinessAction.getCustomerData(actorId, (data) => {\r\n this.setState({\r\n customerSelected: data,\r\n roleSelected: { RoleType: getQueryParameters()[\"accountrole\"] },\r\n nationalities: data.CustomerTaxResidencyDetails,\r\n residencies: data.CustomerTaxResidencyDetails,\r\n });\r\n });\r\n }\r\n super.componentDidMount();\r\n }\r\n\r\n getInterrestedParty() {\r\n portfolioDashboardRolesAction.getInterestedParties(\r\n this.state.selectedAccounts.map((a) => a.HierarchyId),\r\n (res) => {\r\n this.setState({\r\n interestedParties: res,\r\n });\r\n }\r\n );\r\n }\r\n\r\n isValid() {\r\n const data = this.state.customerSelected;\r\n const residentialAddress = data.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n );\r\n const correspondenceAddress = data.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Postal\r\n );\r\n let msg: string[] = [];\r\n let isRoleExist = false;\r\n if (\r\n this.state.roleSelected?.RoleType == RoleType.AccountAccess ||\r\n this.state.roleSelected?.RoleType == RoleType.PowerOfAttorney\r\n ) {\r\n if (this.state.interestedParties) {\r\n this.state.selectedAccounts.forEach((account) => {\r\n if (!isRoleExist) {\r\n isRoleExist = this.state.interestedParties?.find(\r\n (x) =>\r\n x.ActorId == data?.ActorId &&\r\n x.AccountRoleType == this.state.roleSelected?.RoleType &&\r\n x.HierarchyId == account.HierarchyId\r\n );\r\n }\r\n });\r\n if (isRoleExist) {\r\n msg = msg.concat([\"one or more account role have already added\"]);\r\n }\r\n } else {\r\n if (this.state.selectedAccounts?.length > 0) {\r\n portfolioDashboardRolesAction.getInterestedParties(\r\n this.state.selectedAccounts?.map((a) => a.HierarchyId),\r\n (res) => {\r\n this.state.selectedAccounts.forEach((account) => {\r\n if (!isRoleExist) {\r\n isRoleExist = res?.find(\r\n (x) =>\r\n x.ActorId == data?.ActorId &&\r\n x.AccountRoleType == this.state.roleSelected?.RoleType &&\r\n x.HierarchyId == account.HierarchyId\r\n );\r\n }\r\n });\r\n if (isRoleExist) {\r\n msg = msg.concat([\"one or more account role have already added\"]);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (!residentialAddress) {msg = msg.concat([\"You must enter residential address\"]);}\r\n if (!this.state.hasCorrespondenceAddress && !correspondenceAddress) {\r\n msg = msg.concat([\"You must enter correspondence address\"]);\r\n }\r\n if (msg.length > 0) {\r\n this.props.showErrorMsgPopUp(msg, true);\r\n return false;\r\n }\r\n\r\n return super.isValid();\r\n }\r\n\r\n private getAvailableRoleTypes(investorTypes: number[], hierarchyIds?: string[]) {\r\n if (investorTypes.length == 0 && (!hierarchyIds || hierarchyIds.length == 0)) {return;}\r\n const customer = CustomerContextStoreStatic.getData();\r\n AccountInfoAction.getAvailableAccountRoleTypes(\r\n investorTypes,\r\n customer.ActorId?.toString(),\r\n hierarchyIds,\r\n (data) => {\r\n data = data ? data : [];\r\n this.setState({ availableRoleTypes: data });\r\n }\r\n );\r\n }\r\n\r\n getRoleDropDown(data: Array) {\r\n // sort by long name asc\r\n data = data?.sort((a, b) => {\r\n if (a?.LongName > b?.LongName) {\r\n return 1;\r\n }\r\n if (a?.LongName < b?.LongName) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n return uniq(data?.map((e) => e?.RoleType));\r\n }\r\n\r\n renderCustomerSearch() {\r\n const client = new CustomerNameFuzzySearchClient();\r\n return (\r\n <>\r\n

Search for customer

\r\n {\r\n return client.get(v, this.state.adviserId, this.state.roleSelected?.RoleType);\r\n }}\r\n minLength={3}\r\n customeChildren={(data) => this.transformInputSearch(data)}\r\n cssWrapper=\"mb-35 control-size-430\"\r\n />\r\n \r\n );\r\n }\r\n\r\n private resetUseAddressForCorrespondence() {\r\n const data = this.state.customerSelected.AddressDetails;\r\n const index = data?.findIndex((ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential);\r\n\r\n const postalindex = index == 1 ? 0 : 1;\r\n data.splice(postalindex, 1);\r\n this.onCCMChange([{ value: data, path: `AddressDetails` }]);\r\n this.setState({ UseAddressForCorrespondence: false });\r\n }\r\n\r\n private transformInputSearch(data: any) {\r\n if (data) {\r\n const customeChildren = (\r\n {\r\n return {row.FirstName + \" \" + row.LastName};\r\n },\r\n },\r\n {\r\n title: \"Date of birth\",\r\n key: \"DateOfBirth\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDateString(new Date(data), \"dd MM yyyy\", true);\r\n },\r\n },\r\n {\r\n title: \"Assigned adviser\",\r\n key: \"OwnerAdviserId\",\r\n },\r\n {\r\n title: \"\",\r\n key: \"\",\r\n render: (data, row, index) => {\r\n return (\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n showEmptyMsg={true}\r\n />\r\n );\r\n return customeChildren;\r\n }\r\n }\r\n\r\n private addClient(row: any) {\r\n NewBusinessAction.getCustomerData(row?.ActorId, (data) => {\r\n const hasPostalAddress = data.AddressDetails?.find(\r\n (ele) => ele.PhysicalAddressType == PhysicalAddressType.Postal\r\n );\r\n if (!data.ActorUserId) {\r\n this.setState({ clientPortalAccess: false });\r\n } else if (data?.ActorUserId > 0) {\r\n this.setState({ clientPortalAccess: true });\r\n }\r\n let initArray = [];\r\n if (this.state.roleSelected?.RoleType == RoleType.ControllingPerson) {\r\n if (this.state.roleSelected?.RoleType == RoleType.ControllingPerson) {\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, data);\r\n }\r\n }\r\n if (hasPostalAddress) {\r\n this.setState({ customerSelected: data, UseAddressForCorrespondence: false }, () =>\r\n this.onCCMChange(initArray)\r\n );\r\n } else {\r\n this.setState({ customerSelected: data }, () => this.onCCMChange(initArray));\r\n }\r\n this.setState({ nationalities: data.CustomerTaxResidencyDetails });\r\n this.setState({ residencies: data.CustomerTaxResidencyDetails });\r\n });\r\n }\r\n\r\n private onCCMChange = (changes: { value: any; path: string }[]) => {\r\n const { customerSelected } = this.state;\r\n let _model = { ...customerSelected };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n this.setState({ customerSelected: _model });\r\n };\r\n\r\n private hasResident(): boolean {\r\n return this.state.customerSelected.AddressDetails?.some(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n );\r\n }\r\n\r\n onCorrespondenceAddressChange(val): void {\r\n this.setState({ hasCorrespondenceAddress: val });\r\n }\r\n\r\n private renderClientDetails() {\r\n const roleType = this.state.roleSelected?.RoleType;\r\n const data = this.state.customerSelected;\r\n return (\r\n <>\r\n TitleMap.getString(option)}\r\n onChange={(v) => this.onCCMChange([{ value: v, path: \"PersonalDetails.Title\" }])}\r\n placeholder={\"Please select\"}\r\n required={validationMessage.titleValidation}\r\n />\r\n this.onCCMChange([{ value: v, path: \"PersonalDetails.GivenName\" }])}\r\n required={validationMessage.firstNameValidation}\r\n />\r\n this.onCCMChange([{ value: v, path: \"PersonalDetails.FamilyName\" }])}\r\n required={validationMessage.surnameValidation}\r\n />\r\n {isDisplay(roleType, \"DOB\") && (\r\n {\r\n this.onCCMChange([\r\n { value: JsonDateParser.toJsonDateNoOffset(v), path: \"PersonalDetails.DateOfBirth\" },\r\n ]);\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n required={\"Please select a date\"}\r\n />\r\n )}\r\n {isDisplay(roleType, \"TOB\") && (\r\n {\r\n this.onCCMChange([{ value: v, path: \"PersonalDetails.TownOfBirth\" }]);\r\n }}\r\n value={data?.PersonalDetails?.TownOfBirth}\r\n maxLength={50}\r\n />\r\n )}\r\n {isDisplay(roleType, \"COB\") && (\r\n CountryCodeMap.getString(v)}\r\n onChange={(v) => {\r\n this.onCCMChange([{ value: v, path: \"PersonalDetails.CountryOfBirth\" }]);\r\n }}\r\n selected={data?.PersonalDetails?.CountryOfBirth}\r\n label=\"Country of birth\"\r\n placeholder=\"Please select\"\r\n />\r\n )}\r\n {roleType == RoleType.ControllingPerson && (\r\n {}}\r\n value={this.state.selectedAccounts[0]?.AccountName}\r\n maxLength={50}\r\n disabled\r\n />\r\n )}\r\n {/* {\r\n return GenderOptionsMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.onCCMChange([{ value: v, path: \"PersonalDetails.Gender\" }]);\r\n }}\r\n selected={data.PersonalDetails?.Gender == Gender.Female ? GenderOptions[1] : GenderOptions[0]}\r\n /> */}\r\n {hasClientPortalAccess(this.state.roleSelected) && (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.setState({ clientPortalAccess: v });\r\n }}\r\n disabled={this.state.hasNewUserAccess == false}\r\n required={\"Please select\"}\r\n />\r\n )}\r\n {isDisplay(roleType, \"Nationality\") && (\r\n {\r\n this.onNationalityChange(v);\r\n }}\r\n disableTax={false}\r\n onRef={(ref) => this.appendChild(ref)}\r\n residencies={this.state.residencies}\r\n isPoa={roleType == RoleType.PowerOfAttorney}\r\n />\r\n )}\r\n {isDisplay(roleType, \"Addresses\") && (\r\n this.onCCMChange(v)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n canChooseCountry\r\n onCorrespondenceAddressChange={(changes) => {\r\n this.onCorrespondenceAddressChange(changes);\r\n }}\r\n />\r\n )}\r\n {isDisplay(roleType, \"TaxNationality\") && (\r\n {}}\r\n disableHeader={true}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes);\r\n }}\r\n disableWhenFullClient={false}\r\n />\r\n )}\r\n {isDisplay(roleType, \"Address\") && (\r\n this.props.onChange({ Address: v })}\r\n address={data.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )}\r\n index={\r\n data.AddressDetails?.length == 0\r\n ? 0\r\n : !this.hasResident()\r\n ? 1\r\n : data.AddressDetails?.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )\r\n }\r\n canChooseCountry\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Residential}\r\n addressList={data.AddressDetails}\r\n resetUseAddressForCorrespondence={() => this.resetUseAddressForCorrespondence()}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n disabled={false}\r\n />\r\n )}\r\n\r\n {isDisplay(roleType, \"Phone\") && (\r\n {\r\n this.onCCMChange([{ path: \"PhoneNumberDetails\", value: val }]);\r\n }}\r\n disabled={false}\r\n onRef={() => {}}\r\n />\r\n )}\r\n {roleType == RoleType.ControllingPerson && (\r\n ControllingPersonTypeMap[o]}\r\n onChange={(v) => this.setState({ controllingPersonType: v })}\r\n required={\r\n (data?.CustomerTaxResidencyDetails || []).filter(\r\n (ele) => ele.Country != CountryCode.GBR && ele.IsTaxResident\r\n ).length > 0\r\n ? \"Please select\"\r\n : \"\"\r\n }\r\n placeholder=\"Please select\"\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderRoleOptions() {\r\n const { availableRoleTypes } = this.state;\r\n return (\r\n <>\r\n roleTypeMap[v]}\r\n selected={this.state.roleSelected?.RoleType}\r\n onChange={(v) => {\r\n const accountRole = availableRoleTypes?.find((e) => e?.RoleType == v);\r\n this.setState({\r\n roleSelected: accountRole,\r\n isCreateNewCustomer: null,\r\n clientPortalAccess: null,\r\n customerSelected: null,\r\n });\r\n }}\r\n required={\"Please select\"}\r\n placeholder={\"Please select\"}\r\n />\r\n {this.state.roleSelected && (\r\n (e ? \"New\" : \"Existing\")}\r\n onChange={(v) => {\r\n if (v) {\r\n const newCustomer = {\r\n PersonalDetails: {},\r\n AddressDetails: [],\r\n EmploymentDetails: {},\r\n EmailAddressDetails: [],\r\n PhoneNumberDetails: [],\r\n ContactPreferenceDetail: {},\r\n CustomerTaxResidencyDetails: [],\r\n };\r\n let initArray = [];\r\n if (this.state.roleSelected?.RoleType == RoleType.ControllingPerson) {\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, newCustomer);\r\n }\r\n this.setState(\r\n {\r\n isCreateNewCustomer: v,\r\n clientPortalAccess: null,\r\n customerSelected: newCustomer,\r\n },\r\n () => this.onCCMChange(initArray)\r\n );\r\n } else {\r\n this.setState({\r\n isCreateNewCustomer: v,\r\n clientPortalAccess: null,\r\n customerSelected: null,\r\n });\r\n this.getInterrestedParty();\r\n }\r\n }}\r\n selected={this.state.isCreateNewCustomer}\r\n required={\"Please select\"}\r\n />\r\n )}\r\n {this.state.isCreateNewCustomer == false && this.renderCustomerSearch()}\r\n {this.state.customerSelected && this.renderClientDetails()}\r\n \r\n );\r\n }\r\n\r\n private onNationalityChange(changes: CustomerTaxResidencyModel[]) {\r\n this.setState({ nationalities: changes }, this.updateCustomerTaxData);\r\n }\r\n\r\n private updateCustomerTaxData() {\r\n const ctdChanges = [];\r\n this.state.nationalities\r\n .filter((nationality) => {\r\n return nationality.Country;\r\n })\r\n .forEach((nationality) => {\r\n const existingResidencyIndex = ctdChanges.findIndex((residency) => {\r\n return nationality.Country === residency.Country;\r\n });\r\n if (existingResidencyIndex > -1) {\r\n ctdChanges[existingResidencyIndex] = { ...ctdChanges[existingResidencyIndex], ...nationality };\r\n } else {\r\n ctdChanges.push(nationality);\r\n }\r\n });\r\n\r\n this.onCCMChange([{ value: ctdChanges, path: \"CustomerTaxResidencyDetails\" }]);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const { selectedAccounts, availableAccounts } = this.state;\r\n const actorId = getQueryParameters()[\"ipid\"];\r\n\r\n if (Number(actorId) > 0) {\r\n return <>{this.state.customerSelected && this.renderClientDetails()};\r\n } else {\r\n const options = [];\r\n availableAccounts.forEach((account) => {\r\n options.push({\r\n label: account.AccountName + \" \" + account.HeadClAccountId,\r\n value: selectedAccounts.includes(account),\r\n disabled: false,\r\n onChange: (v) => {\r\n let accounts = selectedAccounts;\r\n if (v) {\r\n const updatedAccountsList = accounts.concat([account]);\r\n this.setState({ selectedAccounts: updatedAccountsList });\r\n this.getAvailableRoleTypes(\r\n updatedAccountsList.map((x) => x?.InvestorType),\r\n updatedAccountsList.map((x) => x?.HierarchyId)\r\n );\r\n } else {\r\n accounts = accounts.filter((x) => x != account);\r\n this.setState({ selectedAccounts: accounts });\r\n this.getAvailableRoleTypes(\r\n accounts.map((x) => x?.InvestorType),\r\n accounts.map((x) => x?.HierarchyId)\r\n );\r\n }\r\n },\r\n });\r\n });\r\n return (\r\n <>\r\n

{InterestedPartySteppers.clientDetails}

\r\n\r\n {CommonHelper.isNullOrEmpty(options) && selectedAccounts.length == 0 ? (\r\n No available accounts\r\n ) : (\r\n \r\n )}\r\n\r\n {!CommonHelper.isNullOrEmpty(selectedAccounts) && this.renderRoleOptions()}\r\n \r\n );\r\n }\r\n }\r\n}\r\n","import { RoleType } from \"../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountRoleType } from \"../../../../../../Wrap/Models/Domains/Customers/AccountRoleType\";\r\n\r\nconst dataCaptureMatrix = {\r\n [RoleType.RegisteredContact]: [\"Address\", \"DOB\", \"Phone\"],\r\n [RoleType.Employer]: [\"Address\", \"BankDetails\"],\r\n [RoleType.ExSpouse]: [\"Address\", \"DOB\"],\r\n [RoleType.PowerOfAttorney]: [\"Address\", \"DOB\", \"Phone\", \"Nationality\"],\r\n [RoleType.LegalRepresentative]: [\"Address\", \"DOB\"],\r\n [RoleType.LetterOfAuthority]: [\"Address\"],\r\n [RoleType.Dependent]: [\"Address\", \"DOB\"],\r\n [RoleType.Nominee]: [\"Address\", \"DOB\"],\r\n [RoleType.ThirdPartyPayer]: [\"Address\", \"BankDetails\", \"DOB\"],\r\n [RoleType.TrustAppointer]: [\"Address\", \"DOB\"],\r\n [RoleType.TrustProtector]: [\"Address\", \"DOB\"],\r\n [RoleType.ControllingPerson]: [\"Addresses\", \"DOB\", \"TaxNationality\", \"TOB\", \"COB\"],\r\n [RoleType.DirectorController]: [\"Address\", \"DOB\"],\r\n [RoleType.ShareholderGT25]: [\"Address\", \"DOB\"],\r\n [RoleType.AdditionalSignatory]: [\"Address\", \"DOB\"],\r\n [RoleType.AccountAccess]: [\"Address\", \"DOB\"],\r\n [RoleType.LifeAssured]: [\"Address\"],\r\n [RoleType.AdditionalLifeAssured]: [\"Address\"],\r\n};\r\n\r\nconst clientPortalAccessMatrix = [\r\n RoleType.RegisteredContact,\r\n RoleType.PowerOfAttorney,\r\n RoleType.LegalRepresentative,\r\n RoleType.Dependent,\r\n RoleType.Nominee,\r\n];\r\n\r\nexport const isDisplay = (roleType: RoleType, section: string): boolean => {\r\n const roleMatrix = dataCaptureMatrix[roleType];\r\n if (roleMatrix == undefined) {return false;}\r\n const index = roleMatrix.findIndex((e) => e == section);\r\n return index < 0 ? false : true;\r\n};\r\n\r\nexport const hasClientPortalAccess = (roleType: AccountRoleType): boolean => {\r\n return (\r\n roleType?.CustomerCategory == 1 &&\r\n roleType?.RoleType != RoleType.ShareholderGT25 &&\r\n roleType?.RoleType != RoleType.LetterOfAuthority &&\r\n roleType?.RoleType != RoleType.ThirdPartyPayer &&\r\n roleType?.RoleType != RoleType.Employer\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { ContextStore } from \"../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { HierarchyLevelName } from \"../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { RoleType } from \"../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { WizardComponent } from \"../../../../Shared/Process/WizardComponent\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { FullClientDetailHelper } from \"../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { NewBusinessAction } from \"../NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { AccountInfoAction } from \"../PortfolioDashboard/Components/Role/Action/AccountInfoAction\";\r\nimport { ClientDetails, IClientDetailsState } from \"./Components/ClientDetails\";\r\nimport { InterestedPartySteppers } from \"../PortfolioDashboard/Components/Role/Resource/Contents\";\r\n\r\nexport class InterestedPartiesWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n onCancel() {\r\n this.onExit();\r\n }\r\n onExit() {\r\n let customerId = getQueryParameters()[\"customerid\"];\r\n if (!customerId) {\r\n customerId = this.getCusomterEntityId().entityId;\r\n }\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, Number(customerId)),\r\n }).roles,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {},\r\n }\r\n );\r\n }\r\n private getCusomterEntityId() {\r\n const customerId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n return HierarchyIdHelper.generateHierarchyId(customerId);\r\n }\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, onPosting: true });\r\n const state: IClientDetailsState = this.child[0].getState();\r\n const actorId = getQueryParameters()[\"ipid\"];\r\n if (Number(actorId) > 0) {\r\n // update individual info\r\n NewBusinessAction.saveCCMDetail(Number(actorId), state.customerSelected, (data) => {\r\n this.onExit();\r\n });\r\n } else {\r\n if (state.roleSelected?.RoleType == RoleType.ControllingPerson) {\r\n state.customerSelected = FullClientDetailHelper.beforeSave(state.customerSelected);\r\n }\r\n if (state.isCreateNewCustomer) {\r\n // Remove blank space from givenname\r\n state.customerSelected.PersonalDetails.GivenName = state.customerSelected.PersonalDetails.GivenName.trim();\r\n // Create new customer and setup new account role\r\n AccountInfoAction.createInterestedParty(\r\n state.roleSelected?.CustomerCategory,\r\n state.selectedAccounts.map((x) => x.HierarchyId),\r\n state.roleSelected?.RoleType,\r\n state.clientPortalAccess || false,\r\n state.customerSelected,\r\n state.controllingPersonType,\r\n (data) => {\r\n if (\r\n state.clientPortalAccess &&\r\n checkPermission(UserClaim.AdviserPortalDluNewUserCanView) &&\r\n state.customerSelected.ActorId\r\n ) {\r\n // direct to create user page\r\n window.location.assign(\r\n `/admin/users/newuser.aspx?customerid=${state.customerSelected.ActorId}`\r\n );\r\n } else {\r\n // back to accoutn info page\r\n this.onExit();\r\n }\r\n }\r\n );\r\n } else {\r\n state.selectedAccounts.forEach((account) => {\r\n // setup new account role\r\n AccountInfoAction.updateAccountRole(\r\n account.HierarchyId,\r\n state.roleSelected?.RoleType,\r\n state.clientPortalAccess,\r\n state.customerSelected,\r\n state.controllingPersonType,\r\n (data) => {\r\n if (\r\n state.clientPortalAccess &&\r\n state.customerSelected?.ActorUserId > 0 &&\r\n state.roleSelected?.RoleType == RoleType.AccountAccess &&\r\n checkPermission(UserClaim.AdviserPortalDluEditUserCanView)\r\n ) {\r\n // direct to edit user page\r\n window.location.assign(\r\n `/Admin/Users/EditUser.aspx?type=edit&searchuserid=${state.customerSelected?.ActorUserId}`\r\n );\r\n } else if (\r\n state.clientPortalAccess &&\r\n (state.customerSelected.ActorUserId == 0 ||\r\n (state.customerSelected.ActorUserId == null &&\r\n checkPermission(UserClaim.AdviserPortalDluNewUserCanView)))\r\n ) {\r\n // direct to create user page\r\n window.location.assign(\r\n `/admin/users/newuser.aspx?customerid=${state.customerSelected.ActorId}`\r\n );\r\n } else {\r\n // back to accoutn info page\r\n this.onExit();\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n }\r\n setStepperConfig() {\r\n this.stepperConfig = [\r\n {\r\n title: InterestedPartySteppers.clientDetails,\r\n url: Urls.get().InterestedParties,\r\n path: Contents.URLMap.clientDetails,\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[0].isValid(),\r\n component: ,\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n const actorId = getQueryParameters()[\"ipid\"];\r\n if (Number(actorId) > 0) {\r\n processProps.processTitle = \"Edit interested party\";\r\n } else {\r\n processProps.processTitle = \"Add interested party\";\r\n }\r\n processProps.onSave = null;\r\n return processProps;\r\n }\r\n}\r\n","import * as Variable from \"../Stores/Variable\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { ApplyInstructionClient } from \"../../../../../../Wrap/Api/Apply/ApplyInstruction\";\r\nimport { ApplyContributionsClient } from \"../../../../../../Wrap/Api/Apply/ApplyContributions\";\r\nimport { ApplyModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { AvailableProductWrappersClient } from \"../../../../../../Wrap/Api/ProductWrappers/AvailableProductWrappers\";\r\nimport { FullClientDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { FullClientDetailClient } from \"../../../../../../Wrap/Api/Customer/FullClientDetail\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { AdviserDetailClient } from \"../../../../../../Wrap/Api/Adviser/AdviserDetail\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { CedingSchemeModel } from \"../../../../../../Wrap/Models/Models/Transfer/CedingSchemeModel\";\r\nimport { CedingSchemeClient } from \"../../../../../../Wrap/Api/Transfer/CedingScheme\";\r\nimport { DrawdownInstructionClient } from \"../../../../../../Wrap/Api/Drawdown/DrawdownInstruction\";\r\nimport { AdviserContextDisaptcher, CustomerContextDispatcher, ProductWrapperDispatcher } from \"../Stores/Variable\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ApplyWizardClient } from \"../../../../../../Wrap/Api/Apply/ApplyWizard\";\r\n\r\nexport class NewBusinessAction {\r\n public static getInstruction(instructionID: string) {\r\n const client = new ApplyInstructionClient();\r\n const promise = client.get(Number(instructionID), null);\r\n promise.onSuccess((data) => {\r\n Variable.NewBusinessDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getFullClientDetailsForTheSecondCustomer(\r\n customerId: number,\r\n callBack: (data: FullClientDetailModel) => void\r\n ): void {\r\n const client = new FullClientDetailClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n this.getAdviserDetail(\r\n HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Advisor, result.ActorOwnerId)\r\n );\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static postInstruction(from, data: ApplyModel, callback?: (error) => void) {\r\n let promise;\r\n if (from == 0 && callback) {\r\n callback([]);\r\n return;\r\n }\r\n\r\n if (from == 1) {\r\n const client = new ApplyInstructionClient();\r\n promise = client.post(data);\r\n } else {\r\n const client = new ApplyContributionsClient();\r\n promise = client.put(data);\r\n }\r\n\r\n promise.onSuccess((result) => {\r\n Variable.NewBusinessDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => {\r\n Variable.NewBusinessDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static submitInstruction(data: ApplyModel, callback?: (error) => void) {\r\n const client = new ApplyInstructionClient();\r\n const promise = client.put(data);\r\n promise.onSuccess((result) => {\r\n Variable.NewBusinessDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (callback) {callback([]);}\r\n });\r\n }\r\n\r\n public static cancleApplyInstruction(id, accountId, callback?: VoidFunction) {\r\n if (!id) {\r\n callback();\r\n return;\r\n }\r\n const client = new ApplyInstructionClient();\r\n const promise = client.delete(id, accountId);\r\n promise.onSuccess(() => {\r\n callback();\r\n });\r\n }\r\n\r\n public static cancelExistingClientWizard(wizardId, callback?: VoidFunction) {\r\n if (!wizardId) {\r\n callback();\r\n return;\r\n }\r\n const client = new ApplyWizardClient();\r\n const promise = client.delete(wizardId);\r\n promise.onSuccess(() => {\r\n callback();\r\n });\r\n }\r\n\r\n public static getProductWrappers(customerId: number, servicePropositionId: number) {\r\n const client = new AvailableProductWrappersClient();\r\n const promise = client.get(customerId, servicePropositionId, false);\r\n\r\n promise.onSuccess((data) => {\r\n ProductWrapperDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static saveCCMDetail(customerId: number, model: FullClientDetailModel, callback) {\r\n const client = new FullClientDetailClient();\r\n const promise = client.put(customerId, model);\r\n\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static accountHolderAction(customerId: number, callBack?: (val: FullClientDetailModel) => void) {\r\n const client = new FullClientDetailClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((data) => {\r\n callBack(data);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getCustomerData(customerId: number, callBack?: (val: FullClientDetailModel) => void): void {\r\n const client = new FullClientDetailClient();\r\n const promise = client.get(customerId);\r\n\r\n promise.onSuccess((result) => {\r\n CustomerContextDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n this.getAdviserDetail(\r\n HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Advisor, result.ActorOwnerId)\r\n );\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getAdviserDetail(hierarchyId: string, callBack?: (val: Adviser) => void): void {\r\n const client = new AdviserDetailClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n AdviserContextDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getSpecifyCedingSchema(\r\n type: SubAccountType,\r\n partialName: string,\r\n callBack?: (val: CedingSchemeModel[]) => void\r\n ) {\r\n const client = new CedingSchemeClient();\r\n const promise = client.get(type, partialName);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static postDrawdown(hiercharyId, model, callback) {\r\n const client = new DrawdownInstructionClient();\r\n const promise = client.post(hiercharyId, model, false);\r\n promise.onSuccess((result) => {\r\n callback(result.Result);\r\n });\r\n promise.onError((error) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { Div } from \"../../../../../../../react-core/Html/Div\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { UkMobileNumber } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { CustomerPhoneNumberType } from \"../../../../../../../Wrap/Constants/Enums/Domain/CustomerPhoneNumberType\";\r\nimport { EmailAddressType } from \"../../../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { TaskRequestStatus } from \"../../../../../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { DownloadButtonAction } from \"../../../../../../Shared/DownloadButton/Actions/DownloadButtonAction\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../../../Common/Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport { CustomerContextStoreStatic } from \"../../Stores/Variable\";\r\n\r\ninterface IESignaturePopupViewProps extends React.Props {\r\n showBox: boolean;\r\n callBack: (isSubmitSuccess: boolean) => void;\r\n fullClientDetail: FullClientDetailModel;\r\n taskRequestList: Array;\r\n processType: processTypeEnum;\r\n}\r\n\r\ninterface IESignaturePopupViewState {\r\n isLoading?: boolean;\r\n checkedRequestIds: number[];\r\n mobilePhone: string;\r\n taskRequestStatus: TaskRequestStatus;\r\n hasSubmitted: boolean;\r\n}\r\n\r\ninterface ISignatureTaskRequest {\r\n fileName: string;\r\n taskRequestId: number;\r\n}\r\n\r\nexport class ESignaturePopupView extends FormComponent {\r\n constructor(props: IESignaturePopupViewProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: false,\r\n checkedRequestIds: [],\r\n mobilePhone: this.getPrimaryPhoneNumber(),\r\n hasSubmitted: false,\r\n taskRequestStatus: null,\r\n };\r\n }\r\n\r\n public componentDidMount() {}\r\n\r\n public render(): JSX.Element {\r\n return
{this.props.showBox ? this.renderModal() : null}
;\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n const { isLoading, taskRequestStatus, hasSubmitted } = this.state;\r\n let elementRender: JSX.Element;\r\n\r\n if (!hasSubmitted) {\r\n elementRender =
{this.getModalBody()}
;\r\n } else if (!isLoading) {\r\n if (taskRequestStatus == TaskRequestStatus.Complete) {\r\n elementRender = (\r\n

\r\n You have successfully submitted the documents to your client for e-signature.\r\n
\r\n You can now close this window and continue to submit this application.\r\n

\r\n );\r\n } else {\r\n elementRender = (\r\n
\r\n \r\n
\r\n );\r\n }\r\n } else {\r\n elementRender = this.renderLoading();\r\n }\r\n\r\n return (\r\n {\r\n this.props.callBack(hasSubmitted && taskRequestStatus == TaskRequestStatus.Complete);\r\n this.setState({ hasSubmitted: false, checkedRequestIds: [] });\r\n }}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {elementRender}\r\n \r\n );\r\n }\r\n\r\n private getModalBody(): JSX.Element {\r\n let clientDetail = this.props.fullClientDetail;\r\n if (!clientDetail) {\r\n clientDetail = CustomerContextStoreStatic.getData();\r\n }\r\n const emails = clientDetail.EmailAddressDetails.filter((x) => x.EmailAddressType == EmailAddressType.Primary);\r\n let emailAddress = \"\";\r\n if (emails.length > 0) {\r\n emailAddress = emails[0].EmailAddress;\r\n }\r\n\r\n const mobileNumber = this.getPrimaryPhoneNumber();\r\n const config = [\r\n {\r\n title: \"First name\",\r\n data: clientDetail.PersonalDetails.GivenName,\r\n },\r\n {\r\n title: \"Surname\",\r\n data: clientDetail.PersonalDetails.FamilyName,\r\n },\r\n {\r\n title: \"Email address\",\r\n data: emailAddress,\r\n },\r\n {\r\n title: \"Mobile phone\",\r\n data: mobileNumber ? (\r\n mobileNumber\r\n ) : (\r\n this.setState({ mobilePhone: v })}\r\n regex={{\r\n errorMessage: ValidatorContents.InvalidPhone,\r\n value: UkMobileNumber,\r\n }}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n

Client Contact Details

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

Incorrect details?

\r\n
\r\n If any of the pre-populated data above is incorrect please return to step1 of the New\r\n Business wizard and amend accordingly.\r\n
\r\n
\r\n You will then be able to return to the Documents & Declarations Page.\r\n
\r\n
\r\n
\r\n {\r\n return {row.fileName};\r\n },\r\n },\r\n\r\n {\r\n title: \"Select to be e-signed\",\r\n key: \"taskRequestId\",\r\n render: (data, row: ISignatureTaskRequest, index) => {\r\n return (\r\n {\r\n const checked = this.state.checkedRequestIds;\r\n if (v) {\r\n this.setState({\r\n checkedRequestIds: checked.concat(row.taskRequestId),\r\n });\r\n } else {\r\n this.setState({\r\n checkedRequestIds: checked.filter(\r\n (ele) => ele != row.taskRequestId\r\n ),\r\n });\r\n }\r\n }}\r\n value={false}\r\n />\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n {this.state.checkedRequestIds.length > 0 && (\r\n
\r\n

\r\n \r\n

\r\n
\r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n private submit() {\r\n let instructionId = 0;\r\n const parameters = getQueryParameters();\r\n const urlHierarchyId = parameters[\"id\"];\r\n if (this.props.processType != processTypeEnum.NewBusiness) {\r\n instructionId = HierarchyIdHelper.generateHierarchyId(urlHierarchyId).entityId;\r\n } else {\r\n instructionId = urlHierarchyId;\r\n }\r\n\r\n if (this.isValid() == true) {\r\n this.setState({ isLoading: true, hasSubmitted: true });\r\n const { checkedRequestIds, mobilePhone } = this.state;\r\n const { fullClientDetail } = this.props;\r\n InstructionDocumentTypeRequestTriggerActionsCreator.submitEsignatureDocumentRequest(\r\n fullClientDetail.ActorId,\r\n instructionId,\r\n mobilePhone,\r\n checkedRequestIds,\r\n (result) => {\r\n if (Number(result) > 0) {\r\n DownloadButtonAction.getTaskRequestStatus(result, (callback) =>\r\n this.onStatusChange(callback.Status, result)\r\n );\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n private onStatusChange(status: TaskRequestStatus, taskRequestId: string) {\r\n if (\r\n status == TaskRequestStatus.Pending ||\r\n status == TaskRequestStatus.Running ||\r\n status == TaskRequestStatus.Allocated ||\r\n status == TaskRequestStatus.PendingDelayed ||\r\n status == TaskRequestStatus.PendingHold\r\n ) {\r\n setTimeout(() => {\r\n DownloadButtonAction.getTaskRequestStatus(taskRequestId, (callback) =>\r\n this.onStatusChange(callback.Status, taskRequestId)\r\n );\r\n }, 2000);\r\n } else if (status == TaskRequestStatus.Complete) {\r\n this.setState({ isLoading: false, taskRequestStatus: TaskRequestStatus.Complete });\r\n } else {\r\n //failed or cancelled\r\n this.setState({ isLoading: false, taskRequestStatus: status });\r\n }\r\n }\r\n\r\n private getPrimaryPhoneNumber() {\r\n let mobileNumber = \"\";\r\n let clientDetail = this.props.fullClientDetail;\r\n\r\n if (!clientDetail) {\r\n clientDetail = CustomerContextStoreStatic.getData();\r\n }\r\n\r\n const phoneNumbers = clientDetail?.PhoneNumberDetails?.filter(\r\n (x) => x.PhoneNumberType == CustomerPhoneNumberType.Mobile\r\n );\r\n\r\n if (phoneNumbers?.length > 0) {\r\n mobileNumber = phoneNumbers[0].PhoneNumber.Number;\r\n }\r\n\r\n return mobileNumber;\r\n }\r\n\r\n private renderLoading() {\r\n return ;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PostCodeAnywhereSearchEditor } from \"../../../../../../../react-core/Html/Address/PostCodeAnywhereSearchEditor\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { AddressDisplay } from \"../../../../../../../react-core/Html/Address/AddressDisplay\";\r\nimport { AddressDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AddressEditorFields } from \"../../../../../../../react-core/Html/Address/AddressEditorFields\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\n\r\ninterface IAddAddressProps extends IProcessComponentProps {\r\n address: AddressDetailModel;\r\n onAddressChange: (v) => void;\r\n label: string;\r\n index: number;\r\n onCCMChange: (changes) => void;\r\n addressType: PhysicalAddressType;\r\n addressList: Array;\r\n resetUseAddressForCorrespondence?: () => void;\r\n disabled: boolean;\r\n canChooseCountry: boolean;\r\n}\r\n\r\ninterface IAddAddressState {\r\n isEditManual: boolean;\r\n}\r\n\r\nexport class AddAddress extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isEditManual: false,\r\n };\r\n }\r\n\r\n isValid() {\r\n return super.isValid();\r\n }\r\n\r\n render() {\r\n const { address, index, resetUseAddressForCorrespondence, onCCMChange, disabled } = this.props;\r\n if (disabled) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n {this.props.canChooseCountry && (\r\n <>\r\n {SectionHeader(this.props.label)}\r\n
\r\n
\r\n CountryCodeMap.getString(v)}\r\n label=\"Country\"\r\n onChange={(v) => {\r\n onCCMChange([\r\n {\r\n value: this.props.addressType,\r\n path: `AddressDetails.${index}.PhysicalAddressType`,\r\n },\r\n {\r\n value: null,\r\n path: `AddressDetails.${index}.Address.Address1`,\r\n },\r\n {\r\n value: null,\r\n path: `AddressDetails.${index}.Address.Address2`,\r\n },\r\n {\r\n value: null,\r\n path: `AddressDetails.${index}.Address.Address3`,\r\n },\r\n {\r\n value: v,\r\n path: `AddressDetails.${index}.Address.Country`,\r\n },\r\n {\r\n value: null,\r\n path: `AddressDetails.${index}.Address.PostCode`,\r\n },\r\n ]);\r\n this.setState({ isEditManual: false });\r\n }}\r\n required={\"Please select country\"}\r\n selected={address?.Address?.Country ?? CountryCode.GBR}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n\r\n
\r\n
\r\n {}}\r\n useLabelForAddress\r\n onAddressSelected={(v) => {\r\n onCCMChange([\r\n {\r\n value: this.props.addressType,\r\n path: `AddressDetails.${index}.PhysicalAddressType`,\r\n },\r\n {\r\n value: v.Line1,\r\n path: `AddressDetails.${index}.Address.Address1`,\r\n },\r\n {\r\n value: v.Line2,\r\n path: `AddressDetails.${index}.Address.Address2`,\r\n },\r\n {\r\n value: v.Line3,\r\n path: `AddressDetails.${index}.Address.Address3`,\r\n },\r\n {\r\n value: v.CountryCode,\r\n path: `AddressDetails.${index}.Address.Country`,\r\n },\r\n {\r\n value: v.Postcode,\r\n path: `AddressDetails.${index}.Address.PostCode`,\r\n },\r\n ]);\r\n this.setState({ isEditManual: false });\r\n if (resetUseAddressForCorrespondence != null) {resetUseAddressForCorrespondence();}\r\n }}\r\n countryCode={\r\n !this.props.canChooseCountry\r\n ? CountryCode.GBR\r\n : address?.Address?.Country ?? CountryCode.GBR\r\n }\r\n label={this.props.label}\r\n />\r\n

\r\n PO boxes / 'care of' / financial adviser addresses can't be used\r\n

\r\n
\r\n
\r\n {this.state.isEditManual ? null : (\r\n {\r\n this.setState({ isEditManual: true });\r\n }}\r\n >\r\n \r\n Or enter address manually\r\n \r\n )}\r\n
\r\n
\r\n {this.state.isEditManual ? (\r\n
\r\n {\r\n onCCMChange(changes);\r\n }}\r\n country={\r\n !this.props.canChooseCountry\r\n ? CountryCode.GBR\r\n : address?.Address?.Country ?? CountryCode.GBR\r\n }\r\n data={null}\r\n onChange={() => {}}\r\n addressType={this.props.addressType}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { AddAddress } from \"./AddAddress\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { AddressDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { FullClientDetailHelper } from \"../../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IAddAddressesProps extends IProcessComponentProps {\r\n onCCMChange: (changes) => void;\r\n data: FullClientDetailModel;\r\n canChooseCountry: boolean;\r\n onCorrespondenceAddressChange: (changes) => void;\r\n}\r\n\r\ninterface IAddAddressesState {\r\n UseAddressForCorrespondence?: boolean;\r\n}\r\n\r\nexport class AddAddresses extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n UseAddressForCorrespondence: null,\r\n };\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.updateUseAddressForCorrespondence();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n\r\n if (\r\n prevProps.data?.ActorId !== this.props.data?.ActorId ||\r\n prevProps.data?.AddressDetails.length !== this.props.data?.AddressDetails.length\r\n ) {\r\n this.updateUseAddressForCorrespondence();\r\n }\r\n }\r\n\r\n private updateUseAddressForCorrespondence() {\r\n if (this.props.data.AddressDetails?.length > 0) {\r\n const isSameCorrespondenceAddress = this.isSameCorrespondenceAddress(this.props.data.AddressDetails);\r\n this.setState({\r\n UseAddressForCorrespondence: isSameCorrespondenceAddress,\r\n });\r\n this.props.onCorrespondenceAddressChange(isSameCorrespondenceAddress);\r\n }\r\n }\r\n\r\n private isSameCorrespondenceAddress(addressDetails: AddressDetailModel[]): boolean {\r\n if (addressDetails.length < 2) {\r\n return true;\r\n }\r\n const postalAddress = addressDetails?.find((ele) => ele.PhysicalAddressType == PhysicalAddressType.Postal);\r\n const residentialAddress = addressDetails?.find(\r\n (ele) => ele.PhysicalAddressType == PhysicalAddressType.Residential\r\n );\r\n\r\n const isSameCorrespondenceAddress =\r\n !CommonHelper.isNullOrEmpty(postalAddress) &&\r\n !CommonHelper.isNullOrEmpty(residentialAddress) &&\r\n FullClientDetailHelper.isSameAddress(postalAddress?.Address, residentialAddress?.Address);\r\n\r\n return isSameCorrespondenceAddress;\r\n }\r\n\r\n private resetUseAddressForCorrespondence() {\r\n const data = this.props.data.AddressDetails;\r\n const index = data?.findIndex((ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential);\r\n\r\n const postalindex = index == 1 ? 0 : 1;\r\n data.splice(postalindex, 1);\r\n this.props.onCCMChange([{ value: data, path: `AddressDetails` }]);\r\n this.setState({\r\n UseAddressForCorrespondence: false,\r\n });\r\n this.props.onCorrespondenceAddressChange(false);\r\n }\r\n\r\n private hasResident(): boolean {\r\n return this.props.data.AddressDetails?.some(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n );\r\n }\r\n\r\n validAddress(address: AddressDetailModel): boolean {\r\n return (\r\n address?.Address?.Address1 != null &&\r\n address?.Address?.Address1 != \"\" &&\r\n address?.Address?.Country != null &&\r\n address?.Address?.PostCode != null &&\r\n address?.Address?.PostCode != \"\"\r\n );\r\n }\r\n\r\n private setPostalAddress = (v: boolean) => {\r\n const postalAddress = FullClientDetailHelper.setPostalAddress(v, this.props.data);\r\n this.props.onCCMChange(postalAddress);\r\n };\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { UseAddressForCorrespondence } = this.state;\r\n return (\r\n <>\r\n this.props.onChange({ Address: v })}\r\n address={data.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )}\r\n index={\r\n data?.AddressDetails == null || data.AddressDetails?.length == 0\r\n ? 0\r\n : !this.hasResident()\r\n ? 1\r\n : data.AddressDetails?.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )\r\n }\r\n disabled={false}\r\n onCCMChange={(changes) => {\r\n this.props.onCCMChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Residential}\r\n addressList={data.AddressDetails}\r\n resetUseAddressForCorrespondence={() => this.resetUseAddressForCorrespondence()}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n />\r\n\r\n {data.AddressDetails && this.hasResident() && (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n onChange={(v) => {\r\n this.setPostalAddress(v);\r\n this.setState({ UseAddressForCorrespondence: v });\r\n this.props.onCorrespondenceAddressChange(v);\r\n }}\r\n />\r\n {this.state.UseAddressForCorrespondence == false && (\r\n this.props.onChange({ CorrespondenceAddress: v })}\r\n address={data.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Postal\r\n )}\r\n canChooseCountry={false}\r\n index={\r\n data.AddressDetails.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n ) == 0\r\n ? 1\r\n : 0\r\n }\r\n disabled={false}\r\n onCCMChange={(changes) => {\r\n this.props.onCCMChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Postal}\r\n addressList={data.AddressDetails}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IAdviserDetailProps extends IProcessComponentProps {\r\n onAdviserChange: (changes) => void;\r\n}\r\n\r\ninterface IAdviserDetailState {}\r\n\r\nexport class AdviserDetail extends ProcessComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {SectionHeader(\"Adviser details\")}\r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { GenderOptions, Marital, GenderOptionsMap } from \"../../Resource/Contents\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { Gender } from \"../../../../../../../Wrap/Constants/Enums/Domain/Gender\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport {\r\n Alphabetical2,\r\n Numeric2,\r\n NonePureAlphabetical,\r\n} from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { TaxReferenceType } from \"../../../../../../../Wrap/Constants/Enums/Customer/TaxReferenceType\";\r\nimport { EWizardLinterHelper } from \"../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { DatePicker } from \"../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { validationMessage } from \"../../../AddClient/Resource/Validation\";\r\nimport { Title } from \"../../../../../../../Wrap/Constants/Enums/Title\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\n\r\ninterface IClientDetailProps extends IProcessComponentProps {\r\n onCCMChange: (changes) => void;\r\n data: FullClientDetailModel;\r\n disableWhenFullClient: boolean;\r\n isAddNewProduct?: boolean;\r\n existingClientInfo?: FullClientDetailModel;\r\n index: number;\r\n}\r\n\r\ninterface IClientDetailState {\r\n NationalNumber: string[];\r\n useUniversalNINO: boolean;\r\n disableClientDetails: boolean;\r\n disableMaritalStatus: boolean;\r\n userInfo: User;\r\n}\r\n\r\nexport class ClientDetail extends ProcessComponent {\r\n constructor(props: IClientDetailProps) {\r\n super(props);\r\n this.state = {\r\n NationalNumber: [null, null, null, null, null],\r\n useUniversalNINO: false,\r\n disableClientDetails: false,\r\n disableMaritalStatus: false,\r\n userInfo: UserStore.getUserInfo(),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.updateNationalNumberDisplay();\r\n this.checkDisableStatus();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.data?.ActorId !== this.props.data?.ActorId) {\r\n this.updateNationalNumberDisplay();\r\n\r\n if (this.props.disableWhenFullClient == true) {\r\n this.checkDisableStatus();\r\n }\r\n }\r\n }\r\n\r\n private checkDisableStatus() {\r\n if (this.props.disableWhenFullClient) {\r\n const disableClient =\r\n this.getBlockClientDetailsStatus(this.props.existingClientInfo) == EWizardLinterStatus.PleaseCheck;\r\n const disableMarital =\r\n this.getBlockMaritalStatus(this.props.existingClientInfo) == EWizardLinterStatus.PleaseCheck;\r\n this.setState({ disableClientDetails: disableClient, disableMaritalStatus: disableMarital });\r\n }\r\n if (this.props.isAddNewProduct) {\r\n this.setState({\r\n disableClientDetails: true,\r\n disableMaritalStatus: true,\r\n });\r\n }\r\n }\r\n\r\n updateNationalNumberDisplay() {\r\n const { NationalNumber } = this.state;\r\n const _data =\r\n this.props.data.CustomerTaxResidencyDetails?.find((ele) => ele.TaxReferenceType == TaxReferenceType.GbrNino)\r\n ?.TaxReference || \"\";\r\n for (let i = 0; i < NationalNumber.length; i++) {\r\n NationalNumber[i] = _data.substr(i * 2, 2);\r\n }\r\n this.setState({ NationalNumber });\r\n }\r\n\r\n onNationalNumberChanges(index, value: string) {\r\n const _nationalNum = this.state.NationalNumber.concat();\r\n _nationalNum[index] = value;\r\n let result = \"\";\r\n _nationalNum.forEach((ele) => {\r\n if (!ele) {ele = \"\";}\r\n result += ele;\r\n });\r\n this.setState({ NationalNumber: _nationalNum });\r\n this.props.onCCMChange([\r\n {\r\n value: result,\r\n path: `CustomerTaxResidencyDetails.0.TaxReference`,\r\n },\r\n {\r\n value: TaxReferenceType.GbrNino,\r\n path: `CustomerTaxResidencyDetails.0.TaxReferenceType`,\r\n },\r\n {\r\n value: true,\r\n path: `CustomerTaxResidencyDetails.0.IsTaxResident`,\r\n },\r\n ]);\r\n }\r\n\r\n getBlockClientDetailsStatus(model: FullClientDetailModel): EWizardLinterStatus {\r\n const data = model?.PersonalDetails;\r\n const complete =\r\n data &&\r\n data.Title != null &&\r\n data.GivenName != null &&\r\n data.FamilyName != null &&\r\n data.DateOfBirth != null &&\r\n data.Gender != null;\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n getBlockMaritalStatus(model: FullClientDetailModel): EWizardLinterStatus {\r\n const data = model?.PersonalDetails;\r\n const { NationalNumber } = this.state;\r\n const complete =\r\n data &&\r\n data.MaritalStatus != null &&\r\n data.MaritalStatus != 0 &&\r\n !NationalNumber.includes(null) &&\r\n !NationalNumber.includes(\"\");\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n moveToNextInput(cur: number, value: string) {\r\n if (value.length == 2) {\r\n const next = cur + 1;\r\n const nextInput = document.getElementById(`national-insurance-number-${this.props.index}-${next}`);\r\n nextInput.focus();\r\n }\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { NationalNumber, disableClientDetails, disableMaritalStatus } = this.state;\r\n return (\r\n <>\r\n {SectionHeader(\"Client details\")}\r\n \r\n {disableClientDetails && (\r\n <>\r\n {\r\n this.props.onCCMChange([{ value: v, path: \"PersonalDetails.Title\" }]);\r\n }}\r\n />\r\n\r\n {\r\n this.props.onCCMChange([{ value: v, path: \"PersonalDetails.FamilyName\" }]);\r\n }}\r\n />\r\n \r\n )}\r\n {!disableClientDetails && (\r\n <>\r\n TitleMap.getString(option)}\r\n onChange={(v) => this.props.onCCMChange([{ value: v, path: \"PersonalDetails.Title\" }])}\r\n required={validationMessage.titleValidation}\r\n />\r\n \r\n this.props.onCCMChange([{ value: v, path: \"PersonalDetails.GivenName\" }])\r\n }\r\n required={validationMessage.firstNameValidation}\r\n />\r\n \r\n this.props.onCCMChange([{ value: v, path: \"PersonalDetails.FamilyName\" }])\r\n }\r\n regex={{\r\n errorMessage: \"Surname should not be all numbers\",\r\n value: NonePureAlphabetical,\r\n }}\r\n required={validationMessage.surnameValidation}\r\n />\r\n \r\n )}\r\n\r\n {disableClientDetails && (\r\n
\r\n Date of birth (dd/mm/yyyy)\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {!disableClientDetails && (\r\n {\r\n this.props.onCCMChange([\r\n {\r\n value: JsonDateParser.toJsonDateNoOffset(v),\r\n path: \"PersonalDetails.DateOfBirth\",\r\n },\r\n ]);\r\n }}\r\n todayButton={ContentDatePicker.Today}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n )}\r\n {\r\n return GenderOptionsMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.props.onCCMChange([{ value: v, path: \"PersonalDetails.Gender\" }]);\r\n }}\r\n disabled={disableClientDetails}\r\n selected={\r\n data.PersonalDetails?.Gender == Gender.Female\r\n ? GenderOptions[1]\r\n : data.PersonalDetails?.Gender == Gender.Male\r\n ? GenderOptions[0]\r\n : null\r\n }\r\n />\r\n
\r\n \r\n {\r\n return Marital.optionsMap[v];\r\n }}\r\n options={Marital.options}\r\n label={Marital.title}\r\n onChange={(v) => {\r\n this.props.onCCMChange([{ value: v, path: \"PersonalDetails.MaritalStatus\" }]);\r\n }}\r\n required={\"Please select \" + Marital.title}\r\n selected={data.PersonalDetails?.MaritalStatus}\r\n disabled={disableMaritalStatus}\r\n />\r\n
\r\n National Insurance Number\r\n
\r\n
\r\n {\r\n this.moveToNextInput(1, v);\r\n this.onNationalNumberChanges(0, v);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n this.moveToNextInput(2, v);\r\n this.onNationalNumberChanges(1, v);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n this.onNationalNumberChanges(2, v);\r\n this.moveToNextInput(3, v);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n this.moveToNextInput(4, v);\r\n this.onNationalNumberChanges(3, v);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n this.onNationalNumberChanges(4, v);\r\n }}\r\n />\r\n
\r\n
\r\n {!this.state.userInfo?.IsAdviser && (\r\n {\r\n let _nationalNum = \"\";\r\n if (v) {\r\n this.setState({ NationalNumber: [\"BB\", \"99\", \"99\", \"99\", \"A\"] });\r\n _nationalNum = \"BB999999A\";\r\n } else {\r\n this.setState({ NationalNumber: [null, null, null, null, null] });\r\n _nationalNum = null;\r\n }\r\n let listIndex = this.props.data.CustomerTaxResidencyDetails?.findIndex(\r\n (ele) => ele.TaxReferenceType == TaxReferenceType.GbrNino\r\n );\r\n listIndex = listIndex == -1 ? 0 : listIndex;\r\n this.props.onCCMChange([\r\n {\r\n value: _nationalNum,\r\n path: `CustomerTaxResidencyDetails.${listIndex}.TaxReference`,\r\n },\r\n {\r\n value: TaxReferenceType.GbrNino,\r\n path: `CustomerTaxResidencyDetails.${listIndex}.TaxReferenceType`,\r\n },\r\n {\r\n value: true,\r\n path: `CustomerTaxResidencyDetails.${listIndex}.IsTaxResident`,\r\n },\r\n ]);\r\n this.setState({ useUniversalNINO: v });\r\n }}\r\n value={this.state.NationalNumber?.toString() == \"BB,99,99,99,A\"}\r\n label=\"Universal National Insurance Number\"\r\n cssWrapper=\"control-size-60 square-checkbox \"\r\n disabled={disableMaritalStatus}\r\n >\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { AddAddress } from \"./AddAddress\";\r\nimport { Email } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { ValidatorContents } from \"../../../../../Common/ValidatorHelper\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { EmailAddressType } from \"../../../../../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { EWizardLinterHelper } from \"../../Resource/EWizardLinterHelper\";\r\nimport { AddressDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { PhoneNumberDetails } from \"../../../Common/ClientDetails/PhoneNumberDetails\";\r\nimport { FullClientDetailHelper } from \"../../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IContactDetailProps extends IProcessComponentProps {\r\n onCCMChange: (changes) => void;\r\n data: FullClientDetailModel;\r\n disableWhenFullClient: boolean;\r\n isAddNewProduct?: boolean;\r\n existingClientInfo?: FullClientDetailModel;\r\n onCorrespondenceAddressChange: (changes) => void;\r\n}\r\n\r\ninterface IContactDetailState {\r\n UseAddressForCorrespondence?: boolean;\r\n disableAddress: boolean;\r\n}\r\n\r\nexport class ContactDetail extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n UseAddressForCorrespondence: null,\r\n disableAddress: false,\r\n };\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.updateUseAddressForCorrespondence();\r\n this.checkDisableStatus();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n\r\n if (\r\n prevProps.data?.ActorId !== this.props.data?.ActorId ||\r\n prevProps.data?.AddressDetails.length !== this.props.data?.AddressDetails.length\r\n ) {\r\n this.updateUseAddressForCorrespondence();\r\n if (this.props.disableWhenFullClient == true) {\r\n this.checkDisableStatus();\r\n }\r\n }\r\n }\r\n\r\n private updateUseAddressForCorrespondence() {\r\n if (this.props.data.AddressDetails?.length > 0) {\r\n this.setState({\r\n UseAddressForCorrespondence: this.isSameCorrespondenceAddress(this.props.data.AddressDetails),\r\n });\r\n }\r\n }\r\n\r\n private isSameCorrespondenceAddress(addressDetails: AddressDetailModel[]): boolean {\r\n if (addressDetails.length < 2) {\r\n return true;\r\n }\r\n const postalAddress = addressDetails?.find((ele) => ele.PhysicalAddressType == PhysicalAddressType.Postal);\r\n const residentialAddress = addressDetails?.find(\r\n (ele) => ele.PhysicalAddressType == PhysicalAddressType.Residential\r\n );\r\n\r\n const isSameCorrespondenceAddress =\r\n !CommonHelper.isNullOrEmpty(postalAddress) &&\r\n !CommonHelper.isNullOrEmpty(residentialAddress) &&\r\n FullClientDetailHelper.isSameAddress(postalAddress?.Address, residentialAddress?.Address);\r\n\r\n return isSameCorrespondenceAddress;\r\n }\r\n\r\n private checkDisableStatus() {\r\n if (this.props.disableWhenFullClient) {\r\n this.setState({\r\n disableAddress: this.getBlockStatus(this.props.existingClientInfo) == EWizardLinterStatus.PleaseCheck,\r\n });\r\n }\r\n if (this.props.isAddNewProduct) {\r\n this.setState({\r\n disableAddress: true,\r\n });\r\n }\r\n }\r\n\r\n private resetUseAddressForCorrespondence() {\r\n const data = this.props.data.AddressDetails;\r\n const index = data?.findIndex((ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential);\r\n\r\n const postalindex = index == 1 ? 0 : 1;\r\n data.splice(postalindex, 1);\r\n this.props.onCCMChange([{ value: data, path: `AddressDetails` }]);\r\n this.setState({\r\n UseAddressForCorrespondence: false,\r\n });\r\n }\r\n\r\n private hasResident(): boolean {\r\n return this.props.data.AddressDetails?.some(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n );\r\n }\r\n\r\n validAddress(address: AddressDetailModel): boolean {\r\n return (\r\n address?.Address?.Address1 != null &&\r\n address?.Address?.Address1 != \"\" &&\r\n address?.Address?.Country != null &&\r\n address?.Address?.PostCode != null &&\r\n address?.Address?.PostCode != \"\"\r\n );\r\n }\r\n\r\n getBlockStatus(model: FullClientDetailModel): EWizardLinterStatus {\r\n const data = model?.AddressDetails;\r\n if (!data || data.length == 0) {\r\n return EWizardLinterHelper.getEWizardLinterStatus(false);\r\n }\r\n const residential = data?.find((x) => x?.PhysicalAddressType == PhysicalAddressType.Residential);\r\n const postal = data?.find((x) => x?.PhysicalAddressType == PhysicalAddressType.Postal);\r\n\r\n const complete = this.validAddress(residential) && this.validAddress(postal);\r\n\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n private setPostalAddress = (v: boolean) => {\r\n const postalAddress = FullClientDetailHelper.setPostalAddress(v, this.props.data);\r\n this.props.onCCMChange(postalAddress);\r\n };\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { disableAddress, UseAddressForCorrespondence } = this.state;\r\n return (\r\n <>\r\n {SectionHeader(\"Contact details\")}\r\n \r\n this.props.onChange({ Address: v })}\r\n address={data.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )}\r\n canChooseCountry={false}\r\n index={\r\n data?.AddressDetails == null || data.AddressDetails?.length == 0\r\n ? 0\r\n : !this.hasResident()\r\n ? 1\r\n : data.AddressDetails?.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n )\r\n }\r\n onCCMChange={(changes) => {\r\n this.props.onCCMChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Residential}\r\n addressList={data.AddressDetails}\r\n resetUseAddressForCorrespondence={() => this.resetUseAddressForCorrespondence()}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n disabled={disableAddress}\r\n />\r\n \r\n\r\n {data.AddressDetails && this.hasResident() && (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n disabled={disableAddress}\r\n required={\"Please select\"}\r\n onChange={(v) => {\r\n this.setPostalAddress(v);\r\n this.setState({ UseAddressForCorrespondence: v });\r\n this.props.onCorrespondenceAddressChange(v);\r\n }}\r\n />\r\n {this.state.UseAddressForCorrespondence == false && (\r\n this.props.onChange({ CorrespondenceAddress: v })}\r\n address={data.AddressDetails?.find(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Postal\r\n )}\r\n canChooseCountry={false}\r\n index={\r\n data.AddressDetails.findIndex(\r\n (ele) => ele?.PhysicalAddressType == PhysicalAddressType.Residential\r\n ) == 0\r\n ? 1\r\n : 0\r\n }\r\n onCCMChange={(changes) => {\r\n this.props.onCCMChange(changes);\r\n }}\r\n addressType={PhysicalAddressType.Postal}\r\n addressList={data.AddressDetails}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={() => {}}\r\n data={null}\r\n disabled={disableAddress}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {\r\n this.props.onCCMChange([\r\n { value: v, path: \"EmailAddressDetails.0.EmailAddress\" },\r\n { value: EmailAddressType.Primary, path: \"EmailAddressDetails.0.EmailAddressType\" },\r\n ]);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n {\r\n this.props.onCCMChange([{ value: value, path: \"PhoneNumberDetails\" }]);\r\n }}\r\n disabled={disableAddress}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { NBSteppers } from \"../../Resource/Contents\";\r\nimport { AdviserDetail } from \"./AdviserDetail\";\r\nimport { ClientDetail } from \"./ClientDetail\";\r\nimport { ContactDetail } from \"./ContactDetail\";\r\nimport { TaxDetail } from \"./TaxDetail\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { NewBusinessAction } from \"../../Actions/NewBusinessAction\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { ProcessNavigateCustomBtn } from \"../../../../../../Shared/Process/Process/ProcessNavigateBtn\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { CustomerPhoneNumberType } from \"../../../../../../../Wrap/Constants/Enums/Domain/CustomerPhoneNumberType\";\r\nimport { TaxReferenceType } from \"../../../../../../../Wrap/Constants/Enums/Customer/TaxReferenceType\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport {\r\n AdviserContextStoreStatic,\r\n CustomerContextDispatcher,\r\n CustomerContextStoreStatic,\r\n} from \"../../Stores/Variable\";\r\nimport { ActionType } from \"../../../../../../../react-core/Flux/ActionType\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountInfoAction } from \"../../../PortfolioDashboard/Components/Role/Action/AccountInfoAction\";\r\nimport { FullClientDetailHelper } from \"../../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\n\r\ninterface IFullClientDetailProps extends IProcessComponentProps {\r\n onChange: (changes) => void;\r\n onRef: (ref) => void;\r\n clearMsg: () => void;\r\n customerId?: number;\r\n navigateAfterSubmit: boolean;\r\n disableWhenFullClient: boolean;\r\n isAddNewProduct: boolean;\r\n ownerAdviserId?: number;\r\n data: ApplyModel;\r\n}\r\n\r\ninterface IFullClientDetailState {\r\n model: FullClientDetailModel;\r\n secondmodel: FullClientDetailModel;\r\n AdvisorName: string;\r\n isLoading: boolean;\r\n isBusy: boolean;\r\n hasMobile: boolean;\r\n hasLandPhone: boolean;\r\n secondCustomerHasLandPhone: boolean;\r\n secondCustomerHasMobile: boolean;\r\n isJointAccount: boolean;\r\n secondCustomerId: number;\r\n hasCorrespondenceAddress: boolean;\r\n}\r\n\r\nexport class FullClientDetail extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n model: {\r\n EmailAddressDetails: [{ EmailAddressType: null, EmailAddress: null }],\r\n CustomerTaxResidencyDetails: [\r\n {\r\n Country: CountryCode.GBR,\r\n IsTaxResident: true,\r\n TaxReferenceType: TaxReferenceType.GbrNino,\r\n },\r\n ],\r\n AddressDetails: [],\r\n },\r\n secondmodel: {\r\n EmailAddressDetails: [{ EmailAddressType: null, EmailAddress: null }],\r\n CustomerTaxResidencyDetails: [\r\n {\r\n Country: CountryCode.GBR,\r\n IsTaxResident: true,\r\n TaxReferenceType: TaxReferenceType.GbrNino,\r\n },\r\n ],\r\n AddressDetails: [],\r\n },\r\n AdvisorName: \"\",\r\n isLoading: true,\r\n isBusy: false,\r\n hasLandPhone: false,\r\n hasMobile: false,\r\n secondCustomerHasLandPhone: false,\r\n secondCustomerHasMobile: false,\r\n isJointAccount: false,\r\n secondCustomerId: 0,\r\n hasCorrespondenceAddress: true,\r\n };\r\n this.subscribeToStore(AdviserContextStoreStatic, () => this.onAdviserContextStoreChange());\r\n this.subscribeToStore(CustomerContextStoreStatic, () => this.onCustomerContextStoreChange());\r\n }\r\n\r\n onCorrespondenceAddressChange(val): void {\r\n this.setState({ hasCorrespondenceAddress: val });\r\n }\r\n\r\n onCustomerContextStoreChange(): void {\r\n this.loadCustomerFromStore();\r\n this.loadAdviserFromStore();\r\n\r\n let initArray = [];\r\n\r\n //only do this when it's NBNC\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, this.state.model);\r\n initArray = FullClientDetailHelper.updatePostalAddress(initArray, this.state.model);\r\n this.onCCMChange(initArray, false);\r\n initArray = [];\r\n\r\n //only do this when it's NBNC\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, this.state.secondmodel);\r\n initArray = FullClientDetailHelper.updatePostalAddress(initArray, this.state.model);\r\n this.onCCMChange(initArray, true);\r\n\r\n if (!this.state.AdvisorName && this.state.model) {\r\n NewBusinessAction.getAdviserDetail(\r\n HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Advisor, this.state.model.ActorOwnerId)\r\n );\r\n }\r\n }\r\n\r\n loadSecondCustomer(customerId: number): void {\r\n NewBusinessAction.getFullClientDetailsForTheSecondCustomer(customerId, (result) => {\r\n this.setState({\r\n secondmodel: result,\r\n secondCustomerHasMobile: result.PhoneNumberDetails.some(\r\n (ele) => ele.PhoneNumberType == CustomerPhoneNumberType.Mobile\r\n ),\r\n secondCustomerHasLandPhone: result.PhoneNumberDetails.some(\r\n (ele) => ele.PhoneNumberType == CustomerPhoneNumberType.Home\r\n ),\r\n });\r\n this.props.onChange({\r\n SecondClientDetails: {\r\n ActorId: result.ActorId,\r\n FirstName: result.PersonalDetails?.GivenName,\r\n LastName: result.PersonalDetails?.FamilyName,\r\n Title: TitleMap.getString(result.PersonalDetails?.Title),\r\n Gender: result.PersonalDetails?.Gender,\r\n DateOfBirth: result.PersonalDetails?.DateOfBirth,\r\n },\r\n });\r\n });\r\n }\r\n\r\n onAdviserContextStoreChange(): void {\r\n this.loadAdviserFromStore();\r\n }\r\n\r\n getSecondCustomer(): void {\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n if (!CommonHelper.isNullOrEmpty(hierarchyId)) {\r\n AccountInfoAction.getAccountRoles(hierarchyId, (result) => {\r\n if (result.some((x) => x.Role == RoleType.JointAccountHolder)) {\r\n const secondCustomerId = result.find(\r\n (x) =>\r\n x.Role == RoleType.JointAccountHolder &&\r\n x.Customer?.CustomerId != this.props.customerId &&\r\n x.Customer?.CustomerId > 0\r\n )?.Customer?.CustomerId;\r\n this.setState({ isJointAccount: true, secondCustomerId: secondCustomerId });\r\n // read full client detail model for the second customer\r\n if (secondCustomerId > 0) {this.loadSecondCustomer(secondCustomerId);}\r\n }\r\n });\r\n }\r\n }\r\n\r\n loadCustomerFromStore(): void {\r\n const val = CustomerContextStoreStatic.getData();\r\n if (\r\n val.CustomerTaxResidencyDetails.length > 1 &&\r\n val.CustomerTaxResidencyDetails[0].Country !== CountryCode.GBR\r\n ) {\r\n // Ensure UK is always at index 0 and always a tax resident\r\n const index = val.CustomerTaxResidencyDetails.findIndex((detail) => {\r\n return detail.Country === CountryCode.GBR;\r\n });\r\n const ukDetails = val.CustomerTaxResidencyDetails.splice(index, 1)[0];\r\n ukDetails.IsTaxResident = true;\r\n val.CustomerTaxResidencyDetails.unshift(ukDetails);\r\n }\r\n this.setState({\r\n model: val,\r\n isLoading: false,\r\n hasMobile: val.PhoneNumberDetails.some((ele) => ele.PhoneNumberType == CustomerPhoneNumberType.Mobile),\r\n hasLandPhone: val.PhoneNumberDetails.some((ele) => ele.PhoneNumberType == CustomerPhoneNumberType.Home),\r\n });\r\n const customer = CustomerContextStoreStatic.getData();\r\n this.props.onChange({\r\n ClientDetails: {\r\n ActorId: customer.ActorId,\r\n FirstName: customer.PersonalDetails?.GivenName,\r\n LastName: customer.PersonalDetails?.FamilyName,\r\n Title: TitleMap.getString(customer.PersonalDetails?.Title),\r\n Gender: customer.PersonalDetails?.Gender,\r\n DateOfBirth: customer.PersonalDetails?.DateOfBirth,\r\n },\r\n });\r\n }\r\n loadAdviserFromStore(): void {\r\n const adv = AdviserContextStoreStatic.getData();\r\n if (adv) {\r\n this.setState({\r\n AdvisorName: adv?.Name,\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n let customerId = this.props.customerId;\r\n const params = getQueryParameters();\r\n if (!CommonHelper.isNullOrEmpty(params[\"id\"]) && CommonHelper.isNullOrEmpty(params[\"hierarychid\"])) {\r\n customerId = this.props.data?.ClientDetails?.ActorId;\r\n }\r\n NewBusinessAction.getCustomerData(customerId, () => {\r\n this.getSecondCustomer();\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.customerId != this.props.customerId && prevProps.customerId != null) {\r\n NewBusinessAction.getCustomerData(this.props.customerId);\r\n }\r\n }\r\n\r\n isValid() {\r\n return (\r\n super.isValid() &&\r\n this.checkValidation(this.state.model) &&\r\n (!this.state.secondCustomerId || this.checkValidation(this.state.secondmodel))\r\n );\r\n }\r\n\r\n checkValidation(model: FullClientDetailModel) {\r\n const flag = super.isValid();\r\n let { isValid, errorMsg } = FullClientDetailHelper.fullClientDetailValidation(model);\r\n if (\r\n model?.AddressDetails?.find((ele) => ele.PhysicalAddressType == PhysicalAddressType.Residential)?.Address\r\n ?.Country != CountryCode.GBR\r\n ) {\r\n errorMsg = errorMsg.concat([\r\n \"You must hold a UK Residential address in order to create a new account or sub-account.\",\r\n ]);\r\n isValid = false;\r\n }\r\n if (\r\n !this.state.hasCorrespondenceAddress &&\r\n !model?.AddressDetails?.some((ele) => ele.PhysicalAddressType == PhysicalAddressType.Postal)\r\n ) {\r\n errorMsg = errorMsg.concat([\"You must enter correspondence address\"]);\r\n isValid = false;\r\n }\r\n if (errorMsg.length > 0) {\r\n this.props.showErrorMsgPopUp(errorMsg, true);\r\n }\r\n return flag && isValid;\r\n }\r\n\r\n saveBeforeExit(isExit: boolean) {\r\n this.saveCCMDetail(isExit, this.state.model, this.props.customerId);\r\n if (this.state.secondCustomerId) {\r\n this.saveCCMDetail(isExit, this.state.secondmodel, this.state.secondCustomerId);\r\n }\r\n }\r\n\r\n saveCCMDetail(isExit: boolean, model: FullClientDetailModel, customerId: number) {\r\n this.setState({ isBusy: true });\r\n const _model = FullClientDetailHelper.beforeSave(model);\r\n\r\n NewBusinessAction.saveCCMDetail(customerId, _model, () => {\r\n this.props.clearMsg();\r\n this.setState({ isBusy: false });\r\n CustomerContextDispatcher.dispatch({ actionType: ActionType.Success, payload: _model });\r\n if (this.props.navigateAfterSubmit) {\r\n if (isExit) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n }).activity\r\n );\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().WrapperSelection);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private onCCMChange = (changes: { value: any; path: string }[], isSecondCustomer: boolean) => {\r\n let { model } = this.state;\r\n if (isSecondCustomer) {\r\n model = this.state.secondmodel;\r\n }\r\n this.props.clearMsg();\r\n let _model = { ...model };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n if (!isSecondCustomer) {\r\n this.setState({ model: _model });\r\n } else {\r\n this.setState({ secondmodel: _model });\r\n }\r\n };\r\n\r\n getFirstCustomerContent(): JSX.Element {\r\n return (\r\n <>\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes, false);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={this.props.disableWhenFullClient}\r\n isAddNewProduct={this.props.isAddNewProduct}\r\n index={1}\r\n />\r\n\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes, false);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={this.props.disableWhenFullClient}\r\n isAddNewProduct={this.props.isAddNewProduct}\r\n onCorrespondenceAddressChange={(changes) => {\r\n this.onCorrespondenceAddressChange(changes);\r\n }}\r\n />\r\n\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes, false);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={this.props.disableWhenFullClient}\r\n isAddNewProduct={this.props.isAddNewProduct}\r\n />\r\n \r\n );\r\n }\r\n\r\n getSecondCustomerContent(): JSX.Element {\r\n return (\r\n <>\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes, true);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={this.props.disableWhenFullClient}\r\n isAddNewProduct={this.props.isAddNewProduct}\r\n index={2}\r\n />\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes, true);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={this.props.disableWhenFullClient}\r\n isAddNewProduct={this.props.isAddNewProduct}\r\n onCorrespondenceAddressChange={(changes) => {\r\n this.onCorrespondenceAddressChange(changes);\r\n }}\r\n />\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onCCMChange(changes, true);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={this.props.disableWhenFullClient}\r\n isAddNewProduct={this.props.isAddNewProduct}\r\n />\r\n \r\n );\r\n }\r\n render() {\r\n if (this.state.isLoading) {\r\n return ;\r\n }\r\n return (\r\n <>\r\n

{NBSteppers.fullClientDetail}

\r\n {}}\r\n onAdviserChange={null}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n {!this.state.secondCustomerId || this.state.secondCustomerId == 0 ? (\r\n this.getFirstCustomerContent()\r\n ) : (\r\n <>\r\n \r\n {this.getFirstCustomerContent()}\r\n \r\n \r\n )}\r\n\r\n {this.props.navigateAfterSubmit && (\r\n {\r\n if (\r\n this.checkValidation(this.state.model) &&\r\n (!this.state.secondCustomerId ||\r\n this.state.secondCustomerId == 0 ||\r\n this.checkValidation(this.state.secondmodel))\r\n ) {\r\n let customerId = this.props.customerId;\r\n const params = getQueryParameters();\r\n if (\r\n !CommonHelper.isNullOrEmpty(params[\"id\"]) &&\r\n CommonHelper.isNullOrEmpty(params[\"hierarychid\"])\r\n ) {\r\n customerId = this.props.data?.ClientDetails?.ActorId;\r\n }\r\n this.saveCCMDetail(false, this.state.model, customerId);\r\n if (this.state.secondCustomerId > 0)\r\n {this.saveCCMDetail(false, this.state.secondmodel, this.state.secondCustomerId);}\r\n }\r\n },\r\n }}\r\n isBusy={this.state.isBusy}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { MifirCountryIdentifier } from \"../../../../../../../Wrap/Models/Domains/Regulations/MifirCountryIdentifier\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { MifirIdentifierType } from \"../../../../../../../Wrap/Constants/Enums/Domain/MifirIdentifierType\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { NationalInsuranceNumber } from \"../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\n\r\ninterface INationalIdentifierProps extends IProcessComponentProps {\r\n data: CustomerTaxResidencyModel;\r\n onNationalIdentifierChange: (identifierType: MifirIdentifierType, value: string) => void;\r\n disabled?: boolean;\r\n identifiers: MifirCountryIdentifier[];\r\n isEdit: boolean;\r\n}\r\n\r\ninterface INationalIdentifierState {\r\n dontOwnThis: boolean[];\r\n renderThreshold: number;\r\n}\r\n\r\nexport class NationalIdentifier extends ProcessComponent {\r\n constructor(props: INationalIdentifierProps) {\r\n super(props);\r\n this.state = { dontOwnThis: [], renderThreshold: 0 };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { identifiers, data, isEdit } = this.props;\r\n const _dontOwnThis = [];\r\n let _renderThreshold = 0;\r\n const clientOwnsTheFirstIdentifier =\r\n identifiers.length > 0 ? this.clientOwnThisIdentifier(data, identifiers[0]) : false;\r\n identifiers.forEach((config, i) => {\r\n const mandatory =\r\n i == identifiers.length - 1 && config?.Country != CountryCode.ESP && config?.Country != CountryCode.POL;\r\n if (\r\n (config.IdentifierPriority == 1 || !clientOwnsTheFirstIdentifier) &&\r\n config.IdentifierType !== MifirIdentifierType.Concat\r\n ) {\r\n const nationalityIdentifier = this.clientTaxIdentifier(data, config, mandatory);\r\n if (nationalityIdentifier == \"\") {\r\n _dontOwnThis[i] = true;\r\n _renderThreshold++;\r\n } else if (nationalityIdentifier == null && isEdit) {\r\n _dontOwnThis[i] = true;\r\n _renderThreshold++;\r\n } else {\r\n _dontOwnThis[i] = false;\r\n }\r\n }\r\n });\r\n\r\n this.setState({ dontOwnThis: _dontOwnThis, renderThreshold: _renderThreshold });\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps: INationalIdentifierProps) {\r\n if (!this.state.dontOwnThis.length && nextProps.identifiers.length) {\r\n const { identifiers, data, isEdit } = nextProps;\r\n const _dontOwnThis = [];\r\n const clientOwnsTheFirstIdentifier =\r\n identifiers.length > 0 ? this.clientOwnThisIdentifier(data, identifiers[0]) : false;\r\n identifiers.forEach((config, i) => {\r\n const mandatory =\r\n i == identifiers.length - 1 &&\r\n config?.Country != CountryCode.ESP &&\r\n config?.Country != CountryCode.POL;\r\n if (\r\n (config.IdentifierPriority == 1 || !clientOwnsTheFirstIdentifier) &&\r\n config.IdentifierType !== MifirIdentifierType.Concat\r\n ) {\r\n const nationalityIdentifier = this.clientTaxIdentifier(data, config, mandatory);\r\n if (nationalityIdentifier == \"\") {\r\n _dontOwnThis[i] = true;\r\n } else if (nationalityIdentifier == null && isEdit) {\r\n _dontOwnThis[i] = true;\r\n } else {\r\n _dontOwnThis[i] = false;\r\n }\r\n }\r\n });\r\n\r\n this.setState({ dontOwnThis: _dontOwnThis });\r\n }\r\n }\r\n\r\n clientOwnThisIdentifier(data: CustomerTaxResidencyModel, mifirCountryIdentifier: MifirCountryIdentifier): boolean {\r\n switch (mifirCountryIdentifier.IdentifierType) {\r\n case MifirIdentifierType.PassportNumber:\r\n return !CommonHelper.isNullOrEmpty(data.PassportNumber);\r\n case MifirIdentifierType.NationalIdentifier:\r\n return !CommonHelper.isNullOrEmpty(data.NationalIdentifier);\r\n case MifirIdentifierType.TaxNumber:\r\n return !CommonHelper.isNullOrEmpty(data.TaxReference);\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n clearData(currentIndex: number) {\r\n const { identifiers, data } = this.props;\r\n const clientOwnsTheFirstIdentifier =\r\n identifiers.length > 0 ? this.clientOwnThisIdentifier(data, identifiers[0]) : false;\r\n for (let i = currentIndex; i < identifiers.length; i++) {\r\n const config = identifiers[i];\r\n if (\r\n (config.IdentifierPriority == 1 || !clientOwnsTheFirstIdentifier) &&\r\n config.IdentifierType !== MifirIdentifierType.Concat\r\n ) {\r\n this.props.onNationalIdentifierChange(config.IdentifierType, null);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { identifiers, data, disabled } = this.props;\r\n const { dontOwnThis, renderThreshold } = this.state;\r\n const result = [];\r\n const clientOwnsTheFirstIdentifier =\r\n identifiers.length > 0 ? this.clientOwnThisIdentifier(data, identifiers[0]) : false;\r\n\r\n identifiers.forEach((config, i) => {\r\n if (\r\n (config.IdentifierPriority == 1 || !clientOwnsTheFirstIdentifier) &&\r\n config.IdentifierType !== MifirIdentifierType.Concat\r\n ) {\r\n const mandatory = i == identifiers.length - 1 && config?.Country != CountryCode.ESP;\r\n if (i <= renderThreshold) {\r\n result.push(\r\n <>\r\n {\r\n this.props.onNationalIdentifierChange(config.IdentifierType, v);\r\n }}\r\n disabled={dontOwnThis[i] || disabled}\r\n regex={{\r\n errorMessage: data.Country == CountryCode.GBR ? \"Incorrect NINO format\" : null,\r\n value: data.Country == CountryCode.GBR ? NationalInsuranceNumber : null,\r\n }}\r\n />\r\n {!mandatory && data.Country != CountryCode.ESP && (\r\n {\r\n const _dontOwnThis = JSON.parse(JSON.stringify(dontOwnThis));\r\n _dontOwnThis[i] = v;\r\n let _threshold = i;\r\n if (v) {\r\n _threshold++;\r\n } else {\r\n // clear data\r\n this.clearData(i);\r\n }\r\n this.setState({ dontOwnThis: _dontOwnThis, renderThreshold: _threshold });\r\n if (v) {\r\n this.props.onNationalIdentifierChange(config.IdentifierType, null);\r\n }\r\n }}\r\n disabled={disabled}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n }\r\n });\r\n\r\n return <>{result};\r\n }\r\n\r\n clientTaxIdentifier(\r\n data: CustomerTaxResidencyModel,\r\n mifirCountryIdentifier: MifirCountryIdentifier,\r\n mandatory: boolean\r\n ): string {\r\n switch (mifirCountryIdentifier.IdentifierType) {\r\n case MifirIdentifierType.PassportNumber:\r\n if (mandatory) {\r\n data.PassportNumber = data.PassportNumber ? data.PassportNumber : null;\r\n }\r\n return data.PassportNumber;\r\n case MifirIdentifierType.NationalIdentifier:\r\n return data.NationalIdentifier;\r\n case MifirIdentifierType.TaxNumber:\r\n return data.TaxReference;\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { NationalIdentifier } from \"./NationalIdentifier\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { MifirCountryIdentifier } from \"../../../../../../../Wrap/Models/Domains/Regulations/MifirCountryIdentifier\";\r\nimport { MifirIdentifierType } from \"../../../../../../../Wrap/Constants/Enums/Domain/MifirIdentifierType\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface INationalIdentifierPairProps extends IProcessComponentProps {\r\n data: CustomerTaxResidencyModel;\r\n disabled?: boolean;\r\n mifirCountryIdentifier: MifirCountryIdentifier[];\r\n onChange: (\r\n mifirIdentifierIdentifier: MifirIdentifierType,\r\n customerTaxResidencyModel: CustomerTaxResidencyModel\r\n ) => void;\r\n isEdit?: boolean;\r\n}\r\n\r\ninterface INationalIdentifierPairState {}\r\n\r\nexport class NationalIdentifierPair extends ProcessComponent<\r\n INationalIdentifierPairProps,\r\n INationalIdentifierPairState\r\n> {\r\n constructor(props: INationalIdentifierPairProps) {\r\n super(props);\r\n }\r\n\r\n clientOwnThisIdentifier(data: CustomerTaxResidencyModel, mifirCountryIdentifier: MifirCountryIdentifier): boolean {\r\n switch (mifirCountryIdentifier.IdentifierType) {\r\n case MifirIdentifierType.PassportNumber:\r\n return !CommonHelper.isNullOrEmpty(data.PassportNumber);\r\n case MifirIdentifierType.NationalIdentifier:\r\n return !CommonHelper.isNullOrEmpty(data.NationalIdentifier);\r\n case MifirIdentifierType.TaxNumber:\r\n return !CommonHelper.isNullOrEmpty(data.TaxReference);\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n render() {\r\n const { data, mifirCountryIdentifier } = this.props;\r\n\r\n return (\r\n this.appendChild(ref)}\r\n data={data}\r\n onNationalIdentifierChange={(type, value) => this.onNationalIdenfierChange(type, value)}\r\n disabled={this.props.disabled}\r\n identifiers={mifirCountryIdentifier}\r\n onChange={() => {}}\r\n isEdit={this.props.isEdit || false}\r\n />\r\n );\r\n }\r\n\r\n onNationalIdenfierChange(mifirIdentifierIdentifier: MifirIdentifierType, value: string) {\r\n const { data } = this.props;\r\n switch (mifirIdentifierIdentifier) {\r\n case MifirIdentifierType.NationalIdentifier:\r\n data.NationalIdentifier = value;\r\n break;\r\n case MifirIdentifierType.PassportNumber:\r\n data.PassportNumber = value;\r\n break;\r\n case MifirIdentifierType.TaxNumber:\r\n data.TaxReference = value;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.props.onChange(mifirIdentifierIdentifier, data);\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { NationalIdentifierPair } from \"./NationalIdentifierPair\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { MifirCountryIdentifier } from \"../../../../../../../Wrap/Models/Domains/Regulations/MifirCountryIdentifier\";\r\nimport { MifirCountryIdentifierClient } from \"../../../../../../../Wrap/Api/Regulations/MifirCountryIdentifier\";\r\nimport { MifirIdentifierType } from \"../../../../../../../Wrap/Constants/Enums/Domain/MifirIdentifierType\";\r\n\r\ninterface INationalityProps extends IProcessComponentProps {\r\n data: CustomerTaxResidencyModel[];\r\n disableTax: boolean;\r\n residencies: CustomerTaxResidencyModel[];\r\n onChange: (customerTaxResidencyModel: CustomerTaxResidencyModel[]) => void;\r\n isPoa?: boolean;\r\n}\r\n\r\ninterface INationalityState {\r\n mifirCountryIdentifiers: Map;\r\n}\r\n\r\nexport class Nationality extends ProcessComponent {\r\n constructor(props: INationalityProps) {\r\n super(props);\r\n this.state = {\r\n mifirCountryIdentifiers: new Map(),\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n this.props.data?.map((x) => x.Country && this.loadMifirCountryIdentifier(x.Country));\r\n }\r\n\r\n private addCountryComponent(): void {\r\n const { data, onChange } = this.props;\r\n const changes = [...data];\r\n changes.push({\r\n IsNationality: true,\r\n Country: CountryCode.NotSpecified\r\n });\r\n onChange(changes);\r\n }\r\n\r\n private removeCountryComponent(index: number): void {\r\n const { data, onChange } = this.props;\r\n const changes = [...data];\r\n changes.splice(index, 1);\r\n onChange(changes);\r\n }\r\n\r\n private countryHasTaxReferenceIdentifier(isTaxResident: boolean, country: CountryCode): boolean {\r\n const { mifirCountryIdentifiers } = this.state;\r\n return (\r\n country &&\r\n isTaxResident &&\r\n mifirCountryIdentifiers.has(country) &&\r\n mifirCountryIdentifiers.get(country)[0].IdentifierType == MifirIdentifierType.TaxNumber\r\n );\r\n }\r\n\r\n render() {\r\n const { data, onChange, disableTax, residencies } = this.props;\r\n\r\n if (data && data.length === 0) {\r\n data.push({ IsNationality: true, Country: CountryCode.NotSpecified });\r\n }\r\n\r\n return (\r\n <>\r\n {data &&\r\n data.map((nationality, index) => {\r\n const isTaxResident =\r\n nationality.Country === CountryCode.POL\r\n ? false\r\n : residencies.some((residency) => {\r\n return residency.Country === nationality.Country;\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n CountryCodeMap.getString(v)}\r\n label=\"Country of nationality\"\r\n onChange={(v) => {\r\n this.loadMifirCountryIdentifier(v);\r\n const changes = [...data];\r\n changes[index].Country = v;\r\n changes[index].PrimaryCitizenship = null;\r\n changes[index].NationalIdentifier = null;\r\n changes[index].PassportNumber = null;\r\n if (v != CountryCode.GBR) {\r\n changes[index].TaxReference = null;\r\n }\r\n\r\n onChange(changes);\r\n }}\r\n required={\"Please select country of nationality\"}\r\n selected={nationality.Country || null}\r\n disabled={disableTax}\r\n validationRules={[\r\n {\r\n errorMessage: \"Cannot select one country twice\",\r\n validator: (v) => {\r\n return (\r\n data.find((entry, i) => {\r\n return i !== index && entry.Country === v;\r\n }) === undefined\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n {disableTax == false && (\r\n <>\r\n {index == 0 ? (\r\n
\r\n {data.length < 6 && (\r\n {\r\n this.addCountryComponent();\r\n }}\r\n >\r\n \r\n {\"Add another nationality\"}\r\n \r\n )}\r\n
\r\n ) : (\r\n {\r\n this.removeCountryComponent(index);\r\n }}\r\n >\r\n Remove\r\n \r\n )}\r\n \r\n )}\r\n
\r\n\r\n
\r\n
\r\n (v ? \"Yes\" : \"No\")}\r\n required={\"Please select\"}\r\n alwaysValidateOnUpdate={false}\r\n disabled={disableTax}\r\n onChange={(v) => {\r\n let changes = [...data];\r\n if (v) {\r\n changes = changes.map((entry) => {\r\n if (\r\n entry.PrimaryCitizenship &&\r\n nationality.Country !== entry.Country\r\n ) {\r\n entry.PrimaryCitizenship = false;\r\n }\r\n return entry;\r\n });\r\n }\r\n changes[index].PrimaryCitizenship = v;\r\n onChange(changes);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n {nationality.Country != null &&\r\n !this.countryHasTaxReferenceIdentifier(isTaxResident, nationality.Country) &&\r\n (this.props.isPoa || nationality.Country !== CountryCode.GBR) && (\r\n /* don't display if client is a tax resident in this country and this country has a Tax Reference */\r\n
\r\n
\r\n {\r\n const changes = [...data];\r\n changes[index] = r;\r\n onChange(changes);\r\n }}\r\n disabled={disableTax}\r\n onRef={(ref) => this.appendChild(ref)}\r\n mifirCountryIdentifier={\r\n this.state.mifirCountryIdentifiers.has(nationality.Country)\r\n ? this.state.mifirCountryIdentifiers\r\n .get(nationality.Country)\r\n .filter(\r\n (ele) =>\r\n !(\r\n isTaxResident &&\r\n ele.IdentifierType ==\r\n MifirIdentifierType.TaxNumber\r\n )\r\n )\r\n : []\r\n }\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n\r\n loadMifirCountryIdentifier(countryCode: CountryCode) {\r\n const { mifirCountryIdentifiers } = this.state;\r\n if (!mifirCountryIdentifiers.has(countryCode)) {\r\n new MifirCountryIdentifierClient().get(countryCode).onSuccess((data) => {\r\n //Concat is not eligible in new business according to old wizard logic - account info step\r\n mifirCountryIdentifiers.set(countryCode, data);\r\n this.setState({ mifirCountryIdentifiers: mifirCountryIdentifiers });\r\n });\r\n }\r\n }\r\n}\r\n","import { SectionHeader } from \"../SharedComponents\";\r\nimport * as React from \"react\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TaxResidency } from \"./TaxResidency\";\r\nimport { Nationality } from \"./Nationality\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport {\r\n IndividualEmploymentStatusOptions,\r\n IndividualEmploymentStatusOptionsMap,\r\n} from \"../../../NewQuoteWizard/Resource/Content\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../Resource/EWizardLinterHelper\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isEmpty } from \"lodash\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface ITaxDetailProps extends IProcessComponentProps {\r\n onCCMChange: (changes) => void;\r\n data: FullClientDetailModel;\r\n disableWhenFullClient: boolean;\r\n isAddNewProduct?: boolean;\r\n existingClientInfo?: FullClientDetailModel;\r\n disableHeader?: boolean;\r\n}\r\n\r\ninterface ITaxDetailState {\r\n disableTax: boolean;\r\n taxResidencyOtherThanUK: boolean;\r\n residencies: CustomerTaxResidencyModel[];\r\n nationalities: CustomerTaxResidencyModel[];\r\n}\r\n\r\nexport class TaxDetail extends ProcessComponent {\r\n constructor(props: ITaxDetailProps) {\r\n super(props);\r\n this.state = {\r\n disableTax: false,\r\n taxResidencyOtherThanUK: props?.data?.CustomerTaxResidencyDetails?.some(\r\n (x) => x?.Country !== CountryCode.GBR && x?.IsTaxResident == true\r\n ),\r\n residencies: props.data.CustomerTaxResidencyDetails.filter((entry) => {\r\n return entry.IsTaxResident;\r\n }).map(\r\n (entry): CustomerTaxResidencyModel => {\r\n return {\r\n Country: entry.Country,\r\n IsTaxResident: entry.IsTaxResident,\r\n PrimaryTaxResidency: entry.PrimaryTaxResidency,\r\n TaxReferenceType: entry.TaxReferenceType,\r\n TaxReference: entry.TaxReference,\r\n TaxResidencyForPensionRelief: entry.TaxResidencyForPensionRelief,\r\n TaxExempt: entry.TaxExempt,\r\n TaxExemptionReason: entry.TaxExemptionReason,\r\n };\r\n }\r\n ),\r\n nationalities: props.data.CustomerTaxResidencyDetails.filter((entry) => {\r\n return entry.IsNationality;\r\n }).map(\r\n (entry): CustomerTaxResidencyModel => {\r\n return {\r\n Country: entry.Country,\r\n PrimaryCitizenship: entry.PrimaryCitizenship,\r\n NationalIdentifier: entry.NationalIdentifier,\r\n PassportNumber: entry.PassportNumber,\r\n TaxExempt: entry.TaxExempt,\r\n TaxExemptionReason: entry.TaxExemptionReason,\r\n IsNationality: entry.IsNationality,\r\n TaxReference: entry.TaxReference,\r\n };\r\n }\r\n ),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.checkDisableStatus();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.data?.ActorId !== this.props.data?.ActorId && this.props.disableWhenFullClient == true) {\r\n this.checkDisableStatus();\r\n }\r\n\r\n if (\r\n this.props.data.CustomerTaxResidencyDetails.length > 0 ||\r\n prevProps.data?.ActorId !== this.props.data?.ActorId\r\n ) {\r\n const { CustomerTaxResidencyDetails } = this.props.data;\r\n if (\r\n this.props.data?.CustomerTaxResidencyDetails?.length !=\r\n prevProps.data?.CustomerTaxResidencyDetails?.length\r\n ) {\r\n const nationalities = CustomerTaxResidencyDetails.filter((entry) => {\r\n return entry.IsNationality;\r\n }).map(\r\n (entry): CustomerTaxResidencyModel => {\r\n return {\r\n Country: entry.Country,\r\n PrimaryCitizenship: entry.PrimaryCitizenship,\r\n NationalIdentifier: entry.NationalIdentifier,\r\n PassportNumber: entry.PassportNumber,\r\n TaxExempt: entry.TaxExempt,\r\n TaxExemptionReason: entry.TaxExemptionReason,\r\n IsNationality: entry.IsNationality,\r\n TaxReference: entry.TaxReference,\r\n };\r\n }\r\n );\r\n const residencies = CustomerTaxResidencyDetails.filter((entry) => {\r\n return entry.IsTaxResident;\r\n }).map(\r\n (entry): CustomerTaxResidencyModel => {\r\n return {\r\n Country: entry.Country,\r\n IsTaxResident: entry.IsTaxResident,\r\n PrimaryTaxResidency: entry.PrimaryTaxResidency,\r\n TaxReferenceType: entry.TaxReferenceType,\r\n TaxReference: entry.TaxReference,\r\n TaxResidencyForPensionRelief: entry.TaxResidencyForPensionRelief,\r\n TaxExempt: entry.TaxExempt,\r\n TaxExemptionReason: entry.TaxExemptionReason,\r\n };\r\n }\r\n );\r\n if (this.state.residencies.length !== residencies.length) {\r\n this.setState({\r\n residencies: residencies.length > 0 ? residencies : [{ IsTaxResident: true }],\r\n nationalities: nationalities,\r\n // taxResidencyOtherThanUK: residencies.some((residency) => residency.Country !== CountryCode.GBR),\r\n });\r\n }\r\n if (this.state.nationalities.length !== nationalities.length) {\r\n this.setState({\r\n nationalities: nationalities,\r\n });\r\n }\r\n } else if (\r\n CustomerTaxResidencyDetails[0].TaxReference !== this.state.residencies?.[0]?.TaxReference &&\r\n this.state.residencies?.[0]?.Country == CountryCode.GBR\r\n ) {\r\n // NI number is always on the UK entry and this is always the first entry\r\n const { residencies } = this.state;\r\n const { nationalities } = this.state;\r\n residencies[0].TaxReference = CustomerTaxResidencyDetails[0].TaxReference;\r\n if (nationalities[0].Country === CountryCode.GBR) {\r\n nationalities[0].TaxReference = CustomerTaxResidencyDetails[0].TaxReference;\r\n }\r\n this.setState({ residencies: residencies, nationalities: nationalities });\r\n }\r\n }\r\n }\r\n\r\n private checkDisableStatus() {\r\n if (this.props.disableWhenFullClient) {\r\n this.setState({\r\n disableTax: this.getBlockStatus(this.props.existingClientInfo) == EWizardLinterStatus.PleaseCheck,\r\n });\r\n }\r\n if (this.props.isAddNewProduct) {\r\n this.setState({\r\n disableTax: true,\r\n });\r\n }\r\n }\r\n\r\n getBlockStatus(data: FullClientDetailModel): EWizardLinterStatus {\r\n let complete =\r\n data?.EmploymentDetails?.IndividualEmploymentStatus != null &&\r\n data?.CustomerTaxResidencyDetails?.findIndex((x) => !this.validateCountry(x)) == -1;\r\n if (complete) {\r\n complete =\r\n data?.CustomerTaxResidencyDetails.some((x) => x.IsNationality == true) &&\r\n data?.CustomerTaxResidencyDetails.some((x) => x.IsTaxResident == true) &&\r\n data?.CustomerTaxResidencyDetails.some((x) => x.PrimaryCitizenship != null);\r\n }\r\n if (complete && data?.EmploymentDetails?.IsCrownEmployeeOrArmedForce == false) {\r\n complete = data?.CustomerTaxResidencyDetails.some(\r\n (x) =>\r\n x?.Country != CountryCode.GBR &&\r\n ((x?.IsTaxResident == true && !CommonHelper.isNullOrEmpty(x?.TaxReference)) ||\r\n (x?.IsNationality && !CommonHelper.isNullOrEmpty(x?.PassportNumber)))\r\n );\r\n }\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n validateCountry(data: CustomerTaxResidencyModel): boolean {\r\n if (isEmpty(data)) {return true;}\r\n if (data?.Country != null && data?.Country == CountryCode.GBR) {\r\n return data?.IsTaxResident != null && data?.PrimaryTaxResidency != null;\r\n } else {\r\n if (data?.Country == null && (data?.PrimaryTaxResidency == null || data?.PrimaryCitizenship == null)) {\r\n return false;\r\n }\r\n if (data?.IsTaxResident && data?.IsTaxResident == true) {\r\n return data?.TaxReference != null;\r\n }\r\n if (data?.IsNationality && data?.IsNationality == true) {\r\n return (\r\n !CommonHelper.isNullOrEmpty(data?.NationalIdentifier) ||\r\n !CommonHelper.isNullOrEmpty(data?.PassportNumber)\r\n );\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private onNationalityChange(changes: CustomerTaxResidencyModel[]) {\r\n const { residencies } = this.state;\r\n changes.forEach((item) => {\r\n if (item.Country != CountryCode.GBR && item?.Country != null) {\r\n const tempResidency = residencies?.find((x) => x.Country == item.Country);\r\n if (!CommonHelper.isNullOrEmpty(tempResidency)) {\r\n item.TaxReference = tempResidency?.TaxReference;\r\n }\r\n }\r\n });\r\n this.setState({ nationalities: changes }, this.updateCustomerTaxData);\r\n }\r\n\r\n private onResidencyChange(changes) {\r\n this.setState({ residencies: changes }, this.updateCustomerTaxData);\r\n }\r\n\r\n private updateCustomerTaxData() {\r\n const ctdChanges = this.state.residencies.filter((residency) => {\r\n return residency.Country || residency.Country == CountryCode.NotSpecified;\r\n });\r\n this.state.nationalities\r\n .filter((nationality) => {\r\n return nationality.Country != null;\r\n })\r\n .forEach((nationality) => {\r\n const existingResidencyIndex = ctdChanges.findIndex((residency) => {\r\n return nationality.Country === residency.Country && nationality.Country != CountryCode.NotSpecified;\r\n });\r\n if (existingResidencyIndex > -1) {\r\n ctdChanges[existingResidencyIndex] = {\r\n ...ctdChanges[existingResidencyIndex],\r\n ...nationality,\r\n ...{ TaxReference: ctdChanges[existingResidencyIndex]?.TaxReference },\r\n };\r\n } else {\r\n ctdChanges.push(nationality);\r\n }\r\n });\r\n\r\n this.props.onCCMChange([{ value: ctdChanges, path: \"CustomerTaxResidencyDetails\" }]);\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { disableTax } = this.state;\r\n const employmentDetails = data.EmploymentDetails;\r\n\r\n return (\r\n \r\n {!this.props.disableHeader && SectionHeader(\"Regulatory details\")}\r\n\r\n (v ? \"Yes\" : \"No\")}\r\n disabled={disableTax}\r\n onChange={(v) => {\r\n this.setState({ taxResidencyOtherThanUK: v });\r\n if (!v) {\r\n // Remove other residencies\r\n const newResidencies = this.state.residencies.filter((residency) => {\r\n return residency.Country === CountryCode.GBR;\r\n });\r\n this.onResidencyChange(newResidencies);\r\n } else {\r\n this.props.onCCMChange([\r\n {\r\n value: this.props?.data?.EmploymentDetails?.IsCrownEmployeeOrArmedForce\r\n ? true\r\n : false,\r\n path: \"EmploymentDetails.IsCrownEmployeeOrArmedForce\",\r\n },\r\n ]);\r\n }\r\n }}\r\n />\r\n {this.state.taxResidencyOtherThanUK && (\r\n (v ? \"Yes\" : \"No\")}\r\n disabled={disableTax}\r\n onChange={(v) => {\r\n if (v) {\r\n this.props.onCCMChange([\r\n { value: v, path: \"EmploymentDetails.IsCrownEmployeeOrArmedForce\" },\r\n ]);\r\n // Remove other residencies\r\n const newResidencies = this.state.residencies.filter((residency) => {\r\n return residency.Country === CountryCode.GBR;\r\n });\r\n this.onResidencyChange(newResidencies);\r\n } else {\r\n this.props.onCCMChange([\r\n { value: v, path: \"EmploymentDetails.IsCrownEmployeeOrArmedForce\" },\r\n ]);\r\n }\r\n }}\r\n />\r\n )}\r\n {!employmentDetails?.IsCrownEmployeeOrArmedForce && this.state.taxResidencyOtherThanUK && (\r\n this.onResidencyChange(v)}\r\n disableTax={disableTax}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n )}\r\n\r\n {\r\n this.onNationalityChange(v);\r\n }}\r\n disableTax={disableTax}\r\n onRef={(ref) => this.appendChild(ref)}\r\n residencies={this.state.residencies}\r\n />\r\n\r\n {!this.props.disableHeader && (\r\n {\r\n return IndividualEmploymentStatusOptionsMap[v];\r\n }}\r\n required={\"Please select employment status\"}\r\n onChange={(v) =>\r\n this.props.onCCMChange([{ value: v, path: \"EmploymentDetails.IndividualEmploymentStatus\" }])\r\n }\r\n label={\"Employment status\"}\r\n disabled={disableTax}\r\n selected={data.EmploymentDetails?.IndividualEmploymentStatus}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { SectionHeader } from \"../SharedComponents\";\r\nimport * as React from \"react\";\r\nimport { TaxResidency } from \"./TaxResidency\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../Resource/EWizardLinterHelper\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isEmpty } from \"lodash\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface ITaxDetailFatcaProps extends IProcessComponentProps {\r\n onCCMChange: (changes) => void;\r\n data: FullClientDetailModel;\r\n disableWhenFullClient: boolean;\r\n isAddNewProduct?: boolean;\r\n existingClientInfo?: FullClientDetailModel;\r\n disableHeader?: boolean;\r\n}\r\n\r\ninterface ITaxDetailFatcaState {\r\n disableTax: boolean;\r\n taxResidencyOtherThanUK: boolean;\r\n residencies: CustomerTaxResidencyModel[];\r\n}\r\n\r\nexport class TaxDetailFatca extends ProcessComponent {\r\n constructor(props: ITaxDetailFatcaProps) {\r\n super(props);\r\n this.state = {\r\n disableTax: false,\r\n taxResidencyOtherThanUK: props?.data?.CustomerTaxResidencyDetails?.some(\r\n (x) => x?.Country !== CountryCode.GBR && x?.IsTaxResident == true\r\n ),\r\n residencies: props.data.CustomerTaxResidencyDetails.filter((entry) => {\r\n return entry.IsTaxResident;\r\n }).map(\r\n (entry): CustomerTaxResidencyModel => {\r\n return {\r\n Country: entry.Country,\r\n IsTaxResident: entry.IsTaxResident,\r\n PrimaryTaxResidency: entry.PrimaryTaxResidency,\r\n TaxReferenceType: entry.TaxReferenceType,\r\n TaxReference: entry.TaxReference,\r\n TaxResidencyForPensionRelief: entry.TaxResidencyForPensionRelief,\r\n TaxExempt: entry.TaxExempt,\r\n TaxExemptionReason: entry.TaxExemptionReason,\r\n };\r\n }\r\n ),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.checkDisableStatus();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n if (prevProps.data?.ActorId !== this.props.data?.ActorId && this.props.disableWhenFullClient == true) {\r\n this.checkDisableStatus();\r\n }\r\n\r\n if (\r\n this.props.data.CustomerTaxResidencyDetails.length > 0 ||\r\n prevProps.data?.ActorId !== this.props.data?.ActorId\r\n ) {\r\n const { CustomerTaxResidencyDetails } = this.props.data;\r\n if (\r\n this.props.data?.CustomerTaxResidencyDetails?.length !=\r\n prevProps.data?.CustomerTaxResidencyDetails?.length\r\n ) {\r\n const residencies = CustomerTaxResidencyDetails.filter((entry) => {\r\n return entry.IsTaxResident;\r\n }).map(\r\n (entry): CustomerTaxResidencyModel => {\r\n return {\r\n Country: entry.Country,\r\n IsTaxResident: entry.IsTaxResident,\r\n PrimaryTaxResidency: entry.PrimaryTaxResidency,\r\n TaxReferenceType: entry.TaxReferenceType,\r\n TaxReference: entry.TaxReference,\r\n TaxResidencyForPensionRelief: entry.TaxResidencyForPensionRelief,\r\n TaxExempt: entry.TaxExempt,\r\n TaxExemptionReason: entry.TaxExemptionReason,\r\n };\r\n }\r\n );\r\n if (this.state.residencies.length !== residencies.length) {\r\n this.setState({\r\n residencies: residencies,\r\n taxResidencyOtherThanUK: residencies.some((residency) => residency.Country !== CountryCode.GBR),\r\n });\r\n }\r\n } else if (\r\n CustomerTaxResidencyDetails[0].TaxReference !== this.state.residencies?.[0]?.TaxReference &&\r\n this.state.residencies?.[0]?.Country == CountryCode.GBR\r\n ) {\r\n // NI number is always on the UK entry and this is always the first entry\r\n const { residencies } = this.state;\r\n residencies[0].TaxReference = CustomerTaxResidencyDetails[0].TaxReference;\r\n }\r\n }\r\n }\r\n\r\n private checkDisableStatus() {\r\n if (this.props.disableWhenFullClient) {\r\n this.setState({\r\n disableTax: this.getBlockStatus(this.props.existingClientInfo) == EWizardLinterStatus.PleaseCheck,\r\n });\r\n }\r\n if (this.props.isAddNewProduct) {\r\n this.setState({\r\n disableTax: true,\r\n });\r\n }\r\n }\r\n\r\n getBlockStatus(data: FullClientDetailModel): EWizardLinterStatus {\r\n let complete =\r\n data?.EmploymentDetails?.IndividualEmploymentStatus != null &&\r\n data?.CustomerTaxResidencyDetails?.findIndex((x) => !this.validateCountry(x)) == -1;\r\n if (complete) {\r\n complete =\r\n data?.CustomerTaxResidencyDetails.some((x) => x.IsNationality == true) &&\r\n data?.CustomerTaxResidencyDetails.some((x) => x.IsTaxResident == true) &&\r\n data?.CustomerTaxResidencyDetails.some((x) => x.PrimaryCitizenship != null);\r\n }\r\n if (complete && data?.EmploymentDetails?.IsCrownEmployeeOrArmedForce == false) {\r\n complete = data?.CustomerTaxResidencyDetails.some(\r\n (x) =>\r\n x?.Country != CountryCode.GBR &&\r\n ((x?.IsTaxResident == true && !CommonHelper.isNullOrEmpty(x?.TaxReference)) ||\r\n (x?.IsNationality && !CommonHelper.isNullOrEmpty(x?.PassportNumber)))\r\n );\r\n }\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n validateCountry(data: CustomerTaxResidencyModel): boolean {\r\n if (isEmpty(data)) {return true;}\r\n if (data?.Country != null && data?.Country == CountryCode.GBR) {\r\n return data?.IsTaxResident != null && data?.PrimaryTaxResidency != null;\r\n } else {\r\n if (data?.Country == null && (data?.PrimaryTaxResidency == null || data?.PrimaryCitizenship == null)) {\r\n return false;\r\n }\r\n if (data?.IsTaxResident && data?.IsTaxResident == true) {\r\n return data?.TaxReference != null;\r\n }\r\n if (data?.IsNationality && data?.IsNationality == true) {\r\n return (\r\n !CommonHelper.isNullOrEmpty(data?.NationalIdentifier) ||\r\n !CommonHelper.isNullOrEmpty(data?.PassportNumber)\r\n );\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private onResidencyChange(changes) {\r\n this.setState({ residencies: changes }, this.updateCustomerTaxData);\r\n }\r\n\r\n private updateCustomerTaxData() {\r\n const ctdChanges = this.state.residencies.filter((residency) => {\r\n return residency.Country;\r\n });\r\n\r\n this.props.onCCMChange([{ value: ctdChanges, path: \"CustomerTaxResidencyDetails\" }]);\r\n }\r\n\r\n render() {\r\n const { data } = this.props;\r\n const { disableTax } = this.state;\r\n const employmentDetails = data.EmploymentDetails;\r\n\r\n return (\r\n \r\n {!this.props.disableHeader && SectionHeader(\"Regulatory details\")}\r\n\r\n (v ? \"Yes\" : \"No\")}\r\n disabled={disableTax}\r\n onChange={(v) => {\r\n this.setState({ taxResidencyOtherThanUK: v });\r\n if (!v) {\r\n // Remove other residencies\r\n const newResidencies = this.state.residencies.filter((residency) => {\r\n return residency.Country === CountryCode.GBR;\r\n });\r\n this.onResidencyChange(newResidencies);\r\n } else {\r\n // this.props.onCCMChange([\r\n // {\r\n // value: this.props?.data?.EmploymentDetails?.IsCrownEmployeeOrArmedForce\r\n // ? true\r\n // : false,\r\n // path: \"EmploymentDetails.IsCrownEmployeeOrArmedForce\",\r\n // },\r\n // ]);\r\n }\r\n }}\r\n />\r\n\r\n {!employmentDetails?.IsCrownEmployeeOrArmedForce && this.state.taxResidencyOtherThanUK && (\r\n this.onResidencyChange(v)}\r\n disableTax={disableTax}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport {\r\n RegulatoryHelper,\r\n TaxReferenceTypeMap_GBR,\r\n TaxReferenceTypeMap_SGP,\r\n TaxReferenceTypeMap_USA,\r\n} from \"../../../ClientRecord/Resource/RegulatoryCountryHelper\";\r\n\r\ninterface ITaxResidencyProps extends IProcessComponentProps {\r\n data: CustomerTaxResidencyModel[];\r\n disableTax: boolean;\r\n}\r\n\r\ninterface ITaxResidencyState {}\r\n\r\nexport class TaxResidency extends ProcessComponent {\r\n constructor(props: ITaxResidencyProps) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data?.length === 1 || this.props.data?.length === 0) {\r\n this.addCountryComponent();\r\n }\r\n }\r\n\r\n private addCountryComponent(): void {\r\n const { data, onChange } = this.props;\r\n const changes = [...data];\r\n changes.push({ IsTaxResident: true ,Country:CountryCode.NotSpecified});\r\n onChange(changes);\r\n }\r\n\r\n private removeCountryComponent(index: number): void {\r\n const { data, onChange } = this.props;\r\n const changes = [...data];\r\n changes.splice(index, 1);\r\n onChange(changes);\r\n }\r\n\r\n private checkIndexNumber(): number {\r\n const { data } = this.props;\r\n const primaryTaxResident = data.find((ele) => ele.PrimaryTaxResidency);\r\n if (primaryTaxResident?.Country == CountryCode.GBR) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n render() {\r\n const { data, onChange, disableTax } = this.props;\r\n\r\n return (\r\n <>\r\n {data &&\r\n data.map((residency, index) => {\r\n if (residency.Country === CountryCode.GBR) {return null;}\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n return e != CountryCode.GBR;\r\n })} // Remove UK option\r\n getText={(v) => CountryCodeMap.getString(v)}\r\n label=\"Country of tax residency\"\r\n selected={residency.Country > -1 ? residency.Country : -1}\r\n disabled={disableTax}\r\n onChange={(v) => {\r\n const changes = [...data];\r\n changes[index].Country = v;\r\n changes[index].PrimaryTaxResidency = null;\r\n changes[index].TaxReferenceType = null;\r\n changes[index].TaxReference = null;\r\n onChange(changes);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Cannot select one country twice\",\r\n validator: (v) => {\r\n return (\r\n data.find((entry, i) => {\r\n return i !== index && entry.Country === v;\r\n }) === undefined\r\n );\r\n },\r\n },\r\n ]}\r\n required=\"Please select country of tax residency\"\r\n />\r\n
\r\n {disableTax == false && (\r\n <>\r\n {index == this.checkIndexNumber() ? (\r\n
\r\n {(data || []).filter(\r\n (item) => item.IsTaxResident && item.Country != CountryCode.GBR\r\n ).length < 5 && (\r\n {\r\n this.addCountryComponent();\r\n }}\r\n >\r\n \r\n {\"Add another tax residency\"}\r\n \r\n )}\r\n
\r\n ) : (\r\n {\r\n this.removeCountryComponent(index);\r\n }}\r\n >\r\n Remove\r\n \r\n )}\r\n \r\n )}\r\n
\r\n {RegulatoryHelper.getTaxReferenceTypes(residency.ActorType, residency.Country) !=\r\n null && (\r\n
\r\n
\r\n {\r\n switch (residency.Country) {\r\n case CountryCode.USA:\r\n return TaxReferenceTypeMap_USA[v];\r\n case CountryCode.GBR:\r\n return TaxReferenceTypeMap_GBR[v];\r\n case CountryCode.SGP:\r\n return TaxReferenceTypeMap_SGP[v];\r\n }\r\n }}\r\n label=\"Tax reference type\"\r\n onChange={(v) => {\r\n const changes = [...data];\r\n changes[index].TaxReferenceType = v;\r\n onChange(changes);\r\n }}\r\n required={\"Please select a tax reference type\"}\r\n alwaysValidateOnUpdate={false}\r\n disabled={disableTax}\r\n selected={residency.TaxReferenceType}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n const changes = [...data];\r\n changes[index].TaxReference = v;\r\n if (\r\n residency.Country != CountryCode.USA &&\r\n residency.Country != CountryCode.SGP\r\n ) {\r\n changes[\r\n index\r\n ].TaxReferenceType = RegulatoryHelper.getDefaultTaxReferenceType(\r\n residency.Country\r\n );\r\n }\r\n onChange(changes);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ChargesOnIllustration } from \"../../../../Common/AdviserCharges/Components/ChargesOnIlustration\";\r\nimport { IAC } from \"../../../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesCopyOption } from \"./ChargesCopyOption\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

{AdviserChargesContents.AcHeader}

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

{AdviserChargesContents.ProductLevel}

\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SourceType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentage } from \"../../../../../../../../Wrap/Models/Models/Shared/MoneyOrPercentage\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesHelper } from \"../../../../Common/Helpers/ChargesHelper\";\r\n\r\ninterface IChargesCopyOptionProps extends IProcessComponentProps {}\r\n\r\ninterface IChargesCopyOptionState {}\r\n\r\nexport class ChargesCopyOption extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (isNullOrEmpty(data.IsaModel.ChargesExtraInfo?.CopyChargesFromOtherWizard)) {\r\n if (!data.IsaModel.ChargesExtraInfo) {\r\n data.IsaModel.ChargesExtraInfo = { CopyChargesFromOtherWizard: false };\r\n } else {\r\n data.IsaModel.ChargesExtraInfo.CopyChargesFromOtherWizard = false;\r\n }\r\n }\r\n onChange(data);\r\n }\r\n\r\n copyCharges(v: boolean) {\r\n const { data, onChange } = this.props;\r\n data.IsaModel.ChargesExtraInfo.CopyChargesFromOtherWizard = v;\r\n if (v) {\r\n if (ChargesHelper.displayIAC(data.IsaModel, SubAccountType.StocksIsa)) {\r\n const iac = data.PensionApply.InitialAdviserCharge;\r\n iac.SourceType = SourceType.WrapCash;\r\n data.IsaModel.InitialAdviserCharge = iac;\r\n }\r\n const oac = data.PensionApply.OngoingAdviceCharge;\r\n oac.SourceType = SourceType.WrapCash;\r\n data.IsaModel.OngoingAdviceCharge = oac;\r\n } else {\r\n data.IsaModel.InitialAdviserCharge = this.emptyPercentageOrMoney();\r\n data.IsaModel.OngoingAdviceCharge = this.emptyPercentageOrMoney();\r\n }\r\n onChange(data);\r\n }\r\n\r\n emptyPercentageOrMoney(): MoneyOrPercentage {\r\n return {\r\n Type: null,\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n Percentage: null,\r\n Frequency: null,\r\n SourceType: null,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const sippProvided = ChargesHelper.chargesProvided(this.props.data.PensionApply);\r\n if (!sippProvided) {\r\n return null;\r\n }\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n selected={this.props.data?.IsaModel?.ChargesExtraInfo?.CopyChargesFromOtherWizard}\r\n onChange={(v) => this.copyCharges(v)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport {\r\n getISTPaymentAmount,\r\n pensionInstrumentSelectionToInstrumentSelection,\r\n} from \"../../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { Action } from \"../../../../../../Actions/Action\";\r\nimport { TreasuredAssetsStore } from \"../../../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { BankAccountOwnerPaymentTypeMap, PaymentType } from \"../../../../Common/Resource/Contents\";\r\nimport { EWizardLinterHelper } from \"../../../Resource/EWizardLinterHelper\";\r\nimport { AdviserContextStoreStatic } from \"../../../Stores/Variable\";\r\n\r\ninterface InvestmentSelectionToolProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n treasuredAssetProductIds: number[];\r\n onTreasuredAssetsStoreChange: () => void;\r\n onChangeTreasuredAssets: (subAccountInstructionId, productId, value) => void;\r\n}\r\n\r\ninterface InvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n InvestmentSelectionToolProps,\r\n InvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n this.subscribeToStore(TreasuredAssetsStore, () => this.props.onTreasuredAssetsStoreChange());\r\n this.ensureAllAllocationsAreSame();\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const subAccountInstructionId = HierarchyIdHelper.generateHierarchyId(this.props.data.IsaModel.HierarchyId)\r\n .entityId;\r\n Action.getInstructionTreasuredAssetsProductIds(subAccountInstructionId);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data, onChangeTreasuredAssets, treasuredAssetProductIds } = this.props;\r\n const paymentAmount = getISTPaymentAmount(data?.IsaModel, \"IsaTransfers\");\r\n const accountsFromExisting = data.AllBankAccounts || [];\r\n const bankAccountInstructionsFiltered =\r\n (data.BankAccountInstructions || []).filter(\r\n (x) => BankAccountOwnerPaymentTypeMap[x.Owner].indexOf(PaymentType.Client) != -1\r\n ) || [];\r\n\r\n const bankAccounts = [...accountsFromExisting, ...bankAccountInstructionsFiltered];\r\n const modelData = JSON.parse(JSON.stringify(data?.IsaModel));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n const hasSipp = this.props.data.SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const adviser = AdviserContextStoreStatic.getData();\r\n return (\r\n \r\n

Investment selection

\r\n this.appendChild(ref)}\r\n onChange={(changes) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"IsaModel\"),\r\n changes,\r\n data.IsaModel,\r\n \"InstrumentSelections\"\r\n )\r\n }\r\n from={hasSipp ? SubAccountType.Sipp : null}\r\n fromData={\r\n hasSipp\r\n ? pensionInstrumentSelectionToInstrumentSelection(\r\n data.PensionApply?.PreRetirementInstrumentSelections,\r\n data.PensionApply?.PostRetirementInstrumentSelections,\r\n data.CashInstrument\r\n )\r\n : null\r\n }\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.NB}\r\n hiercharyId={data.SubaccountInstructionHierarchyId}\r\n headAccountHierarchyId={data.ExistingAccountHierarchyId}\r\n companyCode={adviser?.Company}\r\n claccountId={this.props.data.ClAccountId}\r\n product={SubAccountType.StocksIsa}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={bankAccounts}\r\n onBankChange={(bankInfo) => {\r\n const banks = data.BankAccountInstructions.concat(bankInfo);\r\n onChange({ BankAccountInstructions: banks });\r\n }}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"IsaModel\"),\r\n changes,\r\n data.IsaModel,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={data?.IsaModel?.HierarchyId}\r\n accountAdviceType={data?.AccountAdviceType}\r\n accountServiceProposition={data?.AccountServiceProposition}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"IsaModel\")}\r\n treasuredAssetsProductIds={treasuredAssetProductIds}\r\n onChangeTreasuredAssets={(productId, value) => {\r\n onChangeTreasuredAssets(data.IsaModel.HierarchyId, productId, value);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n private ensureAllAllocationsAreSame(): void {\r\n const { IsaModel } = this.props.data;\r\n for (let i = 0; i < IsaModel.InstrumentSelections?.Instruments?.length; i++) {\r\n if (IsaModel.IsaTransfers?.length > 0 && IsaModel.InstrumentSelections?.Instruments[i]?.Transfer.Percentage == 0 && IsaModel.InstrumentSelections?.Instruments[i]?.Single?.Percentage !== 0) {\r\n IsaModel.InstrumentSelections.Instruments[i].Transfer.Percentage = IsaModel.InstrumentSelections?.Instruments[i]?.Single?.Percentage;\r\n }\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { IsaAllowance } from \"../../../../Common/ISA/PaymentsIn/IsaAllowance\";\r\nimport { RegularPayment } from \"../../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { SinglePayment } from \"../../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { PaymentType, processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { nbPaymentsInMessages } from \"../../../Resource/Contents\";\r\nimport { TransferIn } from \"../../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { RestrictionStore } from \"../../../../Common/Restrictions/Variable\";\r\nimport { RestrictionHelper } from \"../../../../../../../Shared/Common/RestrictionHelper\";\r\nimport { BankAccountAction } from \"../../../../Common/PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { ProcessTypeHelper } from \"../../../../Common/Helpers/ProcessTypeHelper\";\r\nimport { IsaDeclaration } from \"../../../../Common/ISA/PaymentsIn/IsaDeclaration\";\r\nimport { inUseBankAccountForApply } from \"../../../../Common/PaymentsIn/BankAccount/BankAccountHelper\";\r\nimport { string } from \"prop-types\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n processType: ProcessType;\r\n}\r\n\r\ninterface IPaymentsInState {}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview, processType } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n hasPaymentMethod: true,\r\n isReview: isReview,\r\n onSaveNewBankAccountInstruction: (bankAccountInstruction) => {\r\n bankAccountInstruction.OwnerHierarchyId = data.OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(\r\n bankAccountInstruction,\r\n data.ClientDetails?.ActorId,\r\n ProcessTypeHelper.getProcessTypeEnum(processType),\r\n (savedBankAccountInstruction) => {\r\n const changes = [...data.BankAccountInstructions, ...[savedBankAccountInstruction]];\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }\r\n );\r\n },\r\n onRemoveBankAccountInstruction: (bankAccountInstruction) => {\r\n BankAccountAction.removeBankInstruction(bankAccountInstruction, () => {\r\n const changes = (data.BankAccountInstructions || []).filter(\r\n (x) => x.AccountNumber != bankAccountInstruction.AccountNumber\r\n );\r\n this.onDataChange(onChange, { BankAccountInstructions: changes }, data);\r\n });\r\n },\r\n inUseBankAccountInstruction: inUseBankAccountForApply(data),\r\n };\r\n };\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n isValid = isValid && this.atLeastOneContribution();\r\n if (!this.atLeastOneContribution()) {\r\n this.props.showErrorMsgPopUp([nbPaymentsInMessages.atLeastOneContribution]);\r\n }\r\n return isValid;\r\n }\r\n\r\n private atLeastOneContribution(): boolean {\r\n const { data } = this.props;\r\n\r\n return (\r\n data.IsaModel.ClientSinglePayment?.Money?.Amount > 0 ||\r\n data.IsaModel.ThirdPartySinglePayment?.Money?.Amount > 0 ||\r\n data.IsaModel.ClientRegularPayment?.Money?.Amount > 0 ||\r\n data.IsaModel.ThirdPartyRegularPayment?.Money?.Amount > 0 ||\r\n data.IsaModel.IsaTransfers?.length > 0\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { ClientDetails, AllBankAccounts, BankAccountInstructions, IsaModel } = this.props.data;\r\n const { data, onChange } = this.props;\r\n const claccountId = getQueryParameters()[\"claccountId\"];\r\n\r\n return (\r\n
\r\n

Payments in

\r\n \r\n
\r\n \r\n
\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"IsaModel\"),\r\n changes,\r\n IsaModel\r\n )\r\n }\r\n disabled={\r\n RestrictionStore.transferDisabled() &&\r\n RestrictionHelper.shouldHandleRestriction(this.props.processType)\r\n }\r\n isReview={this.props.isReview}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isPost={false}\r\n onRef={(ref) => this.appendChild(ref)}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n {data?.IsaModel?.IsaAllowance && }\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ProcessTypeHelper } from \"../../../Common/Helpers/ProcessTypeHelper\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { AdditionalBankAccount } from \"../../../Common/PaymentsIn/BankAccount/AdditionalBankAccount\";\r\nimport { BankAccountAction } from \"../../../Common/PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { inUseBankAccountForApply } from \"../../../Common/PaymentsIn/BankAccount/BankAccountHelper\";\r\nimport { AssumedSippAndBondHoldings } from \"../../../Common/PaymentsIn/SinglePayment/AssumedSippAndBondHoldings\";\r\n\r\ninterface ILegacyProductPaymentsInProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n processType: ProcessType;\r\n}\r\n\r\ninterface ILegacyProductPaymentsInState {}\r\n\r\nexport class LegacyProductPaymentsIn extends ProcessComponent<\r\n ILegacyProductPaymentsInProps,\r\n ILegacyProductPaymentsInState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n isReview: isReview,\r\n };\r\n };\r\n\r\n public isValid(): boolean {\r\n const isValid = super.isValid();\r\n return isValid;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { AllBankAccounts, BankAccountInstructions } = this.props.data;\r\n const { data, onChange } = this.props;\r\n let hasOnPlatform = false;\r\n if (\r\n data?.SelectedProducts.some(\r\n (ele) => SubAccountTypeHelper.isPP(ele.SubAccountType) || SubAccountTypeHelper.isIsa(ele.SubAccountType)\r\n )\r\n ) {\r\n hasOnPlatform = true;\r\n }\r\n return (\r\n
\r\n

Additional product details

\r\n {hasOnPlatform && }\r\n this.appendChild(ref)}\r\n bankAccountInstructions={BankAccountInstructions}\r\n onChange={() => {}}\r\n onSaveNewBankAccountInstruction={(bankAccountInstruction) => {\r\n bankAccountInstruction.OwnerHierarchyId = data.OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(\r\n bankAccountInstruction,\r\n data.ClientDetails?.ActorId,\r\n ProcessTypeHelper.getProcessTypeEnum(this.props.processType),\r\n (savedBankAccountInstruction) => {\r\n const changes = [...data.BankAccountInstructions, ...[savedBankAccountInstruction]];\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }\r\n );\r\n }}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRemoveBankAccountInstruction={(bankAccountInstruction) => {\r\n BankAccountAction.removeBankInstruction(bankAccountInstruction, () => {\r\n const changes = (data.BankAccountInstructions || []).filter(\r\n (x) => x.AccountNumber != bankAccountInstruction.AccountNumber\r\n );\r\n this.onDataChange(onChange, { BankAccountInstructions: changes }, data);\r\n });\r\n }}\r\n inUseBankAccountInstruction={inUseBankAccountForApply(data)}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { PensionType } from \"../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { IStepConfig, StepType } from \"../../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { NewBusinessAction } from \"../Actions/NewBusinessAction\";\r\nimport { NBSteppers } from \"../Resource/Contents\";\r\nimport { NewBusinessStore } from \"../Stores/Variable\";\r\nimport { AdviserCharges } from \"./SIPP/AdviserCharges/AdviserCharges\";\r\nimport { InvestmentSelectionTool } from \"./SIPP/IST/IST\";\r\nimport { PaymentsIn } from \"./SIPP/PaymentsIn/PaymentsIn\";\r\nimport { PaymentsIn as PaymentsInISA } from \"./ISA/PaymentsIn/PaymentsIn\";\r\nimport { AdviserCharges as AdviserChargesISA } from \"./ISA/AdviserCharges/AdviserCharges\";\r\nimport { InvestmentSelectionTool as InvestmentSelectionToolISA } from \"./ISA/IST/InvestmentSelectionTool\";\r\nimport { PaymentsIn as PaymentsInPP } from \"./PersonalPortfolio/PaymentsIn/PaymentsIn\";\r\nimport { AdviserCharges as AdviserChargesPP } from \"./PersonalPortfolio/AdviserCharges/AdviserCharges\";\r\nimport { InvestmentSelectionTool as InvestmentSelectionToolPP } from \"./PersonalPortfolio/IST/InvestmentSelectionTool\";\r\nimport { IncomePaymentDetails } from \"./SIPP/IncomePaymentDetails/IncomePaymentDetails\";\r\nimport { WrapperSelection } from \"./WrapperSelection/WrapperSelection\";\r\nimport { WrapCashPaymentsIn } from \"./WrapCash/WrapCashPaymentsIn\";\r\nimport { Review } from \"./Review/Review\";\r\nimport { WizardComponent } from \"../../../../../Shared/Process/WizardComponent\";\r\nimport { DocumentsAndDeclarations } from \"../../Common/Documents/Components/DocumentsAndDeclarations\";\r\nimport { Confirmation } from \"../../../../../Shared/Process/Process/Confirmation\";\r\nimport {\r\n hasCashTransfer,\r\n hasRegularPayments,\r\n hasSinglePayments,\r\n} from \"../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { FullClientDetail } from \"./FullClientDetail/FullClientDetail\";\r\nimport { Withdrawals } from \"../../Common/Withdrawals/Withdrawals\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { ApplyModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { processTypeEnum } from \"../../Common/Resource/Contents\";\r\nimport { InstructionStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { DrawdownDetails } from \"./SIPP/DrawdownDetails/DrawdownDetails\";\r\nimport { QuoteInstructionStore } from \"../../NewQuoteWizard/Store/Variable\";\r\nimport { NewQuoteAction } from \"../../NewQuoteWizard/Actions/NewQuoteAction\";\r\nimport { showIncome } from \"../../Common/PaymentsIn/SIPP/ValidationHelper\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Action } from \"../../../../Actions/Action\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { DrawdownCalculationStoreStore } from \"../../Common/SIPP/DrawdownDetails/Store/Variable\";\r\nimport { Methods } from \"../../../../Common/CommonHelper\";\r\nimport { Transition } from \"../../../../../Shared/Process/Process/Transition\";\r\nimport { AccountAdviceType } from \"../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { RestrictionStore } from \"../../Common/Restrictions/Variable\";\r\nimport { ProcessType as ActivityType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../../Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { subAccountTypeMap } from \"../../PortfolioDashboard/Components/Performance/Resource/Contents\";\r\nimport { TransitionalConfirmation } from \"../../../../../Shared/Process/Process/TransitionalConfirmation\";\r\nimport { StaticUrls } from \"../../../../Resoures/StaticUrls\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { InvestorType } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { ClientNameHelper } from \"../../Common/Helpers/ClientNameHelper\";\r\nimport { ChargesHelper } from \"../../Common/Helpers/ChargesHelper\";\r\nimport { ClientAccountStore, TreasuredAssetsStore } from \"../../../../Stroes/Variable\";\r\nimport { PortfolioDashboardAction } from \"../../PortfolioDashboard/Action/PortfolioDashboardAction\";\r\nimport { PortfolioDashboardMultiSelectionStore } from \"../../PortfolioDashboard/Store/Variable\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { LegacyProductPaymentsIn } from \"./LegacyProduct/PaymentsIn\";\r\nimport { AccountRoleInstructionNbecWizardSessionMappingModel } from \"../../../../../../Wrap/Models/Models/Instructions/AccountRoleInstructionNbecWizardSessionMappingModel\";\r\nimport { isJointOrTrustAccount } from \"./WrapperSelection/WrapperSelctionHelper\";\r\n\r\nexport class NewBusinessWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(NewBusinessStore, () => this.onNBInstructionStoreChange());\r\n this.subscribeToStore(DrawdownCalculationStoreStore, () => this.onPostDrawdown());\r\n }\r\n\r\n private onNBInstructionStoreChange() {\r\n const data = NewBusinessStore.getData();\r\n data.ClAccountId = data.ShellHeadClAccountId ?? this.state.clientAccount?.HeadClAccountId;\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n onPosting: false,\r\n active: data?.Status === InstructionStatus.Pending || data?.Status === InstructionStatus.NotSpecified,\r\n });\r\n }\r\n\r\n private onPostDrawdown() {\r\n if (DrawdownCalculationStoreStore.getActionType() == ActionType.Loading) {\r\n this.setState({ onPosting: true });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n this.setState({\r\n data: {\r\n SelectedProducts: [{ SubAccountType: SubAccountType.WrapCash, IsIncomePaymentDetailsSelected: false }],\r\n AllBankAccounts: [],\r\n BankAccountInstructions: [],\r\n GiaModel: {},\r\n PensionApply: {},\r\n IsaModel: {},\r\n QuoteReference: {},\r\n AnnuityAssumptions: { PensionIncreases: 0 },\r\n ExistingAccountHierarchyId: hierarchyId,\r\n ActivityType: CommonHelper.isNullOrEmpty(hierarchyId)\r\n ? ActivityType.NewBusiness\r\n : ActivityType.NewBusinessExistingClient,\r\n ClAccountId: null,\r\n IsJointAccount: false,\r\n },\r\n });\r\n const id = getQueryParameters()[\"id\"];\r\n const quoteid = getQueryParameters()[\"quoteid\"];\r\n if (id) {\r\n NewBusinessAction.getInstruction(id);\r\n } else {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n if (!CommonHelper.isNullOrEmpty(hierarchyId)) {\r\n if (this.state.clientAccount) {\r\n this.updateClientAccountInfo(this.state.clientAccount);\r\n } else {\r\n Action.getClientAccount(hierarchyId, (val) => {\r\n this.updateClientAccountInfo(val);\r\n });\r\n }\r\n }\r\n const quote = QuoteInstructionStore.getData();\r\n if (!quote && quoteid) {\r\n NewQuoteAction.getQuoteInstruction(quoteid);\r\n }\r\n }\r\n\r\n updateClientAccountInfo(val: ClientAccount): void {\r\n const { PensionApply } = this.state.data;\r\n PensionApply.ExistingPensionSubAccountHierarchyId = val?.SubAccounts?.find(\r\n (x) => x.SubAccountType == SubAccountType.Npr\r\n )?.HierarchyId;\r\n\r\n this.onChange({\r\n PensionApply: PensionApply,\r\n ExistingAccountHierarchyId: val?.HierarchyId,\r\n IsExistingAccount: true,\r\n AdviceGiven: true,\r\n AccountAdviceType: val?.Discretionary\r\n ? AccountAdviceType.Discretionary\r\n : AccountAdviceType.NonDiscretionary,\r\n IsJointAccount: val.InvestorType == InvestorType.Individual ? false : true,\r\n AccountName: { Full: val.AccountName },\r\n AccountServiceProposition: val?.AccountServicePropositionId,\r\n PaperLess: false,\r\n ExistingAccountPaperLess: val?.GoPaperless,\r\n });\r\n if (val != null) {this.setState({ clientAccount: val });}\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params) {\r\n if (this.state.data?.AccountServiceProposition == ServiceProposition.Fundzone) {\r\n this.state.data.DisinvestmentStrategy = null;\r\n }\r\n this.state.data.CustomerId = parseInt(getQueryParameters()[\"customerid\"]);\r\n NewBusinessAction.postInstruction(from, this.state.data, (result) => {\r\n if (result.length > 0) {\r\n this.setState({ errorMsg: result, isShowErrorMsg: true });\r\n } else {\r\n if (this.state.extraInfo.treasuredAssetsInstructionId) {\r\n Action.setInstructionTreasuredAssetsProductIds(\r\n this.state.extraInfo.treasuredAssetsInstructionId,\r\n this.state.extraInfo.treasuredAssetProductIds,\r\n () => {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n );\r\n } else {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private navigate(to, toUrl, params) {\r\n const customerId = params[\"customerid\"];\r\n const quoteid = params[\"quoteid\"];\r\n\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: {\r\n ...params,\r\n customerid: customerId,\r\n id: NewBusinessStore.getData()?.AccountRoleInstructionId,\r\n quoteid: quoteid,\r\n },\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n\r\n onExit() {\r\n const { data } = this.state;\r\n const customerId = getQueryParameters()[\"customerid\"];\r\n const hierarchyid = getQueryParameters()[\"hierarchyid\"];\r\n const id = HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n getQueryParameters()[\"customerid\"]\r\n );\r\n if (data.AccountCreated) {\r\n PortfolioDashboardAction.setMultiSelection(\r\n id,\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n true,\r\n () => {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: id,\r\n }).summary\r\n );\r\n }\r\n );\r\n } else if (!CommonHelper.isNullOrEmpty(hierarchyid)) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: id,\r\n }).summary\r\n );\r\n } else {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n }).activity\r\n );\r\n }\r\n }\r\n\r\n onCancel() {\r\n // NewBusinessAction.cancleApplyInstruction(NewBusinessStore.getData()?.AccountRoleInstructionId, () =>\r\n // this.onExit()\r\n // );\r\n //SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n NewBusinessAction.submitInstruction(this.state.data, () => {\r\n this.setState({ isSubmitting: false });\r\n });\r\n }\r\n\r\n onSave(step) {\r\n if (step !== 0) {\r\n this.onStepperLeave(step, -1);\r\n } else {\r\n this.setState({ extraInfo: { isSaving: true, currentStep: step } });\r\n }\r\n }\r\n\r\n saveAndExit() {\r\n const step = this.state.extraInfo.currentStep;\r\n // Full client details\r\n if (step == 0) {\r\n if (this.stepValid(0)) {\r\n this.child[0].saveBeforeExit(true);\r\n } else {\r\n this.setState({ extraInfo: { isSaving: false, currentStep: step } });\r\n }\r\n }\r\n // wrapper selection\r\n else if (step == 1) {\r\n this.onExit();\r\n }\r\n }\r\n\r\n customeRender() {\r\n const { extraInfo } = this.state;\r\n return (\r\n <>\r\n {extraInfo.isSaving && (\r\n this.onChange({ extraInfo: { isSaving: false } })}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n contentCssCustom=\"pt-20\"\r\n >\r\n

\r\n Only Customer details will be saved at this point, you will not be able to resume this\r\n wizard.\r\n

\r\n

Are you sure you want to save and exit?

\r\n\r\n \r\n this.setState({ extraInfo: { isSaving: false } })}\r\n >\r\n No\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n onTreasuredAssetsStoreChange() {\r\n const treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n this.setState({\r\n extraInfo: {\r\n treasuredAssetProductIds: treasuredAssetProductIds,\r\n treasuredAssetsInstructionId: null,\r\n },\r\n });\r\n }\r\n\r\n onChangeTreasuredAssets(hierarchyId: string, productId: number, value: boolean) {\r\n let productIds = this.state.extraInfo.treasuredAssetProductIds;\r\n if (value) {\r\n productIds.push(productId);\r\n } else {\r\n productIds = productIds.filter((id) => id !== productId);\r\n }\r\n this.setState({\r\n extraInfo: {\r\n treasuredAssetProductIds: productIds,\r\n treasuredAssetsInstructionId: HierarchyIdHelper.generateHierarchyId(hierarchyId).entityId,\r\n },\r\n });\r\n }\r\n\r\n getStepProps(index) {\r\n const { data } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n return stepProps;\r\n }\r\n\r\n private getSIPPStepConfig(next: SubAccountType): IStepConfig[] {\r\n const { data } = this.state;\r\n let hasIST = 0;\r\n let hasDrawdown = 0;\r\n const sipp = data?.SelectedProducts.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType));\r\n const len = this.stepperConfig.length;\r\n\r\n const restriction = RestrictionStore.getData();\r\n let transferinDisabled = false;\r\n let buyDisabled = false;\r\n if (restriction != null) {\r\n buyDisabled = RestrictionStore.buyDisabled();\r\n transferinDisabled = RestrictionStore.transferDisabled();\r\n }\r\n const steps: IStepConfig[] = [\r\n {\r\n title: NBSteppers.paymentsIn,\r\n url: Urls.get().NBPaymentsInSIPP,\r\n path: Contents.URLMap.paymentInSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n SubAccountTypeHelper.isOnPlatformPension(x.SubAccountType)\r\n )}\r\n />\r\n ),\r\n group: NBSteppers.SIPP,\r\n },\r\n {\r\n title: NBSteppers.adviserCharges,\r\n url: Urls.get().NBAdviserChargesSIPP,\r\n path: Contents.URLMap.adviserChargesSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: NBSteppers.SIPP,\r\n },\r\n ];\r\n if (\r\n hasSinglePayments(data.PensionApply) ||\r\n hasRegularPayments(data.PensionApply) ||\r\n hasCashTransfer(data.PensionApply?.PensionTransfers)\r\n ) {\r\n hasIST = 1;\r\n steps.push({\r\n title: NBSteppers.investmentSelection,\r\n url: Urls.get().NBInvestmentSelectionSIPP,\r\n path: Contents.URLMap.investmentSelectionSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n this.onTreasuredAssetsStoreChange()}\r\n onChangeTreasuredAssets={(subAccountInstructionId, productId, value) => {\r\n this.onChangeTreasuredAssets(subAccountInstructionId, productId, value);\r\n }}\r\n />\r\n ),\r\n group: NBSteppers.SIPP,\r\n });\r\n }\r\n if (sipp.PensionType !== PensionType.None) {\r\n hasDrawdown = 1;\r\n steps.push({\r\n title: NBSteppers.drawdownDetail,\r\n url: Urls.get().DrawdownNewbusiness,\r\n path: Contents.URLMap.drawdownDetailSipp,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: NBSteppers.SIPP,\r\n });\r\n }\r\n if (showIncome(sipp, this.state.data?.PensionApply)) {\r\n steps.push({\r\n title: NBSteppers.incomePaymentDetails,\r\n url: Urls.get().NBIncomePaymentsSIPP,\r\n path: Contents.URLMap.incomePaymentsSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n group: NBSteppers.SIPP,\r\n });\r\n }\r\n if (next) {\r\n steps.push({\r\n title: \"SIPP complete\",\r\n url: Urls.get().NBSIPPComplete,\r\n path: Contents.URLMap.completeSIPP,\r\n component: ,\r\n type: StepType.Extra,\r\n });\r\n }\r\n return steps;\r\n }\r\n\r\n private getPPStepConfig(next: SubAccountType): IStepConfig[] {\r\n const data = this.state.data;\r\n const len = this.stepperConfig.length;\r\n const pp = data?.SelectedProducts.find((item) => item.SubAccountType == SubAccountType.InvestmentAccount);\r\n const restriction = RestrictionStore.getData();\r\n let transferinDisabled = false;\r\n let buyDisabled = false;\r\n if (restriction != null) {\r\n buyDisabled = RestrictionStore.buyDisabled();\r\n transferinDisabled = RestrictionStore.transferDisabled();\r\n }\r\n const steps: IStepConfig[] = [\r\n {\r\n title: NBSteppers.paymentsIn,\r\n url: Urls.get().NBPaymentsInPP,\r\n path: Contents.URLMap.paymentInPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n group: NBSteppers.PP,\r\n },\r\n {\r\n title: NBSteppers.adviserCharges,\r\n url: Urls.get().NBAdviserChargesPP,\r\n path: Contents.URLMap.adviserChargesPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: NBSteppers.PP,\r\n },\r\n ];\r\n let hasIST = false;\r\n if (hasSinglePayments(data.GiaModel) || hasRegularPayments(data.GiaModel)) {\r\n hasIST = true;\r\n steps.push({\r\n title: NBSteppers.investmentSelection,\r\n url: Urls.get().NBInvestmentSelectionPP,\r\n path: Contents.URLMap.investmentSelectionPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n this.onTreasuredAssetsStoreChange()}\r\n onChangeTreasuredAssets={(subAccountInstructionId, productId, value) => {\r\n this.onChangeTreasuredAssets(subAccountInstructionId, productId, value);\r\n }}\r\n />\r\n ),\r\n group: NBSteppers.PP,\r\n });\r\n }\r\n if (\r\n pp?.IsAddRegularWithdrawalSelected &&\r\n (hasSinglePayments(data.GiaModel) ||\r\n hasRegularPayments(data.GiaModel) ||\r\n ChargesHelper.hasTransfers(data.GiaModel, SubAccountType.InvestmentAccount))\r\n ) {\r\n const gap = hasIST ? 3 : 2;\r\n steps.push({\r\n title: NBSteppers.withdrawal,\r\n url: Urls.get().NBWithdrawalsPP,\r\n path: Contents.URLMap.withdrawalsPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n {\r\n const banks = data.BankAccountInstructions\r\n ? data.BankAccountInstructions.concat(bank)\r\n : [bank];\r\n this.onChange({ BankAccountInstructions: banks });\r\n }}\r\n />\r\n ),\r\n group: NBSteppers.PP,\r\n });\r\n }\r\n if (next) {\r\n steps.push({\r\n title: \"Personal Portfolio complete\",\r\n url: Urls.get().NBPPComplete,\r\n path: Contents.URLMap.completePP,\r\n component: ,\r\n type: StepType.Extra,\r\n });\r\n }\r\n\r\n return steps;\r\n }\r\n\r\n private getISAStepConfig(next: SubAccountType): IStepConfig[] {\r\n const data = this.state.data;\r\n const len = this.stepperConfig.length;\r\n const isa = this.state.data.SelectedProducts.find((ele) => ele.SubAccountType == SubAccountType.StocksIsa);\r\n const restriction = RestrictionStore.getData();\r\n let transferinDisabled = false;\r\n let buyDisabled = false;\r\n if (restriction != null) {\r\n buyDisabled = RestrictionStore.buyDisabled();\r\n transferinDisabled = RestrictionStore.transferDisabled();\r\n }\r\n const steps: IStepConfig[] = [\r\n {\r\n title: NBSteppers.paymentsIn,\r\n url: Urls.get().NBPaymentsInISA,\r\n path: Contents.URLMap.paymentInISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n group: NBSteppers.ISA,\r\n },\r\n {\r\n title: NBSteppers.adviserCharges,\r\n url: Urls.get().NBAdviserChargesISA,\r\n path: Contents.URLMap.adviserChargesISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: NBSteppers.ISA,\r\n },\r\n ];\r\n let hasIST = false;\r\n if (\r\n hasSinglePayments(data.IsaModel) ||\r\n hasRegularPayments(data.IsaModel) ||\r\n hasCashTransfer(data.IsaModel?.IsaTransfers)\r\n ) {\r\n hasIST = true;\r\n steps.push({\r\n title: NBSteppers.investmentSelection,\r\n url: Urls.get().NBInvestmentSelectionISA,\r\n path: Contents.URLMap.investmentSelectionISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n this.onTreasuredAssetsStoreChange()}\r\n onChangeTreasuredAssets={(hierarchyId, productId, value) => {\r\n this.onChangeTreasuredAssets(hierarchyId, productId, value);\r\n }}\r\n />\r\n ),\r\n group: NBSteppers.ISA,\r\n });\r\n }\r\n if (\r\n isa?.IsAddRegularWithdrawalSelected &&\r\n (hasSinglePayments(data.IsaModel) ||\r\n hasRegularPayments(data.IsaModel) ||\r\n ChargesHelper.hasTransfers(data.IsaModel, SubAccountType.StocksIsa))\r\n ) {\r\n const gap = hasIST ? 3 : 2;\r\n steps.push({\r\n title: NBSteppers.withdrawal,\r\n url: Urls.get().NBWithdrawalsISA,\r\n path: Contents.URLMap.withdrawalsISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n {\r\n const banks = data.BankAccountInstructions\r\n ? data.BankAccountInstructions.concat(bank)\r\n : [bank];\r\n this.onChange({ BankAccountInstructions: banks });\r\n }}\r\n />\r\n ),\r\n group: NBSteppers.ISA,\r\n });\r\n }\r\n if (next) {\r\n steps.push({\r\n title: \"ISA complete\",\r\n url: Urls.get().NBISAComplete,\r\n path: Contents.URLMap.completeISA,\r\n component: ,\r\n type: StepType.Extra,\r\n });\r\n }\r\n return steps;\r\n }\r\n\r\n private getWrapCashStepConfig(): IStepConfig[] {\r\n return [\r\n {\r\n title: NBSteppers.paymentsIn,\r\n url: Urls.get().NBPaymentsInWrapCash,\r\n path: Contents.URLMap.paymentsInWrapCash,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: NBSteppers.wrapCash,\r\n },\r\n ];\r\n }\r\n\r\n private getSippAndBondStepConfig(): IStepConfig[] {\r\n return [\r\n {\r\n title: NBSteppers.additionalProductDetails,\r\n url: Urls.get().NBPaymentsInLegacyProduct,\r\n path: Contents.URLMap.paymentsInLegacyProduct,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n },\r\n ];\r\n }\r\n\r\n private getReviewStepConfig(): IStepConfig {\r\n return {\r\n title: NBSteppers.review,\r\n url: Urls.get().NewBusinessReview,\r\n path: Contents.URLMap.review,\r\n component: ,\r\n };\r\n }\r\n\r\n private getDocAndDeclarationStepConfig(): IStepConfig {\r\n return {\r\n title: NBSteppers.doc,\r\n url: Urls.get().DocumentAndDeclarations,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n onSubmit: this.needToOpenBondInOldWizard(this.state.data) ? null : () => this.onSubmit(),\r\n canSubmit: this.needToOpenBondInOldWizard(this.state.data)\r\n ? null\r\n : () => this.child[this.stepperConfig.length - 2].isValid(),\r\n path: Contents.URLMap.documentAndDeclarations,\r\n component: (\r\n \r\n ),\r\n };\r\n }\r\n\r\n needToOpenBondInOldWizard(data: ApplyModel): boolean {\r\n const legacyProductSelected = data.SelectedProducts.some((x) =>\r\n SubAccountTypeHelper.isLegacyProduct(x.SubAccountType)\r\n );\r\n const legacyProductSelectedOnly = data.SelectedProducts.every((x) =>\r\n SubAccountTypeHelper.isLegacyProduct(x.SubAccountType)\r\n );\r\n\r\n if (legacyProductSelectedOnly) {\r\n return true;\r\n }\r\n\r\n if (\r\n (data.AccountCreated ||\r\n !CommonHelper.isNullOrEmpty(data.ShellHeadClAccountId) ||\r\n !CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"])) &&\r\n legacyProductSelected\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getOldNbecUrl(\r\n mapping: AccountRoleInstructionNbecWizardSessionMappingModel,\r\n clAccountId: string,\r\n bondOnly: boolean\r\n ): string {\r\n if (mapping == null || mapping.NbecWizardSessionId == 0) {\r\n return StaticUrls.NBEC(clAccountId, bondOnly, NewBusinessStore.getData()?.AccountRoleInstructionId ?? 0);\r\n } else if (mapping.NbecWizardSessionId > 0 && !bondOnly) {\r\n return StaticUrls.NBECSIPP(\r\n clAccountId,\r\n NewBusinessStore.getData()?.AccountRoleInstructionId ?? 0,\r\n mapping.NbecWizardSessionId\r\n );\r\n } else {\r\n return StaticUrls.NBECBond(\r\n clAccountId,\r\n NewBusinessStore.getData()?.AccountRoleInstructionId ?? 0,\r\n mapping.NbecWizardSessionId\r\n );\r\n }\r\n }\r\n\r\n private getTransitionalConfirmationStepConfig(lastProduct: SubAccountType) {\r\n const { data } = this.state;\r\n\r\n const to = data.SelectedProducts.some((x) => SubAccountTypeHelper.isOffPlatformPension(x.SubAccountType))\r\n ? SubAccountType.Sipp\r\n : data.SelectedProducts.some((x) => x.SubAccountType == SubAccountType.OnshoreBond)\r\n ? SubAccountType.OnshoreBond\r\n : SubAccountType.OffshoreBond;\r\n\r\n return {\r\n title: \"\",\r\n url: Urls.get().Confirmation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n \r\n (window.location.href = this.getOldNbecUrl(\r\n (data as ApplyModel).AccountRoleInstructionNbecWizardSessionMapping,\r\n (data as ApplyModel).ShellHeadClAccountId ||\r\n ClientAccountStore.getClientAccountInfo()?.HeadClAccountId,\r\n !(data as ApplyModel).SelectedProducts.some((x) => x.SubAccountType == SubAccountType.Sipp)\r\n ))\r\n }\r\n from={lastProduct}\r\n to={to}\r\n buttonLabel={`Open ${subAccountTypeMap[to]}`}\r\n isLoading={this.state.isSubmitting}\r\n onPrevious={() => {\r\n Navigator.navigateTo(Urls.get().DocumentAndDeclarations, {\r\n queryParamsObject: getQueryParameters(),\r\n scrollAfterNavigating: false,\r\n });\r\n }}\r\n />\r\n ),\r\n };\r\n }\r\n\r\n private getConfirmationStepConfig(): IStepConfig {\r\n const { data } = this.state;\r\n const id = HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n getQueryParameters()[\"customerid\"]\r\n );\r\n return {\r\n title: NBSteppers.comfirmation,\r\n url: Urls.get().Confirmation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n {\r\n PortfolioDashboardAction.setMultiSelection(\r\n id,\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n true,\r\n () => {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: id,\r\n }).summary\r\n );\r\n }\r\n );\r\n }}\r\n buttonLabel={\"Back to dashboard\"}\r\n successMessage={`We've successfully received your application for ${ClientNameHelper.clientNameDisplay(\r\n data?.ClientDetails,\r\n data?.SecondClientDetails\r\n )} (${\r\n CommonHelper.isNullOrEmpty(data.AccountCreated?.AccountId)\r\n ? CommonHelper.isNullOrEmpty(data.ShellHeadClAccountId)\r\n ? null\r\n : data.ShellHeadClAccountId\r\n : data.AccountCreated?.AccountId\r\n })`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n };\r\n }\r\n\r\n setStepperConfig() {\r\n const { data } = this.state;\r\n const needToOpenBondInOldWizard = this.needToOpenBondInOldWizard(data);\r\n const hasPension = this.state.data.SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const hasIsa = this.state.data.SelectedProducts.some((ele) => ele.SubAccountType == SubAccountType.StocksIsa);\r\n const hasPP = this.state.data.SelectedProducts.some(\r\n (ele) => ele.SubAccountType == SubAccountType.InvestmentAccount\r\n );\r\n const hasWrapCash = this.state.data.SelectedProducts.some(\r\n (ele) => ele.SubAccountType == SubAccountType.WrapCash\r\n );\r\n this.stepperConfig = [\r\n {\r\n title: NBSteppers.fullClientDetail,\r\n url: Urls.get().FullClientDetail,\r\n path: Contents.URLMap.fullClientDetail,\r\n type: StepType.Custom,\r\n component: (\r\n this.setState({ errorMsg: [], isShowErrorMsg: false })}\r\n />\r\n ),\r\n },\r\n {\r\n title: NBSteppers.wrapperSelection,\r\n url: Urls.get().WrapperSelection,\r\n path: Contents.URLMap.wrapperSelection,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n type: StepType.Standard,\r\n component: (\r\n \r\n SubAccountTypeHelper.isOnPlatformPension(x.SubAccountType)\r\n )}\r\n ClientAccount={this.state.clientAccount}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n let lastProductType = SubAccountType.WrapCash;\r\n if (hasPension) {\r\n const next = hasIsa\r\n ? SubAccountType.StocksIsa\r\n : hasPP\r\n ? SubAccountType.InvestmentAccount\r\n : hasWrapCash\r\n ? SubAccountType.WrapCash\r\n : null;\r\n this.stepperConfig = this.stepperConfig.concat(this.getSIPPStepConfig(next));\r\n lastProductType = SubAccountType.Npr;\r\n }\r\n if (hasIsa) {\r\n const next = hasPP ? SubAccountType.InvestmentAccount : hasWrapCash ? SubAccountType.WrapCash : null;\r\n this.stepperConfig = this.stepperConfig.concat(this.getISAStepConfig(next));\r\n lastProductType = SubAccountType.StocksIsa;\r\n }\r\n if (hasPP) {\r\n const next = hasWrapCash ? SubAccountType.WrapCash : null;\r\n this.stepperConfig = this.stepperConfig.concat(this.getPPStepConfig(next));\r\n lastProductType = SubAccountType.InvestmentAccount;\r\n }\r\n if (hasWrapCash) {\r\n this.stepperConfig = this.stepperConfig.concat(this.getWrapCashStepConfig());\r\n lastProductType = SubAccountType.WrapCash;\r\n }\r\n\r\n if (this.state.data.SelectedProducts.some((ele) => SubAccountTypeHelper.isLegacyProduct(ele.SubAccountType))) {\r\n this.stepperConfig = this.stepperConfig.concat(this.getSippAndBondStepConfig());\r\n lastProductType = SubAccountType.WrapCash;\r\n }\r\n //this.stepperConfig.push(this.getDisinvestmentStrategyStepConfig());\r\n\r\n this.stepperConfig.push(this.getReviewStepConfig());\r\n this.stepperConfig.push(this.getDocAndDeclarationStepConfig());\r\n if (needToOpenBondInOldWizard) {\r\n this.stepperConfig.push(this.getTransitionalConfirmationStepConfig(lastProductType));\r\n } else {\r\n this.stepperConfig.push(this.getConfirmationStepConfig());\r\n }\r\n }\r\n\r\n getAccountHolderDisplayText() {\r\n const model: ApplyModel = this.state.data;\r\n if (Object.keys(this.child).length == 1) {\r\n //the child is the number of NB steps user has clicked through, when user lands on NB for the 1st time, he is on the 1st step, and the length of child will be 1.\r\n //The purpose is that if user is on the 1st step, full client detail, just display the 1st client name.\r\n return ClientNameHelper.clientNameDisplay(model?.ClientDetails, null);\r\n }\r\n // when user has step to the 2nd step, display the name of 1st client or both client base on user's selection.\r\n return ClientNameHelper.clientNameDisplay(\r\n model?.ClientDetails,\r\n model.IsJointAccount ? model?.SecondClientDetails : null\r\n );\r\n }\r\n\r\n setProcessProps() {\r\n const { data } = this.state;\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"])\r\n ? \"New business\"\r\n : \"Add new product\";\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: this.getAccountHolderDisplayText(),\r\n splitHeaderSub: `${\r\n data.AccountCreated\r\n ? data.AccountCreated.AccountId\r\n : CommonHelper.isNullOrEmpty(data?.ShellHeadClAccountId)\r\n ? \"\"\r\n : data?.ShellHeadClAccountId\r\n }`,\r\n };\r\n processProps.subTitle = Methods.getProductNameFromUrl();\r\n processProps.onSave = (step) => this.onSave(step);\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ChargesOnIllustration } from \"../../../../Common/AdviserCharges/Components/ChargesOnIlustration\";\r\nimport { IAC } from \"../../../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesCopyOption } from \"./ChargesCopyOption\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

{AdviserChargesContents.AcHeader}

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

{AdviserChargesContents.ProductLevel}

\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SourceType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentage } from \"../../../../../../../../Wrap/Models/Models/Shared/MoneyOrPercentage\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesHelper } from \"../../../../Common/Helpers/ChargesHelper\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\n\r\ninterface IChargesCopyOptionProps extends IProcessComponentProps {}\r\n\r\ninterface IChargesCopyOptionState {}\r\n\r\nexport class ChargesCopyOption extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (isNullOrEmpty(data.GiaModel.ChargesExtraInfo?.CopyChargesFromOtherWizard)) {\r\n if (!data.GiaModel.ChargesExtraInfo) {\r\n data.GiaModel.ChargesExtraInfo = { CopyChargesFromOtherWizard: false };\r\n } else {\r\n data.GiaModel.ChargesExtraInfo.CopyChargesFromOtherWizard = false;\r\n }\r\n }\r\n onChange(data);\r\n }\r\n\r\n copyCharges(source: SubAccountType, v: boolean) {\r\n const { data, onChange } = this.props;\r\n data.GiaModel.ChargesExtraInfo.CopyChargesFromOtherWizard = v;\r\n if (v) {\r\n if (SubAccountTypeHelper.isOnPlatformPension(source)) {\r\n if (ChargesHelper.displayIAC(data.GiaModel, SubAccountType.PersonalPortfolio)) {\r\n const iac = data.PensionApply.InitialAdviserCharge;\r\n iac.SourceType = SourceType.WrapCash;\r\n data.GiaModel.InitialAdviserCharge = iac;\r\n }\r\n const oac = data.PensionApply.OngoingAdviceCharge;\r\n oac.SourceType = SourceType.WrapCash;\r\n data.GiaModel.OngoingAdviceCharge = oac;\r\n } else if (source === SubAccountType.StocksIsa) {\r\n if (ChargesHelper.displayIAC(data.GiaModel, SubAccountType.PersonalPortfolio)) {\r\n data.GiaModel.InitialAdviserCharge = data.IsaModel.InitialAdviserCharge;\r\n }\r\n data.GiaModel.OngoingAdviceCharge = data.IsaModel.OngoingAdviceCharge;\r\n }\r\n } else {\r\n data.GiaModel.InitialAdviserCharge = this.emptyPercentageOrMoney();\r\n data.GiaModel.OngoingAdviceCharge = this.emptyPercentageOrMoney();\r\n }\r\n onChange(data);\r\n }\r\n\r\n emptyPercentageOrMoney(): MoneyOrPercentage {\r\n return {\r\n Type: null,\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n Percentage: null,\r\n Frequency: null,\r\n SourceType: null,\r\n };\r\n }\r\n\r\n getSourceToCopy(): SubAccountType {\r\n const { data } = this.props;\r\n const sippProvided = ChargesHelper.chargesProvided(data.PensionApply);\r\n const isaProvided = ChargesHelper.chargesProvided(data.IsaModel);\r\n return sippProvided ? SubAccountType.Sipp : isaProvided ? SubAccountType.StocksIsa : null;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const source = this.getSourceToCopy();\r\n if (!source) {\r\n return null;\r\n }\r\n const label = SubAccountTypeHelper.isOnPlatformPension(source)\r\n ? AdviserChargesContents.CopyFromSipp\r\n : AdviserChargesContents.CopyFromIsa;\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n selected={this.props.data?.GiaModel?.ChargesExtraInfo?.CopyChargesFromOtherWizard}\r\n onChange={(v) => this.copyCharges(source, v)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Action } from \"../../../../../../Actions/Action\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport {\r\n getISTPaymentAmount,\r\n pensionInstrumentSelectionToInstrumentSelection,\r\n} from \"../../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { BankAccountOwnerPaymentTypeMap, PaymentType } from \"../../../../Common/Resource/Contents\";\r\nimport { EWizardLinterHelper } from \"../../../Resource/EWizardLinterHelper\";\r\nimport { AdviserContextStoreStatic } from \"../../../Stores/Variable\";\r\nimport { TreasuredAssetsStore } from \"../../../../../../Stroes/Variable\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\n\r\ninterface InvestmentSelectionToolProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n treasuredAssetProductIds: number[];\r\n onTreasuredAssetsStoreChange: () => void;\r\n onChangeTreasuredAssets: (subAccountInstructionId, productId, value) => void;\r\n}\r\n\r\ninterface InvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n InvestmentSelectionToolProps,\r\n InvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(TreasuredAssetsStore, () => this.props.onTreasuredAssetsStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const subAccountInstructionId = HierarchyIdHelper.generateHierarchyId(this.props.data.GiaModel.HierarchyId)\r\n .entityId;\r\n Action.getInstructionTreasuredAssetsProductIds(subAccountInstructionId);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data, onChangeTreasuredAssets, treasuredAssetProductIds } = this.props;\r\n const paymentAmount = getISTPaymentAmount(data?.GiaModel, \"GiaTransfers\");\r\n const accountsFromExisting = data.AllBankAccounts || [];\r\n const bankAccountInstructionsFiltered =\r\n (data.BankAccountInstructions || []).filter(\r\n (x) => BankAccountOwnerPaymentTypeMap[x.Owner].indexOf(PaymentType.Client) != -1\r\n ) || [];\r\n\r\n const bankAccounts = [...accountsFromExisting, ...bankAccountInstructionsFiltered];\r\n const modelData = JSON.parse(JSON.stringify(data?.GiaModel));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n\r\n const adviser = AdviserContextStoreStatic.getData();\r\n const hasSipp = data.SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const hasIsa = data.SelectedProducts.some((ele) => ele.SubAccountType == SubAccountType.StocksIsa);\r\n return (\r\n \r\n

Investment selection

\r\n this.appendChild(ref)}\r\n onChange={(changes) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"GiaModel\"),\r\n changes,\r\n data.GiaModel,\r\n \"InstrumentSelections\"\r\n )\r\n }\r\n from={hasSipp ? SubAccountType.Sipp : hasIsa ? SubAccountType.StocksIsa : null}\r\n fromData={\r\n hasSipp\r\n ? pensionInstrumentSelectionToInstrumentSelection(\r\n data.PensionApply?.PreRetirementInstrumentSelections,\r\n data.PensionApply?.PostRetirementInstrumentSelections,\r\n data.CashInstrument\r\n )\r\n : hasIsa\r\n ? this.props.data.IsaModel?.InstrumentSelections\r\n : null\r\n }\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.NB}\r\n hiercharyId={data.SubaccountInstructionHierarchyId}\r\n headAccountHierarchyId={data.ExistingAccountHierarchyId}\r\n companyCode={adviser?.Company}\r\n claccountId={this.props.data.ClAccountId}\r\n product={SubAccountType.InvestmentAccount}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={bankAccounts}\r\n onBankChange={(bankInfo) => {\r\n const banks = data.BankAccountInstructions.concat(bankInfo);\r\n onChange({ BankAccountInstructions: banks });\r\n }}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"GiaModel\"),\r\n changes,\r\n data.GiaModel,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={data?.GiaModel?.HierarchyId}\r\n accountAdviceType={data?.AccountAdviceType}\r\n accountServiceProposition={data?.AccountServiceProposition}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"GiaModel\")}\r\n treasuredAssetsProductIds={treasuredAssetProductIds}\r\n onChangeTreasuredAssets={(productId, value) => {\r\n onChangeTreasuredAssets(data.GiaModel.HierarchyId, productId, value);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { RestrictionHelper } from \"../../../../../../../Shared/Common/RestrictionHelper\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ProcessTypeHelper } from \"../../../../Common/Helpers/ProcessTypeHelper\";\r\nimport { BankAccountAction } from \"../../../../Common/PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { inUseBankAccountForApply } from \"../../../../Common/PaymentsIn/BankAccount/BankAccountHelper\";\r\nimport { RegularPayment } from \"../../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { SinglePayment } from \"../../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { TransferIn } from \"../../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { PaymentType, processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { RestrictionStore } from \"../../../../Common/Restrictions/Variable\";\r\nimport { nbPaymentsInMessages } from \"../../../Resource/Contents\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n transferDisabled: boolean;\r\n processType: ProcessType;\r\n}\r\n\r\ninterface IPaymentsInState {}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview, processType } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n isReview: isReview,\r\n onSaveNewBankAccountInstruction: (bankAccountInstruction) => {\r\n bankAccountInstruction.OwnerHierarchyId = data.OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(\r\n bankAccountInstruction,\r\n data.ClientDetails?.ActorId,\r\n ProcessTypeHelper.getProcessTypeEnum(processType),\r\n (savedBankAccountInstruction) => {\r\n const changes = [...data.BankAccountInstructions, ...[savedBankAccountInstruction]];\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }\r\n );\r\n },\r\n onRemoveBankAccountInstruction: (bankAccountInstruction) => {\r\n BankAccountAction.removeBankInstruction(bankAccountInstruction, () => {\r\n const changes = (data.BankAccountInstructions || []).filter(\r\n (x) => x.AccountNumber != bankAccountInstruction.AccountNumber\r\n );\r\n this.onDataChange(onChange, { BankAccountInstructions: changes }, data);\r\n });\r\n },\r\n inUseBankAccountInstruction: inUseBankAccountForApply(data),\r\n };\r\n };\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n isValid = isValid && this.atLeastOneContribution();\r\n if (!this.atLeastOneContribution()) {\r\n this.props.showErrorMsgPopUp([nbPaymentsInMessages.atLeastOneContribution]);\r\n }\r\n return isValid;\r\n }\r\n\r\n private atLeastOneContribution(): boolean {\r\n const { data } = this.props;\r\n\r\n return (\r\n data.GiaModel.ClientSinglePayment?.Money?.Amount > 0 ||\r\n data.GiaModel.ThirdPartySinglePayment?.Money?.Amount > 0 ||\r\n data.GiaModel.ClientRegularPayment?.Money?.Amount > 0 ||\r\n data.GiaModel.ThirdPartyRegularPayment?.Money?.Amount > 0 ||\r\n data.GiaModel.GiaTransfers?.length > 0\r\n );\r\n }\r\n public render(): JSX.Element {\r\n const { GiaModel, ClientDetails, AllBankAccounts, BankAccountInstructions } = this.props.data;\r\n const { data, onChange } = this.props;\r\n return (\r\n
\r\n

Payments in

\r\n \r\n
\r\n \r\n
\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"GiaModel\"),\r\n changes,\r\n GiaModel\r\n )\r\n }\r\n disabled={\r\n RestrictionStore.transferDisabled() &&\r\n RestrictionHelper.shouldHandleRestriction(this.props.processType)\r\n }\r\n isReview={this.props.isReview}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isPost={false}\r\n onRef={(ref) => this.appendChild(ref)}\r\n clientDetails={ClientDetails}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Gender } from \"../../../../../../../Wrap/Constants/Enums/Domain/Gender\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CustomerTaxResidencyModel } from \"../../../../../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { TaxReferenceType } from \"../../../../../../../Wrap/Constants/Enums/Customer/TaxReferenceType\";\r\nimport { CountryCodeMap } from \"../../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { StepReview } from \"./StepReview\";\r\nimport { FullClientDetailClient } from \"../../../../../../../Wrap/Api/Customer/FullClientDetail\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { BWACheck } from \"../../../Common/Review/Component/BWACheck\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n}\r\n\r\ninterface IReviewState {\r\n selectedClientInfo: FullClientDetailModel;\r\n}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { selectedClientInfo: null };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data.SecondClientDetails?.ActorId) {\r\n const client = new FullClientDetailClient();\r\n const promise = client.get(this.props.data.SecondClientDetails.ActorId);\r\n promise.onSuccess((result) => {\r\n this.setState({ selectedClientInfo: result });\r\n });\r\n }\r\n }\r\n private clientDetailRender() {\r\n const data = this.props.data.ClientDetails;\r\n const nino = data?.TaxResidency?.find(\r\n (e: CustomerTaxResidencyModel) => e.TaxReferenceType == TaxReferenceType.GbrNino\r\n );\r\n const ninoSecond = this.state.selectedClientInfo?.CustomerTaxResidencyDetails?.find(\r\n (e: CustomerTaxResidencyModel) => e.TaxReferenceType == TaxReferenceType.GbrNino\r\n );\r\n let nationality = \"\";\r\n let taxResidency = \"\";\r\n if (data.TaxResidency && data.TaxResidency.length > 0) {\r\n //UK is always tax resident for now\r\n const taxResidentList = data.TaxResidency.filter((x) => x.IsTaxResident);\r\n\r\n if (taxResidentList.length == 1) {\r\n taxResidency = `${CountryCodeMap.getString(taxResidentList[0].Country)} only`;\r\n } else {\r\n taxResidentList.map((ele) => {\r\n taxResidency += `${CountryCodeMap.getString(ele.Country)}, `;\r\n });\r\n taxResidency = taxResidency.substring(0, taxResidency.length - 2);\r\n }\r\n\r\n const nationalityList = data.TaxResidency.filter((x) => x.IsNationality);\r\n if (nationalityList.length == 1) {\r\n nationality = `${CountryCodeMap.getString(data.TaxResidency[0].Country)} only`;\r\n } else if (nationalityList.length > 1) {\r\n nationalityList.map((ele) => {\r\n nationality += `${CountryCodeMap.getString(ele.Country)}, `;\r\n });\r\n nationality = nationality.substring(0, nationality.length - 2);\r\n }\r\n }\r\n\r\n let nationality2 = \"\";\r\n let taxResidency2 = \"\";\r\n if (\r\n this.state.selectedClientInfo?.CustomerTaxResidencyDetails &&\r\n this.state.selectedClientInfo?.CustomerTaxResidencyDetails?.length > 0\r\n ) {\r\n //UK is always tax resident for now\r\n const taxResidentList = this.state.selectedClientInfo?.CustomerTaxResidencyDetails?.filter(\r\n (x) => x.IsTaxResident\r\n );\r\n\r\n if (taxResidentList.length == 1) {\r\n taxResidency2 = `${CountryCodeMap.getString(taxResidentList[0].Country)} only`;\r\n } else {\r\n taxResidentList.map((ele) => {\r\n taxResidency2 += `${CountryCodeMap.getString(ele.Country)}, `;\r\n });\r\n taxResidency2 = taxResidency2?.substring(0, taxResidency2.length - 2);\r\n }\r\n\r\n const nationalityList = this.state.selectedClientInfo?.CustomerTaxResidencyDetails?.filter(\r\n (x) => x.IsNationality\r\n );\r\n if (nationalityList.length == 1) {\r\n nationality2 = `${CountryCodeMap.getString(\r\n this.state.selectedClientInfo?.CustomerTaxResidencyDetails[0]?.Country\r\n )} only`;\r\n } else if (nationalityList.length > 1) {\r\n nationalityList.map((ele) => {\r\n nationality2 += `${CountryCodeMap.getString(ele.Country)}, `;\r\n });\r\n nationality2 = nationality2.substring(0, nationality2.length - 2);\r\n }\r\n }\r\n let caption = \"Joint account holder \";\r\n if (this.props.data.IsJointAccount) {\r\n caption = caption + \" 1\";\r\n }\r\n\r\n const config = [\r\n {\r\n title: caption,\r\n data: this.props.data.IsJointAccount ? \" \" : \"\",\r\n },\r\n {\r\n title: \"Title\",\r\n data: TitleMap.getString(data.Title),\r\n },\r\n {\r\n title: \"Name\",\r\n data: `${data.FirstName} ${data.LastName}`,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: data.Gender == Gender.Female ? \"Female\" : \"Male\",\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: JsonDateParser.getFormatDate(data.DateOfBirth, \"dd/MM/yyyy\"),\r\n },\r\n {\r\n title: \"NINO\",\r\n data: nino?.TaxReference,\r\n },\r\n {\r\n title: \"Country of nationality\",\r\n data: nationality,\r\n },\r\n {\r\n title: \"Tax residency\",\r\n data: taxResidency,\r\n },\r\n {\r\n title: \"Financial advice\",\r\n data: this.props.data.AdviceGiven ? \"Yes\" : \"No\",\r\n },\r\n ];\r\n const config1 = [\r\n {\r\n title: \"Joint account holder 2\",\r\n data: \" \",\r\n },\r\n {\r\n title: \"Title\",\r\n data: TitleMap.getString(this.state.selectedClientInfo?.PersonalDetails?.Title),\r\n },\r\n {\r\n title: \"Name\",\r\n data: `${this.state.selectedClientInfo?.PersonalDetails?.GivenName} ${this.state.selectedClientInfo?.PersonalDetails?.FamilyName}`,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: this.state.selectedClientInfo?.PersonalDetails?.Gender == Gender.Female ? \"Female\" : \"Male\",\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: JsonDateParser.getFormatDate(\r\n this.state.selectedClientInfo?.PersonalDetails?.DateOfBirth,\r\n \"dd/MM/yyyy\"\r\n ),\r\n },\r\n {\r\n title: \"NINO\",\r\n data: ninoSecond?.TaxReference,\r\n },\r\n {\r\n title: \"Country of nationality\",\r\n data: nationality2,\r\n },\r\n {\r\n title: \"Tax residency\",\r\n data: taxResidency2,\r\n },\r\n {\r\n title: \"Financial advice\",\r\n data: this.props.data.AdviceGiven ? \"Yes\" : \"No\",\r\n },\r\n ];\r\n return (\r\n
\r\n
\r\n

Full client details

\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().FullClientDetail)}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n {this.props.data.IsJointAccount &&\r\n this.props.data.SecondClientDetails != null &&\r\n this.state.selectedClientInfo && (\r\n <>\r\n
\r\n \r\n \r\n )}\r\n
\r\n\r\n // Navigator.navigateToAndPreserveQueryParameters(Urls.get().FullClientDetail)}\r\n // isOpen={true}\r\n // >\r\n // \r\n // \r\n\r\n // Shouldn't be expandable\r\n );\r\n }\r\n\r\n private getStepReviewProps = (key) => {\r\n return {\r\n data: this.props.data[key],\r\n model: this.props.data,\r\n };\r\n };\r\n\r\n render() {\r\n const selectedProducts = this.props.data.SelectedProducts;\r\n const pensionDetail = selectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const isaDetail = selectedProducts.find((ele) => SubAccountTypeHelper.isIsa(ele.SubAccountType));\r\n const ppDetail = selectedProducts.find((ele) => SubAccountTypeHelper.isPP(ele.SubAccountType));\r\n const wrapCashDetail = selectedProducts.find((ele) => SubAccountTypeHelper.isWrapCash(ele.SubAccountType));\r\n\r\n return (\r\n <>\r\n

Review

\r\n \r\n {this.clientDetailRender()}\r\n {pensionDetail && (\r\n
\r\n {isaDetail || ppDetail || wrapCashDetail ?

SIPP details

: null}\r\n \r\n
\r\n )}\r\n {isaDetail && (\r\n
\r\n {pensionDetail || ppDetail || wrapCashDetail ?

ISA details

: null}\r\n \r\n
\r\n )}\r\n {ppDetail && (\r\n
\r\n {pensionDetail || isaDetail || wrapCashDetail ?

Personal Portfolio details

: null}\r\n \r\n
\r\n )}\r\n {wrapCashDetail && (\r\n <>\r\n

Cash Account details

\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { PensionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { GiaBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/GiaBase\";\r\nimport { IsaBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/IsaBase\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { WrapCashBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/WrapCashBase\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { showIncome } from \"../../../Common/PaymentsIn/SIPP/ValidationHelper\";\r\nimport { AdviceChargeReview } from \"../../../Common/Review/Component/AdviceChargeReview\";\r\nimport { DrawdownReview } from \"../../../Common/Review/Component/DrawdownReview\";\r\nimport { IncomePaymentReview } from \"../../../Common/Review/Component/IncomePaymentReview\";\r\nimport { InvestmentReview } from \"../../../Common/Review/Component/InvestmentReview\";\r\nimport { PaymentsInReview } from \"../../../Common/Review/Component/PaymentsInReview\";\r\nimport { WithDrawalReview } from \"../../../Common/Review/Component/WithDrawalReview\";\r\nimport {\r\n hasEnhancedPensionProtection,\r\n showChooseAssetstoSell,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\n\r\ninterface IStepReviewProps {\r\n data: GiaBase | IsaBase | PensionBase | WrapCashBase;\r\n model: ApplyModel;\r\n subAccountType: SubAccountType;\r\n}\r\n\r\nexport const StepReview = (props: IStepReviewProps) => {\r\n const { data, subAccountType, model } = props;\r\n\r\n const isWithDrawalShow = (): boolean => {\r\n switch (subAccountType) {\r\n case SubAccountType.StocksIsa:\r\n return model.SelectedProducts.find((ele) => SubAccountTypeHelper.isIsa(ele.SubAccountType))\r\n ?.IsAddRegularWithdrawalSelected;\r\n case SubAccountType.InvestmentAccount:\r\n return model.SelectedProducts.find((ele) => SubAccountTypeHelper.isPP(ele.SubAccountType))\r\n ?.IsAddRegularWithdrawalSelected;\r\n default:\r\n return false;\r\n }\r\n };\r\n const isAdviserChargeShow = (): boolean => {\r\n switch (subAccountType) {\r\n case SubAccountType.WrapCash:\r\n return false;\r\n\r\n default:\r\n return true;\r\n }\r\n };\r\n const isIncomePaymentShow = (): boolean => {\r\n return (\r\n SubAccountTypeHelper.isOnPlatformPension(subAccountType) &&\r\n showIncome(\r\n model.SelectedProducts.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)),\r\n data\r\n )\r\n );\r\n };\r\n\r\n const isDrawDownShow = (): boolean => {\r\n const pensionType = model.SelectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n )?.PensionType;\r\n return (\r\n SubAccountTypeHelper.isOnPlatformPension(subAccountType) &&\r\n model.PensionApply?.DrawdownModel?.InstructionId != null &&\r\n pensionType != PensionType.None\r\n );\r\n };\r\n\r\n const isShowInvestmentSelection = (): boolean => {\r\n if (SubAccountTypeHelper.isOnPlatformPension(subAccountType))\r\n {return (\r\n (data as PensionBase).PreRetirementInstrumentSelections?.Instruments?.length > 0 ||\r\n (data as PensionBase).PostRetirementInstrumentSelections?.Instruments?.length > 0\r\n );}\r\n return data.InstrumentSelections?.Instruments?.length > 0;\r\n };\r\n\r\n const getReviewProps = () => {\r\n return { data: data, subAccountType: subAccountType, process: ProcessType.NB, colNum: 2, extraInfo: model };\r\n };\r\n\r\n const getWithDrawalReviewProps = () => {\r\n return { data: data, subAccountType: subAccountType, process: ProcessType.NB, colNum: 2, extraInfo: model };\r\n };\r\n\r\n const showAssetsToSell = () => {\r\n return showChooseAssetstoSell((data as PensionBase)?.DrawdownModel, ChooseAssetsToSellFor.Drawdown);\r\n };\r\n\r\n const isImmediateTaxFreeLumpSum =\r\n model?.SelectedProducts?.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n\r\n return (\r\n <>\r\n \r\n {isAdviserChargeShow() && }\r\n {isShowInvestmentSelection() && (\r\n \r\n )}\r\n {isWithDrawalShow() && }\r\n {isDrawDownShow() && (\r\n \r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n )?.PensionType == PensionType.ImmediateTaxFreeLumpSum\r\n }\r\n {...getReviewProps()}\r\n showDrawdownPriceLock={true}\r\n showAssetsToSell={showAssetsToSell()}\r\n modelData={model}\r\n onEditAction={() => Navigator.navigateToAndPreserveQueryParameters(Urls.get().DrawdownNewbusiness)}\r\n hasEnhancedPensionProtection={hasEnhancedPensionProtection(model?.PensionApply)}\r\n />\r\n )}\r\n {isIncomePaymentShow() && (\r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().NBIncomePaymentsSIPP)}\r\n isITFC={isImmediateTaxFreeLumpSum}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { IAC } from \"../../../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { RIAC } from \"../../../../Common/AdviserCharges/Components/RIAC\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Adviser charges

\r\n\r\n

{AdviserChargesContents.ProductLevel}

\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { CrystallisationDetailsSection } from \"../../../../Common/SIPP/DrawdownDetails/CrystallisationDetails\";\r\nimport { LTABreakdownDetails } from \"../../../../Common/SIPP/DrawdownDetails/LTABreakdownDetails\";\r\nimport { RegularCrystallisation } from \"../../../../Common/SIPP/DrawdownDetails/RegularCrystallisation\";\r\nimport { TaxFreeLumpSumPayment } from \"../../../../Common/SIPP/DrawdownDetails/TaxFreeLumpSumPayment\";\r\nimport { DrawdownTypeOption } from \"../../../../Common/SIPP/DrawdownDetails/DrawdownType\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { LessThanAge } from \"../../../../Common/Helpers/PensionHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { SectionHeader } from \"../../../../Common/SharedComponents\";\r\nimport { DIAC } from \"../../../../Common/SIPP/DrawdownDetails/DIAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { ChooseAssetsToSell } from \"../../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSell\";\r\nimport {\r\n getChooseAssetsToSellTable,\r\n hasEnhancedPensionProtection,\r\n showChooseAssetstoSell,\r\n} from \"../../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellTable } from \"../../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport { BceAndPclsTaxYear } from \"../../../../Common/SIPP/DrawdownDetails/BceAndPCLSTaxYear\";\r\nimport { IllHealth } from \"../../../../Common/SIPP/DrawdownDetails/IllHealth\";\r\nimport { DrawdownCalculationAction } from \"../../../../Common/SIPP/DrawdownDetails/Action/DrawdownCalculationAction\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { DrawdownModel } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { NewBusinessAction } from \"../../../Actions/NewBusinessAction\";\r\nimport { NewBusinessStore } from \"../../../Stores/Variable\";\r\nimport { DrawdownPriceLock } from \"../../../../Common/SIPP/DrawdownDetails/DrawdownPriceLock\";\r\nimport { PreADayPensionDetails } from \"../../../../Common/SIPP/DrawdownDetails/PreADayPensionDetails\";\r\nimport { Information } from \"../../../../Common/SIPP/DrawdownDetails/Information\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { PensionType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { CrystallizationPerContribution } from \"../../../../Common/SIPP/DrawdownDetails/CrystallizationPerContribution\";\r\nimport { PensionProtection } from \"../../../../Common/SIPP/DrawdownDetails/PensionProtection\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\nimport { ChooseAssetsToSellFor } from \"../../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\n\r\ninterface IDrawdownDetailsProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n}\r\n\r\ninterface IDrawdownDetailsState {\r\n isLoading: boolean;\r\n originType: DrawdownType;\r\n assetsTable: ChooseAssetsToSellAssets[];\r\n}\r\n\r\nexport class DrawdownDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n originType: null,\r\n assetsTable: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ assetsTable: getChooseAssetsToSellTable(this.props.data.PensionApply) });\r\n if (\r\n !LessThanAge(55, JsonDateParser.toDate(this.props.data?.ClientDetails?.DateOfBirth)) &&\r\n !this.props.data?.PensionApply?.DrawdownModel?.InstructionId\r\n ) {\r\n this.setState({ isLoading: true });\r\n const params = getQueryParameters();\r\n DrawdownCalculationAction.postDrawdown(\r\n this.props.data?.PensionApply?.HierarchyId,\r\n null,\r\n (drawdownModel: DrawdownModel) => {\r\n NewBusinessAction.getInstruction(params[\"id\"]);\r\n this.setState({ isLoading: false, originType: drawdownModel?.DrawdownType });\r\n }\r\n );\r\n }\r\n }\r\n\r\n private getComponentProps = (data: ApplyModel, onChange) => {\r\n return {\r\n data: data?.PensionApply?.DrawdownModel,\r\n onChange: (v) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"PensionApply\"),\r\n v,\r\n data.PensionApply,\r\n \"DrawdownModel\"\r\n ),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n private doCalculation = () => {\r\n this.setState({ isLoading: true });\r\n const originType =\r\n this.state.originType || NewBusinessStore.getData()?.PensionApply?.DrawdownModel?.DrawdownType;\r\n const currType = this.props.data?.PensionApply?.DrawdownModel?.DrawdownType;\r\n const _data = JSON.parse(JSON.stringify(this.props.data));\r\n this.setState({ originType: currType });\r\n const originIsRegular = originType == DrawdownType.Regular;\r\n const currIsRegular = currType == DrawdownType.Regular;\r\n _data.PensionApply.DrawdownModel.ChangeInstructionType =\r\n (originIsRegular && !currIsRegular) || (!originIsRegular && currIsRegular);\r\n NewBusinessAction.postInstruction(2, _data, () => {\r\n this.setState({ isLoading: false });\r\n });\r\n };\r\n\r\n private needIllHealth(data) {\r\n return (\r\n LessThanAge(55, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth)) &&\r\n !data?.PensionApply?.DrawdownModel?.InstructionId\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const ageLessThan75 = LessThanAge(75, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth));\r\n const isImmediateTaxFreeLumpSum =\r\n data?.SelectedProducts?.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n if (this.needIllHealth(data)) {\r\n return (\r\n {\r\n this.setState({ isLoading: true });\r\n const params = getQueryParameters();\r\n DrawdownCalculationAction.postDrawdown(\r\n this.props.data?.PensionApply?.HierarchyId,\r\n null,\r\n (drawdownModel: DrawdownModel) => {\r\n NewBusinessAction.getInstruction(params[\"id\"]);\r\n this.setState({ isLoading: false, originType: drawdownModel?.DrawdownType });\r\n }\r\n );\r\n }}\r\n />\r\n );\r\n }\r\n return (\r\n \r\n \r\n

Drawdown details

\r\n \r\n {data?.PensionApply?.DrawdownModel?.PreADay == false && (\r\n <>\r\n {SectionHeader(\"Drawdown details\")}\r\n this.appendChild(ref)}\r\n data={data?.PensionApply}\r\n onChange={(v) => this.onDataChange(onChange, v, data, \"PensionApply\")}\r\n process={ProcessType.NB}\r\n />\r\n \r\n \r\n )}\r\n \r\n {data?.PensionApply?.DrawdownModel?.PreADay == false && (\r\n <>\r\n \r\n {data?.PensionApply?.DrawdownModel.DrawdownType == DrawdownType.Regular && (\r\n this.doCalculation()}\r\n />\r\n )}\r\n\r\n {(data?.PensionApply?.DrawdownModel.DrawdownType == DrawdownType.Capped ||\r\n data?.PensionApply?.DrawdownModel.DrawdownType == DrawdownType.Flexible) && (\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n pensionProtection={data?.PensionApply?.PensionProtection}\r\n />\r\n )}\r\n\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n process={ProcessType.NB}\r\n lessThan75={ageLessThan75}\r\n />\r\n\r\n \r\n {data?.SelectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n )?.PensionType == PensionType.ImmediateTaxFreeLumpSum && (\r\n \r\n )}\r\n {data?.PensionApply?.DrawdownModel?.DrawdownType != DrawdownType.Regular && (\r\n \r\n )}\r\n {}}\r\n data={{\r\n OngoingAdviceCharge:\r\n data?.PensionApply?.DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge,\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n {showChooseAssetstoSell(\r\n data?.PensionApply?.DrawdownModel,\r\n ChooseAssetsToSellFor.Drawdown\r\n ) &&\r\n !isImmediateTaxFreeLumpSum && (\r\n <>\r\n
\r\n \r\n {!data?.PensionApply?.DrawdownModel?.IsAcrossAllAssets && (\r\n this.appendChild(ref)}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) =>\r\n this.onDataChange(onChange, changes, data, \"PensionApply\"),\r\n { PensionCommencementLumpSumAllocations: v },\r\n data.PensionApply,\r\n \"DrawdownModel\"\r\n );\r\n }}\r\n processType={ProcessType.NB}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DistributionDividendPreference } from \"../../../../../../../../Wrap/Constants/Enums/Domain/DistributionDividendPreference\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { InstrumentSelection } from \"../../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { InstrumentSelections } from \"../../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelections\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { User } from \"../../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../../Shared/Common/UserMessages\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport {\r\n getISTPaymentAmount,\r\n initPensionInstrumentSelections,\r\n initWeighting,\r\n} from \"../../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { AllocationTableItem } from \"../../../../../../../Shared/IST/Store/SelectedInvesmentStoreStatic\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { Action } from \"../../../../../../Actions/Action\";\r\nimport { TreasuredAssetsStore, UserStore } from \"../../../../../../Stroes/Variable\";\r\nimport { BankAccountOwnerPaymentTypeMap, PaymentType } from \"../../../../Common/Resource/Contents\";\r\nimport { RestrictionStore } from \"../../../../Common/Restrictions/Variable\";\r\nimport { EWizardLinterHelper } from \"../../../Resource/EWizardLinterHelper\";\r\nimport { AdviserContextStoreStatic } from \"../../../Stores/Variable\";\r\n\r\ninterface IInvestmentSelectionToolProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n treasuredAssetProductIds: number[];\r\n onTreasuredAssetsStoreChange: () => void;\r\n onChangeTreasuredAssets: (hierarchyId, productId, value) => void;\r\n}\r\n\r\ninterface IInvestmentSelectionToolState {\r\n userInfo: User;\r\n}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n IInvestmentSelectionToolProps,\r\n IInvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n };\r\n\r\n this.subscribeToStore(TreasuredAssetsStore, () => this.props.onTreasuredAssetsStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n const subAccountInstructionId = HierarchyIdHelper.generateHierarchyId(this.props.data.PensionApply.HierarchyId)\r\n .entityId;\r\n\r\n Action.getInstructionTreasuredAssetsProductIds(subAccountInstructionId);\r\n }\r\n\r\n private onInvestmentChanges = (changes) => {\r\n const preRetirement: AllocationTableItem[] = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Single: ele.Single,\r\n Regular: ele.Regular,\r\n Transfer: ele.Transfer,\r\n isToogle: ele.isToogle,\r\n needToggle: ele.needToggle,\r\n isTargetAllocation: ele.isTargetAllocation,\r\n underlying: ele.underlying,\r\n modelPortfolioType: ele.modelPortfolioType,\r\n }));\r\n const postRetirement = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Transfer: ele.PostTransfer || null,\r\n Single: initWeighting(),\r\n Regular: initWeighting(),\r\n }));\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n PreRetirementInstrumentSelections: this.initInstrumentSelection(preRetirement),\r\n PostRetirementInstrumentSelections: this.initInstrumentSelection(postRetirement),\r\n },\r\n this.props.data,\r\n \"PensionApply\"\r\n );\r\n };\r\n\r\n private initInstrumentSelection = (instruments: InstrumentSelection[]): InstrumentSelections => {\r\n return {\r\n Type: MoneyOrPercentageType.Percentage,\r\n Instruments: instruments,\r\n DistributionDividendPreference: DistributionDividendPreference.NotSpecified,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data, onChangeTreasuredAssets, treasuredAssetProductIds } = this.props;\r\n const paymentAmount = getISTPaymentAmount(data?.PensionApply, \"PensionTransfers\");\r\n const accountsFromExisting = data.AllBankAccounts || [];\r\n const bankAccountInstructionsFiltered =\r\n (data.BankAccountInstructions || []).filter(\r\n (x) => BankAccountOwnerPaymentTypeMap[x.Owner].indexOf(PaymentType.Client) != -1\r\n ) || [];\r\n\r\n const bankAccounts = [...accountsFromExisting, ...bankAccountInstructionsFiltered];\r\n const modelData = JSON.parse(JSON.stringify(data?.PensionApply));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n\r\n const preRetirement = data?.PensionApply?.PreRetirementInstrumentSelections?.Instruments || [];\r\n const postRetirement = data?.PensionApply?.PostRetirementInstrumentSelections?.Instruments || [];\r\n const instrumentSelection = this.initInstrumentSelection([]);\r\n instrumentSelection.Instruments = initPensionInstrumentSelections(preRetirement, postRetirement);\r\n const adviser = AdviserContextStoreStatic.getData();\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup Investment selection\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n \r\n

Investment selection

\r\n {RestrictionStore.buyDisabled() && }\r\n this.appendChild(ref)}\r\n onChange={(changes) => this.onInvestmentChanges(changes)}\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.NB}\r\n hiercharyId={data.ExistingAccountHierarchyId}\r\n headAccountHierarchyId={data.ExistingAccountHierarchyId}\r\n companyCode={adviser?.Company}\r\n claccountId={null}\r\n product={SubAccountType.Sipp}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={bankAccounts}\r\n onBankChange={(bankInfo) => {\r\n const banks = data.BankAccountInstructions.concat(bankInfo);\r\n onChange({ BankAccountInstructions: banks });\r\n }}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"PensionApply\"),\r\n changes,\r\n data.PensionApply,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={data?.PensionApply?.HierarchyId}\r\n accountAdviceType={data?.AccountAdviceType}\r\n accountServiceProposition={data?.AccountServiceProposition}\r\n treasuredAssetsProductIds={treasuredAssetProductIds}\r\n onChangeTreasuredAssets={(productId, value) => {\r\n onChangeTreasuredAssets(data.PensionApply.HierarchyId, productId, value);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport {\r\n TransferOrDrawdown,\r\n nbSippIncomePaymentDetailsLabels,\r\n nbSippIncomePaymentDetailsMessages,\r\n} from \"../../../Resource/Contents\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { PensionBase } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport {\r\n calculateMaximumIncomePaymentForFutureYear,\r\n calculateMaximumIncomePaymentForRemainderOfYear,\r\n maximumIncomePerPaymentForFlexiTransfers,\r\n} from \"../../../../Common/SIPP/IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\n\r\nexport type CappedTransferRowData = {\r\n CappedTransfer1: TransferOrDrawdown;\r\n CappedTransfer2?: TransferOrDrawdown;\r\n};\r\n\r\ninterface ICappedTransferRowProps extends IProcessComponentProps {\r\n data: CappedTransferRowData;\r\n onChange: (changes: any, transfer: TransferOrDrawdown) => void;\r\n pensionBase: PensionBase;\r\n}\r\ninterface ICappedTransferRowState {}\r\n\r\nexport class CappedTransferRow extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, pensionBase } = this.props;\r\n\r\n return (\r\n <>\r\n {SectionHeader(nbSippIncomePaymentDetailsLabels.capped)}\r\n
\r\n {nbSippIncomePaymentDetailsLabels.from}\r\n \r\n {data.CappedTransfer1.ProviderDetails?.Name}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {data.CappedTransfer2?.ProviderDetails?.Name}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.amount}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n maximumIncomePerPaymentForFlexiTransfers([data.CappedTransfer1], true),\r\n data.CappedTransfer1.CurrentValue?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n maximumIncomePerPaymentForFlexiTransfers([data.CappedTransfer2], true),\r\n data.CappedTransfer2?.CurrentValue?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.type}\r\n \r\n {data?.CappedTransfer1.IsInheritedFund\r\n ? nbSippIncomePaymentDetailsLabels.inherited\r\n : nbSippIncomePaymentDetailsLabels.member}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {data?.CappedTransfer2?.IsInheritedFund\r\n ? nbSippIncomePaymentDetailsLabels.inherited\r\n : nbSippIncomePaymentDetailsLabels.member}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.gadMaximum}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data.CappedTransfer1.IncomePaymentDetails?.GadMaximum?.Amount,\r\n data.CappedTransfer1.IncomePaymentDetails?.GadMaximum?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data.CappedTransfer2?.IncomePaymentDetails?.GadMaximum?.Amount,\r\n data.CappedTransfer2?.IncomePaymentDetails?.GadMaximum?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.incomeTakenToDate}\r\n\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.CappedTransfer1.IncomePaymentDetails?.CurrentYearIncome?.Amount,\r\n CurrencyCode.GBP\r\n )}\r\n \r\n\r\n {data.CappedTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.CappedTransfer2?.IncomePaymentDetails?.CurrentYearIncome?.Amount,\r\n CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.nextYearsGadMaximum}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data.CappedTransfer1.IncomePaymentDetails?.GadMaximum?.Amount,\r\n data.CappedTransfer1.IncomePaymentDetails?.GadMaximum?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n data.CappedTransfer2?.IncomePaymentDetails?.GadMaximum?.Amount,\r\n data.CappedTransfer2?.IncomePaymentDetails?.GadMaximum?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n\r\n
\r\n {nbSippIncomePaymentDetailsLabels.lastMandatoryReview}\r\n \r\n {data.CappedTransfer1.IncomePaymentDetails?.LastGadReviewDate &&\r\n JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(data.CappedTransfer1.IncomePaymentDetails?.LastGadReviewDate),\r\n \"dd/MM/yyyy\"\r\n )}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {data.CappedTransfer2?.IncomePaymentDetails?.LastGadReviewDate &&\r\n JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(\r\n data.CappedTransfer2?.IncomePaymentDetails?.LastGadReviewDate\r\n ),\r\n \"dd/MM/yyyy\"\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n {nbSippIncomePaymentDetailsLabels.maximumIncomePaymentForRemainderOfYear}\r\n \r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumIncomePaymentForRemainderOfYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer1,\r\n pensionBase\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumIncomePaymentForRemainderOfYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer2,\r\n pensionBase\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n {nbSippIncomePaymentDetailsLabels.maximumIncomePaymentForFutureYears}\r\n \r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumIncomePaymentForFutureYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer1,\r\n pensionBase\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n {data.CappedTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumIncomePaymentForFutureYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer2,\r\n pensionBase\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n {nbSippIncomePaymentDetailsLabels.incomePerPaymentForCurrentPensionYear}\r\n \r\n
\r\n \r\n onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: v,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n },\r\n data.CappedTransfer1\r\n )\r\n }\r\n required={nbSippIncomePaymentDetailsMessages.incomePerPaymentForCurrentPensionYearRequired}\r\n atMost={{\r\n errorMessage:\r\n nbSippIncomePaymentDetailsMessages.cannotBeGreaterThanMaximumIncomePaymentForRemainderOfYear,\r\n value: calculateMaximumIncomePaymentForRemainderOfYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer1,\r\n pensionBase\r\n ),\r\n }}\r\n disabled={\r\n calculateMaximumIncomePaymentForRemainderOfYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer1,\r\n pensionBase\r\n ) <= 0\r\n }\r\n />\r\n
\r\n {data.CappedTransfer2 && (\r\n
\r\n \r\n onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: v,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n },\r\n data.CappedTransfer2\r\n )\r\n }\r\n required={\r\n nbSippIncomePaymentDetailsMessages.incomePerPaymentForCurrentPensionYearRequired\r\n }\r\n atMost={{\r\n errorMessage:\r\n nbSippIncomePaymentDetailsMessages.cannotBeGreaterThanMaximumIncomePaymentForRemainderOfYear,\r\n value: calculateMaximumIncomePaymentForRemainderOfYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer2,\r\n pensionBase\r\n ),\r\n }}\r\n disabled={\r\n calculateMaximumIncomePaymentForRemainderOfYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer2,\r\n pensionBase\r\n ) <= 0\r\n }\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n \r\n {nbSippIncomePaymentDetailsLabels.incomePerPaymentForFuturePensionYears}\r\n \r\n
\r\n \r\n onChange(\r\n {\r\n FutureYearIncome: {\r\n Amount: v,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n },\r\n data.CappedTransfer1\r\n )\r\n }\r\n required={nbSippIncomePaymentDetailsMessages.incomePerPaymentForFuturePensionYearsRequired}\r\n atMost={{\r\n errorMessage:\r\n nbSippIncomePaymentDetailsMessages.cannotBeGreaterThanMaximumIncomePaymentForFutureYears,\r\n value: calculateMaximumIncomePaymentForFutureYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer1,\r\n pensionBase\r\n ),\r\n }}\r\n />\r\n
\r\n {data.CappedTransfer2 && (\r\n
\r\n \r\n onChange(\r\n {\r\n FutureYearIncome: {\r\n Amount: v,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n },\r\n data.CappedTransfer2\r\n )\r\n }\r\n required={\r\n nbSippIncomePaymentDetailsMessages.incomePerPaymentForFuturePensionYearsRequired\r\n }\r\n atMost={{\r\n errorMessage:\r\n nbSippIncomePaymentDetailsMessages.cannotBeGreaterThanMaximumIncomePaymentForFutureYears,\r\n value: calculateMaximumIncomePaymentForFutureYear(\r\n processTypeEnum.NewBusiness,\r\n data?.CappedTransfer2,\r\n pensionBase\r\n ),\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CappedTransferRow;\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport {\r\n maximumIncomePerPayment,\r\n TransferOrDrawdown,\r\n nbSippIncomePaymentDetailsLabels,\r\n nbSippIncomePaymentDetailsMessages,\r\n} from \"../../../Resource/Contents\";\r\n\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport {\r\n calculateMaximumIncomePaymentForFlexiTarget,\r\n maximumIncomePerPaymentForFlexiTransfers,\r\n} from \"../../../../Common/SIPP/IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\nimport { processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { PensionBase } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\n\r\nexport type FlexiTransferRowData = {\r\n FlexiTransfer1: TransferOrDrawdown;\r\n FlexiTransfer2?: TransferOrDrawdown;\r\n};\r\n\r\ninterface IFlexiTransferRowProps extends IProcessComponentProps {\r\n data: FlexiTransferRowData;\r\n onChange: (changes: any, transfer: TransferOrDrawdown) => void;\r\n pensionBase: PensionBase;\r\n isITFC: boolean;\r\n}\r\ninterface IFlexiTransferRowState {\r\n takeFullValue1: boolean;\r\n takeFullValue2: boolean;\r\n}\r\n\r\nexport class FlexiTransferRow extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { takeFullValue1: false, takeFullValue2: false };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, pensionBase, isITFC } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(nbSippIncomePaymentDetailsLabels.flexi)}\r\n
\r\n {nbSippIncomePaymentDetailsLabels.from}\r\n \r\n {data.FlexiTransfer1.ProviderDetails?.Name}\r\n \r\n {data.FlexiTransfer2 && (\r\n \r\n {data.FlexiTransfer2.ProviderDetails?.Name}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.amount}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n maximumIncomePerPaymentForFlexiTransfers([data.FlexiTransfer1], true),\r\n data.FlexiTransfer1.CurrentValue?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n {data.FlexiTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n maximumIncomePerPaymentForFlexiTransfers([data.FlexiTransfer2], true),\r\n data.FlexiTransfer2.CurrentValue?.Currency || CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.type}\r\n \r\n {data.FlexiTransfer1.IsInheritedFund\r\n ? nbSippIncomePaymentDetailsLabels.inherited\r\n : nbSippIncomePaymentDetailsLabels.member}\r\n \r\n {data.FlexiTransfer2 && (\r\n \r\n {data.FlexiTransfer2.IsInheritedFund\r\n ? nbSippIncomePaymentDetailsLabels.inherited\r\n : nbSippIncomePaymentDetailsLabels.member}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.MaximumIncomePerPayment}\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumIncomePaymentForFlexiTarget(\r\n processTypeEnum.NewBusiness,\r\n data?.FlexiTransfer1,\r\n pensionBase,\r\n isITFC\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n {data.FlexiTransfer2 && (\r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumIncomePaymentForFlexiTarget(\r\n processTypeEnum.NewBusiness,\r\n data?.FlexiTransfer2,\r\n pensionBase,\r\n isITFC\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {nbSippIncomePaymentDetailsLabels.incomePerPayment}\r\n
\r\n \r\n onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: v,\r\n Currency:\r\n data.FlexiTransfer1?.IncomePaymentDetails?.GrossIncomePerPayment\r\n ?.Currency || CurrencyCode.GBP,\r\n },\r\n },\r\n data.FlexiTransfer1\r\n )\r\n }\r\n atMost={{\r\n errorMessage:\r\n nbSippIncomePaymentDetailsMessages.cannotBeGreaterThanMaximumPerIncomePayment,\r\n value: calculateMaximumIncomePaymentForFlexiTarget(\r\n processTypeEnum.NewBusiness,\r\n data?.FlexiTransfer1,\r\n pensionBase,\r\n isITFC\r\n ),\r\n }}\r\n disabled={this.state.takeFullValue1}\r\n />\r\n
\r\n {\r\n v\r\n ? onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: maximumIncomePerPayment,\r\n Currency:\r\n data?.FlexiTransfer1?.IncomePaymentDetails?.GrossIncomePerPayment\r\n ?.Currency || CurrencyCode.GBP,\r\n },\r\n },\r\n data.FlexiTransfer1\r\n )\r\n : onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: null,\r\n Currency:\r\n data?.FlexiTransfer1?.IncomePaymentDetails?.GrossIncomePerPayment\r\n ?.Currency || CurrencyCode.GBP,\r\n },\r\n },\r\n data.FlexiTransfer1\r\n );\r\n this.setState({ takeFullValue1: v });\r\n }}\r\n cssWrapper=\"col-2 mt-12 hyperlink\"\r\n />\r\n {data.FlexiTransfer2 && (\r\n <>\r\n
\r\n \r\n onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: v,\r\n Currency:\r\n data.FlexiTransfer2?.IncomePaymentDetails?.GrossIncomePerPayment\r\n ?.Currency || CurrencyCode.GBP,\r\n },\r\n },\r\n data.FlexiTransfer2\r\n )\r\n }\r\n atMost={{\r\n errorMessage:\r\n nbSippIncomePaymentDetailsMessages.cannotBeGreaterThanMaximumPerIncomePayment,\r\n value: calculateMaximumIncomePaymentForFlexiTarget(\r\n processTypeEnum.NewBusiness,\r\n data?.FlexiTransfer2,\r\n pensionBase,\r\n isITFC\r\n ),\r\n }}\r\n disabled={this.state.takeFullValue2}\r\n />\r\n
\r\n {\r\n v\r\n ? onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: maximumIncomePerPayment,\r\n Currency:\r\n data?.FlexiTransfer2?.IncomePaymentDetails\r\n ?.GrossIncomePerPayment?.Currency || CurrencyCode.GBP,\r\n },\r\n },\r\n data.FlexiTransfer2\r\n )\r\n : onChange(\r\n {\r\n GrossIncomePerPayment: {\r\n Amount: null,\r\n Currency:\r\n data?.FlexiTransfer2?.IncomePaymentDetails\r\n ?.GrossIncomePerPayment?.Currency || CurrencyCode.GBP,\r\n },\r\n },\r\n data.FlexiTransfer2\r\n );\r\n this.setState({ takeFullValue2: v });\r\n }}\r\n cssWrapper=\"col-2 mt-12 hyperlink\"\r\n />\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FlexiTransferRow;\r\n","import * as React from \"react\";\r\nimport CappedTransferRow, { CappedTransferRowData } from \"./CappedTransferRow\";\r\nimport FlexiTransferRow, { FlexiTransferRowData } from \"./FlexiTransferRow\";\r\nimport TransferTotals from \"./TransferTotals\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionApply } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionApply\";\r\nimport {\r\n TransferOrDrawdown,\r\n nbSippIncomePaymentDetailsLabels,\r\n nbSippIncomePaymentDetailsMessages,\r\n} from \"../../../Resource/Contents\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionArrangementType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { calculateNetDrawdownValue } from \"../../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { MoneyHelper } from \"../../../../../../../Shared/Common/MoneyHelper\";\r\n\r\ninterface IIncomeFromPensionProps extends IProcessComponentProps {\r\n data: PensionApply;\r\n onChange: (changes) => void;\r\n isITFC: boolean;\r\n}\r\ninterface IIncomeFromPensionState {}\r\n\r\nexport class IncomeFromPension extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public isValid(): boolean {\r\n const { data } = this.props;\r\n if (\r\n this.isShowIncomeFromPension(data) &&\r\n this.cappedPlusFlexiTotals() !== data.DrawdownModel?.Income?.GrossIncomePerPaymentFromPension?.Amount\r\n ) {\r\n this.props.showErrorMsgPopUp([nbSippIncomePaymentDetailsMessages.grossIncomeNotSumOfArrangementsIncome]);\r\n return false;\r\n }\r\n return super.isValid();\r\n }\r\n\r\n private cappedPlusFlexiTotals(): number {\r\n const cappedTransfers = this.extractCappedTransfers();\r\n const cappedTotals: number = cappedTransfers.reduce((sum, transfer) => {\r\n const amount: number = transfer.IncomePaymentDetails.GrossIncomePerPayment?.Amount || 0;\r\n return sum + amount;\r\n }, 0);\r\n const amount = MoneyHelper.roundNumberToDecimalPlaces(cappedTotals + this.flexiTotals(), 2);\r\n return amount;\r\n }\r\n\r\n private flexiTotals(): number {\r\n const flexiTransfers = this.extractFlexiTransfers();\r\n return flexiTransfers.reduce((sum, transfer) => {\r\n const amount: number = transfer.IncomePaymentDetails.GrossIncomePerPayment?.Amount || 0;\r\n return sum + amount;\r\n }, 0);\r\n }\r\n\r\n private isShowIncomeFromPension(data: PensionApply) {\r\n return (\r\n data?.DrawdownModel?.Income?.TargetSpecificArrangements ||\r\n (data?.PensionTransfers?.length > 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.TargetSpecificArrangements)\r\n );\r\n }\r\n\r\n private extractCappedTransfers(): TransferOrDrawdown[] {\r\n const { data } = this.props;\r\n const cappedTransfers = [];\r\n if (data?.DrawdownModel?.DrawdownType === DrawdownType.Capped) {\r\n const drawdownModel = data.DrawdownModel;\r\n const drawdownTransfer: TransferOrDrawdown = {\r\n IsInternal: true,\r\n ProviderDetails: {\r\n Name: nbSippIncomePaymentDetailsLabels.crystallisation,\r\n },\r\n CurrentValue: {\r\n Amount: calculateNetDrawdownValue(drawdownModel, data?.PensionProtection),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n IsInheritedFund: false,\r\n IncomePaymentDetails: {\r\n // @TODO uncomment after SLP-69087 promoted\r\n\r\n GadMaximum: {\r\n Amount: drawdownModel.GadRates?.GadMaximum,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n // NextGadMaximum: {\r\n // Amount: drawdownModel.GadRates?.NextGadMaximum,\r\n // Currency: CurrencyCode.GBP\r\n // },\r\n // LastGadReviewDate: drawdownModel.LastGadReviewDate,\r\n CurrentYearIncome: drawdownModel.Income.CurrentYearIncome,\r\n GrossIncomePerPayment: drawdownModel.Income.GrossIncomePerPayment,\r\n FutureYearIncome: drawdownModel.Income.FutureYearIncome,\r\n // MaximumIncomePaymentForFutureYears: drawdownModel.MaximumIncomePaymentForFutureYears,\r\n // MaximumIncomePaymentForRemainderOfYear: drawdownModel.MaximumIncomePaymentForRemainderOfYear,\r\n },\r\n };\r\n cappedTransfers.push(drawdownTransfer);\r\n }\r\n\r\n data?.PensionTransfers?.forEach((transfer, index) => {\r\n const trans = { PensionTransfersIndex: null, ...transfer };\r\n if (transfer.PensionSource === PensionArrangementType.Crystallised) {\r\n if (trans.DrawdownType == DrawdownType.Capped) {\r\n trans.PensionTransfersIndex = index;\r\n cappedTransfers.push(trans);\r\n }\r\n }\r\n });\r\n\r\n return cappedTransfers;\r\n }\r\n\r\n private extractFlexiTransfers(): TransferOrDrawdown[] {\r\n const flexiTransfers = [];\r\n const { data } = this.props;\r\n if (data?.DrawdownModel?.DrawdownType === DrawdownType.Flexible) {\r\n const drawdownModel = data.DrawdownModel;\r\n\r\n const drawdownTransfer: TransferOrDrawdown = {\r\n IsInternal: true,\r\n ProviderDetails: {\r\n Name: nbSippIncomePaymentDetailsLabels.crystallisation,\r\n },\r\n CurrentValue: {\r\n Amount: calculateNetDrawdownValue(drawdownModel, data?.PensionProtection),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n IsInheritedFund: false,\r\n IncomePaymentDetails: {\r\n // @TODO uncomment after SLP-69087 MaximumIncomePerPayment: drawdownModel.MaximumIncomePerPayment,\r\n GrossIncomePerPayment: drawdownModel.Income?.GrossIncomePerPayment,\r\n },\r\n };\r\n flexiTransfers.push(drawdownTransfer);\r\n }\r\n data?.PensionTransfers?.forEach((transfer, index) => {\r\n const trans = { PensionTransfersIndex: null, ...transfer };\r\n if (transfer.PensionSource === PensionArrangementType.Crystallised) {\r\n if (trans.DrawdownType == DrawdownType.Flexible) {\r\n trans.PensionTransfersIndex = index;\r\n flexiTransfers.push(trans);\r\n }\r\n }\r\n });\r\n return flexiTransfers;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, isITFC } = this.props;\r\n\r\n const cappedTransfers = this.extractCappedTransfers();\r\n const flexiTransfers = this.extractFlexiTransfers();\r\n const cappedTransfersInTwos = cappedTransfers.reduce(\r\n (accumulator: Array, transfer: TransferOrDrawdown, index: number) => {\r\n if (index % 2 === 0) {\r\n // index is even\r\n accumulator.push({\r\n CappedTransfer1: transfer,\r\n });\r\n } else {\r\n accumulator[accumulator.length - 1].CappedTransfer2 = transfer;\r\n }\r\n return accumulator;\r\n },\r\n []\r\n );\r\n const flexiTransfersInTwos = flexiTransfers.reduce(\r\n (accumulator: Array, transfer: TransferOrDrawdown, index: number) => {\r\n if (index % 2 === 0) {\r\n // index is even\r\n accumulator.push({\r\n FlexiTransfer1: transfer,\r\n });\r\n } else {\r\n accumulator[accumulator.length - 1].FlexiTransfer2 = transfer;\r\n }\r\n return accumulator;\r\n },\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n {this.isShowIncomeFromPension(data) &&\r\n cappedTransfersInTwos.map((transfers: CappedTransferRowData, key: number) => {\r\n return (\r\n {\r\n if (transfer.IsInternal) {\r\n const incomeChanges = { ...data.DrawdownModel.Income, ...transferChanges };\r\n const changes = { ...data.DrawdownModel, ...{ Income: incomeChanges } };\r\n this.onDataChange(onChange, changes, data, \"DrawdownModel\");\r\n } else {\r\n const pensionTransfers = data.PensionTransfers;\r\n const transferIndex = transfer.PensionTransfersIndex;\r\n const incomePaymentDetails =\r\n pensionTransfers[transferIndex].IncomePaymentDetails;\r\n pensionTransfers[transferIndex].IncomePaymentDetails = {\r\n ...incomePaymentDetails,\r\n ...transferChanges,\r\n };\r\n this.onDataChange(onChange, pensionTransfers, data, \"PensionApply\");\r\n }\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n pensionBase={data}\r\n />\r\n );\r\n })}\r\n {this.isShowIncomeFromPension(data) &&\r\n flexiTransfersInTwos.map((transfer, key) => {\r\n return (\r\n {\r\n if (transfer.IsInternal) {\r\n const incomeChanges = { ...data.DrawdownModel.Income, ...transferChanges };\r\n const changes = { ...data.DrawdownModel, ...{ Income: incomeChanges } };\r\n this.onDataChange(onChange, changes, data, \"DrawdownModel\");\r\n } else {\r\n const pensionTransfers = data.PensionTransfers;\r\n const transferIndex = transfer.PensionTransfersIndex;\r\n const incomePaymentDetails =\r\n pensionTransfers[transferIndex].IncomePaymentDetails;\r\n pensionTransfers[transferIndex].IncomePaymentDetails = {\r\n ...incomePaymentDetails,\r\n ...transferChanges,\r\n };\r\n this.onDataChange(onChange, pensionTransfers, data, \"PensionApply\");\r\n }\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n pensionBase={data}\r\n isITFC={isITFC}\r\n />\r\n );\r\n })}\r\n {\r\n const changes = { ...data.DrawdownModel, ...v };\r\n this.onDataChange(onChange, changes, data, \"DrawdownModel\");\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default IncomeFromPension;\r\n","import * as React from \"react\";\r\nimport { nbSippIncomePaymentDetailsLabels, nbSippIncomePaymentDetailsMessages } from \"../../../Resource/Contents\";\r\nimport IncomeRequired from \"../../../../Common/SIPP/IncomePaymentDetails/IncomeRequired\";\r\nimport RegularIncomePayment from \"../../../../Common/SIPP/IncomePaymentDetails/RegularIncomePayment\";\r\nimport IncomeFromPension from \"./IncomeFromPension\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionApply } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionApply\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ChooseAssetsToSellTable } from \"../../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport { getChooseAssetsToSellTable } from \"../../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { SectionHeader } from \"../../SharedComponents\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { ChooseAssetsToSellFor } from \"../../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { setValueByKey } from \"../../../../../../../Shared/Table/Utils/TableUtils\";\r\n\r\ninterface IIncomePaymentProps extends IProcessComponentProps {\r\n data: PensionApply;\r\n onChange: (changes) => void;\r\n onIncomeChange: (changes) => void;\r\n isITFC: boolean;\r\n}\r\n\r\ninterface IIncomePaymentState {\r\n showAssetTable: boolean;\r\n}\r\n\r\nexport class IncomePayment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n showAssetTable: !this.renderAssetRadioButton(props.data),\r\n };\r\n }\r\n\r\n private hasDrawdown(data: PensionApply): boolean {\r\n return !!data?.DrawdownModel?.InstructionId;\r\n }\r\n\r\n private hasTransfer(data: PensionApply): boolean {\r\n return data?.PensionTransfers?.length > 0;\r\n }\r\n\r\n private isShowIncomeFromPension(data: PensionApply) {\r\n return (\r\n data?.DrawdownModel?.Income?.TargetSpecificArrangements ||\r\n (data?.PensionTransfers?.length > 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.TargetSpecificArrangements)\r\n );\r\n }\r\n\r\n handleAllocationChange(changes) {\r\n const { onChange, data } = this.props;\r\n let _data = JSON.parse(JSON.stringify(data));\r\n if (this.hasDrawdown(data)) {\r\n for (const key in changes) {\r\n _data = setValueByKey(_data, `DrawdownModel.${key}`, changes[key]);\r\n }\r\n }\r\n if (this.hasTransfer(data)) {\r\n _data.PensionTransfers = _data?.PensionTransfers?.map((e) => {\r\n for (const key in changes) {\r\n e = setValueByKey(e, `IncomePaymentDetails.DrawdownIncome.${key}`, changes[key]);\r\n }\r\n return e;\r\n });\r\n }\r\n onChange(_data);\r\n }\r\n\r\n renderAssetRadioButton(data: PensionApply) {\r\n const drawdownAsset = data?.DrawdownModel?.IncomeDisinvestmentAllocations?.length > 0;\r\n const transferAsset =\r\n data?.PensionTransfers?.length > 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.IncomeDisinvestmentAllocations?.length > 0;\r\n return !(drawdownAsset || transferAsset);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, showErrorMsgPopUp, onIncomeChange, isITFC } = this.props;\r\n return (\r\n <>\r\n 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome)\r\n }\r\n // onChange={(v) => {\r\n // this.onDataChange(\r\n // (changes) => this.onDataChange(onChange, changes, data, \"DrawdownModel\"),\r\n // v,\r\n // data.DrawdownModel,\r\n // \"Income\"\r\n // );\r\n // }}\r\n onChange={(changes) => onIncomeChange(changes)}\r\n labels={nbSippIncomePaymentDetailsLabels}\r\n messages={nbSippIncomePaymentDetailsMessages}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={data?.DrawdownModel?.DrawdownType}\r\n pensionTransfer={data?.PensionTransfers}\r\n regularCrystalDifferentInital={\r\n data?.DrawdownModel?.RegularCrystallisationDetails?.HasADifferentInitialAmount\r\n }\r\n pensionBase={data}\r\n processType={processTypeEnum.NewBusiness}\r\n isITFC={isITFC}\r\n />\r\n
\r\n onChange(changes)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n isITFC={isITFC}\r\n />\r\n 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome)\r\n }\r\n onChange={(changes) => onIncomeChange(changes)}\r\n labels={nbSippIncomePaymentDetailsLabels}\r\n messages={nbSippIncomePaymentDetailsMessages}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={data?.DrawdownModel?.DrawdownType}\r\n availableCash={data?.DrawdownModel?.CrystallisationDetails?.AvailableCash?.Amount}\r\n taxFreeLumpSum={data?.DrawdownModel?.TaxFreeLumpSum?.Amount}\r\n regularCrystallisationDetails={data?.DrawdownModel?.RegularCrystallisationDetails}\r\n shouldHidePaymentMethod={false}\r\n pensionBase={data}\r\n processType={processTypeEnum.NewBusiness}\r\n isITFC={isITFC}\r\n />\r\n {data?.DrawdownModel?.DrawdownType !== DrawdownType.Regular &&\r\n SectionHeader(\"Choose assets to sell to pay income\")}\r\n {data?.DrawdownModel?.DrawdownType !== DrawdownType.Regular && (\r\n <>\r\n

\r\n Disinvestment from post-retirement to meet income payments\r\n \r\n (\r\n {MoneyDisplayHelper.getMoneyFormat({\r\n Amount: data?.DrawdownModel?.Income?.TargetSpecificArrangements\r\n ? data?.DrawdownModel?.Income?.GrossIncomePerPaymentFromPension?.Amount ||\r\n (\r\n data?.PensionTransfers?.length > 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome\r\n ?.AnnualIncome\r\n )?.GrossIncomePerPaymentFromPension?.Amount\r\n : data?.DrawdownModel?.Income?.GrossIncomePerPayment?.Amount ||\r\n (\r\n data?.PensionTransfers?.length > 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome\r\n ?.AnnualIncome\r\n )?.GrossIncomePerPayment?.Amount,\r\n Currency: CurrencyCode.GBP,\r\n })}\r\n )\r\n \r\n

\r\n (v ? \"Proportionally across all assets\" : \"From specified assets\")}\r\n onChange={(v) => {\r\n this.handleAllocationChange({\r\n IncomeDisinvestmentAllocations: [],\r\n IsAcrossAllAssets: v,\r\n });\r\n this.setState({ showAssetTable: !v });\r\n }}\r\n tooltip={\r\n \"If there is insufficient value in an asset at the time of the sale, we will default to disinvesting proportioanlly from the assets selected.\"\r\n }\r\n cssWrapper={\"rg-inline mb-10\"}\r\n selected={this.renderAssetRadioButton(data)}\r\n />\r\n \r\n )}\r\n {this.state.showAssetTable && (\r\n 0 &&\r\n data?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome\r\n ?.IncomeDisinvestmentAllocations)\r\n }\r\n tableData={getChooseAssetsToSellTable(data)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onChange={(v) => {\r\n this.handleAllocationChange({ IncomeDisinvestmentAllocations: v });\r\n }}\r\n reason={ChooseAssetsToSellFor.Income}\r\n showErrorMsgPopUp={(msg, isShow) => showErrorMsgPopUp(msg, isShow)}\r\n processType={ProcessType.NB}\r\n transferData={data?.PensionTransfers}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default IncomePayment;\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { NBSteppers } from \"../../../Resource/Contents\";\r\nimport { nbSippIncomePaymentDetailsLabels } from \"../../../Resource/Contents\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport IncomePayment from \"./IncomePayment\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { setValueByKey } from \"../../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { PensionArrangementType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { PensionType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport IncomeBankDetails from \"../../../../Common/SIPP/IncomePaymentDetails/IncomeBankDetails\";\r\n\r\ninterface IIncomePaymentDetailsProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n incomeOnly?: boolean;\r\n}\r\n\r\ninterface IIncomePaymentDetailsState {}\r\n\r\nexport class IncomePaymentDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n const { onChange, data } = this.props;\r\n super.componentDidMount();\r\n\r\n // if (\r\n // data?.PensionApply?.DrawdownModel?.DrawdownType === DrawdownType.Regular &&\r\n // data?.PensionApply?.DrawdownModel?.RegularCrystallisationDetails?.HasADifferentInitialAmount\r\n // ) {\r\n // let _data = JSON.parse(JSON.stringify(data?.PensionApply));\r\n // _data = setValueByKey(_data, `DrawdownModel.Income.TakeDifferentInitialIncomePayment`, true);\r\n // this.onDataChange(onChange, _data, data, \"PensionApply\");\r\n // }\r\n }\r\n private hasDrawdown(data: ApplyModel): boolean {\r\n return !!data?.PensionApply?.DrawdownModel?.InstructionId;\r\n }\r\n\r\n private hasTransfer(data: ApplyModel): boolean {\r\n return data?.PensionApply?.PensionTransfers?.length > 0;\r\n }\r\n private handleOnChange(changes) {\r\n const { onChange, data } = this.props;\r\n let _data = JSON.parse(JSON.stringify(data?.PensionApply));\r\n if (this.hasDrawdown(data)) {\r\n for (const key in changes) {\r\n _data = setValueByKey(_data, `DrawdownModel.Income.${key}`, changes[key]);\r\n }\r\n }\r\n if (this.hasTransfer(data)) {\r\n _data.PensionTransfers = _data?.PensionTransfers?.map((e) => {\r\n for (const key in changes) {\r\n e = setValueByKey(e, `IncomePaymentDetails.DrawdownIncome.AnnualIncome.${key}`, changes[key]);\r\n }\r\n return e;\r\n });\r\n }\r\n this.onDataChange(onChange, _data, data, \"PensionApply\");\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, incomeOnly, onChange, showErrorMsgPopUp } = this.props;\r\n const isImmediateTaxFreeLumpSum =\r\n data?.SelectedProducts?.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n const postTransfer = (data?.PensionApply?.PensionTransfers || []).find(\r\n (ele) => ele.PensionSource == PensionArrangementType.Crystallised\r\n );\r\n const incomeBankDetails =\r\n postTransfer?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome?.IncomePaymentAllocations ||\r\n data?.PensionApply?.DrawdownModel?.Income?.IncomePaymentAllocations;\r\n return (\r\n
\r\n

{NBSteppers.incomePaymentDetails}

\r\n\r\n {data?.PensionApply?.DrawdownModel?.DrawdownType === DrawdownType.Regular && (\r\n
\r\n
\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.handleOnChange({ TaxableIncomeRequiredInAddition: v });\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n {((data?.PensionApply?.DrawdownModel &&\r\n (data.PensionApply.DrawdownModel.DrawdownType !== DrawdownType.Regular ||\r\n data?.PensionApply?.DrawdownModel?.Income?.TaxableIncomeRequiredInAddition)) ||\r\n (data?.PensionApply?.PensionTransfers || []).some(\r\n (e) => e?.PensionSource == PensionArrangementType.Crystallised\r\n )) && (\r\n {\r\n this.onDataChange(onChange, changes, data, \"PensionApply\");\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={(msg, isShow) => showErrorMsgPopUp(msg, isShow)}\r\n onIncomeChange={(changes) => this.handleOnChange(changes)}\r\n isITFC={isImmediateTaxFreeLumpSum}\r\n />\r\n )}\r\n {\r\n this.handleOnChange({ IncomePaymentAllocations: v });\r\n }}\r\n showErrorMsgPopUp={(msg, isShow) => showErrorMsgPopUp(msg, isShow)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showPropotionOfPcls={!incomeOnly}\r\n showPropotionOfIncome={\r\n postTransfer\r\n ? false\r\n : data?.PensionApply?.DrawdownModel?.DrawdownType != DrawdownType.Regular ||\r\n data?.PensionApply?.DrawdownModel?.Income?.TaxableIncomeRequiredInAddition\r\n }\r\n bankAccountInstructions={data?.BankAccountInstructions}\r\n allBankAccounts={data?.AllBankAccounts}\r\n OwnerHierarchyId={data?.OwnerHierarchyId}\r\n onChangeBankAccountInstructions={(changes) => {\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { addDays, addYears, stripToDay } from \"../../../../../../../../react-core/utils/date\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { MoneyHelper } from \"../../../../../../../Shared/Common/MoneyHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { DatePicker } from \"../../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { datePickerOptions } from \"../../../../Common/Resource/Contents\";\r\nimport { PensionApply } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionApply\";\r\nimport {\r\n TransferOrDrawdown,\r\n nbSippIncomePaymentDetailsLabels,\r\n nbSippIncomePaymentDetailsMessages,\r\n} from \"../../../Resource/Contents\";\r\n\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionArrangementType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\n\r\ninterface ITransferTotalsProps extends IProcessComponentProps {\r\n data: PensionApply;\r\n cappedTransfers: Array;\r\n flexiTransfers: Array;\r\n onChange: (changes) => void;\r\n}\r\ninterface ITransferTotalsState {}\r\n\r\nexport class TransferTotals extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n private flexiTotals(): number {\r\n const { flexiTransfers } = this.props;\r\n return flexiTransfers.reduce((sum, transfer) => {\r\n const amount: number = transfer.IncomePaymentDetails.GrossIncomePerPayment?.Amount || 0;\r\n return sum + amount;\r\n }, 0);\r\n }\r\n\r\n private isShowFlexiIncome() {\r\n const { data, cappedTransfers, flexiTransfers } = this.props;\r\n\r\n // Specific arrangement = false\r\n if (data?.DrawdownModel?.Income?.TargetSpecificArrangements !== true) {\r\n // standard algorithm\r\n // need check if there's capped transfer, if yes, then hide flexi review section - false\r\n return cappedTransfers.length == 0;\r\n } else {\r\n // specific algorithm\r\n // need to check if income is paied from flexi arrangement, if yes, then show flexi review section - true\r\n let flag = false;\r\n flexiTransfers.forEach((v: TransferOrDrawdown) => {\r\n if (v?.IncomePaymentDetails?.GrossIncomePerPayment?.Amount > 0) {\r\n flag = true;\r\n }\r\n });\r\n return flag;\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n const yearFromNow = () => {\r\n const result = stripToDay(addYears(new Date(Date.now()), 1));\r\n if (result.getDate() > 28) {\r\n result.setDate(28);\r\n }\r\n return result;\r\n };\r\n return (\r\n <>\r\n {this.isShowFlexiIncome() && (\r\n <>\r\n
\r\n
\r\n v.getDate() <= 28,\r\n }}\r\n required={nbSippIncomePaymentDetailsMessages.nextFlexiReviewDateRequired}\r\n onChange={(v) => {\r\n const changes = {\r\n ...data?.DrawdownModel?.Income,\r\n ...{ FlexiIncomeReviewDate: JsonDateParser.toJsonDateNoOffset(v) },\r\n };\r\n this.onDataChange(onChange, changes, data, \"Income\");\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n const changes = {\r\n ...data.DrawdownModel.Income,\r\n ...{ FrequencyFlexiIncomeReview: v },\r\n };\r\n this.onDataChange(onChange, changes, data, \"Income\");\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TransferTotals;\r\n","import * as React from \"react\";\r\nimport { PensionType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { SourceOfWealth } from \"../../../../Common/PaymentsIn/SIPP/SourceOfWealth\";\r\nimport { RetirementAge } from \"../../../../Common/PaymentsIn/SIPP/RetirementAge\";\r\nimport { PaymentType, processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { nbPaymentsInMessages } from \"../../../Resource/Contents\";\r\nimport { SinglePayment } from \"../../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { RegularPayment } from \"../../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { MoneyPurchaseAnnualAllowanceComponent } from \"../../../../Common/PaymentsIn/SIPP/MoneyPurchaseAnnualAllowanceComponent\";\r\nimport { PensionProtection } from \"../../../../Common/PaymentsIn/SIPP/PensionProtection\";\r\nimport { TransferIn } from \"../../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../Resource/EWizardLinterHelper\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { FinancialAdvice } from \"../../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { needSingleContribution, needPostTransfer } from \"../../../../Common/PaymentsIn/SIPP/ValidationHelper\";\r\nimport { RestrictionStore } from \"../../../../Common/Restrictions/Variable\";\r\nimport { RestrictionHelper } from \"../../../../../../../Shared/Common/RestrictionHelper\";\r\nimport { BankAccountAction } from \"../../../../Common/PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { ProcessTypeHelper } from \"../../../../Common/Helpers/ProcessTypeHelper\";\r\nimport { inUseBankAccountForApply } from \"../../../../Common/PaymentsIn/BankAccount/BankAccountHelper\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n processType?: ProcessType;\r\n HasExistingSIPP?: boolean;\r\n transferDisabled?: boolean;\r\n}\r\n\r\ninterface IPaymentsInState {}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview, processType } = this.props;\r\n return {\r\n type: key,\r\n data: data[key],\r\n isReview: isReview,\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n onSaveNewBankAccountInstruction: (bankAccountInstruction) => {\r\n bankAccountInstruction.OwnerHierarchyId = data.OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(\r\n bankAccountInstruction,\r\n data.ClientDetails?.ActorId,\r\n ProcessTypeHelper.getProcessTypeEnum(processType),\r\n (savedBankAccountInstruction) => {\r\n const changes = [...data.BankAccountInstructions, ...[savedBankAccountInstruction]];\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }\r\n );\r\n },\r\n onRemoveBankAccountInstruction: (bankAccountInstruction) => {\r\n BankAccountAction.removeBankInstruction(bankAccountInstruction, () => {\r\n const changes = (data.BankAccountInstructions || []).filter(\r\n (x) => x.AccountNumber != bankAccountInstruction.AccountNumber\r\n );\r\n this.onDataChange(onChange, { BankAccountInstructions: changes }, data);\r\n });\r\n },\r\n inUseBankAccountInstruction: inUseBankAccountForApply(data),\r\n };\r\n };\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n isValid = isValid && this.atLeastOneContribution();\r\n const config = this.props.data.SelectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n if (!this.atLeastOneContribution()) {\r\n this.props.showErrorMsgPopUp([nbPaymentsInMessages.atLeastOneContribution]);\r\n }\r\n const needSingleContributionFlag = needSingleContribution(config, this.props.data.PensionApply);\r\n if (needSingleContributionFlag) {\r\n this.props.showErrorMsgPopUp([\r\n \"Please add a contribution/transfer to support , or remove the SIPP Option\",\r\n ]);\r\n }\r\n const needPostTransferFlag = needPostTransfer(config, this.props.data.PensionApply);\r\n if (needPostTransferFlag) {\r\n this.props.showErrorMsgPopUp([\r\n \"Please add a Post Retirement Transfer, or remove the request to take income from the pension\",\r\n ]);\r\n }\r\n return isValid && !needPostTransferFlag && !needSingleContributionFlag;\r\n }\r\n\r\n private atLeastOneContribution(): boolean {\r\n const { data } = this.props;\r\n\r\n return (\r\n data.PensionApply.ClientSinglePayment?.Money?.Amount > 0 ||\r\n data.PensionApply.ThirdPartySinglePayment?.Money?.Amount > 0 ||\r\n data.PensionApply.EmployerSinglePayment?.Money?.Amount > 0 ||\r\n data.PensionApply.ClientRegularPayment?.Money?.Amount > 0 ||\r\n data.PensionApply.ThirdPartyRegularPayment?.Money?.Amount > 0 ||\r\n data.PensionApply.EmployerRegularPayment?.Money?.Amount > 0 ||\r\n data.PensionApply.PensionTransfers?.length > 0\r\n );\r\n }\r\n getBlockStatus(): EWizardLinterStatus {\r\n const { data } = this.props;\r\n const complete =\r\n data?.AnnuityAssumptions?.PlannedRetirementDate != null &&\r\n data?.PensionApply?.MoneyPurchaseAnnualAllowance != null &&\r\n (data.PensionApply.MoneyPurchaseAnnualAllowance.Triggered == null ||\r\n data.PensionApply.MoneyPurchaseAnnualAllowance.Triggered == false ||\r\n (data.PensionApply.MoneyPurchaseAnnualAllowance.DateTriggered != null &&\r\n data.PensionApply.MoneyPurchaseAnnualAllowance.Source != null)) &&\r\n data?.PensionApply?.HasPensionProtection != null;\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data } = this.props;\r\n const {\r\n SelectedProducts,\r\n ClientDetails,\r\n AllBankAccounts,\r\n BankAccountInstructions,\r\n PensionApply,\r\n } = this.props.data;\r\n const isImmediateTaxFreeLumpSum =\r\n SelectedProducts.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))?.PensionType ==\r\n PensionType.ImmediateTaxFreeLumpSum;\r\n const pensionInfo = SelectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const isTransferPost =\r\n pensionInfo.PensionType == PensionType.None && pensionInfo.IsIncomePaymentDetailsSelected;\r\n return (\r\n <>\r\n \r\n

Payments in

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

This age/date is used for illustration purposes.

\r\n\r\n {(this.props.HasExistingSIPP != true || data.AdviceGiven == true) && (\r\n \r\n )}\r\n \r\n \r\n\r\n
\r\n\r\n \r\n
\r\n {!isImmediateTaxFreeLumpSum && (\r\n \r\n )}\r\n
\r\n\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"PensionApply\"),\r\n changes,\r\n PensionApply\r\n )\r\n }\r\n disabled={\r\n RestrictionStore.transferDisabled() &&\r\n RestrictionHelper.shouldHandleRestriction(this.props.processType)\r\n }\r\n HasExistingSIPP={this.props.HasExistingSIPP}\r\n isReview={this.props.isReview}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isPost={isTransferPost}\r\n onRef={(ref) => this.appendChild(ref)}\r\n selectedProducts={this.props.data.SelectedProducts}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n\r\n {PensionApply.ClientSinglePayment !== null && this.props.processType != ProcessType.NBEC && (\r\n <>\r\n
\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { Address } from \"../../../../../../Wrap/Models/Domains/Address/Address\";\r\nimport { CountryCodeMap } from \"../../../../../Shared/Entities/Maps/CountryCodeMap\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { AriaTooltip } from \"../../../../../Shared/Tooltip/AriaTooltip\";\r\n\r\nexport const SectionHeader = (\r\n title: string | JSX.Element,\r\n tooltipContent?: string | JSX.Element,\r\n tooltipCss?: string\r\n): JSX.Element => {\r\n return (\r\n

\r\n {title}{\" \"}\r\n {tooltipContent && (\r\n {tooltipContent}\r\n )}\r\n

\r\n );\r\n};\r\n\r\ninterface IThreeColLayoutProps extends React.Props {\r\n colOne?: JSX.Element | string | React.Component;\r\n colTwo?: JSX.Element | string | React.Component;\r\n colThree?: JSX.Element | string | React.Component;\r\n}\r\n\r\nexport class ThreeColLayout extends BaseComponent {\r\n render() {\r\n return (\r\n
\r\n
{this.props.colOne}
\r\n
{this.props.colTwo}
\r\n
{this.props.colThree}
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport const renderAddComponent = (title: string, onClick: VoidFunction): JSX.Element => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const renderAddress = (address: Address): JSX.Element => {\r\n if (!address) {return null;}\r\n return (\r\n
    \r\n
  • {address.Line1}
  • \r\n
  • {address.Line2}
  • \r\n
  • {address.Line3}
  • \r\n
  • {address.Line4}
  • \r\n
  • {CountryCodeMap.getString(address.CountryCode)}
  • \r\n
  • {address.Postcode}
  • \r\n
\r\n );\r\n};\r\n\r\nexport const emptyAddress: Address = {\r\n Line1: null,\r\n Line2: null,\r\n Line3: null,\r\n Line4: null,\r\n Postcode: null,\r\n CountryCode: null,\r\n};\r\n\r\nexport const TrueFalseRadio = (\r\n label: string,\r\n key: string,\r\n data,\r\n onChange: (key, v) => void,\r\n required?,\r\n options?,\r\n tooltip?: string\r\n) => {\r\n return (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => onChange(key, v)}\r\n required={required ? \"Please select \" + label : null}\r\n {...options}\r\n />\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { BankAccountAction } from \"../../../Common/PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { inUseBankAccountForApply } from \"../../../Common/PaymentsIn/BankAccount/BankAccountHelper\";\r\nimport { RegularPayment } from \"../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { SinglePayment } from \"../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { PaymentType, processTypeEnum } from \"../../../Common/Resource/Contents\";\r\n\r\ninterface IWrapCashPaymentsInProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n}\r\n\r\ninterface IWrapCashPaymentsInState {}\r\n\r\nexport class WrapCashPaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n type: key,\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n clientInfo: data.ClientDetails,\r\n bankAccounts: data.AllBankAccounts,\r\n bankAccountInstructions: data.BankAccountInstructions,\r\n isReview: isReview,\r\n onSaveNewBankAccountInstruction: (bankAccountInstruction) => {\r\n bankAccountInstruction.OwnerHierarchyId = data.OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(\r\n bankAccountInstruction,\r\n data.ClientDetails?.ActorId,\r\n processTypeEnum.NewBusiness,\r\n (savedBankAccountInstruction) => {\r\n const changes = [...data.BankAccountInstructions, ...[savedBankAccountInstruction]];\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }\r\n );\r\n },\r\n onRemoveBankAccountInstruction: (bankAccountInstruction) => {\r\n BankAccountAction.removeBankInstruction(bankAccountInstruction, () => {\r\n const changes = (data.BankAccountInstructions || []).filter(\r\n (x) => x.AccountNumber != bankAccountInstruction.AccountNumber\r\n );\r\n this.onDataChange(onChange, { BankAccountInstructions: changes }, data);\r\n });\r\n },\r\n inUseBankAccountInstruction: inUseBankAccountForApply(data),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { ClientDetails, AllBankAccounts, BankAccountInstructions, IsNBEC } = this.props.data;\r\n return (\r\n
\r\n

Payments in

\r\n \r\n
\r\n {!this.props.data.IsNBEC && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { FinancialAdvice } from \"../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { PaperLess } from \"../../../Common/PaymentsIn/PaperLess\";\r\nimport { AdviceType } from \"../../../Common/WrapperSelection/AdviceType\";\r\nimport { EWizardLinterHelper } from \"../../Resource/EWizardLinterHelper\";\r\n\r\ninterface IAdviceSectionProps extends IProcessComponentProps {\r\n isCreateNew: boolean;\r\n}\r\n\r\ninterface IAdviceSectionState {}\r\n\r\nexport class AdviceSection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n getBlockStatus(): EWizardLinterStatus {\r\n const { data } = this.props;\r\n const complete =\r\n data &&\r\n data.AccountAdviceType > 0 &&\r\n data.AccountName != null &&\r\n data.AccountName.Full != null &&\r\n data.AdviceGiven != null;\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, isCreateNew } = this.props;\r\n return (\r\n \r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={\r\n !isCreateNew\r\n ? () => {}\r\n : (changes) => {\r\n this.props.onChange(changes);\r\n }\r\n }\r\n readOnly={!isCreateNew}\r\n />\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n readOnly={!isCreateNew}\r\n />\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n readonly={!isCreateNew}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { DisinvestmentStrategyTypeArray } from \"../../Resource/Contents\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { DisinvestmentStrategyTypeMap } from \"../../../PortfolioDashboard/Components/ProductOverview/Constant/Content\";\r\n\r\ninterface IDisinvestmentStrategySectionProps extends IProcessComponentProps {\r\n data: ApplyModel;\r\n isCreateNew: boolean;\r\n}\r\n\r\ninterface IDisinvestmentStrategySectionState {}\r\n\r\nexport class DisinvestmentStrategySection extends ProcessComponent<\r\n IDisinvestmentStrategySectionProps,\r\n IDisinvestmentStrategySectionState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private clearData = () => {\r\n this.populateData(DisinvestmentStrategyType.NotSpecified);\r\n };\r\n\r\n private populateData = (model: DisinvestmentStrategyType) => {\r\n const { onChange } = this.props;\r\n onChange({\r\n DisinvestmentStrategy: model,\r\n });\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
\r\n

Disinvestment strategy

\r\n DisinvestmentStrategyTypeMap[o]}\r\n onChange={(v) => {\r\n if (v) {\r\n this.populateData(v);\r\n } else {\r\n this.clearData();\r\n }\r\n }}\r\n required=\"Please select\"\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { SectionHeader, TrueFalseRadio } from \"../../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { EWizardLinterHelper } from \"../../../Resource/EWizardLinterHelper\";\r\n\r\ninterface IISASectionProps extends IProcessComponentProps {}\r\n\r\ninterface IISASectionState {}\r\n\r\nexport class ISASection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n getBlockStatus(data): EWizardLinterStatus {\r\n const complete = data?.IsAddRegularWithdrawalSelected != null;\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const productIndex = data.SelectedProducts.findIndex((e) => e.SubAccountType == SubAccountType.StocksIsa);\r\n const Product = data.SelectedProducts[productIndex];\r\n return (\r\n \r\n {SectionHeader(\"ISA options\")}\r\n {TrueFalseRadio(\r\n \"Will your client be taking regular withdrawals?\",\r\n \"IsAddRegularWithdrawalSelected\",\r\n Product,\r\n (key, value) => {\r\n this.onProductChange({ [key]: value }, Product, productIndex);\r\n },\r\n true,\r\n { cssWrapper: \"radio-group rg-inline rg-150 mb-16\" }\r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n private onProductChange(changes, product, index) {\r\n for (const key in changes) {\r\n product[key] = changes[key];\r\n }\r\n const data = this.props.data.SelectedProducts.concat();\r\n data[index] = product;\r\n this.props.onChange({\r\n SelectedProducts: data,\r\n IsaModel:\r\n changes?.IsAddRegularWithdrawalSelected == false\r\n ? { ...(this.props.data as ApplyModel).IsaModel, RegularWithdrawalModel: [] }\r\n : (this.props.data as ApplyModel).IsaModel,\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CustomerNameFuzzySearchClient } from \"../../../../../../../Wrap/Api/Customer/CustomerNameFuzzySearch\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SearchInput } from \"../../../../../../Shared/SearchInput/SearchInput\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { FullClientDetailHelper } from \"../../../Common/FullClientDetail/FullClientDetailHelper\";\r\nimport { NewBusinessAction } from \"../../Actions/NewBusinessAction\";\r\nimport { ContactDetail } from \"../../../NewBusinessWizard/Components/FullClientDetail/ContactDetail\";\r\nimport { ClientDetail } from \"../../../NewBusinessWizard/Components/FullClientDetail/ClientDetail\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { TaxDetail } from \"../FullClientDetail/TaxDetail\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { PhysicalAddressType } from \"../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { CountryCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\n\r\ninterface IJointAccountHolderProps extends IProcessComponentProps {\r\n selectedClientInfo: FullClientDetailModel;\r\n onSelectClientInfoChange: (data: FullClientDetailModel) => void;\r\n}\r\n\r\ninterface IJointAccountHolderState {\r\n selectedClientInfo: FullClientDetailModel;\r\n validationMssage: string[];\r\n hideResult: boolean;\r\n}\r\n\r\nexport class JointAccountHolder extends ProcessComponent {\r\n constructor(props: IJointAccountHolderProps) {\r\n super(props);\r\n this.state = {\r\n selectedClientInfo: props.selectedClientInfo,\r\n validationMssage: [],\r\n hideResult: false,\r\n };\r\n }\r\n\r\n private initClient = (selectedClientInfo: FullClientDetailModel) => {\r\n let initArray = [];\r\n initArray = FullClientDetailHelper.initTaxModel(initArray, selectedClientInfo);\r\n initArray = FullClientDetailHelper.updatePostalAddress(initArray, selectedClientInfo);\r\n this.onFullClientChange(initArray);\r\n };\r\n\r\n componentDidUpdate(prevProps: IJointAccountHolderProps) {\r\n super.componentDidUpdate(prevProps);\r\n const newData = this.props.selectedClientInfo;\r\n const prevData = prevProps.selectedClientInfo;\r\n if (prevData == null && newData != null) {\r\n this.setState({ selectedClientInfo: newData }, () => this.initClient(newData));\r\n }\r\n }\r\n\r\n private onFullClientChange = (changes: { value: any; path: string }[]) => {\r\n const { selectedClientInfo } = this.state;\r\n let _model = { ...selectedClientInfo };\r\n changes.forEach((change) => {\r\n _model = setValueByKey(_model, change.path, change.value);\r\n });\r\n this.setState({ selectedClientInfo: _model });\r\n this.props.onSelectClientInfoChange(_model);\r\n };\r\n\r\n private transformInputSearch(data: ClientDetails[]) {\r\n const customerId = Number(getQueryParameters()[\"customerid\"]);\r\n const filteredData = data != null ? data.filter((x) => x.ActorId != customerId) : null;\r\n\r\n if (filteredData) {\r\n const customeChildren = (\r\n {\r\n return (\r\n \r\n {row.FirstName + \" \" + row.LastName}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Date of birth\",\r\n key: \"DateOfBirth\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDateString(new Date(data), \"dd MM yyyy\", true);\r\n },\r\n },\r\n {\r\n title: \"Email address\",\r\n key: \"EmailAddress\",\r\n },\r\n {\r\n title: \"\",\r\n key: \"\",\r\n render: (data, row, index) => {\r\n return (\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n showEmptyMsg={true}\r\n />\r\n );\r\n return this.state.hideResult ? null : customeChildren;\r\n }\r\n }\r\n\r\n private addClient(row: ClientDetails) {\r\n const SecondClientDetails = row;\r\n this.props.onChange({ SecondClientDetails: SecondClientDetails });\r\n this.setHideSearchCustomerResult();\r\n NewBusinessAction.accountHolderAction(SecondClientDetails?.ActorId, (result) => {\r\n this.setState({ selectedClientInfo: result }, () => this.initClient(result));\r\n });\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n let { isValid, errorMsg } = FullClientDetailHelper.fullClientDetailValidation(this.state.selectedClientInfo);\r\n if (\r\n this.state.selectedClientInfo?.AddressDetails?.find(\r\n (ele) => ele.PhysicalAddressType == PhysicalAddressType.Residential\r\n )?.Address?.Country != CountryCode.GBR\r\n ) {\r\n errorMsg = errorMsg.concat([\r\n \"You must hold a UK Residential address in order to create a new account or sub-account.\",\r\n ]);\r\n isValid = false;\r\n }\r\n if (errorMsg.length > 0) {\r\n this.setState({ validationMssage: errorMsg });\r\n }\r\n return flag && isValid;\r\n }\r\n\r\n public Save = () => {\r\n if (!this.isValid()) {return;}\r\n const _info = FullClientDetailHelper.beforeSave(JSON.parse(JSON.stringify(this.state.selectedClientInfo)));\r\n NewBusinessAction.saveCCMDetail(this.state.selectedClientInfo?.ActorId, _info, () => {\r\n const _data = this.state.selectedClientInfo;\r\n _data.CustomerTaxResidencyDetails = _info.CustomerTaxResidencyDetails;\r\n this.setState({ selectedClientInfo: _data });\r\n });\r\n };\r\n\r\n private setHideSearchCustomerResult(hideResult = true) {\r\n this.setState({ hideResult });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { selectedClientInfo } = this.state;\r\n\r\n const client = new CustomerNameFuzzySearchClient();\r\n\r\n return (\r\n <>\r\n

Joint account details

\r\n {\r\n return client.get(v, this.props.data.AdviserHierarchyId.EntityId, RoleType.JointAccountHolder);\r\n }}\r\n onInputFocus={() => this.setHideSearchCustomerResult(false)}\r\n minLength={3}\r\n customeChildren={(data) => this.transformInputSearch(data)}\r\n cssWrapper=\"mb-35 control-size-500\"\r\n />\r\n {selectedClientInfo && (\r\n <>\r\n \r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={false}\r\n existingClientInfo={selectedClientInfo}\r\n index={1}\r\n />\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={false}\r\n existingClientInfo={selectedClientInfo}\r\n onCorrespondenceAddressChange={() => {}}\r\n />\r\n\r\n {\r\n this.props.onChange(changes);\r\n }}\r\n onCCMChange={(changes) => {\r\n this.onFullClientChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n disableWhenFullClient={false}\r\n existingClientInfo={selectedClientInfo}\r\n />\r\n {\r\n this.props.onChange({ SecondClientDetails: null });\r\n this.setState({ selectedClientInfo: null });\r\n }}\r\n >\r\n \r\n Remove this client\r\n \r\n {this.state.validationMssage &&\r\n this.state.validationMssage.map((msg) => (\r\n \r\n ))}\r\n \r\n\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../../react-core/Html/TextBoxEditor\";\r\n\r\nexport interface AccountNameProps extends IProcessComponentProps {\r\n AccountName?: string;\r\n}\r\n\r\nexport interface AccountNameState {\r\n HasAccountNameGiven?: boolean;\r\n}\r\n\r\nexport class AccountName extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n HasAccountNameGiven: props.data?.AccountNameGiven?.HasAccountNameGiven ? true : false,\r\n };\r\n }\r\n\r\n private renderAccountNameField(data, onChange) {\r\n return (\r\n <>\r\n \r\n this.props.onChange({\r\n AccountNameGivenDetail: v,\r\n HasAccountNameGiven: this.state.HasAccountNameGiven,\r\n })\r\n }\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderAccountName(data, onChange) {\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => this.onIsAccountNameSelectedChange(v)}\r\n required={\"Please select\"}\r\n />\r\n {this.state.HasAccountNameGiven && this.renderAccountNameField(data, onChange)}\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return <>{this.renderAccountName(data, onChange)};\r\n }\r\n\r\n private onIsAccountNameSelectedChange(v) {\r\n this.props.onChange({ HasAccountNameGiven: v, AccountNameGivenDetail: \"\" });\r\n this.setState({ HasAccountNameGiven: v });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader, TrueFalseRadio } from \"../../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { AccountName } from \"./AccountName\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../Resource/EWizardLinterHelper\";\r\nimport { QuoteAndApplyBaseModel } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/QuoteAndApplyBaseModel\";\r\nimport { ApplyModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\n\r\ninterface IPPSectionProps extends IProcessComponentProps {\r\n data: QuoteAndApplyBaseModel;\r\n}\r\n\r\ninterface IPPSectionState {\r\n customeChildren: JSX.Element;\r\n}\r\n\r\nexport class PPSection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n getBlockStatus(data): EWizardLinterStatus {\r\n const complete = data?.IsAddRegularWithdrawalSelected != null;\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const productIndex = data.SelectedProducts.findIndex(\r\n (e) => e.SubAccountType == SubAccountType.InvestmentAccount\r\n );\r\n\r\n const Product = data.SelectedProducts[productIndex];\r\n return (\r\n \r\n {SectionHeader(\"Personal Portfolio options\")}\r\n {TrueFalseRadio(\r\n \"Will your client be taking regular withdrawals?\",\r\n \"IsAddRegularWithdrawalSelected\",\r\n Product,\r\n (key, value) => {\r\n this.onProductChange({ [key]: value }, Product, productIndex);\r\n },\r\n true,\r\n { cssWrapper: \"radio-group rg-inline rg-150 mb-16\" }\r\n )}\r\n\r\n this.appendChild(ref)}\r\n onChange={(AccountNameGiven) => {\r\n this.onAccountNameChange(AccountNameGiven, Product, productIndex);\r\n }}\r\n />\r\n\r\n
\r\n \r\n );\r\n }\r\n\r\n private onProductChange(changes, product, index) {\r\n const _product = JSON.parse(JSON.stringify(product));\r\n for (const key in changes) {\r\n _product[key] = changes[key];\r\n }\r\n const data = this.props.data.SelectedProducts.concat();\r\n data[index] = _product;\r\n this.props.onChange({\r\n SelectedProducts: data,\r\n GiaModel:\r\n changes?.IsAddRegularWithdrawalSelected == false\r\n ? { ...(this.props.data as ApplyModel).GiaModel, RegularWithdrawalModel: [] }\r\n : (this.props.data as ApplyModel).GiaModel,\r\n });\r\n }\r\n\r\n private onAccountNameChange(AccountNameGiven, product, index) {\r\n const _product = JSON.parse(JSON.stringify(product));\r\n if (_product.AccountNameGiven == undefined)\r\n {_product.AccountNameGiven = { HasAccountNameGiven: false, AccountNameGivenDetail: \"\" };}\r\n _product.AccountNameGiven = AccountNameGiven;\r\n const data = JSON.parse(JSON.stringify(this.props.data.SelectedProducts.concat()));\r\n data[index] = _product;\r\n this.props.onChange({ SelectedProducts: data });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader, TrueFalseRadio } from \"../../SharedComponents\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { EWizardLinterStatus, WizardLinter } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../Resource/EWizardLinterHelper\";\r\nimport { PensionTypesArray, PensionTypesMap } from \"../../../../Common/Resource/Contents\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { incomePaymentDetailsLabels } from \"../../../../Common/SIPP/IncomePaymentDetails/Resource/Content\";\r\nimport { PensionType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { StaticUrls } from \"../../../../../../Resoures/StaticUrls\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\ninterface ISIPPSectionProps extends IProcessComponentProps {\r\n HasExistingSIPP?: boolean;\r\n subAccountId?: string;\r\n subAccountHierarchyId?: string;\r\n isAddRegularPayment?: boolean;\r\n}\r\n\r\ninterface ISIPPSectionState {}\r\n\r\nexport class SIPPSection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n getBlockStatus(): EWizardLinterStatus {\r\n const { Product: data } = this.props.data;\r\n const complete =\r\n data?.PensionType != null &&\r\n data?.IsIncomePaymentDetailsSelected != null &&\r\n data?.IsClientOptOutPensionSelected != null;\r\n return EWizardLinterHelper.getEWizardLinterStatus(complete);\r\n }\r\n\r\n private onProductChange(changes, product, index) {\r\n for (const key in changes) {\r\n product[key] = changes[key];\r\n }\r\n const data = this.props.data.SelectedProducts.concat();\r\n data[index] = product;\r\n this.props.onChange({ SelectedProducts: data });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n\r\n const productIndex = data.SelectedProducts.findIndex((e) => e.SubAccountType == SubAccountType.Npr);\r\n const Product = data.SelectedProducts[productIndex];\r\n return (\r\n \r\n {SectionHeader(\"SIPP options\")}\r\n {this.props.HasExistingSIPP == true &&\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n \r\n As your client already has an existing SIPP, you will only be able to add transfers\r\n in for one or more post-retirement SIPP accounts. Please use the{\" \"}\r\n \r\n Single Payment/Transfer\r\n {\" \"}\r\n or{\" \"}\r\n \r\n Regular Payments\r\n {\" \"}\r\n process if you want to add more contributions to an existing SIPP.\r\n \r\n }\r\n />\r\n )}\r\n {\r\n return PensionTypesMap[v];\r\n }}\r\n disabled={this.props.HasExistingSIPP == true}\r\n onChange={(v) => {\r\n this.onProductChange({ PensionType: v }, Product, productIndex);\r\n }}\r\n required=\"Please choose SIPP type\"\r\n />\r\n {TrueFalseRadio(\r\n incomePaymentDetailsLabels.needToProvideAnIncome,\r\n \"IsIncomePaymentDetailsSelected\",\r\n Product,\r\n (key, value) => {\r\n this.onProductChange({ [key]: value }, Product, productIndex);\r\n },\r\n true,\r\n { cssWrapper: \"radio-group rg-150 mb-16\" }\r\n )}\r\n {TrueFalseRadio(\r\n \"Has the client opted out, or declined to join, a pension where their employer will contribute?\",\r\n \"IsClientOptOutPensionSelected\",\r\n Product,\r\n (key, value) => {\r\n this.onProductChange({ [key]: value }, Product, productIndex);\r\n },\r\n true,\r\n { cssWrapper: \"radio-group rg-150 mb-16 has-tooltip\" },\r\n \"Content TBC\"\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { InvestorType as WrapperSelectionInvestorType } from \"../../../../../../../Wrap/Constants/Enums/Domain/InvestorType\";\r\nimport { SubAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport { QuoteAndApplyBaseModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/QuoteAndApplyBaseModel\";\r\nimport { SubAccountActionIndicators } from \"../../../../../../../Wrap/Models/Models/Shared/SubAccountActionIndicators\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\n\r\nexport const isSelectedAndExisted = (\r\n predicate: (type: SubAccountType) => boolean,\r\n selectedProducts: SubAccountActionIndicators[],\r\n currentProducts: SubAccount[]\r\n): { existed: boolean; selected: boolean } => {\r\n const selected = (selectedProducts || []).some((x) => predicate(x.SubAccountType));\r\n const existed = (currentProducts || []).some((x) => predicate(x.SubAccountType));\r\n return { existed: existed, selected: selected };\r\n};\r\n\r\nconst personalPortfolioMsg = (\r\n isCreateNew: boolean,\r\n isJointAccount: boolean,\r\n selectedProducts: SubAccountActionIndicators[] = [],\r\n currentProducts: SubAccount[] = []\r\n): { msg: string[]; disableCashAccount: boolean } => {\r\n const msg: string[] = [];\r\n let disableCashAccount = false;\r\n /** Personal Portfolio */\r\n const { selected, existed } = isSelectedAndExisted(\r\n (x) => SubAccountTypeHelper.isPP(x),\r\n selectedProducts,\r\n currentProducts\r\n );\r\n // new account , joint , selected PP\r\n if (isCreateNew && isJointAccount && selected) {\r\n disableCashAccount = true;\r\n msg.push(\r\n \"As you have selected to set up a new Joint PP product, once this business has been submitted a new WP header account will be created.\"\r\n );\r\n }\r\n // no exist PP, selected PP\r\n if (!existed && selected) {\r\n msg.push(\r\n \"This process allows this client to set up either 1 joint or 1 individual PP sub account. If you wish to set up one of each type you will need to complete the process for the Joint and Individual separately.\"\r\n );\r\n }\r\n return { msg, disableCashAccount };\r\n};\r\n\r\nconst offshoreBondMsg = (\r\n isCreateNew: boolean,\r\n isJointAccount: boolean,\r\n selectedProducts: SubAccountActionIndicators[] = [],\r\n currentProducts: SubAccount[] = []\r\n): { msg: string[]; disableCashAccount: boolean } => {\r\n const msg: string[] = [];\r\n let disableCashAccount = false;\r\n /** Onshore Bond */\r\n const { selected, existed } = isSelectedAndExisted(\r\n (x) => x == SubAccountType.OffshoreBond,\r\n selectedProducts,\r\n currentProducts\r\n );\r\n //not new account, not existed, selected\r\n if (!isCreateNew && !existed && selected) {\r\n msg.push(\r\n `This process allows this client to set up either 1 joint or 1 individual Offshore Bond sub account. If you wish to set up one of each type you will need to complete the process for the Joint and Individual separately.`\r\n );\r\n }\r\n //not new account, not existed, selected , individual\r\n if (!isCreateNew && !existed && selected && !isJointAccount) {\r\n msg.push(\r\n \"You have selected to open a new Offshore Bond product, please do so through the New Business Existing Client process.\"\r\n );\r\n }\r\n // new account, selected, joint\r\n if (isCreateNew && selected && isJointAccount) {\r\n disableCashAccount = true;\r\n msg.push(\r\n \"As you have selected to set up a new Joint Offshore Bond product, once this business has been submitted a new WP header account will be created.\"\r\n );\r\n }\r\n return { msg, disableCashAccount };\r\n};\r\n\r\nconst onshoreBondMsg = (\r\n isCreateNew: boolean,\r\n isJointAccount: boolean,\r\n selectedProducts: SubAccountActionIndicators[] = [],\r\n currentProducts: SubAccount[] = []\r\n): { msg: string[]; disableCashAccount: boolean } => {\r\n const msg: string[] = [];\r\n let disableCashAccount = false;\r\n /** Onshore Bond */\r\n const { selected, existed } = isSelectedAndExisted(\r\n (x) => x == SubAccountType.OnshoreBond,\r\n selectedProducts,\r\n currentProducts\r\n );\r\n //no existed, selected\r\n if (!existed && selected) {\r\n msg.push(\r\n `This process allows this client to set up either 1 joint or 1 individual Onshore Bond sub account. If you wish to set up one of each type you will need to complete the process for the Joint and Individual separately.`\r\n );\r\n }\r\n //not new account, not existed, selected , individual\r\n if (!isCreateNew && !existed && selected && !isJointAccount) {\r\n msg.push(\r\n \"You have selected to open a new Onshore Bond product, please do so through the New Business Existing Client process.\"\r\n );\r\n }\r\n // new account, selected, joint\r\n if (isCreateNew && selected && isJointAccount) {\r\n disableCashAccount = true;\r\n msg.push(\r\n \"As you have selected to set up a new Joint Onshore Bond product, once this business has been submitted a new WP header account will be created.\"\r\n );\r\n }\r\n return { msg, disableCashAccount };\r\n};\r\n\r\nconst isaMsg = (isCreateNew: boolean, currentProducts: SubAccount[] = []): { msg: string[] } => {\r\n const msg: string[] = [];\r\n const product = currentProducts.find((ele) => SubAccountTypeHelper.isIsa(ele.SubAccountType));\r\n if (!isCreateNew && product) {\r\n msg.push(\r\n `The selected account already contains an existing ISA sub-account. The Account Number is ${product?.ClAccountId}. Please use the Single Payment/Transfer or Regular Payments process to add a contribution to this account.`\r\n );\r\n }\r\n return { msg };\r\n};\r\n\r\nexport const getWarningMessage = (\r\n isCreateNew: boolean,\r\n isJointAccount: boolean,\r\n selectedProducts: SubAccountActionIndicators[] = [],\r\n currentProducts: SubAccount[] = [],\r\n isNbec: boolean\r\n): string[] => {\r\n let msg: string[] = [];\r\n if (isCreateNew) {currentProducts = [];}\r\n msg = msg.concat(isaMsg(isCreateNew, currentProducts).msg);\r\n msg = msg.concat(personalPortfolioMsg(isCreateNew, isJointAccount, selectedProducts, currentProducts).msg);\r\n msg = msg.concat(onshoreBondMsg(isCreateNew, isJointAccount, selectedProducts, currentProducts).msg);\r\n msg = msg.concat(offshoreBondMsg(isCreateNew, isJointAccount, selectedProducts, currentProducts).msg);\r\n if (isCreateNew && isNbec && isJointAccount == false)\r\n {msg = msg.concat(\r\n \"As you have selected to set up a new Individual Account, once this business has been submitted a new WP header account will be created.\"\r\n );}\r\n return msg;\r\n};\r\n\r\nexport const disableCashAccount = (\r\n isCreateNew: boolean,\r\n isJointAccount: boolean,\r\n selectedProducts: SubAccountActionIndicators[] = [],\r\n currentProducts: SubAccount[] = [],\r\n isNbec: boolean\r\n): boolean => {\r\n let isDisableCashAccount = false;\r\n if (isCreateNew) {currentProducts = [];}\r\n isDisableCashAccount =\r\n personalPortfolioMsg(isCreateNew, isJointAccount, selectedProducts, currentProducts).disableCashAccount ||\r\n onshoreBondMsg(isCreateNew, isJointAccount, selectedProducts, currentProducts).disableCashAccount ||\r\n offshoreBondMsg(isCreateNew, isJointAccount, selectedProducts, currentProducts).disableCashAccount ||\r\n (isCreateNew && isNbec && isJointAccount == false);\r\n\r\n return isDisableCashAccount;\r\n};\r\n\r\nexport const isJointOrTrustAccount = (investorType: InvestorType): boolean => {\r\n return [InvestorType.Joint, InvestorType.JointIndividual, InvestorType.Trust].includes(investorType);\r\n};\r\n\r\nexport const isCreatingNewAccount = (\r\n hierarchyId: string,\r\n data: QuoteAndApplyBaseModel,\r\n allAccounts: ClientAccount[]\r\n): boolean => {\r\n if (CommonHelper.isNullOrEmpty(hierarchyId)) {\r\n return true;\r\n }\r\n if (data?.IsJointAccount === true && CustomerHasIndividualButNoJointAccount(allAccounts)) {\r\n return true;\r\n }\r\n if (data?.IsJointAccount === false && CustomerHasJointButNoIndividualAccount(allAccounts)) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst accountIsJoint = (clientAccount: ClientAccount) => {\r\n return [InvestorType.Joint, InvestorType.JointIndividual].includes(clientAccount?.InvestorType);\r\n};\r\n\r\nconst accountIsIndividual = (clientAccount: ClientAccount) => {\r\n return clientAccount?.InvestorType == InvestorType.Individual;\r\n};\r\n\r\nconst CustomerHasJointButNoIndividualAccount = (accountRoles: ClientAccount[]) => {\r\n return accountRoles?.length > 0 && accountRoles?.every((x) => accountIsJoint(x));\r\n};\r\n\r\nconst CustomerHasIndividualButNoJointAccount = (accountRoles: ClientAccount[]) => {\r\n return accountRoles?.length > 0 && accountRoles?.every((x) => accountIsIndividual(x));\r\n};\r\n","import * as React from \"react\";\r\nimport { SectionHeader } from \"../SharedComponents\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DisinvestmentStrategyTypeStringMap, NBSteppers } from \"../../Resource/Contents\";\r\nimport { AdviserContextStoreStatic, CustomerContextStoreStatic, ProductWrapperStore } from \"../../Stores/Variable\";\r\nimport { NewBusinessAction } from \"../../Actions/NewBusinessAction\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ProductWrapper } from \"../../../../../../../Wrap/Models/Domains/Account/ProductWrapper\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { ISASection } from \"./ISASection/ISASection\";\r\nimport { PPSection } from \"./PPSection/PPSection\";\r\nimport { NewClientAlertMessage } from \"../../../Common/WrapperSelection/NewClientAlertMessage\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { SIPPSection } from \"./SIPPSection/SIPPSection\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ProductDetailsStore } from \"../../../../../Stroes/Variable\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ClientAcountHelper } from \"../../Resource/ClientAccountHelper\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Constants/Enums/Domain/InvestorType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { QuoteAndApplyBaseModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/QuoteAndApplyBaseModel\";\r\nimport { SubAccountActionIndicators } from \"../../../../../../../Wrap/Models/Models/Shared/SubAccountActionIndicators\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { PersonalPortfolioTypesMap } from \"../../../NewQuoteWizard/Resource/Content\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { AccountRole } from \"../../../../../../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { ServicePropositionSelection } from \"../../../Common/ServicePropositionSelection\";\r\nimport { FullClientDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { InvestorType as InvestorTypeAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { PortfolioDashboardAction } from \"../../../PortfolioDashboard/Action/PortfolioDashboardAction\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { PortfolioDashboardStore } from \"../../../PortfolioDashboard/Store/Variable\";\r\nimport { ClientDetails } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport {\r\n getWarningMessage,\r\n isCreatingNewAccount,\r\n isSelectedAndExisted,\r\n disableCashAccount,\r\n} from \"./WrapperSelctionHelper\";\r\nimport { AdviceSection } from \"./AdviceSection\";\r\nimport { JointAccountHolder } from \"./JointAccountHolder\";\r\nimport { Customer } from \"../../../../../../../Wrap/Models/Domains/Users/Customer\";\r\nimport { RestrictionAction } from \"../../../Common/Restrictions/RestrictionAction\";\r\nimport { ProcessType } from \"../../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport { RestrictionHelper } from \"../../../../../../Shared/Common/RestrictionHelper\";\r\nimport { RestrictionStore } from \"../../../Common/Restrictions/Variable\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { DisinvestmentStrategySection } from \"./DisinvestmentStrategySection\";\r\nimport { AccountName } from \"../../../Common/WrapperSelection/AccountName\";\r\nimport { ProductOverviewChargeAction } from \"../../../PortfolioDashboard/Components/ProductOverview/Action/ProductOverviewChargeAction\";\r\nimport { AccountDisinvestmentStrategy } from \"../../../../../../../Wrap/Models/Domains/Account/AccountDisinvestmentStrategy\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { CompanyWizardAction } from \"../../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DisinvestmentStrategyTypeAction } from \"../../../../Workflow/Action/DisinvestmentStrategyTypeSearchAction\";\r\nimport { DisinvestmentStrategyTypeModel } from \"../../../../../../../Wrap/Models/Domains/Instructions/DisinvestmentStrategyTypeModel\";\r\nimport { FsaPermission } from \"../../../../../../../Wrap/Models/Models/Company/FsaPermission\";\r\ninterface IWrapperSelectionProps extends IProcessComponentProps {\r\n HasExistingSIPP?: boolean;\r\n ClientAccount?: ClientAccount;\r\n data: ApplyModel;\r\n}\r\ninterface IWrapperSelectionState {\r\n ProductWrappers: ProductWrapper[];\r\n isLoading: boolean;\r\n isBusy: boolean;\r\n errorMessages: string[];\r\n accountRole: Array;\r\n selectedClientInfo: FullClientDetailModel;\r\n allAccounts: ClientAccount[];\r\n urlCustomer: ClientDetails;\r\n accountDisinvestmentStrategy: DisinvestmentStrategyType;\r\n companyDisinvestmentStrategy: DisinvestmentStrategyType;\r\n fsaPermission: FsaPermission[];\r\n}\r\nexport class WrapperSelection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n ProductWrappers: null,\r\n isLoading: true,\r\n isBusy: false,\r\n accountRole: [],\r\n errorMessages: [],\r\n selectedClientInfo: null,\r\n allAccounts: [],\r\n urlCustomer: { ActorId: getQueryParameters()[\"customerid\"] },\r\n accountDisinvestmentStrategy: null,\r\n companyDisinvestmentStrategy: null,\r\n fsaPermission: [],\r\n };\r\n this.subscribeToStore(ProductWrapperStore, () => this.onProductWrapperStoreChange());\r\n this.subscribeToStore(AdviserContextStoreStatic, () => this.onAdviserContextStoreChange());\r\n this.subscribeToStore(CustomerContextStoreStatic, () => this.onCustomerContextStoreChange());\r\n this.subscribeToStore(PortfolioDashboardStore, () => this.onAllAccountsChange());\r\n }\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n const newData = this.props.data;\r\n const prevData = (prevProps as { data: QuoteAndApplyBaseModel }).data;\r\n if (\r\n prevData.AccountServiceProposition != newData.AccountServiceProposition &&\r\n newData.AccountServiceProposition\r\n ) {\r\n const actorId = getQueryParameters()[\"customerid\"];\r\n NewBusinessAction.getProductWrappers(actorId, newData.AccountServiceProposition);\r\n }\r\n if (this.isCreateNewAccount() && this.hasSecondClientDetailsChanged(prevProps)) {\r\n this.loadRestriction();\r\n }\r\n }\r\n\r\n hasSecondClientDetailsChanged(prevProps) {\r\n return (\r\n (!prevProps.data?.SecondClientDetails && this.props.data?.SecondClientDetails) ||\r\n (prevProps.data?.SecondClientDetails && !this.props.data?.SecondClientDetails) ||\r\n prevProps.data?.SecondClientDetails?.ActorId != this.props.data?.SecondClientDetails?.ActorId\r\n );\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const { data } = this.props;\r\n const id = getQueryParameters()[\"id\"];\r\n let customerid = getQueryParameters()[\"customerid\"];\r\n if (id || data.AccountServiceProposition) {\r\n NewBusinessAction.getProductWrappers(customerid, data.AccountServiceProposition);\r\n }\r\n //NBEC\r\n if (hierarchyId) {\r\n Action.getAccountRoles(hierarchyId, (val) => {\r\n this.setState({ accountRole: val });\r\n });\r\n PortfolioDashboardAction.getAllAccountsByCustomerId(Number(customerid));\r\n this.getStrategy(hierarchyId);\r\n } else {\r\n if (id) {\r\n this.getStrategyByInstructionId(id);\r\n }\r\n }\r\n\r\n // get url customer info\r\n const params = getQueryParameters();\r\n if (!CommonHelper.isNullOrEmpty(params[\"id\"]) && CommonHelper.isNullOrEmpty(params[\"hierarychid\"])) {\r\n customerid = this.props.data?.ClientDetails?.ActorId;\r\n }\r\n NewBusinessAction.getCustomerData(Number(customerid));\r\n // create new account in NBEC or NBNC\r\n if (this.isCreateNewAccount() && data.SecondClientDetails?.ActorId) {\r\n NewBusinessAction.accountHolderAction(data.SecondClientDetails?.ActorId, (result) => {\r\n this.setState({ selectedClientInfo: result });\r\n });\r\n }\r\n if (this.isCreateNewAccount()) {\r\n this.loadRestriction();\r\n }\r\n }\r\n\r\n private getStrategy(hierarchyId: string) {\r\n if (!CommonHelper.isNullOrEmpty(hierarchyId)) {\r\n ProductOverviewChargeAction.getAccountDisinvestmentStrategy(\r\n hierarchyId,\r\n (res: AccountDisinvestmentStrategy) => {\r\n this.setState({ accountDisinvestmentStrategy: res.DisinvestmentStrategyType });\r\n this.props.onChange({ DisinvestmentStrategy: res.DisinvestmentStrategyType });\r\n }\r\n );\r\n }\r\n }\r\n\r\n private getStrategyByInstructionId(instructionId: string) {\r\n if (!CommonHelper.isNullOrEmpty(instructionId)) {\r\n DisinvestmentStrategyTypeAction.getDisinvestmentStrategy(\r\n instructionId,\r\n (res: DisinvestmentStrategyTypeModel) => {\r\n this.setState({ accountDisinvestmentStrategy: res.DisinvestmentStrategyType });\r\n this.props.onChange({ DisinvestmentStrategy: res.DisinvestmentStrategyType });\r\n }\r\n );\r\n }\r\n }\r\n\r\n loadRestriction() {\r\n const { data } = this.props;\r\n const actorIds = [data?.ClientDetails?.ActorId];\r\n if (data.SecondClientDetails?.ActorId) {\r\n actorIds.push(data.SecondClientDetails?.ActorId);\r\n }\r\n RestrictionAction.getRestrictionByCustomer(actorIds);\r\n }\r\n onAllAccountsChange() {\r\n const data = PortfolioDashboardStore.getData();\r\n this.setState({ allAccounts: data });\r\n }\r\n private onProductWrapperStoreChange() {\r\n const data = ProductWrapperStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n ProductWrappers: data,\r\n });\r\n }\r\n private onAdviserContextStoreChange() {\r\n const adviser = AdviserContextStoreStatic.getData();\r\n const id = getQueryParameters()[\"id\"];\r\n if (adviser) {\r\n this.props.onChange({\r\n AdviserHierarchyId: { Type: HierarchyLevelName.Advisor, EntityId: adviser.AdvisorId },\r\n });\r\n CompanyWizardAction.getCompanyFsaPermissionDetail(adviser.Company, (result: FsaPermission[]) => {\r\n this.setState({ fsaPermission: result });\r\n });\r\n if (!this.state.companyDisinvestmentStrategy) {\r\n CompanyWizardAction.getViewCompany(adviser.Company, (res) => {\r\n this.setState({\r\n companyDisinvestmentStrategy: DisinvestmentStrategyTypeStringMap(res.DisinvestmentStrategy),\r\n });\r\n if (this.isCreateNewAccount()) {\r\n if (id) {\r\n this.getStrategyByInstructionId(id);\r\n } else {\r\n this.props.onChange({\r\n DisinvestmentStrategy: DisinvestmentStrategyTypeStringMap(res.DisinvestmentStrategy),\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n private isAccountRestriction() {\r\n const isCreateNew = this.isCreateNewAccount();\r\n const processType = CommonHelper.isNullOrEmpty(getQueryParameters()[\"claccountid\"])\r\n ? processTypeEnum.NewBusinessExistingClient\r\n : processTypeEnum.NewBusiness;\r\n let isRestrictionActive = false;\r\n if (RestrictionHelper.shouldHandleRestriction(processType)) {\r\n isRestrictionActive = RestrictionStore.depositDisabled();\r\n }\r\n if (isCreateNew) {\r\n return RestrictionStore.CustomerRestrictionApplied();\r\n } else {\r\n return RestrictionStore.CustomerRestrictionApplied() || isRestrictionActive;\r\n }\r\n }\r\n onCustomerContextStoreChange(): void {\r\n const customer = CustomerContextStoreStatic.getData();\r\n const ClientDetails: ClientDetails = {\r\n ActorId: customer.ActorId,\r\n FirstName: customer.PersonalDetails?.GivenName,\r\n LastName: customer.PersonalDetails?.FamilyName,\r\n Title: customer.PersonalDetails?.Title,\r\n Gender: customer.PersonalDetails?.Gender,\r\n DateOfBirth: customer.PersonalDetails?.DateOfBirth,\r\n };\r\n this.props.onChange({ ClientDetails: ClientDetails });\r\n this.setState({ urlCustomer: ClientDetails });\r\n }\r\n render() {\r\n const { data, ClientAccount, onChange } = this.props;\r\n const { ProductWrappers } = this.state;\r\n const isCreateNew = this.isCreateNewAccount();\r\n const hasHierarchyId = !CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"]);\r\n\r\n // warning messages appear only when add new product, new client new business has no hierarchyId\r\n const warningMsg =\r\n !hasHierarchyId && data?.IsJointAccount\r\n ? []\r\n : getWarningMessage(\r\n isCreateNew,\r\n data?.IsJointAccount,\r\n data?.SelectedProducts,\r\n ClientAccount?.SubAccounts,\r\n hasHierarchyId\r\n );\r\n const isDisableCashAccount = disableCashAccount(\r\n isCreateNew,\r\n data?.IsJointAccount,\r\n data?.SelectedProducts,\r\n ClientAccount?.SubAccounts,\r\n !CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"])\r\n );\r\n const existingPensionAccount = ClientAccount?.SubAccounts?.find((x) =>\r\n SubAccountTypeHelper.isOnPlatformPension(x.SubAccountType)\r\n );\r\n\r\n const disableAllProductByFsa = !this.state.fsaPermission.some(\r\n (ele) =>\r\n ele?.FsaRegulatedActivity?.Name?.toLowerCase() == \"AdviseInvestments\".toLowerCase() &&\r\n ele?.IsInclude &&\r\n ele?.IsPermit\r\n );\r\n\r\n const isRestrictionActive = this.isAccountRestriction();\r\n const restrictedMessage = \"An account with suspended or restricted activities cannot receive payments in\";\r\n\r\n const options =\r\n ProductWrappers != null\r\n ? ProductWrappers.filter((w) => !SubAccountTypeHelper.isUnlistedProduct(w.Type)).map((ele) => {\r\n return {\r\n label: ele.DisplayName,\r\n value: data.SelectedProducts.some((item) => item.SubAccountType == ele.Type),\r\n onChange: (v) => {\r\n let _data: SubAccountActionIndicators[] = [];\r\n let isaModel = this.props.data?.IsaModel;\r\n let giaModel = this.props.data?.GiaModel;\r\n let pensionApply = this.props.data?.PensionApply;\r\n if (v) {\r\n _data = data.SelectedProducts.concat([\r\n { SubAccountType: ele.Type, IsIncomePaymentDetailsSelected: false },\r\n ]);\r\n } else {\r\n _data = data.SelectedProducts.filter((item) => item.SubAccountType !== ele.Type);\r\n if (ele.Type === SubAccountType.StocksIsa || ele.Type === SubAccountType.JuniorIsa) {\r\n isaModel = {};\r\n }\r\n if (ele.Type === SubAccountType.InvestmentAccount) {\r\n giaModel = {};\r\n }\r\n if (\r\n ele.Type === SubAccountType.Pension ||\r\n ele.Type === SubAccountType.JuniorSipp ||\r\n ele.Type === SubAccountType.Npr\r\n ) {\r\n pensionApply = {};\r\n }\r\n }\r\n const selectedProducts = this.adjustWrapCashSelection(\r\n _data,\r\n this.props.data?.IsJointAccount\r\n );\r\n const onChangeData = {\r\n IsaModel: isaModel,\r\n GiaModel: giaModel,\r\n PensionApply: pensionApply,\r\n SelectedProducts: selectedProducts,\r\n IsJointAccount: selectedProducts.length > 0 ? this.props.data?.IsJointAccount : false,\r\n AssumedHoldings:\r\n selectedProducts.some((item) =>\r\n SubAccountTypeHelper.isLegacyProduct(item.SubAccountType)\r\n ) && data?.AssumedHoldings\r\n ? data?.AssumedHoldings\r\n : ({ Amount: 0, Currency: CurrencyCode.GBP } as Money),\r\n };\r\n onChange(onChangeData);\r\n },\r\n disabled:\r\n disableAllProductByFsa ||\r\n !ele.IsAvailable ||\r\n this.props.isReview ||\r\n (!SubAccountTypeHelper.productEligibleForJoint(ele.Type) && data?.IsJointAccount) ||\r\n (SubAccountTypeHelper.isOffPlatformPension(ele.Type) &&\r\n ClientAccount?.SubAccounts?.some((x) => x.SubAccountType == ele.Type)) ||\r\n isRestrictionActive ||\r\n (ele.Type == SubAccountType.WrapCash && isDisableCashAccount) ||\r\n (ele.Type === SubAccountType.StocksIsa &&\r\n this.props.ClientAccount?.SubAccounts.some(\r\n (item) => item.SubAccountType === SubAccountType.StocksIsa\r\n )) ||\r\n ele.Type == SubAccountType.WrapCash,\r\n };\r\n })\r\n : [];\r\n return (\r\n <>\r\n

{}

\r\n

{NBSteppers.wrapperSelection}

\r\n {isRestrictionActive && }\r\n
\r\n
\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n this.setState({ isLoading: true });\r\n }}\r\n isReview={this.props.isReview}\r\n disable={\r\n data.ExistingAccountHierarchyId != null ||\r\n !CommonHelper.isNullOrEmpty(data?.ShellHeadClAccountId)\r\n }\r\n />\r\n
\r\n
\r\n {data.AccountServiceProposition != null &&\r\n data.AccountServiceProposition != ServiceProposition.NotSpecified && (\r\n \r\n <>\r\n <>\r\n {SectionHeader(\"Create new business for\")}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {warningMsg.map((msg, i) => {\r\n return (\r\n

\r\n \r\n

\r\n );\r\n })}\r\n
\r\n {data.SelectedProducts.length > 0 && (\r\n this.appendChild(ref)}\r\n data={data}\r\n onChange={\r\n !isCreateNew\r\n ? () => {}\r\n : (changes) => {\r\n onChange(changes);\r\n }\r\n }\r\n readOnly={\r\n !isCreateNew || !CommonHelper.isNullOrEmpty(data?.ShellHeadClAccountId)\r\n }\r\n />\r\n )}\r\n {this.selecteJointProduct(data) ? this.renderJointSingle(data, isCreateNew) : null}\r\n {isSelectedAndExisted(\r\n (x) => SubAccountTypeHelper.isOnPlatformPension(x),\r\n data?.SelectedProducts,\r\n []\r\n ).selected && (\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n HasExistingSIPP={isCreateNew ? false : this.props.HasExistingSIPP}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n isReview={this.props.isReview}\r\n subAccountId={existingPensionAccount?.ClAccountId}\r\n subAccountHierarchyId={existingPensionAccount?.HierarchyId}\r\n isAddRegularPayment={this.isAddRegularPayment(SubAccountType.Npr)}\r\n />\r\n )}\r\n {data.SelectedProducts.some(\r\n (ele) => ele.SubAccountType == SubAccountType.StocksIsa\r\n ) && (\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n isReview={this.props.isReview}\r\n />\r\n )}\r\n {data.SelectedProducts.some(\r\n (ele) => ele.SubAccountType == SubAccountType.InvestmentAccount\r\n ) && (\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n isReview={this.props.isReview}\r\n />\r\n )}\r\n {data.SelectedProducts.length > 0 && (\r\n onChange(changes)}\r\n isCreateNew={isCreateNew}\r\n onRef={(ref) => this.appendChild(ref)}\r\n isReview={this.props.isReview}\r\n readonly={!isCreateNew&&!CommonHelper.isNullOrEmpty(data?.ShellHeadClAccountId)}\r\n />\r\n )}\r\n\r\n {
}\r\n {data.SelectedProducts.length > 0 &&\r\n data.AccountServiceProposition == ServiceProposition.Wrap &&\r\n AdviserContextStoreStatic.getData()?.Company != \"SAVINGSDIRECT\" && (\r\n onChange(changes)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n isReview={this.props.isReview}\r\n readonly={!isCreateNew&&!CommonHelper.isNullOrEmpty(data?.ShellHeadClAccountId)}\r\n isCreateNew={isCreateNew}\r\n />\r\n )}\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n private renderJointSingle(data: ApplyModel, isCreateNew: boolean) {\r\n const { allAccounts } = this.state;\r\n return (\r\n <>\r\n {\r\n return PersonalPortfolioTypesMap[v];\r\n }}\r\n onChange={(v) => {\r\n let secondClientDetails = this.props.data?.SecondClientDetails;\r\n let clientDetails = this.props.data?.ClientDetails;\r\n const curIsCreateNew = isCreatingNewAccount(\r\n getQueryParameters()[\"hierarchyid\"],\r\n { IsJointAccount: v == InvestorType.Joint },\r\n allAccounts\r\n );\r\n const isNewBusiness = CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"]);\r\n if (curIsCreateNew) {\r\n secondClientDetails = null;\r\n clientDetails = this.state.urlCustomer;\r\n } else {\r\n clientDetails = this.CustomerToClientDetails(\r\n this.state.accountRole.find((x) => x.IsPrimary)?.Customer\r\n );\r\n secondClientDetails =\r\n v == InvestorType.Joint\r\n ? this.CustomerToClientDetails(\r\n this.state.accountRole.find((x) => !x.IsPrimary)?.Customer\r\n )\r\n : null;\r\n }\r\n this.props.data.IsJointAccount = v == InvestorType.Joint;\r\n const selectedProducts = this.adjustWrapCashSelection(\r\n this.props.data?.SelectedProducts,\r\n v == InvestorType.Joint\r\n );\r\n this.props.onChange({\r\n SecondClientDetails: secondClientDetails,\r\n ClientDetails: clientDetails,\r\n SelectedProducts: selectedProducts,\r\n IsJointAccount: selectedProducts.length > 0 && v == InvestorType.Joint,\r\n DisinvestmentStrategy: curIsCreateNew\r\n ? this.state.companyDisinvestmentStrategy\r\n : this.state.accountDisinvestmentStrategy,\r\n AccountName: {\r\n Full: isNewBusiness\r\n ? this.props.data?.AccountName?.Full\r\n : curIsCreateNew\r\n ? \"\"\r\n : this.props.ClientAccount?.AccountName,\r\n },\r\n ActivityType: curIsCreateNew\r\n ? ProcessType.NewBusiness\r\n : ProcessType.NewBusinessExistingClient,\r\n });\r\n }}\r\n disabled={data.AccountRoleInstructionId > 0}\r\n required=\"Please choose account type\"\r\n />\r\n {data?.IsJointAccount && isCreateNew && (\r\n this.appendChild(ref, 999)} // 999 is specified for joint account holder\r\n onChange={(changes) => this.props.onChange(changes)}\r\n onSelectClientInfoChange={(updatedModel) => this.setState({ selectedClientInfo: updatedModel })}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n private CustomerToClientDetails(customer: Customer): ClientDetails {\r\n return {\r\n ActorId: customer?.CustomerId,\r\n FirstName: customer?.PersonalDetails?.Name?.Given,\r\n LastName: customer?.PersonalDetails?.Name?.Family,\r\n };\r\n }\r\n selecteJointProduct(data: QuoteAndApplyBaseModel): boolean {\r\n return data.SelectedProducts.some((x) => SubAccountTypeHelper.productEligibleForJoint(x.SubAccountType));\r\n }\r\n selectableInvestorTypes(): InvestorType[] {\r\n const { data, ClientAccount } = this.props;\r\n const { allAccounts } = this.state;\r\n const anyProductSupportJoint = this.selecteJointProduct(data);\r\n const isNBEC = !CommonHelper.isNullOrEmpty(getQueryParameters()[\"hierarchyid\"]);\r\n if (isNBEC) {\r\n // SLP-80640.8 -- Scenario 3\r\n if (\r\n (allAccounts || []).every(\r\n (account) =>\r\n account.InvestorType == InvestorTypeAccount.Joint ||\r\n account?.InvestorType == InvestorTypeAccount.JointIndividual\r\n )\r\n ) {\r\n return [InvestorType.Single, InvestorType.Joint];\r\n // SLP-80640.8 -- Scenario 1\r\n } else if ((allAccounts || []).every((account) => account.InvestorType == InvestorTypeAccount.Individual)) {\r\n return [InvestorType.Single, InvestorType.Joint];\r\n } else {\r\n // SLP-80640.8 -- Scenario 2\r\n return ClientAccount?.InvestorType == InvestorTypeAccount.Joint ||\r\n ClientAccount?.InvestorType == InvestorTypeAccount.JointIndividual\r\n ? [InvestorType.Joint]\r\n : [InvestorType.Single];\r\n }\r\n } else {\r\n if (!anyProductSupportJoint) {\r\n return [InvestorType.Single];\r\n } else {\r\n return [InvestorType.Single, InvestorType.Joint];\r\n }\r\n }\r\n }\r\n private isCreateNewAccount(): boolean {\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const { data } = this.props;\r\n const { allAccounts } = this.state;\r\n return isCreatingNewAccount(hierarchyId, data, allAccounts);\r\n }\r\n public isValid(): boolean {\r\n if (this.isAccountRestriction()) {\r\n return false;\r\n }\r\n\r\n const isValid = super.isValid();\r\n let msg: string[] = [];\r\n msg = msg.concat(this.checkFsa());\r\n msg = msg.concat(this.checkmaxGiasHit());\r\n msg = msg.concat(this.checkProductSelected());\r\n msg = msg.concat(this.checkIsaProduct());\r\n msg = msg.concat(this.checkWrapSelectionForJointAccount());\r\n msg = msg.concat(this.checkSecondClient());\r\n if (msg.length > 0) {\r\n this.props.showErrorMsgPopUp(msg);\r\n return false;\r\n }\r\n\r\n return isValid;\r\n }\r\n private maxGiasHit(): boolean {\r\n return ClientAcountHelper.MaxGiaCountHit(this.props.ClientAccount);\r\n }\r\n private checkmaxGiasHit(): string[] {\r\n if (this.isCreateNewAccount()) {return [];}\r\n const giaSelected = this.props.data.SelectedProducts.find((x) => SubAccountTypeHelper.isPP(x.SubAccountType));\r\n if (giaSelected && this.maxGiasHit()) {\r\n return [\r\n \"This account already holds 5 Personal Portfolio sub accounts, this is the maximum number that can be opened under an Individual Account.\",\r\n ];\r\n }\r\n return [];\r\n }\r\n\r\n private checkFsa(): string[] {\r\n const disableAllProductByFsa = !this.state.fsaPermission.some(\r\n (ele) =>\r\n ele?.FsaRegulatedActivity?.Name?.toLowerCase() == \"AdviseInvestments\".toLowerCase() &&\r\n ele?.IsInclude &&\r\n ele?.IsPermit\r\n );\r\n if (disableAllProductByFsa) {\r\n return [\"FCA Permissions prevents the following action.\"];\r\n }\r\n return [];\r\n }\r\n\r\n private checkWrapSelectionForJointAccount(): string[] {\r\n if (\r\n this.props.data?.IsJointAccount &&\r\n this.props.data?.SelectedProducts.some(\r\n (x) => SubAccountTypeHelper.productEligibleForJoint(x.SubAccountType) == false\r\n )\r\n ) {\r\n return [\"There are some products not eligible for joint account\"];\r\n }\r\n return [];\r\n }\r\n private checkSecondClient(): string[] {\r\n if (this.props.data?.IsJointAccount && this.withValidSecondClient() == false) {\r\n return [\"Please add a client to the joint account\"];\r\n }\r\n // save second account holder persornal info into CCM\r\n if (this.getChild(999)) {\r\n this.getChild(999).Save(); /// 999 stands for joint account holder component\r\n }\r\n return [];\r\n }\r\n private withValidSecondClient() {\r\n return this.props.data.SecondClientDetails?.ActorId > 0;\r\n }\r\n private checkProductSelected(): string[] {\r\n const productSelected = this.props.data?.SelectedProducts != null && this.props.data.SelectedProducts.length > 0;\r\n if (!productSelected) {\r\n return [\"At least one wrapper must be selected.\"];\r\n }\r\n return [];\r\n }\r\n private checkIsaProduct(): string[] {\r\n const isCreateNew = this.isCreateNewAccount();\r\n if (isCreateNew) {return [];}\r\n const { existed, selected } = isSelectedAndExisted(\r\n (x) => SubAccountTypeHelper.isIsa(x),\r\n this.props.data?.SelectedProducts,\r\n this.props.ClientAccount?.SubAccounts\r\n );\r\n if (existed && selected) {\r\n return [\r\n `The selected account already contains an existing ISA sub-account. The Account Number is ${\r\n (this.props.ClientAccount?.SubAccounts || []).find((ele) =>\r\n SubAccountTypeHelper.isIsa(ele.SubAccountType)\r\n )?.ClAccountId\r\n }. Please use the Single Payment/Transfer or Regular Payments process to add a contribution to this account.`,\r\n ];\r\n }\r\n return [];\r\n }\r\n adjustWrapCashSelection(data: SubAccountActionIndicators[], isJointAccount): SubAccountActionIndicators[] {\r\n const wrapCash = data.find((x) => SubAccountTypeHelper.isWrapCash(x.SubAccountType));\r\n const isCreateNew = this.isCreateNewAccount();\r\n if (isCreateNew && (!wrapCash || !isJointAccount)) {\r\n // when create new bussiness which havs no Wrap Cash or Joint account type\r\n const checkResult = data.find((x) => x.SubAccountType === SubAccountType.WrapCash);\r\n return checkResult ? data : data.concat([{ SubAccountType: SubAccountType.WrapCash }]); // avoid duplicate wraps\r\n } else if (wrapCash && data.length == 1 && isCreateNew) {\r\n return [];\r\n }\r\n if (isJointAccount && !data.every((ele) => SubAccountTypeHelper.productEligibleForJoint(ele.SubAccountType))) {\r\n return data.filter((x) => SubAccountTypeHelper.productEligibleForJoint(x.SubAccountType));\r\n }\r\n return data;\r\n }\r\n isAddRegularPayment(subAccountType: SubAccountType): boolean {\r\n if (SubAccountTypeHelper.isOnPlatformPension(subAccountType)) {\r\n const data = ProductDetailsStore.getProductDetails()?.Products?.find((details) => {\r\n return (\r\n details.ProductType === SubAccountType.Pension ||\r\n details.ProductType === SubAccountType.Sipp ||\r\n details.ProductType === SubAccountType.Npr\r\n );\r\n });\r\n return data?.RegularPaymentIns?.length <= 0;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { MaxGiaCount } from \"./Contents\";\r\n\r\nexport class ClientAcountHelper {\r\n public static MaxGiaCountHit(clientAccount: ClientAccount): boolean {\r\n if (clientAccount == null) {\r\n return false;\r\n }\r\n return (\r\n clientAccount.SubAccounts.filter((x) => SubAccountTypeHelper.isPP(x.SubAccountType)).length >= MaxGiaCount\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Gender } from \"../../../../../../react-core/Enums/Gender\";\r\nimport { BankAccountOwner } from \"../../../../../../Wrap/Constants/Enums/Domain/BankAccountOwner\";\r\nimport { MaritalStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/MaritalStatus\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { ClientRegularPayment } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ClientRegularPayment\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ClientSinglePayment } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ClientSinglePayment\";\r\nimport { ThirdPartyPaymentModel } from \"../../../../../../Wrap/Models/Models/Shared/ThirdPartyPaymentModel\";\r\nimport { DepositMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/DepositMethod\";\r\nimport { SourceOfWealthOption } from \"../../../../../../Wrap/Constants/Enums/Apply/SourceOfWealthOption\";\r\nimport { ThirdPartyType } from \"../../../../../../Wrap/Constants/Enums/ThirdPartyType\";\r\nimport { CustomerStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { MoneyPurchaseAnnualAllowanceSource } from \"../../../../../../Wrap/Constants/Enums/Apply/MoneyPurchaseAnnualAllowanceSource\";\r\nimport { RegularDepositMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/RegularDepositMethod\";\r\nimport { CedingType } from \"../../../../../../Wrap/Constants/Enums/Apply/CedingType\";\r\nimport { DirectDebitMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/DirectDebitMethod\";\r\nimport { PensionTransfer } from \"../../../../../../Wrap/Models/Models/Processes/Quote/Pension/PensionTransfer\";\r\nimport { TransferType } from \"../../../../../../Wrap/Constants/Enums/Domain/TransferType\";\r\nimport { PensionType } from \"../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Permission } from \"../../../../../Shared/Permission/Permission\";\r\n\r\nexport interface TransferOrDrawdown extends PensionTransfer {\r\n PensionTransfersIndex?: number;\r\n IsInternal?: boolean;\r\n}\r\n\r\nexport const MaxGiaCount = 5;\r\n\r\nexport const NBSteppers = {\r\n fullClientDetail: \"Full client details\",\r\n wrapperSelection: \"Wrapper selection\",\r\n paymentsIn: \"Payments in\",\r\n adviserCharges: \"Adviser charges\",\r\n investmentSelection: \"Investment selection\",\r\n incomePaymentDetails: \"Income payment details\",\r\n disinvestmentStrategy: \"Disinvestment strategy\",\r\n review: \"Review\",\r\n doc: \"Documents & declarations\",\r\n regularWithdrawals: \"Regular withdrawal\",\r\n drawdownDetail: \"Drawdown detail\",\r\n comfirmation: \"Confirmation\",\r\n withdrawal: \"Withdrawals\",\r\n SIPP: \"SIPP\",\r\n ISA: \"ISA Stocks & Shares\",\r\n PP: \"Personal Portfolio\",\r\n wrapCash: \"Cash Account\",\r\n openBondInLegacyWizard: \"Open Onshore/Offshore bond\",\r\n legacyWizard: \"New business existing client\",\r\n legacyProduct: \"SIPP & Bond detail\",\r\n additionalProductDetails: \"Additional product details\",\r\n};\r\n\r\nexport const regularDepositMethodArrays = [\r\n RegularDepositMethod.Cheque,\r\n RegularDepositMethod.BACS,\r\n RegularDepositMethod.DirectDebit,\r\n RegularDepositMethod.ProductWrapperCash,\r\n];\r\n\r\nexport const regularDepositMethodArraysMap = {\r\n [RegularDepositMethod.Cheque]: \"Cheque\",\r\n [RegularDepositMethod.BACS]: \"BACS/CHAPS\",\r\n [RegularDepositMethod.DirectDebit]: \"Direct Debit\",\r\n [RegularDepositMethod.ProductWrapperCash]: \"Wrap Cash\",\r\n};\r\n\r\nexport const depositMethodArrays = [\r\n DepositMethod.Cheque,\r\n DepositMethod.BACS,\r\n DepositMethod.DirectDebit,\r\n DepositMethod.WrapCash,\r\n];\r\nexport const depositMethodArraysMap = {\r\n [DepositMethod.Cheque]: \"Cheque\",\r\n [DepositMethod.BACS]: \"BACS/CHAPS\",\r\n [DepositMethod.DirectDebit]: \"Direct Debit\",\r\n [DepositMethod.WrapCash]: \"Cash Account\",\r\n};\r\n\r\nexport const DisinvestmentStrategyTypeArray = [\r\n DisinvestmentStrategyType.Proportional,\r\n DisinvestmentStrategyType.Lifo,\r\n DisinvestmentStrategyType.LVS,\r\n];\r\n\r\nexport const DisinvestmentStrategyTypeStringMap = (label: string) => {\r\n switch (label.toLowerCase()) {\r\n case \"proportional\":\r\n return DisinvestmentStrategyType.Proportional;\r\n case \"lvs\":\r\n return DisinvestmentStrategyType.LVS;\r\n case \"lifo\":\r\n return DisinvestmentStrategyType.Lifo;\r\n default:\r\n return DisinvestmentStrategyType.Proportional;\r\n }\r\n};\r\n\r\nexport const FrequencyTypeArrays = [Frequency.Monthly, Frequency.Quarterly, Frequency.HalfYearly, Frequency.Yearly];\r\n\r\nexport const FrequencyArraysMap = {\r\n [Frequency.Monthly]: \"Monthly\",\r\n [Frequency.Quarterly]: \"Quarterly\",\r\n [Frequency.HalfYearly]: \"Half yearly\",\r\n [Frequency.Yearly]: \"Yearly\",\r\n};\r\nexport const BankAccountOwnerArrays = [\r\n BankAccountOwner.Individual,\r\n BankAccountOwner.Partner,\r\n BankAccountOwner.Joint,\r\n BankAccountOwner.Employer,\r\n BankAccountOwner.ThirdParty,\r\n];\r\n\r\nexport const BankAccountOwnerMap = {\r\n [BankAccountOwner.Individual]: \"Individual\",\r\n [BankAccountOwner.Partner]: \"Partner\",\r\n [BankAccountOwner.Joint]: \" Joint\",\r\n [BankAccountOwner.Employer]: \"Employer\",\r\n [BankAccountOwner.ThirdParty]: \"Third-party\",\r\n};\r\n\r\nexport const AdviceType = [\r\n {\r\n key: \"nonDiscretionary\",\r\n value: \"Non-discretionary\",\r\n },\r\n {\r\n key: \"Discretionary\",\r\n value: \"Discretionary\",\r\n },\r\n];\r\n\r\nexport const GenderOptions = [Gender.Male, Gender.Female];\r\n\r\nexport const GenderOptionsMap = {\r\n [Gender.Male]: \"Male\",\r\n [Gender.Female]: \"Female\",\r\n};\r\n\r\nexport const CustomerStatuses = {\r\n title: \"Customer Status\",\r\n options: [CustomerStatus.Active, CustomerStatus.Inactive, CustomerStatus.Deceased],\r\n optionsMap: {\r\n [CustomerStatus.Active]: \"Active\",\r\n [CustomerStatus.Inactive]: \"Inactive\",\r\n [CustomerStatus.Deceased]: \"Deceased\",\r\n },\r\n};\r\n\r\nexport const Marital = {\r\n title: \"Marital status\",\r\n options: [\r\n MaritalStatus.Single,\r\n MaritalStatus.MarriedOrCivilPartner,\r\n MaritalStatus.Separated,\r\n MaritalStatus.Divorced,\r\n MaritalStatus.Widowed,\r\n ],\r\n optionsMap: {\r\n [MaritalStatus.Divorced]: \"Divorced / Dissolved civil partnership\",\r\n [MaritalStatus.MarriedOrCivilPartner]: \"Married / Civil partnership\",\r\n [MaritalStatus.Single]: \"Single\",\r\n [MaritalStatus.Separated]: \"Separated\",\r\n [MaritalStatus.Widowed]: \"Widowed / Surviving civil partner\",\r\n },\r\n};\r\n\r\nexport const emptyClientRegularPayment: ClientRegularPayment = {\r\n Frequency: Frequency.Monthly,\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n IsContinue: null,\r\n ContinueUntil: null,\r\n FirstCollectionDate: null,\r\n};\r\n\r\nexport const emptyClientSinglePayment: ClientSinglePayment = {\r\n BankAccountNumber: null,\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n PaymentMethod: null,\r\n PaymentDate: null,\r\n};\r\n\r\nexport const emptyThirdPartyRegularPayment: ThirdPartyPaymentModel = {\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n Frequency: Frequency.Monthly,\r\n IsContinue: null,\r\n ContinueUntil: null,\r\n FirstCollectionDate: null,\r\n};\r\n\r\nexport const emptyThirdPartySinglePayment: ThirdPartyPaymentModel = {\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n PaymentMethod: null,\r\n PaymentDate: null,\r\n};\r\n\r\nexport const CedingTypeArrays = [\r\n CedingType.Stakeholderpension,\r\n CedingType.PersonalPension,\r\n CedingType.SelfInvestedPersonalPension,\r\n CedingType.RetirementAnnuityContract,\r\n CedingType.GroupPersonalPension,\r\n CedingType.GroupStakeholderPension,\r\n CedingType.ExecutivePensionPlan,\r\n CedingType.SmallSelfAdministeredscheme,\r\n CedingType.Section32,\r\n CedingType.OtherMoneyPurchase,\r\n CedingType.DefinedBenefit,\r\n CedingType.QROPSROPSscheme,\r\n];\r\n\r\nexport const CedingTypeMap = {\r\n [CedingType.Stakeholderpension]: \"Stakeholder pension\",\r\n [CedingType.PersonalPension]: \"Personal Pension\",\r\n [CedingType.SelfInvestedPersonalPension]: \"Self-invested personal pension\",\r\n [CedingType.RetirementAnnuityContract]: \"Retirement Annuity Contract (Section 22/226)\",\r\n [CedingType.GroupPersonalPension]: \"Group Personal Pension\",\r\n [CedingType.GroupStakeholderPension]: \"Group Stakeholder Pension\",\r\n [CedingType.ExecutivePensionPlan]: \"Executive Pension Plan\",\r\n [CedingType.SmallSelfAdministeredscheme]: \"Small self-administered scheme\",\r\n [CedingType.Section32]: \"Section 32\",\r\n [CedingType.OtherMoneyPurchase]: \"Other Money Purchase\",\r\n [CedingType.DefinedBenefit]: \"Defined Benefit (Final Salary)\",\r\n [CedingType.QROPSROPSscheme]: \"QROPS/ROPS scheme\",\r\n};\r\n\r\nexport const TransferTypeMap = {\r\n [TransferType.Cash]: \"Cash\",\r\n [TransferType.InSpecie]: \"Re-register assets\",\r\n};\r\n\r\nexport class ContentsTable {\r\n public static None = \"None\";\r\n public static DirectDebitMethodInformation1 =\r\n \"An online Direct Debit can only be set up if the client is present at the point the bank details are entered.\";\r\n public static DirectDebitMethodInformation2 =\r\n \"If the client is not present you can still enter the bank details here but you must obtain a signed Direct Debit form from the client and send it to us.\";\r\n public static DirectDebitMethodInformation3 =\r\n \"In that case, we will not start making Direct Debit collections until we have received the signed form\";\r\n public static DirectDebitMethodInformation4 =\r\n \"A Direct Debit mandate is already in force for this client and therefore we can begin collections from this bank account without needing a further instruction from your client.\";\r\n}\r\n\r\nexport const MoneyPurchaseAnnualAllowanceSourceArray = [\r\n MoneyPurchaseAnnualAllowanceSource.NotSpecified,\r\n MoneyPurchaseAnnualAllowanceSource.UncrystallisedFundsPcls,\r\n MoneyPurchaseAnnualAllowanceSource.StandaloneLumpSum,\r\n MoneyPurchaseAnnualAllowanceSource.FlexiAccessIncomePayment,\r\n];\r\n\r\nexport const MoneyPurchaseAnnualAllowanceSourceArrayMap = {\r\n [MoneyPurchaseAnnualAllowanceSource.NotSpecified]: \"Unknown\",\r\n [MoneyPurchaseAnnualAllowanceSource.UncrystallisedFundsPcls]: \"Uncrystallised pension saving lump sum payment\",\r\n [MoneyPurchaseAnnualAllowanceSource.StandaloneLumpSum]: \"Standalone lump sum payment\",\r\n [MoneyPurchaseAnnualAllowanceSource.FlexiAccessIncomePayment]: \"Flexi-access drawdown payment\",\r\n};\r\n\r\nexport const SourceOfWealthArrary = [\r\n SourceOfWealthOption.Salary,\r\n SourceOfWealthOption.DivorceSettlement,\r\n SourceOfWealthOption.Gift,\r\n SourceOfWealthOption.CompensationPayment,\r\n SourceOfWealthOption.LotteryAndOtherWinnings,\r\n SourceOfWealthOption.PolicyClaimOrMaturity,\r\n SourceOfWealthOption.Inheritance,\r\n SourceOfWealthOption.Investments,\r\n SourceOfWealthOption.PropertySale,\r\n SourceOfWealthOption.CompanySale,\r\n SourceOfWealthOption.Savings,\r\n SourceOfWealthOption.Other,\r\n];\r\n\r\nexport const SourceOfWealthArraryMap = {\r\n [SourceOfWealthOption.Salary]: \"Salary/Bonus/Employer\",\r\n [SourceOfWealthOption.DivorceSettlement]: \"Divorce settlement\",\r\n [SourceOfWealthOption.Gift]: \"Gift\",\r\n [SourceOfWealthOption.CompensationPayment]: \"Compensation payment\",\r\n [SourceOfWealthOption.LotteryAndOtherWinnings]: \"Lottery/betting win\",\r\n [SourceOfWealthOption.PolicyClaimOrMaturity]: \"Policy claim/maturity\",\r\n [SourceOfWealthOption.Inheritance]: \"Inheritance\",\r\n [SourceOfWealthOption.Investments]: \"Sale of investments\",\r\n [SourceOfWealthOption.PropertySale]: \"Sale of property\",\r\n [SourceOfWealthOption.CompanySale]: \"Sale of company\",\r\n [SourceOfWealthOption.Savings]: \"Savings\",\r\n [SourceOfWealthOption.Other]: \"Other (please give details below)\",\r\n};\r\n\r\nexport const ThirdPartyTypeArray = [\r\n ThirdPartyType.Individual,\r\n ThirdPartyType.Trust,\r\n ThirdPartyType.Charity,\r\n ThirdPartyType.Corporate,\r\n ThirdPartyType.ClubOrAssociation,\r\n];\r\n\r\nexport const ThirdPartyTypeArrayMap = {\r\n [ThirdPartyType.Individual]: \"Individual (includes spouse)\",\r\n [ThirdPartyType.Trust]: \"Trust\",\r\n [ThirdPartyType.Charity]: \"Charity\",\r\n [ThirdPartyType.Corporate]: \"Corporate\",\r\n [ThirdPartyType.ClubOrAssociation]: \"Club/association\",\r\n};\r\n\r\nexport const PayeeType = {\r\n Client: \"Client\",\r\n ThirdParty: \"Third party\",\r\n Employer: \"Employer\",\r\n};\r\n\r\nexport const BankAccountOwnerPayeeTypeMap = {\r\n [BankAccountOwner.Individual]: [PayeeType.Client],\r\n [BankAccountOwner.Joint]: [PayeeType.Client],\r\n [BankAccountOwner.Partner]: [PayeeType.Client],\r\n [BankAccountOwner.Employer]: [PayeeType.Employer, PayeeType.Client],\r\n [BankAccountOwner.ThirdParty]: [PayeeType.ThirdParty],\r\n};\r\n\r\nexport const DirectDebitMethodArray = [DirectDebitMethod.Online, DirectDebitMethod.Paper];\r\n\r\nexport const DirectDebitMethodArrayMap = {\r\n [DirectDebitMethod.Online]: \"Online\",\r\n [DirectDebitMethod.Paper]: \"Paper\",\r\n};\r\n\r\nexport const ContinueUntil = [\"Until notified\", \"Until date\"];\r\n\r\nexport const DirectDebitOptionsLabels = {\r\n directDebitOptionsInfoText:\r\n \"An online Direct Debit can only be set up if the client is present at the point the bank details are entered. If the client is not present you can still enter the bank details here but you must obtain a signed Direct Debit form from the client and send it to us. In that case, we will not start making Direct Debit collections until we have received the signed form\",\r\n directDebitAcceptTerms: \"I confirm that I understand and agree to the Online Direct Debit terms\",\r\n directDebitRequiredTerms: \"You must complete the required declaration\",\r\n};\r\n\r\nexport const nbSippIncomePaymentDetailsLabels = {\r\n regularIncomePayment: \"Regular income payment\",\r\n taxableIncomeRequiredInAddition: \"Is taxable income required in addition to the tax-free lump sum?\",\r\n targetSpecificArrangements: \"Do you wish to target specific arrangements?\",\r\n takeDifferentInitialIncomePayment: \"Do you wish to take a different initial income payment?\",\r\n grossInitialIncomePayment: \"Gross initial income payment\",\r\n maximumInitialIncomePayment: \"Maximum for initial income payment\",\r\n maximumIncomePerPayment: \"Maximum income per payment\",\r\n maximumAvailablePerPayment: \"Maximum available per payment\",\r\n grossIncomePerPayment: \"Gross income per payment\",\r\n grossIncomePerPaymentFromPension: \"Gross income per payment from the pension\",\r\n incomeFrequency: \"Income frequency\",\r\n firstPaymentDate: \"First payment date\",\r\n endDate: \"End date\",\r\n untilNotified: \"Until notified\",\r\n enterADate: \"Enter a date\",\r\n calculateEstimatedPaye: \"Calculate estimated PAYE\",\r\n estimatedPayeTax: \"Estimated PAYE tax\",\r\n estimatedNetPayment: \"Estimated net payment\",\r\n taxCode: \"Tax Code\",\r\n taxBasis: \"Basis\",\r\n oneOffIncomePayment: \"One-off income payment\",\r\n takeOneOffIncomePayment: \"Do you wish to take a one-off income payment?\",\r\n maximumGrossOneOffIncomePayment: \"Maximum gross one-off income payment\",\r\n crystallisation: \"Crystallisation\",\r\n capped: \"Capped\",\r\n flexi: \"Flexi\",\r\n from: \"From\",\r\n amount: \"Amount\",\r\n type: \"Type\",\r\n member: \"Member\",\r\n inherited: \"Inherited\",\r\n gadMaximum: \"GAD maximum\",\r\n incomeTakenToDate: \"Income taken to date\",\r\n lastMandatoryReview: \"Last mandatory review\",\r\n maximumIncomePaymentForRemainderOfYear: \"Maximum income payment for remainder of pension year\",\r\n maximumIncomePaymentForFutureYears: \"Maximum income payment for future pension years\",\r\n incomePerPaymentForCurrentPensionYear: \"Income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYears: \"Income per payment for future pension years\",\r\n MaximumIncomePerPayment: \"Maximum income payment per payment\",\r\n incomePerPayment: \"Income per payment\",\r\n takeFullValue: \"Take full value\",\r\n flexiArrangementsExhausted: \"Please tick to confirm your client understands this and is happy to proceed\",\r\n chooseAssetSelectionMethod: \"Choose asset selection method\",\r\n proportionallyAcrossAllAssets: \"Proportionally across all assets\",\r\n fromSpecifiedAssets: \"From specified assets\",\r\n chooseAssetsHeader: \"Disinvestment from post-retirement to meet income payments\",\r\n nextYearsGadMaximum: \"Next years GAD maximum\",\r\n cappedPlusFlexiTotals: \"Capped plus flexi totals\",\r\n nextFlexiReviewDate: \"Next flexi income review date\",\r\n frequencyOfFlexiIncomeReview: \"Frequency of flexi income review\",\r\n paymentMethod: \"Payment method\",\r\n investment: \"Investment\",\r\n currentUnitsHeld: \"Current units held\",\r\n currentEstimatedValue: \"Current estimated value\",\r\n estimatedValueToSell: \"Estimated value to sell\",\r\n sumOfValueToSell: \"Percentage of income payment (total)\",\r\n selectBankAccount: \"Select bank account\",\r\n splitAcrossTwoBankAccounts: \"Split across two bank accounts\",\r\n bankAccount1: \"Bank account 1\",\r\n bankAccount2: \"Bank account 2\",\r\n addBankAccount: \"Add bank account\",\r\n portionOfPcls: \"Portion of PCLS\",\r\n proportionOfIncome: \"Proportion of income\",\r\n bankAccountNotValidated:\r\n \"Please note this bank account is not validated - it must have been validated by the time we do the crystallisation.\",\r\n};\r\n\r\nexport const nbSippIncomePaymentDetailsMessages = {\r\n grossInitialIncomePaymentRequired: \"Please enter gross initial income payment\",\r\n grossIncomePerPaymentRequired: \"Please enter gross income per payment\",\r\n grossIncomePerPaymentFromPensionRequired: \"Please enter gross income per payment from the pension\",\r\n incomeFrequencyRequired: \"Please enter income frequency\",\r\n firstPaymentDateRequired: \"Please enter first payment date\",\r\n enterADateRequired: \"Please enter a date\",\r\n oneOffIncomePaymentRequired: \"Please enter one-off income payment\",\r\n incomePerPaymentForCurrentPensionYearRequired: \"Please enter income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYearsRequired: \"Please enter income per payment for future pension years\",\r\n incomePerPaymentRequired: \"Please enter income per payment\",\r\n flexiArrangementsExhausted:\r\n \"The income specified will exhaust one or more of your client's flexi access arrangements within a year\",\r\n messagesGrossInitialIncomeOver: \"Gross initial income payment must not be greater than maximum\",\r\n grossIncomePerPaymentOver:\r\n \"Please enter an income amount that is greater than zero and less than or equal to the maximum income per payment.\",\r\n grossAvailablePerPaymentOver:\r\n \"Please enter an income amount that is greater than zero and less than or equal to the maximum available per payment.\",\r\n firstPaymentDateUnder15: \"The date selected must be at least 15 working days from today\",\r\n firstPaymentDateUnder10: \"The date selected must be at least 10 working days from today\",\r\n endDateUnder: \"End date must be equal to or later than the first payment date\",\r\n dateOver28: \"Date must be between 1-28 of the month\",\r\n targetSpecificArrangementsMessage: (\r\n
\r\n Where the income is on a target basis, information must be provided to the user that any income entered form\r\n an arrangement here will:\r\n
\r\n Not automatically be set up if it is from a capped arrangement (this is for illustration purposes only)\r\n
\r\n
\r\n Will only be automatically set up from a flexi arrangement if:\r\n
    \r\n
  • Associated with a request to move to drawdown
  • \r\n
  • Where transfer
  • \r\n
      \r\n
    • the amount requested is equal to or less than the transfer value
    • \r\n
    • only 1 HMRC arrangement is confirmed upon transfer
    • \r\n
    • has not been converted for flexi from capped upon receipt into the pension scheme
    • \r\n
    \r\n
  • the bank account has been nominated and verified for withdrawals
  • \r\n
\r\n
\r\n
\r\n ),\r\n standardAlgorithmCappedMessage:\r\n \"SL to provide content regarding the maximum gross annual income and the income paid to date\",\r\n inheritedFundMessage:\r\n \"SL to provide content around whether the inherited drawdowns should be targeted or excluded and they should consider the use of the standard algorithm or targeting arrangements\",\r\n etiProRataMessage: \"SL TO CONFIRM MESSAGE\",\r\n percentageOver100: \"value can't exceed 100%\",\r\n percentageUnder0: \"At least 0%\",\r\n not100PercentMessage:\r\n \"Please enter values against the assets from which the income payment will be made that total 100%\",\r\n cannotBeGreaterThanMaximumIncomePaymentForRemainderOfYear:\r\n \"Income per payment for current pension year cannot be more than the maximum\",\r\n cannotBeGreaterThanMaximumIncomePaymentForFutureYears:\r\n \"Income per payment for future pension years cannot be more than the maximum\",\r\n cannotBeGreaterThanMaximumPerIncomePayment: \"Income per payment cannot be more than maximum\",\r\n nextFlexiReviewDateRequired: \"Please enter next flexi income review date\",\r\n nextFlexiReviewDateUnder: \"Date must be 20 days or more in the future\",\r\n frequencyOfFlexiIncomeReviewUnderOver: \"Frequency must be between 1 and 60\",\r\n totalPortionOfPCLSNot100: \"Total portion of PCLS must be 100%\",\r\n totalProportionOfIncomeNot100: \"Total proportion of income must be 100%\",\r\n grossIncomeNotSumOfArrangementsIncome: \"Total of arrangments income must equal gross income\",\r\n};\r\n\r\nexport const nbPaymentsInMessages = {\r\n atLeastOneContribution:\r\n \"Please make a contribution to this product wrapper to continue. To remove this product type, please navigate back to the wrapper selection step\",\r\n};\r\n\r\nexport const WrapperSelectionContents = {\r\n clientNameMessage: (firstName: string, middleName: string, familyName: string) =>\r\n `${firstName} ${middleName || \"\"} ${familyName} has been successfully added as a client`,\r\n};\r\n\r\nexport const NewTpsInvestmentsMessage = {\r\n messagePart1: \"To proceed into a TPS Model, you must ensure a mandate is set up via the \",\r\n messagePart2: \" page once the sub account is active.\",\r\n link: (\r\n \r\n \r\n Setup and search mandate\r\n \r\n \r\n ),\r\n};\r\n\r\n// @TODO Once pension calculation service is completed, need to change to real data\r\nexport const maximumIncomePaymentForRemainderOfYear = 100;\r\nexport const maximumIncomePaymentForFutureYears = 83.33;\r\nexport const maximumIncomePerPayment = 57620.75;\r\nexport const nextYearsGadMaximum = 1000;\r\n// End @TODO Once pension calculation service is completed, need to change to real data\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { EWizardLinterStatus } from \"../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { QuoteInstructionStore } from \"../../NewQuoteWizard/Store/Variable\";\r\n\r\nexport class EWizardLinterHelper {\r\n static getEWizardLinterStatus(complete: boolean): EWizardLinterStatus {\r\n return complete ? EWizardLinterStatus.PleaseCheck : EWizardLinterStatus.PleaseComplete;\r\n }\r\n\r\n static shouldDisplay(type: SubAccountType): boolean {\r\n const quote = QuoteInstructionStore.getData();\r\n const quoteid = getQueryParameters()[\"quoteid\"];\r\n if (quoteid == null || quote == null || quote.SelectedProducts == null) {return false;}\r\n const copyFromQuote = quote.SelectedProducts.findIndex((x) => x.SubAccountType == type) != -1;\r\n return copyFromQuote;\r\n }\r\n}\r\n","import { ApplyModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { SingleDataStore } from \"../../../../../Shared/Stores/SingleDataStore\";\r\nimport { FullClientDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { ProductWrapper } from \"../../../../../../Wrap/Models/Domains/Account/ProductWrapper\";\r\nimport { SingleDataStoreDispacher } from \"../../../../../Shared/Stores/SingleDataStoreDispacher\";\r\n\r\nexport const NewBusinessDispatcher: SingleDataStoreDispacher = new SingleDataStoreDispacher();\r\nexport const NewBusinessStore: SingleDataStore = new SingleDataStore(NewBusinessDispatcher);\r\n\r\nexport const CustomerContextDispatcher: SingleDataStoreDispacher = new SingleDataStoreDispacher<\r\n FullClientDetailModel\r\n>();\r\nexport const CustomerContextStoreStatic: SingleDataStore = new SingleDataStore<\r\n FullClientDetailModel\r\n>(CustomerContextDispatcher);\r\nexport const AdviserContextDisaptcher: SingleDataStoreDispacher = new SingleDataStoreDispacher();\r\nexport const AdviserContextStoreStatic: SingleDataStore = new SingleDataStore(\r\n AdviserContextDisaptcher\r\n);\r\nexport const ProductWrapperDispatcher: SingleDataStoreDispacher = new SingleDataStoreDispacher<\r\n ProductWrapper[]\r\n>();\r\nexport const ProductWrapperStore: SingleDataStore = new SingleDataStore(\r\n ProductWrapperDispatcher\r\n);\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { DrawdownSinglePaymentInstructionArrangementSelectionClient } from \"../../../../../../Wrap/Api/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection\";\r\nimport { DrawdownSinglePaymentInstructionArrangementSelection } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection\";\r\nimport { IncomePaymentOneOffDispatcher, IncomePaymentOneOffStore } from \"../Store/Variable\";\r\n\r\nexport class IncomePaymentOneOffAction {\r\n\r\n public static getInstruction(id: number, subAccountHierarchyId: string, clientId: number): void {\r\n const client = new DrawdownSinglePaymentInstructionArrangementSelectionClient();\r\n\r\n if (id && id !== 0) {\r\n const promise = client.get(id,subAccountHierarchyId,clientId);\r\n this.updateSPTInstructionStore(promise);\r\n return;\r\n }\r\n\r\n // Create new instruction\r\n const promise = client.post(subAccountHierarchyId, clientId, null);\r\n this.updateSPTInstructionStore(promise);\r\n }\r\n\r\n public static saveInstruction(instructionId: number, instruction: DrawdownSinglePaymentInstructionArrangementSelection, callback?: (error) => void): void {\r\n const client = new DrawdownSinglePaymentInstructionArrangementSelectionClient();\r\n const promise = client.put(instructionId, instruction, false);\r\n \r\n promise.onSuccess(() => {\r\n let data = JSON.parse(JSON.stringify(IncomePaymentOneOffStore.getData()));\r\n if (!data) {data = {};}\r\n data.Instruction = instruction;\r\n IncomePaymentOneOffDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n\r\n if (callback) {callback([]);}\r\n });\r\n }\r\n\r\n public static submitInstruction(instructionId: number, data: DrawdownSinglePaymentInstructionArrangementSelection, callback?: (error) => void): void {\r\n const client = new DrawdownSinglePaymentInstructionArrangementSelectionClient();\r\n const promise = client.put(instructionId, data, true);\r\n\r\n promise.onSuccess((result) => {\r\n if (callback) {callback(result);}\r\n });\r\n\r\n promise.onError((err) => {\r\n IncomePaymentOneOffDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n\r\n }\r\n\r\n public static deleteInstruction(id: number, callback?: VoidFunction): void {\r\n if (!id) {\r\n callback();\r\n return;\r\n }\r\n\r\n const client = new DrawdownSinglePaymentInstructionArrangementSelectionClient();\r\n const promise = client.delete(id);\r\n promise.onSuccess(() => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n private static updateSPTInstructionStore(promise: any, callback?: (data) => void) {\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(IncomePaymentOneOffStore.getData()));\r\n if (!data) {data = {};}\r\n data = result;\r\n IncomePaymentOneOffDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => {\r\n IncomePaymentOneOffDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../react-core/Utils/Arrays\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PaymentMethod } from \"../../../../../../Wrap/Constants/Enums/Domain/PaymentMethod\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { PaymentMethodTypeOptions, PaymentMethodArraysMap } from \"../../Common/Resource/Contents\";\r\nimport {\r\n getPaymentTypeOptions,\r\n getSourceFromOptions,\r\n getSourceFromString,\r\n getString,\r\n IncomeArrangementType,\r\n IncomePaymentOneOffPaymentType,\r\n IncomePaymentSourceFrom,\r\n} from \"../Resource/Content\";\r\nimport { CalculateEstimatedPaye } from \"./Shared/CalculateEstimatedPaye\";\r\nimport { OneOffIncomeTable } from \"./Shared/OneOffIncomeTable\";\r\nimport { UserAssetsAllocationData, UserAssetsAllocationTable } from \"./Shared/UserAssetsAllocationTable\";\r\nimport { DrawdownPaymentSourceAllocation } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentSourceAllocation\";\r\nimport { OneOffIncomePaymentModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/OneOffIncomePaymentModel\";\r\nimport { CappedPensionArrangementDetail } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/CappedPensionArrangementDetail\";\r\nimport { FlexiPensionArrangementDetail } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/FlexiPensionArrangementDetail\";\r\nimport { DrawdownSinglePaymentInstructionArrangementSelection } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection\";\r\nimport { toDp } from \"../../../../../../react-core/Utils/Math\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport BankDetails from \"./Shared/BankDetails\";\r\nimport { DrawdownPaymentDestinationAllocation } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentDestinationAllocation\";\r\nimport { DrawdownSinglePayment } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownSinglePayment\";\r\nimport { DrawdownSinglePaymentInstruction } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownSinglePaymentInstruction\";\r\nimport { InvestmentAllocation } from \"../../../../../../Wrap/Models/Domains/Investment/InvestmentAllocation\";\r\nimport { RestrictionStore } from \"../../Common/Restrictions/Variable\";\r\nimport { User } from \"../../../../../../Wrap/Models/Models/User/User\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../Shared/Common/UserMessages\";\r\n\r\ninterface IIncomePaymentOneOffProps extends IProcessComponentProps {}\r\n\r\ninterface IIncomePaymentOneOffPropsState {\r\n isTargetSpecificArrangements?: boolean;\r\n hasCappedCrystallisedArrangement?: boolean;\r\n hasFlexiCrystallisedArrangement?: boolean;\r\n IncomePaymentOneOffPaymentType: IncomePaymentOneOffPaymentType;\r\n incomePaymentOneOffSourceFrom: IncomePaymentSourceFrom;\r\n userInfo: User;\r\n}\r\ninterface ITableColumn {\r\n title: string;\r\n key: string;\r\n}\r\n\r\nexport class IncomePaymentOneOffDetail extends ProcessComponent<\r\n IIncomePaymentOneOffProps,\r\n IIncomePaymentOneOffPropsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n const isCashOnly = this.isCashOnly();\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n hasCappedCrystallisedArrangement: this.getCappedList().length > 0,\r\n hasFlexiCrystallisedArrangement: this.getFlexiList().length > 0,\r\n isTargetSpecificArrangements: true,\r\n IncomePaymentOneOffPaymentType: isCashOnly\r\n ? IncomePaymentOneOffPaymentType.AvailableCash\r\n : IncomePaymentOneOffPaymentType.AssetsAndAvailableCash,\r\n incomePaymentOneOffSourceFrom: isCashOnly\r\n ? IncomePaymentSourceFrom.SpecifyAmount\r\n : IncomePaymentSourceFrom.SpecifyAssetorCash,\r\n };\r\n\r\n this.bindFunctions();\r\n }\r\n\r\n private bindFunctions() {\r\n this.getModel = this.getModel.bind(this);\r\n this.getPayment = this.getPayment.bind(this);\r\n this.onInstructionChange = this.onInstructionChange.bind(this);\r\n this.onArrangementSelectionChange = this.onArrangementSelectionChange.bind(this);\r\n this.onDrawdownPaymentDestinationAllocationChange = this.onDrawdownPaymentDestinationAllocationChange.bind(\r\n this\r\n );\r\n this.onPaymentChange = this.onPaymentChange.bind(this);\r\n this.onDrawdownSinglePaymentInstructionChange = this.onDrawdownSinglePaymentInstructionChange.bind(this);\r\n this.onPaymentAmountChange = this.onPaymentAmountChange.bind(this);\r\n this.onDisinvestmentAllocationsChange = this.onDisinvestmentAllocationsChange.bind(this);\r\n }\r\n\r\n public isValid(): boolean {\r\n const arrangementSelection = this.getArrangementSelection();\r\n const total = arrangementSelection.reduce((total, ele) => {\r\n return total + ele?.Amount?.Amount;\r\n }, 0);\r\n\r\n const isEqual = this.getPayment()?.Amount?.Amount == total;\r\n if (!isEqual) {\r\n this.props.showErrorMsgPopUp(\r\n [\"The sum of all one-off income payment in arrangements should be equal to total value.\"],\r\n true\r\n );\r\n }\r\n return super.isValid() && isEqual && !RestrictionStore.WithdrawDisabled();\r\n }\r\n\r\n private onInstructionChange(newData: DrawdownSinglePaymentInstructionArrangementSelection): void {\r\n const { onChange, data } = this.props;\r\n this.onDataChange(onChange, newData, data, \"Instruction\");\r\n }\r\n\r\n private onArrangementSelectionChange(newData: DrawdownPaymentSourceAllocation[]): void {\r\n const instruction = this.getModel()?.Instruction;\r\n this.onDataChange(this.onInstructionChange, newData, instruction, \"PaymentSourceAllocations\");\r\n }\r\n\r\n private onDrawdownPaymentDestinationAllocationChange(newAllocations: DrawdownPaymentDestinationAllocation[]): void {\r\n const payment = this.getModel()?.Instruction?.DrawdownSinglePaymentInstruction?.Payment;\r\n if (payment == null) {\r\n this.onPaymentChange({ PaymentDestinationAllocations: newAllocations });\r\n return;\r\n }\r\n this.onDataChange(this.onPaymentChange, newAllocations, payment, \"PaymentDestinationAllocations\");\r\n }\r\n\r\n private onPaymentChange(newData: DrawdownSinglePayment): void {\r\n const instruction = this.getModel()?.Instruction?.DrawdownSinglePaymentInstruction;\r\n this.onDataChange(this.onDrawdownSinglePaymentInstructionChange, newData, instruction, \"Payment\");\r\n }\r\n\r\n private onDrawdownSinglePaymentInstructionChange(newData: DrawdownSinglePaymentInstruction): void {\r\n const instruction = this.getModel()?.Instruction;\r\n this.onDataChange(this.onInstructionChange, newData, instruction, \"DrawdownSinglePaymentInstruction\");\r\n }\r\n\r\n private onPaymentAmountChange(newData: number): void {\r\n const payment = this.getModel()?.Instruction?.DrawdownSinglePaymentInstruction?.Payment;\r\n\r\n if (payment == null) {\r\n this.onPaymentChange({ Amount: { Amount: newData, Currency: CurrencyCode.GBP } });\r\n return;\r\n }\r\n\r\n let newPaymentAmount: Money;\r\n\r\n if (payment.Amount) {\r\n newPaymentAmount = { Amount: newData, Currency: payment.Amount.Currency };\r\n } else {\r\n newPaymentAmount = { Amount: newData, Currency: CurrencyCode.GBP };\r\n }\r\n\r\n this.onDataChange(this.onPaymentChange, newPaymentAmount, payment, \"Amount\");\r\n }\r\n\r\n private onDisinvestmentAllocationsChange(newAllocation: Money, productId: number): void {\r\n const instruction = this.getModel()?.Instruction?.DrawdownSinglePaymentInstruction;\r\n\r\n const unchangedAllocation =\r\n instruction?.DisinvestmentAllocations?.filter((x) => x.ProductId != productId) ?? [];\r\n const allocation: InvestmentAllocation = { ProductId: productId, Value: newAllocation };\r\n unchangedAllocation.push(allocation);\r\n\r\n this.onDataChange(\r\n this.onDrawdownSinglePaymentInstructionChange,\r\n unchangedAllocation,\r\n instruction,\r\n \"DisinvestmentAllocations\"\r\n );\r\n }\r\n\r\n public hasInheritedDrawdowns(): boolean {\r\n const flexi = this.getFlexiList().some((a) => a?.PensionArrangementDetail?.IsInherited);\r\n const capped = this.getCappedList().some((a) => a?.PensionArrangementDetail?.IsInherited);\r\n return flexi || capped;\r\n }\r\n\r\n private isCashOnly() {\r\n const model = this.getModel();\r\n const disinvestmentAllocations =\r\n model?.Instruction?.DrawdownSinglePaymentInstruction?.DisinvestmentAllocations ?? [];\r\n\r\n return (\r\n disinvestmentAllocations.length == 0 ||\r\n (disinvestmentAllocations.length == 1 &&\r\n disinvestmentAllocations.some((x) => x.ProductId == model.CashInstrument.ProductId))\r\n );\r\n }\r\n\r\n private getPayment(): DrawdownSinglePayment {\r\n return this.getModel().Instruction?.DrawdownSinglePaymentInstruction?.Payment;\r\n }\r\n\r\n private getFlexiList(): FlexiPensionArrangementDetail[] {\r\n return this.getModel().FlexiPensionArrangements ?? [];\r\n }\r\n\r\n private getCappedList(): CappedPensionArrangementDetail[] {\r\n return this.getModel().CappedPensionArrangements ?? [];\r\n }\r\n\r\n private getArrangementSelection(): DrawdownPaymentSourceAllocation[] {\r\n return this.getModel().Instruction?.PaymentSourceAllocations ?? [];\r\n }\r\n\r\n private getModel(): OneOffIncomePaymentModel {\r\n return this.props.data;\r\n }\r\n\r\n private getDataForAssetsAllocationTable(): UserAssetsAllocationData[] {\r\n const model = this.getModel();\r\n const accountHoldings = model.Holdings ?? [];\r\n const allocations = accountHoldings.map((h) => {\r\n const availableValue = toDp((h.MarketValue.Amount / h.Quantity) * h.AvailableQuantity, 2);\r\n const availableMarketValue: Money = { Amount: availableValue, Currency: h.MarketValue.Currency };\r\n\r\n return {\r\n AssetId: h.ProductId,\r\n Investment: h.ProductCode,\r\n AvailableMarketValue: availableMarketValue,\r\n Allocation: null,\r\n };\r\n });\r\n const disinvestmentAllocations =\r\n model.Instruction?.DrawdownSinglePaymentInstruction?.DisinvestmentAllocations ?? [];\r\n\r\n if (isNullOrEmpty(disinvestmentAllocations)) {\r\n return allocations;\r\n }\r\n\r\n const disinvestmentDict = {};\r\n disinvestmentAllocations.forEach((x) => (disinvestmentDict[x.ProductId] = x));\r\n\r\n allocations.forEach((a) => {\r\n const disinvestment = disinvestmentDict[a.AssetId];\r\n if (disinvestment) {\r\n a.Allocation = disinvestment.Value;\r\n }\r\n });\r\n\r\n return allocations;\r\n }\r\n\r\n private clientDetailRender() {\r\n const data = this.getModel();\r\n\r\n const config = [\r\n {\r\n title: \"Total estimated value available\",\r\n data: MoneyDisplayHelper.getMoneyFormat(data.TotalEstimatedValueAvailable),\r\n },\r\n {\r\n title: \"Which is made up of:\",\r\n data: \" \",\r\n },\r\n {\r\n title: \"Available cash\",\r\n data: MoneyDisplayHelper.getMoneyFormat(data.CashAvailable),\r\n },\r\n {\r\n title: \"Estimated asset value available\",\r\n data: MoneyDisplayHelper.getMoneyFormat(data.EstimatedAssetValueAvailable),\r\n },\r\n ];\r\n return (\r\n
\r\n
\r\n

Income payment details

\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { onChange } = this.props;\r\n const data = this.getModel();\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup withdrawals\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n <>\r\n {RestrictionStore.WithdrawDisabled() && (\r\n \r\n )}\r\n {this.clientDetailRender()}\r\n
\r\n\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n //this.onDataChange(onChange, v, data, \"isTargetSpecificArrangements\");\r\n }}\r\n required={\"Please select \"}\r\n />\r\n {this.hasInheritedDrawdowns() && (\r\n \r\n )}\r\n\r\n
\r\n

Payment type

\r\n
\r\n getString(option)}\r\n onChange={(v) => {\r\n this.setState({ IncomePaymentOneOffPaymentType: v });\r\n if (v == IncomePaymentOneOffPaymentType.AvailableCash) {\r\n this.setState({ incomePaymentOneOffSourceFrom: IncomePaymentSourceFrom.SpecifyAmount });\r\n }\r\n }}\r\n selected={this.state.IncomePaymentOneOffPaymentType}\r\n required={\"Please select Payment Type\"}\r\n />\r\n\r\n
\r\n
\r\n

Maximum estimated income payment available from the pension

\r\n
\r\n
\r\n \r\n {this.state.IncomePaymentOneOffPaymentType == IncomePaymentOneOffPaymentType.AvailableCash\r\n ? MoneyDisplayHelper.getMoneyFormat(data.CashAvailable)\r\n : MoneyDisplayHelper.getMoneyFormat(data.TotalEstimatedValueAvailable)}\r\n \r\n
\r\n
\r\n
\r\n

Payment amount from the pension

\r\n
\r\n getSourceFromString(option)}\r\n onChange={(v) => {\r\n this.setState({ incomePaymentOneOffSourceFrom: v });\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n selected={this.state.incomePaymentOneOffSourceFrom}\r\n required={\"Please select Payment Source\"}\r\n />\r\n\r\n
\r\n {\r\n this.onPaymentAmountChange(v);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"value must be > 0\",\r\n validator: (v) => v > 0,\r\n },\r\n {\r\n errorMessage:\r\n \"value can't be greater than maximum estimated income payment available from the pension\",\r\n validator: (v) => {\r\n if (\r\n this.state.IncomePaymentOneOffPaymentType ==\r\n IncomePaymentOneOffPaymentType.AvailableCash\r\n ) {\r\n return v <= data.CashAvailable.Amount;\r\n } else {\r\n return v <= data.TotalEstimatedValueAvailable.Amount;\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n {this.state.incomePaymentOneOffSourceFrom == IncomePaymentSourceFrom.SpecifyAssetorCash && (\r\n this.appendChild(ref)}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n />\r\n )}\r\n\r\n {this.state.hasCappedCrystallisedArrangement && (\r\n \r\n )}\r\n {this.state.hasFlexiCrystallisedArrangement && (\r\n \r\n )}\r\n\r\n
\r\n
\r\n {\r\n return PaymentMethodArraysMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.onDataChange(onChange, v, data, \"PaymentMethod\");\r\n }}\r\n />\r\n
\r\n
\r\n\r\n \r\n
\r\n {\r\n this.appendChild(ref)}\r\n data={data}\r\n />\r\n }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { IncomePaymentDestination } from \"../../../../../../Wrap/Constants/Enums/Domain/IncomePaymentDestination\";\r\nimport { Money } from \"../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { DrawdownPaymentDestinationAllocation } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentDestinationAllocation\";\r\nimport { OneOffIncomePaymentModel } from \"../../../../../../Wrap/Models/Models/Processes/Drawdown/OneOffIncomePaymentModel\";\r\nimport { CheckboxGroup } from \"../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: OneOffIncomePaymentModel;\r\n}\r\n\r\ninterface IReviewState {\r\n hasChecked: number[];\r\n}\r\n\r\nexport class IncomePaymentOneOffReview extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { hasChecked: [] };\r\n }\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n isValid = isValid && this.state.hasChecked.length == 2;\r\n if (!isValid) {\r\n this.props.showErrorMsgPopUp([\"Please accept all items to continue\"], true);\r\n }\r\n return isValid;\r\n }\r\n\r\n private clientDetailRender() {\r\n const { Payment, DisinvestmentAllocations } = this.props.data.Instruction.DrawdownSinglePaymentInstruction;\r\n const {\r\n CashAvailable,\r\n CashInstrument,\r\n EstimatedAssetValueAvailable,\r\n TotalEstimatedValueAvailable,\r\n } = this.props.data;\r\n\r\n const paymentAmount: Money = Payment.Amount;\r\n const nonCashAllocations =\r\n DisinvestmentAllocations?.filter((x) => x.ProductId != CashInstrument.ProductId) ?? [];\r\n\r\n const config = [\r\n {\r\n title: \"Payment amount\",\r\n data: MoneyDisplayHelper.getMoneyFormat(paymentAmount),\r\n },\r\n {\r\n title: \"Payment type\",\r\n data: nonCashAllocations.length == 0 ? \"Available Cash\" : \"Assets And Available Cash\",\r\n },\r\n ];\r\n\r\n if (Payment.PaymentDestinationAllocations.length == 1) {\r\n config.push({\r\n title: \"Bank account\",\r\n data: this.getDestinationDescription(Payment.PaymentDestinationAllocations[0]),\r\n });\r\n } else {\r\n Payment.PaymentDestinationAllocations.map((ele, index) => {\r\n config.push(\r\n {\r\n title: \"Bank account \" + (index + 1),\r\n data: this.getDestinationDescription(ele),\r\n },\r\n {\r\n title: \"Proportion \" + (index + 1),\r\n data: ele.Allocation + \"%\",\r\n }\r\n );\r\n });\r\n }\r\n\r\n const fromAssets = nonCashAllocations.reduce((total, el) => total + el.Value.Amount, 0);\r\n const assetRemaining: Money = {\r\n Amount: EstimatedAssetValueAvailable.Amount - fromAssets,\r\n Currency: EstimatedAssetValueAvailable.Currency,\r\n };\r\n const cashRemaining: Money = {\r\n Amount: CashAvailable.Amount - paymentAmount.Amount + fromAssets,\r\n Currency: CashAvailable.Currency,\r\n };\r\n const totalRemaining: Money = {\r\n Amount: TotalEstimatedValueAvailable.Amount - paymentAmount.Amount,\r\n Currency: TotalEstimatedValueAvailable.Currency,\r\n };\r\n\r\n config.push(\r\n {\r\n title: \"Estimated cash remaining\",\r\n data: MoneyDisplayHelper.getMoneyFormat(cashRemaining),\r\n },\r\n {\r\n title: \"Estimated asset value remaining\",\r\n data: MoneyDisplayHelper.getMoneyFormat(assetRemaining),\r\n },\r\n {\r\n title: \"Estimated total value remaining\",\r\n data: MoneyDisplayHelper.getMoneyFormat(totalRemaining),\r\n }\r\n );\r\n\r\n return (\r\n
\r\n
\r\n

Income payment details

\r\n
\r\n\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n private getDestinationDescription(destination: DrawdownPaymentDestinationAllocation): string {\r\n if (destination.Destination == IncomePaymentDestination.WrapCash) {\r\n return \"Wrap Cash\";\r\n }\r\n const bankAccount = this.props.data.AllBankAccounts.find((x) => x.BankAccountId == destination.BankAccountId);\r\n return (\r\n bankAccount.AccountNumber +\r\n \" \" +\r\n bankAccount.BankCodes.BankCode +\r\n \"-\" +\r\n bankAccount.BankCodes.BranchCode +\r\n \"-\" +\r\n bankAccount.BankCodes.ExtraCode +\r\n \" \" +\r\n bankAccount.HolderName\r\n );\r\n }\r\n\r\n private renderDeclarations() {\r\n return (\r\n <>\r\n

Declarations

\r\n {\r\n const checked = this.state.hasChecked;\r\n if (v) {\r\n this.setState({ hasChecked: checked.concat(1) });\r\n } else {\r\n this.setState({ hasChecked: checked.filter((ele) => ele != 1) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n

\r\n I can confirm that I have provided my client with an illustration in relation to this withdrawal, in\r\n line with my regulatory responsibilities as financial adviser, as detailed in FCA Sourcebook COBS\r\n 14.\r\n

\r\n

\r\n I understand that the taxable part of any payment made will be subject to income tax deducted by\r\n Standard Life Assurance Limited(SLAL) and paid to HM Revenue & Customs. Standard Life Assurance\r\n Limited(SLAL) will submit my personal and income details to HM Revenue & Customs.\r\n

\r\n

\r\n I declare that any full payment of the value of benefits under this SIPP shall constitute a full and\r\n final discharge of entitlement to receive benefit from this SIPP.\r\n

\r\n

\r\n I have read an understood the content of Standard Life Assurance Limited(SLAL)'s leaflet\r\n 'Comprehensive guide to tax and income withdrawals', and the accompanying documents related to\r\n taking income from my account.\r\n

\r\n {\r\n const checked = this.state.hasChecked;\r\n if (v) {\r\n this.setState({ hasChecked: checked.concat(2) });\r\n } else {\r\n this.setState({ hasChecked: checked.filter((ele) => ele != 2) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n\r\n

I confirm that I have seen appropriate evidence of age.

\r\n

this can be either:

\r\n

A valid driving license or passport, or

\r\n

A birth certificate

\r\n {\r\n if (v) {\r\n this.setState({ hasChecked: [1, 2] });\r\n } else {\r\n this.setState({ hasChecked: [] });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n

Review

\r\n {this.clientDetailRender()}\r\n {this.renderDeclarations()}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { BankAccountIdType } from \"../../../../../../../Wrap/Constants/Enums/Domain/BankAccountIdType\";\r\nimport { IncomePaymentDestination } from \"../../../../../../../Wrap/Constants/Enums/Domain/IncomePaymentDestination\";\r\nimport { BankAccount } from \"../../../../../../../Wrap/Models/Domains/BankAccount/BankAccount\";\r\nimport { DrawdownPaymentDestinationAllocation } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentDestinationAllocation\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { BankDetailsContent } from \"../../Resource/Content\";\r\n\r\ninterface IBankDetailsProps extends IProcessComponentProps {\r\n ownerHierarchyId: string;\r\n allBankAccounts: BankAccount[];\r\n incomePaymentAllocations: DrawdownPaymentDestinationAllocation[];\r\n onChange: (newAllocations: DrawdownPaymentDestinationAllocation[]) => void;\r\n}\r\ninterface IBankDetailsState {\r\n splitAcrossTwo: boolean;\r\n}\r\n\r\ntype BankAccountDetails = {\r\n type: BankAccountIdType;\r\n id: number;\r\n accountNumber: number;\r\n destination: IncomePaymentDestination;\r\n displayString: string;\r\n incomeAllocation?: number;\r\n};\r\n\r\n// Bank account number can only be 8 digits so nine nines will always be unique and last\r\nconst dummyWrapCashBankAccountNumber = 999999999;\r\n\r\nexport class BankDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { splitAcrossTwo: false };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { incomePaymentAllocations } = this.props;\r\n if (incomePaymentAllocations.length > 1) {\r\n this.setState({ splitAcrossTwo: true });\r\n }\r\n }\r\n\r\n private handleBankAccountChange(bankAccountDetails: BankAccountDetails, bankAccountIndex: number) {\r\n const { incomePaymentAllocations, onChange } = this.props;\r\n\r\n if (bankAccountDetails === null || bankAccountDetails.destination === null) {\r\n incomePaymentAllocations.pop();\r\n } else {\r\n if (incomePaymentAllocations.length > bankAccountIndex) {\r\n incomePaymentAllocations[bankAccountIndex] = {\r\n BankAccountIdType: bankAccountDetails.type,\r\n BankAccountId: bankAccountDetails.id,\r\n Destination: bankAccountDetails.destination,\r\n Allocation: bankAccountDetails.incomeAllocation,\r\n };\r\n } else {\r\n incomePaymentAllocations.push({\r\n BankAccountIdType: bankAccountDetails.type,\r\n BankAccountId: bankAccountDetails.id,\r\n Destination: bankAccountDetails.destination,\r\n Allocation: bankAccountDetails.incomeAllocation,\r\n });\r\n }\r\n }\r\n\r\n onChange(incomePaymentAllocations);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { allBankAccounts, incomePaymentAllocations } = this.props;\r\n\r\n const bankAccounts: Array = [\r\n {\r\n type: null,\r\n id: null,\r\n accountNumber: null,\r\n destination: null,\r\n displayString: \"Please select\",\r\n },\r\n ];\r\n\r\n allBankAccounts?.forEach((account) => {\r\n if (account.NominatedForWithdrawal) {\r\n bankAccounts.push({\r\n type: BankAccountIdType.BankAccount,\r\n id: account.BankAccountId,\r\n accountNumber: Number(account.AccountNumber),\r\n destination: IncomePaymentDestination.BankAccount,\r\n displayString: `${account.SortCode} | ${account.AccountNumber} | ${account.AccountName}`,\r\n });\r\n }\r\n });\r\n\r\n bankAccounts.push({\r\n type: null,\r\n id: null,\r\n accountNumber: dummyWrapCashBankAccountNumber,\r\n destination: IncomePaymentDestination.WrapCash,\r\n displayString: \"Cash Account\",\r\n });\r\n\r\n const bankAccountOptions = bankAccounts.map((account) => account.accountNumber);\r\n\r\n let bankAccount1Details: BankAccountDetails;\r\n if (incomePaymentAllocations.length > 0) {\r\n bankAccount1Details = bankAccounts.find((details) => {\r\n if (details.destination === IncomePaymentDestination.WrapCash) {\r\n return incomePaymentAllocations[0].Destination === IncomePaymentDestination.WrapCash;\r\n } else {\r\n return (\r\n incomePaymentAllocations[0].Destination === IncomePaymentDestination.BankAccount &&\r\n details.type === incomePaymentAllocations[0].BankAccountIdType &&\r\n details.id === incomePaymentAllocations[0].BankAccountId\r\n );\r\n }\r\n });\r\n bankAccount1Details.incomeAllocation = incomePaymentAllocations[0].Allocation;\r\n }\r\n\r\n let bankAccount2Details: BankAccountDetails;\r\n if (incomePaymentAllocations.length > 1) {\r\n bankAccount2Details = bankAccounts.find((details) => {\r\n if (details.destination === IncomePaymentDestination.WrapCash) {\r\n return incomePaymentAllocations[1].Destination === IncomePaymentDestination.WrapCash;\r\n } else {\r\n return (\r\n incomePaymentAllocations[1].Destination === IncomePaymentDestination.BankAccount &&\r\n details.type === incomePaymentAllocations[1].BankAccountIdType &&\r\n details.id === incomePaymentAllocations[1].BankAccountId\r\n );\r\n }\r\n });\r\n bankAccount2Details.incomeAllocation = incomePaymentAllocations[1].Allocation;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {BankDetailsContent.labels.selectBankAccount}\r\n
\r\n {/* 2 - one please select, one bank account */}\r\n {bankAccounts.length > 2 && (\r\n
\r\n
\r\n {\r\n !v && this.handleBankAccountChange(null, 1);\r\n this.setState({ splitAcrossTwo: v });\r\n }}\r\n cssWrapper=\"square-checkbox\"\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n return bankAccounts.find((option) => option.accountNumber === v).displayString;\r\n }}\r\n onChange={(v) => {\r\n const bankAccountDetails = bankAccounts.find((account) => account.accountNumber === v);\r\n this.handleBankAccountChange(bankAccountDetails, 0);\r\n }}\r\n required={\"Please select a bank account\"}\r\n />\r\n
\r\n
\r\n {this.state.splitAcrossTwo && (\r\n <>\r\n
\r\n
\r\n {\r\n bankAccount1Details.incomeAllocation = v;\r\n this.handleBankAccountChange(bankAccount1Details, 0);\r\n }}\r\n required={\"Please enter a percentage\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n return (\r\n bankAccount1Details &&\r\n accountNumber !== bankAccount1Details.accountNumber\r\n );\r\n })\r\n : bankAccountOptions\r\n }\r\n selected={bankAccount2Details && bankAccount2Details.accountNumber}\r\n getText={(v) => {\r\n return bankAccounts.find((option) => option.accountNumber === v).displayString;\r\n }}\r\n onChange={(v) => {\r\n const bankAccountDetails = bankAccounts.find(\r\n (account) => account.accountNumber === v\r\n );\r\n this.handleBankAccountChange(bankAccountDetails, 1);\r\n }}\r\n required={\"Please select a bank account\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n bankAccount2Details.incomeAllocation = v;\r\n this.handleBankAccountChange(bankAccount2Details, 1);\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"\",\r\n validator: (v) => {\r\n return bankAccount1Details?.incomeAllocation\r\n ? v + bankAccount1Details?.incomeAllocation === 100\r\n : false;\r\n },\r\n },\r\n ]}\r\n />\r\n {bankAccount1Details?.incomeAllocation + bankAccount2Details?.incomeAllocation !==\r\n 100 && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BankDetails;\r\n","import * as React from \"react\";\r\nimport { Button } from \"../../../../../../../react-core/Html/Button\";\r\n\r\nexport const CalculateEstimatedPaye = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Estimated PAYE tax
\r\n
\r\n
\r\n £20.00\r\n
\r\n \r\n
\r\n
\r\n
\r\n Penguins (order Sphenisciformes, family Spheniscidae) are a group of aquatic\r\n flightless birds. They live almost exclusively in the Southern Hemisphere\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Estimated net payment
\r\n
\r\n £80.00\r\n
\r\n
Basis
\r\n
Cumulative
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { IncomeArrangementType } from \"../../Resource/Content\";\r\nimport { DrawdownPaymentSourceAllocation } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownPaymentSourceAllocation\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { PensionArrangementDetail } from \"../../../../../../../Wrap/Models/Models/Processes/Drawdown/PensionArrangementDetail\";\r\nimport { CappedPensionArrangementDetail } from \"../../../../../../../Wrap/Models/Models/Processes/Drawdown/CappedPensionArrangementDetail\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\n\r\nexport interface OneOffIncomeTableProps {\r\n tableTitle: string;\r\n cssWrapper: string;\r\n ArrangementType: IncomeArrangementType;\r\n data?: any;\r\n arrangementSelection: DrawdownPaymentSourceAllocation[];\r\n onArrangementSelectionChange: (newData: DrawdownPaymentSourceAllocation[]) => void;\r\n}\r\n\r\nexport class OneOffIncomeTable extends FormComponent {\r\n\r\n public render(): JSX.Element {\r\n\r\n const sharedColumns = this.getSharedColumns();\r\n const cappedColumns = this.getCappedColumns();\r\n const cssWrapper = classNames(\"one-off-income-table\", this.props.cssWrapper);\r\n return(\r\n <>\r\n

{this.props.tableTitle}

\r\n \r\n \r\n {sharedColumns.map(\r\n (row, index) => {\r\n return (\r\n \r\n \r\n {this.props.data.map((item, index) => {\r\n return row.render(item.PensionArrangementDetail);\r\n })}\r\n );\r\n })}\r\n {this.isCapped() &&\r\n cappedColumns.map(\r\n (row, index) => {\r\n return (\r\n \r\n \r\n {this.props.data.map((item, index) => {\r\n return row.render(item);\r\n })}\r\n );\r\n })\r\n }\r\n \r\n \r\n {this.props.data.map((item, index) => {\r\n return ;})}\r\n \r\n \r\n \r\n {this.props.data.map((item, index) => this.getOneOffIncomePaymentDataColumn(item))}\r\n \r\n \r\n \r\n
{

{row.title}

}
{

{row.title}

}

Maximum one-off income payment

{MoneyDisplayHelper.getMoneyFormat(item.MaximumIncomeRemaining)}

One-off income payment

\r\n );\r\n }\r\n\r\n private getOneOffIncomePaymentDataColumn(data): JSX.Element {\r\n let selectedArrangement = this.getSelectedArrangement(data.PensionArrangementDetail);\r\n\r\n if(!selectedArrangement){\r\n selectedArrangement = {\r\n Amount: {\r\n Amount: 0,\r\n Currency: CurrencyCode.GBP},\r\n FullAmount: false,\r\n ArrangementId: data.PensionArrangementDetail.ArrangementId\r\n }\r\n }\r\n\r\n return (\r\n this.onArrangementValueChange(v, selectedArrangement.ArrangementId, data.MaximumIncomeRemaining)}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Value can not greater than maximum one-off income payment\",\r\n validator: (v) => v <= data.MaximumIncomeRemaining?.Amount,\r\n },\r\n {\r\n errorMessage: \"Value can not be less than 0\",\r\n validator: (v) => v >= 0,\r\n },\r\n ]}\r\n />\r\n {!this.isCapped() &&\r\n {\r\n if (v) {\r\n this.onArrangementValueChange(data.MaximumIncomeRemaining?.Amount, selectedArrangement.ArrangementId, data.MaximumIncomeRemaining);\r\n } else {\r\n this.onArrangementValueChange(0, selectedArrangement.ArrangementId, data.MaximumIncomeRemaining);\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n }\r\n );\r\n }\r\n\r\n private onArrangementValueChange(newValue: number, arrangementId: number, fullValue: Money): void{\r\n const unchangedArrangements = this.props.arrangementSelection.filter(x => x.ArrangementId != arrangementId);\r\n const newArrangement: DrawdownPaymentSourceAllocation = {\r\n ArrangementId: arrangementId,\r\n Amount: {\r\n Amount: newValue,\r\n Currency: fullValue?.Currency\r\n },\r\n FullAmount: fullValue?.Amount == newValue\r\n };\r\n unchangedArrangements.push(newArrangement);\r\n \r\n this.props.onArrangementSelectionChange(unchangedArrangements);\r\n }\r\n\r\n private getSelectedArrangement(arrangementDetail: PensionArrangementDetail): DrawdownPaymentSourceAllocation{\r\n if(isNullOrEmpty(this.props.arrangementSelection)){\r\n return null\r\n }\r\n return this.props.arrangementSelection.find(x => x.ArrangementId == arrangementDetail?.ArrangementId);\r\n }\r\n\r\n private isCapped(): boolean{\r\n return this.props.ArrangementType == IncomeArrangementType.Capped;\r\n }\r\n\r\n private getSharedColumns(): any{\r\n return [\r\n {\r\n title: \"From\",\r\n key: \"From\",\r\n render: (data: PensionArrangementDetail): JSX.Element => {\r\n return {data.ArrangementId};\r\n }\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n render: (data: PensionArrangementDetail): JSX.Element => {\r\n return {MoneyDisplayHelper.getMoneyFormat(data.Amount)};\r\n }\r\n },\r\n {\r\n title: \"Type\",\r\n key: \"Type\",\r\n render: (data: PensionArrangementDetail): JSX.Element => {\r\n return {data.IsInherited ? \"Inherited\": \"Member\"};\r\n }\r\n },\r\n {\r\n title: \"Taxable\",\r\n key: \"Taxable\",\r\n render: (data: PensionArrangementDetail): JSX.Element => {\r\n return {data.Taxable ? \"Yes\": \"No\"};\r\n }\r\n },\r\n ]\r\n }\r\n\r\n private getCappedColumns(): any {\r\n return [\r\n {\r\n title: \"GAD Maximum\",\r\n key: \"GADMaximum\",\r\n render: (data: CappedPensionArrangementDetail): JSX.Element => {\r\n return {MoneyDisplayHelper.getMoneyFormat(data.GADMaximum)};\r\n }\r\n },\r\n\r\n {\r\n title: \"Income taken to date\",\r\n key: \"Incometakentodate\",\r\n render: (data: CappedPensionArrangementDetail): JSX.Element => {\r\n return {MoneyDisplayHelper.getMoneyFormat(data.IncomeTaken)};\r\n }\r\n },\r\n {\r\n title: \"Last mandatory review\",\r\n key: \"Lastmandatoryreview\",\r\n render: (data: CappedPensionArrangementDetail): JSX.Element => {\r\n return {JsonDateParser.getFormatDate(data.LastMandatoryReview, \"dd/MM/yyyy\")};\r\n }\r\n }\r\n ]\r\n }\r\n}","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\n\r\ninterface IChooseAssetsOneOffProps extends IProcessComponentProps {\r\n totalValue: Money;\r\n onChange: (newAllocation: Money, productId: number) => void;\r\n data: UserAssetsAllocationData[];\r\n}\r\n\r\ninterface IChooseAssetsOneOffState {\r\n totalAssetValue: number;\r\n}\r\n\r\nexport class UserAssetsAllocationData{\r\n AssetId: number;\r\n Investment: string;\r\n AvailableMarketValue: Money;\r\n Allocation: Money;\r\n}\r\n\r\nexport class UserAssetsAllocationTable extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { totalAssetValue: this.getTotalAssetValue(props.data) };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ totalAssetValue: this.getTotalAssetValue(this.props.data) });\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IChooseAssetsOneOffProps) {\r\n if (nextProps.data !== this.props.data) {\r\n this.setState({ totalAssetValue: this.getTotalAssetValue(nextProps.data) });\r\n }\r\n }\r\n\r\n public isValid(): boolean {\r\n const flag = super.isValid();\r\n if (this.state.totalAssetValue !== this.props.totalValue.Amount) {\r\n this.props.showErrorMsgPopUp([\"Allocation in user assets table doesn't match total payment amount\"]);\r\n }\r\n return flag && this.state.totalAssetValue == this.props.totalValue.Amount;\r\n }\r\n\r\n private getTotalAssetValue(data: UserAssetsAllocationData[]): number {\r\n return data.reduce((total, ele) => {\r\n const allocationValue = ele.Allocation?.Amount ?? 0\r\n return total + allocationValue;\r\n }, 0);\r\n }\r\n\r\n private onAssetAllocationChange(newValue: number, assetId: number): void{\r\n const newAllocation: Money = { Amount: newValue, Currency: this.props.totalValue.Currency }\r\n \r\n this.props.onChange(newAllocation, assetId);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {SectionHeader(\"Users assets\")}\r\n {\r\n return {data};\r\n },\r\n },\r\n {\r\n title: \"Available market value\",\r\n key: \"AvailableMarketValue\",\r\n render: (data: Money) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data)\r\n }\r\n },\r\n {\r\n title: \"Allocation\",\r\n key: \"Allocation\",\r\n render: (data, row) => {\r\n return (\r\n {\r\n this.onAssetAllocationChange(v, row.AssetId);\r\n }}\r\n />\r\n );\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 2 },\r\n {\r\n data: (\r\n {`${this.state?.totalAssetValue?.toFixed(2)}`}\r\n ),\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { OneOffIncomePaymentModel } from \"../../../../../Wrap/Models/Models/Processes/Drawdown/OneOffIncomePaymentModel\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { IStepConfig, StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { RestrictionStore } from \"../Common/Restrictions/Variable\";\r\nimport { IncomePaymentOneOffAction } from \"./Actions/IncomePaymentOneOffAction\";\r\nimport { IncomePaymentOneOffDetail } from \"./Components/IncomePaymentOneOffDetail\";\r\nimport { IncomePaymentOneOffReview } from \"./Components/IncomePaymentOneOffReview\";\r\nimport { incomePaymentOneOffSteppersMap, NewIncomePaymentContent } from \"./Resource/Content\";\r\nimport { IncomePaymentOneOffStore } from \"./Store/Variable\";\r\ninterface INewIncomePaymentOneOffWizardState extends IAccountContextWizardComponentState {}\r\nexport class NewIncomePaymentOneOffWizard extends AccountContextWizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(IncomePaymentOneOffStore, () => this.onInstructionStoreChange());\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (IncomePaymentOneOffStore.getActionType() == ActionType.Success) {\r\n const data = IncomePaymentOneOffStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n });\r\n }\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n }\r\n\r\n componentDidUpdate() {\r\n const { customer, clientAccount, data } = this.state;\r\n if (customer && clientAccount && !data) {\r\n const id = getQueryParameters()[\"id\"];\r\n const params = getQueryParameters();\r\n const subAccountHierarchyId = params[\"subaccounthierarchyid\"];\r\n IncomePaymentOneOffAction.getInstruction(id, subAccountHierarchyId, customer.CustomerId);\r\n }\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n if (from == stepLength - 1) {return this.onExit();}\r\n const instructionId = this.getInstructionId();\r\n const instruction = this.state.data?.Instruction;\r\n if (!params[\"id\"]) {params[\"id\"] = instructionId;}\r\n\r\n IncomePaymentOneOffAction.saveInstruction(instructionId, instruction, (result) => {\r\n this.setState({ onPosting: false });\r\n if (result.length > 0) {\r\n this.setState({ errorMsg: result, isShowErrorMsg: true });\r\n } else {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n onCancel() {\r\n // const id = this.getInstructionId();\r\n // IncomePaymentOneOffAction.deleteInstruction(id, () => this.onExit());\r\n //SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n Navigator.navigateTo(Urls.get().main.Dashboard, {\r\n queryParamsObject: {\r\n hierarchyid: params[\"hierarchyid\"],\r\n },\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n const id = this.getInstructionId();\r\n IncomePaymentOneOffAction.submitInstruction(id, this.state.data.Instruction, () =>\r\n this.setState({ isSubmitting: false })\r\n );\r\n }\r\n\r\n getStepProps(index) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n if (index == 0 && !stepProps.isReview) {\r\n stepProps.isReview = RestrictionStore.WithdrawDisabled();\r\n }\r\n return stepProps;\r\n }\r\n\r\n private getInstructionId(): number {\r\n const params = getQueryParameters();\r\n return params[\"id\"] ?? this.state.data?.Instruction?.DrawdownSinglePaymentInstruction?.Id;\r\n }\r\n\r\n private setReviewConfirmSteppers() {\r\n return [];\r\n }\r\n\r\n setStepperConfig() {\r\n const steppers: IStepConfig[] = [\r\n {\r\n title: incomePaymentOneOffSteppersMap.incomePaymentOneOffDetail,\r\n url: Urls.get().IncomePaymentOneOffDetail,\r\n path: Contents.URLMap.incomePaymentOneOffDetail,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n ];\r\n\r\n steppers.push({\r\n title: incomePaymentOneOffSteppersMap.incomePaymentOneOffReview,\r\n url: Urls.get().IncomePaymentOneOffReview,\r\n path: Contents.URLMap.incomePaymentOneOffReview,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[this.stepperConfig.length - 2].isValid(),\r\n component: ,\r\n });\r\n\r\n const params = getQueryParameters();\r\n const data: OneOffIncomePaymentModel = this.state.data;\r\n\r\n steppers.push({\r\n title: incomePaymentOneOffSteppersMap.incomePaymentOneOffConfirmation,\r\n url: Urls.get().IncomePaymentOneOffConfirmation,\r\n path: Contents.URLMap.incomePaymentOneOffConfirmation,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n type: StepType.Confirmation,\r\n component: (\r\n {}\r\n //TODO: navigate to customer dashboard\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n successMessage={NewIncomePaymentContent.successMessage(\r\n data.ClientDetails.FirstName,\r\n data.ClientDetails.LastName,\r\n data.SubClAccountId\r\n )}\r\n isLoading={false}\r\n />\r\n ),\r\n });\r\n\r\n this.stepperConfig = steppers;\r\n this.stepperConfig = this.stepperConfig.concat(this.setReviewConfirmSteppers());\r\n }\r\n\r\n setProcessProps() {\r\n const { data } = this.state;\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"One-off income payment\";\r\n return processProps;\r\n }\r\n}\r\n","export const incomePaymentOneOffSteppersMap = {\r\n incomePaymentOneOffDetail:\"Income payment detail\",\r\n incomePaymentOneOffReview:\"Income payment review\",\r\n incomePaymentOneOffConfirmation:\"Income payment confirmation\",\r\n};\r\n\r\nexport enum IncomePaymentOneOffPaymentType {\r\n AvailableCash,\r\n AssetsAndAvailableCash\r\n}\r\n\r\nexport enum IncomePaymentSourceFrom {\r\n SpecifyAmount,\r\n SpecifyAssetorCash,\r\n}\r\n\r\nexport enum IncomeArrangementType {\r\n Capped,\r\n Flexi,\r\n}\r\n\r\nexport const getString=(IncomePaymentOneOffPaymentType: IncomePaymentOneOffPaymentType): string=> {\r\n return getMap().get(IncomePaymentOneOffPaymentType);\r\n}\r\n\r\nexport const getSourceFromMap=(): Map =>{\r\n const map = new Map();\r\n map.set(IncomePaymentSourceFrom.SpecifyAmount, \"Specify amount\");\r\n map.set(IncomePaymentSourceFrom.SpecifyAssetorCash, \"Specify asset/cash\");\r\n return map;\r\n}\r\n\r\nexport const getPaymentTypeOptions=(): IncomePaymentOneOffPaymentType[] =>{\r\n const options = [\r\n IncomePaymentOneOffPaymentType.AvailableCash,\r\n IncomePaymentOneOffPaymentType.AssetsAndAvailableCash,\r\n ];\r\n return options;\r\n};\r\n\r\nexport const getMap=(): Map=> {\r\n const map = new Map();\r\n map.set(IncomePaymentOneOffPaymentType.AvailableCash, \"Available Cash\");\r\n map.set(IncomePaymentOneOffPaymentType.AssetsAndAvailableCash, \"Assets And Available Cash\");\r\n return map\r\n};\r\n\r\nexport const getSourceFromString=(PensionPaymentSourceFrom: IncomePaymentSourceFrom): string=> {\r\n return getSourceFromMap().get(PensionPaymentSourceFrom);\r\n};\r\n\r\nexport const getSourceFromOptions=(): IncomePaymentSourceFrom[] =>{\r\n const options = [IncomePaymentSourceFrom.SpecifyAmount, IncomePaymentSourceFrom.SpecifyAssetorCash];\r\n return options;\r\n};\r\n\r\nexport const BankDetailsContent = {\r\n labels: {\r\n selectBankAccount: \"Select bank account\",\r\n splitAcrossTwoBankAccounts: \"Split across two bank accounts\",\r\n bankAccount1: \"Bank account 1\",\r\n bankAccount2: \"Bank account 2\",\r\n addBankAccount: \"Add bank account\",\r\n proportionOfIncome: \"Proportion of income\"\r\n },\r\n messages: {\r\n percentageOver100: \"value can't exceed 100%\",\r\n percentageUnder0: \"At least 0%\",\r\n totalProportionOfIncomeNot100: \"Total proportion of income must be 100%\",\r\n }\r\n}\r\n\r\nexport const NewIncomePaymentContent = {\r\n successMessage: (firstname: string, lastname: string, subAccountId) => `We've received your instruction to take a one-off income payment for ${firstname} ${lastname} (${subAccountId})`\r\n}","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { IncomePaymentOneOffDispatcher } from \"./Variable\";\r\n\r\n\r\nexport interface IncomePaymentOneOffState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class IncomePaymentOneOffStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(IncomePaymentOneOffDispatcher, (actionData) => this.onIncomePaymentOneOffStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): IncomePaymentOneOffState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n \r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): IncomePaymentOneOffState {\r\n return { actionType: ActionType.Loading, data: null, };\r\n }\r\n\r\n private onIncomePaymentOneOffStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { IncomePaymentOneOffStatic } from \"./IncomePaymentOneOffStatic\";\r\n\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const IncomePaymentOneOffDispatcher: Dispatcher = new Dispatcher();\r\nexport const IncomePaymentOneOffStore: IncomePaymentOneOffStatic = new IncomePaymentOneOffStatic();\r\n\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { RouteFragment } from \"../../../../../../react-core/Imports\";\r\nimport { AvailableProductWrappersClient } from \"../../../../../../Wrap/Api/ProductWrappers/AvailableProductWrappers\";\r\nimport { QuoteContributionsClient } from \"../../../../../../Wrap/Api/Quote/QuoteContributions\";\r\nimport { QuoteCopyInstructionClient } from \"../../../../../../Wrap/Api/Quote/QuoteCopyInstruction\";\r\nimport { QuoteInstructionClient } from \"../../../../../../Wrap/Api/Quote/QuoteInstruction\";\r\nimport { QuoteModel } from \"../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ProductWrapperDispatcher, QuoteInstructionDispatcher, QuoteInstructionStore } from \"../Store/Variable\";\r\n\r\nexport class NewQuoteAction {\r\n public static getQuoteInstruction(id): void {\r\n const client = new QuoteInstructionClient();\r\n const promise = client.get(id, null);\r\n promise.onSuccess((result) => {\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static saveQuoteInstruction(from, data: QuoteModel, callback?: (data) => void): void {\r\n let promise;\r\n \r\n if (from == 0) {\r\n const client = new QuoteInstructionClient();\r\n promise = client.post(data);\r\n \r\n } else {\r\n const client = new QuoteContributionsClient();\r\n promise = client.put(data);\r\n }\r\n\r\n promise.onSuccess((result) => {\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => {\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static submitQuoteInstruction(id, callback?: VoidFunction): void {\r\n const client = new QuoteInstructionClient();\r\n const promise = client.put(id);\r\n promise.onSuccess(() => {\r\n callback();\r\n });\r\n }\r\n \r\n public static deleteQuoteInstruction(id, callback?: VoidFunction): void {\r\n if (!id) {\r\n callback();\r\n return;\r\n }\r\n\r\n const client = new QuoteInstructionClient();\r\n const promise = client.delete(id);\r\n promise.onSuccess(() => {\r\n callback();\r\n });\r\n }\r\n\r\n public static getProductWrappers(customerId: number, servicePropositionId: number) {\r\n const client = new AvailableProductWrappersClient();\r\n const promise = client.get(customerId, servicePropositionId, true);\r\n\r\n promise.onSuccess((data) => {\r\n ProductWrapperDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static copyQuoteInstruction(router: RouteFragment) {\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n payload: true,\r\n });\r\n const quoteModel = QuoteInstructionStore.getData();\r\n const quoteCopy = new QuoteCopyInstructionClient();\r\n const promise = quoteCopy.put(quoteModel);\r\n promise\r\n .onSuccess((result: QuoteModel) => {\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n payload: false,\r\n });\r\n Navigator.navigateTo(router, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n customerid: getQueryParameters()[\"customerid\"],\r\n id: result.AccountRoleInstructionId,\r\n },\r\n });\r\n })\r\n .onError((error) => {\r\n QuoteInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: error,\r\n });\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ChargesOnIllustration } from \"../../../../Common/AdviserCharges/Components/ChargesOnIlustration\";\r\nimport { IAC } from \"../../../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesCopyOption } from \"./ChargesCopyOption\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Adviser charges

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

{AdviserChargesContents.ProductLevel}

\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SourceType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentage } from \"../../../../../../../../Wrap/Models/Models/Shared/MoneyOrPercentage\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesHelper } from \"../../../../Common/Helpers/ChargesHelper\";\r\n\r\ninterface IChargesCopyOptionProps extends IProcessComponentProps {}\r\n\r\ninterface IChargesCopyOptionState {}\r\n\r\nexport class ChargesCopyOption extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (isNullOrEmpty(data.ISAQuote.ChargesExtraInfo?.CopyChargesFromOtherWizard)) {\r\n if (!data.ISAQuote.ChargesExtraInfo) {\r\n data.ISAQuote.ChargesExtraInfo = { CopyChargesFromOtherWizard: false };\r\n } else {\r\n data.ISAQuote.ChargesExtraInfo.CopyChargesFromOtherWizard = false;\r\n }\r\n }\r\n onChange(data);\r\n }\r\n\r\n copyCharges(v: boolean) {\r\n const { data, onChange } = this.props;\r\n data.ISAQuote.ChargesExtraInfo.CopyChargesFromOtherWizard = v;\r\n if (v) {\r\n if (ChargesHelper.displayIAC(data.ISAQuote, SubAccountType.StocksIsa)) {\r\n const iac = data.PensionQuote.InitialAdviserCharge;\r\n iac.SourceType = SourceType.WrapCash;\r\n data.ISAQuote.InitialAdviserCharge = iac;\r\n }\r\n const oac = data.PensionQuote.OngoingAdviceCharge;\r\n oac.SourceType = SourceType.WrapCash;\r\n data.ISAQuote.OngoingAdviceCharge = oac;\r\n } else {\r\n data.ISAQuote.InitialAdviserCharge = this.emptyPercentageOrMoney();\r\n data.ISAQuote.OngoingAdviceCharge = this.emptyPercentageOrMoney();\r\n }\r\n onChange(data);\r\n }\r\n\r\n emptyPercentageOrMoney(): MoneyOrPercentage {\r\n return {\r\n Type: null,\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n Percentage: null,\r\n Frequency: null,\r\n SourceType: null,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const sippProvided = ChargesHelper.chargesProvided(this.props.data.PensionQuote);\r\n if (!sippProvided) {\r\n return null;\r\n }\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n selected={this.props.data?.ISAQuote?.ChargesExtraInfo?.CopyChargesFromOtherWizard}\r\n onChange={(v) => this.copyCharges(v)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { QuoteModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport {\r\n getISTPaymentAmount,\r\n pensionInstrumentSelectionToInstrumentSelection,\r\n} from \"../../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { AdviserContextStoreStatic } from \"../../../../NewBusinessWizard/Stores/Variable\";\r\n\r\ninterface IInvestmentSelectionToolProps extends IProcessComponentProps {\r\n data: QuoteModel;\r\n}\r\n\r\ninterface IInvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n IInvestmentSelectionToolProps,\r\n IInvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data } = this.props;\r\n const paymentAmount = getISTPaymentAmount(data?.ISAQuote, \"IsaTransfers\");\r\n const modelData = JSON.parse(JSON.stringify(data?.ISAQuote));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n const hasSipp = data.SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const clAccountId = new URLSearchParams(window.location.search).get(\"clAccountId\");\r\n const adviser = AdviserContextStoreStatic.getData();\r\n return (\r\n
\r\n

Investment selection

\r\n this.appendChild(ref)}\r\n onChange={(changes) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ISAQuote\"),\r\n changes,\r\n data.ISAQuote,\r\n \"InstrumentSelections\"\r\n )\r\n }\r\n from={hasSipp ? SubAccountType.Sipp : null}\r\n fromData={\r\n hasSipp\r\n ? pensionInstrumentSelectionToInstrumentSelection(\r\n data.PensionQuote?.PreRetirementInstrumentSelections,\r\n data.PensionQuote?.PostRetirementInstrumentSelections,\r\n data.CashInstrument\r\n )\r\n : null\r\n }\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.Quote}\r\n hiercharyId={data?.ISAQuote?.HierarchyId}\r\n headAccountHierarchyId={data.ExistingAccountHierarchyId}\r\n companyCode={adviser.Company}\r\n claccountId={clAccountId}\r\n product={SubAccountType.StocksIsa}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={[]}\r\n onBankChange={(bankInfo) => {}}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ISAQuote\"),\r\n changes,\r\n data.GiaQuote,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={data?.ISAQuote?.HierarchyId}\r\n accountAdviceType={data?.AccountAdviceType}\r\n accountServiceProposition={data?.AccountServiceProposition}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"ISAQuote\")}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AssumedWrapCashHoldings } from \"../../../../Common/PaymentsIn/AssumedWrapCashHoldings\";\r\nimport { RegularPayment } from \"../../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { SinglePayment } from \"../../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { PaymentType, processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { TransferIn } from \"../../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { IsaAllowance } from \"../../../../Common/ISA/PaymentsIn/IsaAllowance\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { nbPaymentsInMessages } from \"../../../../NewBusinessWizard/Resource/Contents\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {}\r\n\r\ninterface IPaymentsInState {}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n isReview: isReview,\r\n };\r\n };\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n isValid = isValid && this.atLeastOneContribution();\r\n if (!this.atLeastOneContribution()) {\r\n this.props.showErrorMsgPopUp([nbPaymentsInMessages.atLeastOneContribution]);\r\n }\r\n return isValid;\r\n }\r\n\r\n private atLeastOneContribution(): boolean {\r\n const { data } = this.props;\r\n\r\n return (\r\n data.ISAQuote?.ClientSinglePayment?.Money?.Amount > 0 ||\r\n data.ISAQuote?.ThirdPartySinglePayment?.Money?.Amount > 0 ||\r\n data.ISAQuote?.ClientRegularPayment?.Money?.Amount > 0 ||\r\n data.ISAQuote?.ThirdPartyRegularPayment?.Money?.Amount > 0 ||\r\n data.ISAQuote?.IsaTransfers?.length > 0\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n return (\r\n
\r\n

Payments in

\r\n \r\n
\r\n \r\n
\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"ISAQuote\"),\r\n changes,\r\n data.ISAQuote\r\n )\r\n }\r\n isReview={this.props.isReview}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n
\r\n {!data.SelectedProducts.some((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)) && (\r\n \r\n )}\r\n {this.props.data?.ISAQuote?.IsaAllowance && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PensionType } from \"../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IStepConfig, StepType } from \"../../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { NewQuoteAction } from \"../Actions/NewQuoteAction\";\r\nimport { quoteSteppersMap } from \"../Resource/Content\";\r\nimport { QuoteClientInfoStore, QuoteInstructionStore } from \"../Store/Variable\";\r\nimport { QuoteReady } from \"./QuoteReady/QuoteReady\";\r\nimport { AdviserCharges } from \"./SIPP/AdviserCharges/AdviserCharges\";\r\nimport { AdviserCharges as AdviserChargesIsa } from \"./ISA/AdviserCharges/AdviserCharges\";\r\nimport { AdviserCharges as AdviserChargesPp } from \"./PP/AdviserCharges/AdviserCharges\";\r\nimport { DrawdownDetails } from \"./SIPP/DrawdownDetails/DrawdownDetails\";\r\nimport { IncomePaymentDetails } from \"./SIPP/IncomePaymentDetails/IncomePaymentDetails\";\r\nimport { InvestmentSelectionTool as ISTQuoteSIPP } from \"./SIPP/IST/InvestmentSelectionTool\";\r\nimport { InvestmentSelectionTool as ISTQuotePP } from \"./PP/IST/InvestmentSelectionTool\";\r\nimport { InvestmentSelectionTool as ISTQuoteISA } from \"./ISA/IST/InvestmentSelectionTool\";\r\nimport { PaymentsIn } from \"./SIPP/PaymentsIn/PaymentsIn\";\r\nimport { PaymentsIn as PaymentInIsa } from \"./ISA/PaymentsIn/PaymentsIn\";\r\nimport { PaymentsIn as PaymentInPp } from \"./PP/PaymentsIn/PaymentsIn\";\r\nimport { WrapperSelection } from \"./WrapperSelection/WrapperSelection\";\r\nimport { WizardComponent } from \"../../../../../Shared/Process/WizardComponent\";\r\nimport { Withdrawals } from \"../../Common/Withdrawals/Withdrawals\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport {\r\n hasCashTransfer,\r\n hasRegularPayments,\r\n hasSinglePayments,\r\n} from \"../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InstructionStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { showIncome } from \"../../Common/PaymentsIn/SIPP/ValidationHelper\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Action } from \"../../../../Actions/Action\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { DrawdownCalculationStoreStore } from \"../../Common/SIPP/DrawdownDetails/Store/Variable\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Methods } from \"../../../../Common/CommonHelper\";\r\nimport { Transition } from \"../../../../../Shared/Process/Process/Transition\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { AccountAdviceType } from \"../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { ProcessType as ActivityType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../../Common/Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { QuoteModel } from \"../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ClientNameHelper } from \"../../Common/Helpers/ClientNameHelper\";\r\nimport { ChargesHelper } from \"../../Common/Helpers/ChargesHelper\";\r\n\r\nexport class NewQuoteWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.subscribeToStore(QuoteClientInfoStore, () => this.onQuoteClientDetailStoreChange());\r\n this.subscribeToStore(QuoteInstructionStore, () => this.onQuoteInstructionStoreChange());\r\n this.subscribeToStore(DrawdownCalculationStoreStore, () => this.onPostDrawdown());\r\n }\r\n\r\n private onQuoteInstructionStoreChange() {\r\n const data = QuoteInstructionStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n onPosting: false,\r\n active: data.Status === InstructionStatus.Pending || data.Status === InstructionStatus.NotSpecified,\r\n });\r\n }\r\n\r\n private onPostDrawdown() {\r\n if (DrawdownCalculationStoreStore.getActionType() == ActionType.Loading) {\r\n this.setState({ onPosting: true });\r\n }\r\n }\r\n\r\n private onQuoteClientDetailStoreChange() {\r\n const data = QuoteClientInfoStore.getData();\r\n this.setState({ clientInfo: data });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n\r\n this.setState({\r\n data: {\r\n SelectedProducts: [],\r\n AllBankAccounts: [],\r\n BankAccountInstructions: [],\r\n GiaQuote: {},\r\n ISAQuote: {},\r\n PensionQuote: {},\r\n QuoteReference: {},\r\n AnnuityAssumptions: { PensionIncreases: 0 },\r\n ExistingAccountHierarchyId: hierarchyId,\r\n ActivityType: CommonHelper.isNullOrEmpty(hierarchyId)\r\n ? ActivityType.Quote\r\n : ActivityType.NewQuoteExistingClient,\r\n },\r\n });\r\n const id = getQueryParameters()[\"id\"];\r\n if (id) {\r\n NewQuoteAction.getQuoteInstruction(id);\r\n } else {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n if (!CommonHelper.isNullOrEmpty(hierarchyId)) {\r\n if (this.state.clientAccount) {\r\n this.updateClientAccountInfo(this.state.clientAccount);\r\n } else {\r\n Action.getClientAccount(hierarchyId, (val) => {\r\n this.updateClientAccountInfo(val);\r\n });\r\n }\r\n }\r\n }\r\n\r\n updateClientAccountInfo(val: ClientAccount): void {\r\n const { PensionQuote } = this.state.data;\r\n\r\n PensionQuote.ExistingPensionSubAccountHierarchyId = val?.SubAccounts?.find(\r\n (x) => x.SubAccountType == SubAccountType.Npr\r\n )?.HierarchyId;\r\n this.onChange({\r\n PensionQuote: PensionQuote,\r\n ExistingAccountHierarchyId: val?.HierarchyId,\r\n IsExistingAccount: true,\r\n AdviceGiven: true,\r\n AccountAdviceType: val?.Discretionary\r\n ? AccountAdviceType.Discretionary\r\n : AccountAdviceType.NonDiscretionary,\r\n AccountName: { Full: val.AccountName },\r\n });\r\n if (val != null) {this.setState({ clientAccount: val });}\r\n }\r\n onSubmit() {}\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n const customerId = params[\"customerid\"];\r\n const instructionId = params[\"id\"];\r\n this.state.data.CustomerId = parseInt(customerId);\r\n if (to < stepLength - 1) {\r\n NewQuoteAction.saveQuoteInstruction(from, this.state.data, (result) => {\r\n this.setState({ onPosting: false });\r\n if (result.length > 0) {\r\n this.setState({ errorMsg: result, isShowErrorMsg: true });\r\n } else {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: {\r\n ...params,\r\n customerid: customerId,\r\n id: QuoteInstructionStore.getData()?.AccountRoleInstructionId,\r\n },\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n });\r\n } else {\r\n NewQuoteAction.saveQuoteInstruction(from, this.state.data, () => {\r\n NewQuoteAction.submitQuoteInstruction(instructionId, () => {\r\n this.setState({ onPosting: false, active: false });\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: {\r\n ...params,\r\n customerid: customerId,\r\n id: QuoteInstructionStore.getData()?.AccountRoleInstructionId,\r\n },\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n onCancel() {\r\n // NewQuoteAction.deleteQuoteInstruction(QuoteInstructionStore.getData()?.AccountRoleInstructionId, () =>\r\n // this.onExit()\r\n // );\r\n //SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n getQueryParameters()[\"customerid\"]\r\n ),\r\n }).activity\r\n );\r\n }\r\n\r\n getStepProps(index) {\r\n const { data, active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n return stepProps;\r\n }\r\n\r\n private getPPStepConfig(): IStepConfig[] {\r\n const data = this.state.data;\r\n const len = this.stepperConfig.length;\r\n const pp = data?.SelectedProducts.find((item) => item.SubAccountType == SubAccountType.InvestmentAccount);\r\n const steps = [\r\n {\r\n title: quoteSteppersMap.paymentsIn,\r\n url: Urls.get().QuotePaymentsInPP,\r\n path: Contents.URLMap.paymentInPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.PP,\r\n },\r\n {\r\n title: quoteSteppersMap.adviserCharges,\r\n url: Urls.get().QuoteAdviserChargesPP,\r\n path: Contents.URLMap.adviserChargesPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.PP,\r\n },\r\n ];\r\n let hasIST = false;\r\n if (hasSinglePayments(data.GiaQuote) || hasRegularPayments(data.GiaQuote)) {\r\n hasIST = true;\r\n steps.push({\r\n title: quoteSteppersMap.investment,\r\n url: Urls.get().QuoteInvestmentSelectionPP,\r\n path: Contents.URLMap.investmentSelectionPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.PP,\r\n });\r\n }\r\n if (\r\n pp?.IsAddRegularWithdrawalSelected &&\r\n (hasSinglePayments(data.GiaQuote) ||\r\n hasRegularPayments(data.GiaQuote) ||\r\n ChargesHelper.hasTransfers(data.GiaQuote, SubAccountType.InvestmentAccount))\r\n ) {\r\n const gap = hasIST ? 3 : 2;\r\n steps.push({\r\n title: quoteSteppersMap.withdrawal,\r\n url: Urls.get().QuoteWithdrawalsPP,\r\n path: Contents.URLMap.withdrawalsPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n group: quoteSteppersMap.PP,\r\n });\r\n }\r\n\r\n return steps;\r\n }\r\n private getISAStepConfig(next: SubAccountType): IStepConfig[] {\r\n const { data } = this.state;\r\n const len = this.stepperConfig.length;\r\n const isa = data.SelectedProducts.find((ele) => ele.SubAccountType == SubAccountType.StocksIsa);\r\n const steps: IStepConfig[] = [\r\n {\r\n title: quoteSteppersMap.paymentsIn,\r\n url: Urls.get().QuotePaymentsInISA,\r\n path: Contents.URLMap.paymentInISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.ISA,\r\n },\r\n {\r\n title: quoteSteppersMap.adviserCharges,\r\n url: Urls.get().QuoteAdviserChargesISA,\r\n path: Contents.URLMap.adviserChargesISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.ISA,\r\n },\r\n ];\r\n let hasIST = false;\r\n if (\r\n hasSinglePayments(data.ISAQuote) ||\r\n hasRegularPayments(data.ISAQuote) ||\r\n hasCashTransfer(data.ISAQuote?.IsaTransfers)\r\n ) {\r\n hasIST = true;\r\n steps.push({\r\n title: quoteSteppersMap.investment,\r\n url: Urls.get().QuoteInvestmentSelectionISA,\r\n path: Contents.URLMap.investmentSelectionISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.ISA,\r\n });\r\n }\r\n\r\n if (\r\n isa?.IsAddRegularWithdrawalSelected &&\r\n (hasSinglePayments(data.ISAQuote) ||\r\n hasRegularPayments(data.ISAQuote) ||\r\n ChargesHelper.hasTransfers(data.ISAQuote, SubAccountType.StocksIsa))\r\n ) {\r\n const gap = hasIST ? 3 : 2;\r\n steps.push({\r\n title: quoteSteppersMap.withdrawal,\r\n url: Urls.get().QuoteWithdrawalsISA,\r\n path: Contents.URLMap.withdrawalsISA,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.ISA,\r\n });\r\n }\r\n\r\n if (next) {\r\n steps.push({\r\n title: \"ISA complete\",\r\n url: Urls.get().QuoteISAComplete,\r\n path: Contents.URLMap.completeISA,\r\n component: ,\r\n type: StepType.Extra,\r\n });\r\n }\r\n return steps;\r\n }\r\n\r\n private getSIPPStepConfig(next: SubAccountType): IStepConfig[] {\r\n const len = this.stepperConfig.length;\r\n let hasIST = 0;\r\n let hasDrawdown = 0;\r\n const data = this.state.data;\r\n const sipp = data?.SelectedProducts.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType));\r\n const steps: IStepConfig[] = [\r\n {\r\n title: quoteSteppersMap.paymentsIn,\r\n url: Urls.get().QuotePaymentsInSIPP,\r\n path: Contents.URLMap.paymentInSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n x.SubAccountType == SubAccountType.Pension ||\r\n x.SubAccountType == SubAccountType.Sipp ||\r\n x.SubAccountType == SubAccountType.Npr ||\r\n x.SubAccountType == SubAccountType.Pr\r\n ) != undefined\r\n }\r\n />\r\n ),\r\n group: quoteSteppersMap.SIPP,\r\n },\r\n {\r\n title: quoteSteppersMap.adviserCharges,\r\n url: Urls.get().QuoteAdviserChargesSIPP,\r\n path: Contents.URLMap.adviserChargesSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.SIPP,\r\n },\r\n ];\r\n if (\r\n hasSinglePayments(data.PensionQuote) ||\r\n hasRegularPayments(data.PensionQuote) ||\r\n hasCashTransfer(data.PensionQuote.PensionTransfers)\r\n ) {\r\n hasIST = 1;\r\n steps.push({\r\n title: quoteSteppersMap.investment,\r\n url: Urls.get().QuoteInvestmentSelectionSIPP,\r\n path: Contents.URLMap.investmentSelectionSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.SIPP,\r\n });\r\n }\r\n if (sipp.PensionType !== PensionType.None) {\r\n hasDrawdown = 1;\r\n steps.push({\r\n title: quoteSteppersMap.drawdownDetails,\r\n url: Urls.get().QuoteDrawdownDetailSIPP,\r\n path: Contents.URLMap.drawdownDetailSipp,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.SIPP,\r\n });\r\n }\r\n if (showIncome(sipp, this.state.data?.PensionQuote)) {\r\n steps.push({\r\n title: quoteSteppersMap.incomePaymentDetails,\r\n url: Urls.get().QuoteIncomePaymentSIPP,\r\n path: Contents.URLMap.incomePaymentsSIPP,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n group: quoteSteppersMap.SIPP,\r\n });\r\n }\r\n if (next) {\r\n steps.push({\r\n title: \"SIPP complete\",\r\n url: Urls.get().QuoteSIPPComplete,\r\n path: Contents.URLMap.completeSIPP,\r\n component: ,\r\n type: StepType.Extra,\r\n });\r\n }\r\n return steps;\r\n }\r\n\r\n setStepperConfig() {\r\n this.stepperConfig = [\r\n {\r\n title: quoteSteppersMap.wrapperSelection,\r\n url: Urls.get().QuoteWrapperSelection,\r\n path: Contents.URLMap.wrapperSelection,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n x.SubAccountType == SubAccountType.Pension ||\r\n x.SubAccountType == SubAccountType.Sipp ||\r\n x.SubAccountType == SubAccountType.Npr ||\r\n x.SubAccountType == SubAccountType.Pr\r\n ) != undefined\r\n }\r\n ClientAccount={this.state.clientAccount}\r\n />\r\n ),\r\n },\r\n ];\r\n const hasPension = this.state.data.SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const hasIsa = this.state.data.SelectedProducts.some((ele) => ele.SubAccountType == SubAccountType.StocksIsa);\r\n const hasPP = this.state.data.SelectedProducts.some(\r\n (ele) => ele.SubAccountType == SubAccountType.InvestmentAccount\r\n );\r\n if (hasPension) {\r\n const next = hasIsa ? SubAccountType.StocksIsa : hasPP ? SubAccountType.InvestmentAccount : null;\r\n this.stepperConfig = this.stepperConfig.concat(this.getSIPPStepConfig(next));\r\n }\r\n\r\n if (hasIsa) {\r\n const next = hasPP ? SubAccountType.InvestmentAccount : null;\r\n this.stepperConfig = this.stepperConfig.concat(this.getISAStepConfig(next));\r\n }\r\n\r\n if (hasPP) {\r\n this.stepperConfig = this.stepperConfig.concat(this.getPPStepConfig());\r\n }\r\n\r\n this.stepperConfig.push({\r\n title: quoteSteppersMap.quoteReady,\r\n url: Urls.get().QuoteReady,\r\n path: Contents.URLMap.quoteReady,\r\n type: StepType.Custom,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n }\r\n\r\n onSave(step) {\r\n const id = getQueryParameters()[\"id\"];\r\n if (id) {\r\n this.onStepperLeave(step, -1);\r\n } else {\r\n this.setState({ extraInfo: { isSaving: true, currentStep: step } });\r\n }\r\n }\r\n\r\n saveAndExit() {\r\n const step = this.state.extraInfo.currentStep;\r\n // wrapper selection\r\n if (step == 0) {\r\n this.onExit();\r\n }\r\n }\r\n\r\n customeRender() {\r\n const { extraInfo } = this.state;\r\n return (\r\n <>\r\n {extraInfo.isSaving && (\r\n this.onChange({ extraInfor: { isSaving: false } })}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n contentCssCustom=\"pt-20\"\r\n >\r\n

\r\n No data will be saved at this point, you will not be able to resume this wizard.\r\n

\r\n

Are you sure you want to save and exit?

\r\n\r\n \r\n this.setState({ extraInfo: { isSaving: false } })}\r\n >\r\n No\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n getAccountHolderDisplayText() {\r\n const model: QuoteModel = this.state.data;\r\n return ClientNameHelper.clientNameDisplay(model?.ClientDetails, model?.SecondClientDetails);\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"New quote\";\r\n processProps.subTitle = Methods.getProductNameFromUrl();\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: this.getAccountHolderDisplayText(),\r\n splitHeaderSub: \"\",\r\n };\r\n processProps.onSave = (step) => this.onSave(step);\r\n return processProps;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ChargesOnIllustration } from \"../../../../Common/AdviserCharges/Components/ChargesOnIlustration\";\r\nimport { IAC } from \"../../../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesCopyOption } from \"./ChargesCopyOption\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Adviser charges

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

{AdviserChargesContents.ProductLevel}

\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SourceType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SourceType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentage } from \"../../../../../../../../Wrap/Models/Models/Shared/MoneyOrPercentage\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ChargesHelper } from \"../../../../Common/Helpers/ChargesHelper\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\n\r\ninterface IChargesCopyOptionProps extends IProcessComponentProps {}\r\n\r\ninterface IChargesCopyOptionState {}\r\n\r\nexport class ChargesCopyOption extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data, onChange } = this.props;\r\n if (isNullOrEmpty(data.GiaQuote.ChargesExtraInfo?.CopyChargesFromOtherWizard)) {\r\n if (!data.GiaQuote.ChargesExtraInfo) {\r\n data.GiaQuote.ChargesExtraInfo = { CopyChargesFromOtherWizard: false };\r\n } else {\r\n data.GiaQuote.ChargesExtraInfo.CopyChargesFromOtherWizard = false;\r\n }\r\n }\r\n onChange(data);\r\n }\r\n\r\n copyCharges(source: SubAccountType, v: boolean) {\r\n const { data, onChange } = this.props;\r\n data.GiaQuote.ChargesExtraInfo.CopyChargesFromOtherWizard = v;\r\n if (v) {\r\n if (SubAccountTypeHelper.isOnPlatformPension(source)) {\r\n if (ChargesHelper.displayIAC(data.GiaQuote, SubAccountType.PersonalPortfolio)) {\r\n const iac = data.PensionQuote.InitialAdviserCharge;\r\n iac.SourceType = SourceType.WrapCash;\r\n data.GiaQuote.InitialAdviserCharge = iac;\r\n }\r\n const oac = data.PensionQuote.OngoingAdviceCharge;\r\n oac.SourceType = SourceType.WrapCash;\r\n data.GiaQuote.OngoingAdviceCharge = oac;\r\n } else if (source === SubAccountType.StocksIsa) {\r\n if (ChargesHelper.displayIAC(data.GiaQuote, SubAccountType.PersonalPortfolio)) {\r\n data.GiaQuote.InitialAdviserCharge = data.IsaModel.InitialAdviserCharge;\r\n }\r\n data.GiaQuote.OngoingAdviceCharge = data.IsaModel.OngoingAdviceCharge;\r\n }\r\n } else {\r\n data.GiaQuote.InitialAdviserCharge = this.emptyPercentageOrMoney();\r\n data.GiaQuote.OngoingAdviceCharge = this.emptyPercentageOrMoney();\r\n }\r\n onChange(data);\r\n }\r\n\r\n emptyPercentageOrMoney(): MoneyOrPercentage {\r\n return {\r\n Type: null,\r\n Money: { Amount: null, Currency: CurrencyCode.GBP },\r\n Percentage: null,\r\n Frequency: null,\r\n SourceType: null,\r\n };\r\n }\r\n\r\n getSourceToCopy(): SubAccountType {\r\n const { data } = this.props;\r\n const sippProvided = ChargesHelper.chargesProvided(data.PensionQuote);\r\n const isaProvided = ChargesHelper.chargesProvided(data.IsaModel);\r\n return sippProvided ? SubAccountType.Sipp : isaProvided ? SubAccountType.StocksIsa : null;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const source = this.getSourceToCopy();\r\n if (!source) {\r\n return null;\r\n }\r\n const label = SubAccountTypeHelper.isOnPlatformPension(source)\r\n ? AdviserChargesContents.CopyFromSipp\r\n : AdviserChargesContents.CopyFromIsa;\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n selected={this.props.data?.GiaQuote?.ChargesExtraInfo?.CopyChargesFromOtherWizard}\r\n onChange={(v) => this.copyCharges(source, v)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { QuoteModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport {\r\n getISTPaymentAmount,\r\n pensionInstrumentSelectionToInstrumentSelection,\r\n} from \"../../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { AdviserContextStoreStatic } from \"../../../../NewBusinessWizard/Stores/Variable\";\r\n\r\ninterface InvestmentSelectionToolProps extends IProcessComponentProps {\r\n data: QuoteModel;\r\n}\r\n\r\ninterface InvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n InvestmentSelectionToolProps,\r\n InvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data } = this.props;\r\n const paymentAmount = getISTPaymentAmount(data?.GiaQuote, \"GiaTransfers\");\r\n const modelData = JSON.parse(JSON.stringify(data?.GiaQuote));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n\r\n const hasSipp = data.SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const hasIsa = data.SelectedProducts.some((ele) => ele.SubAccountType == SubAccountType.StocksIsa);\r\n const clAccountId = new URLSearchParams(window.location.search).get(\"clAccountId\");\r\n const adviser = AdviserContextStoreStatic.getData();\r\n\r\n return (\r\n
\r\n

Investment selection

\r\n this.appendChild(ref)}\r\n onChange={(changes) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"GiaQuote\"),\r\n changes,\r\n data.GiaQuote,\r\n \"InstrumentSelections\"\r\n )\r\n }\r\n from={hasSipp ? SubAccountType.Sipp : hasIsa ? SubAccountType.StocksIsa : null}\r\n fromData={\r\n hasSipp\r\n ? pensionInstrumentSelectionToInstrumentSelection(\r\n data.PensionQuote?.PreRetirementInstrumentSelections,\r\n data.PensionQuote?.PostRetirementInstrumentSelections,\r\n data.CashInstrument\r\n )\r\n : hasIsa\r\n ? this.props.data.ISAQuote?.InstrumentSelections\r\n : null\r\n }\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.Quote}\r\n hiercharyId={data?.GiaQuote?.HierarchyId}\r\n headAccountHierarchyId={data.ExistingAccountHierarchyId}\r\n companyCode={adviser.Company}\r\n claccountId={clAccountId}\r\n product={SubAccountType.InvestmentAccount}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={[\"Client Bank Account\"]}\r\n onBankChange={(bankInfo) => {}}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"GiaQuote\"),\r\n changes,\r\n data.GiaQuote,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={data?.GiaQuote?.HierarchyId}\r\n accountAdviceType={data?.AccountAdviceType}\r\n accountServiceProposition={data?.AccountServiceProposition}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"GiaQuote\")}\r\n treasuredAssetsProductIds={[68057715]}\r\n onChangeTreasuredAssets={() => {}}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { AssumedWrapCashHoldings } from \"../../../../Common/PaymentsIn/AssumedWrapCashHoldings\";\r\nimport { RegularPayment } from \"../../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { SinglePayment } from \"../../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { TransferIn } from \"../../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { PaymentType, processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { nbPaymentsInMessages } from \"../../../../NewBusinessWizard/Resource/Contents\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {}\r\n\r\ninterface IPaymentsInState {}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n isReview: isReview,\r\n };\r\n };\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n isValid = isValid && this.atLeastOneContribution();\r\n if (!this.atLeastOneContribution()) {\r\n this.props.showErrorMsgPopUp([nbPaymentsInMessages.atLeastOneContribution]);\r\n }\r\n return isValid;\r\n }\r\n\r\n private atLeastOneContribution(): boolean {\r\n const { data } = this.props;\r\n\r\n return (\r\n data.GiaQuote?.ClientSinglePayment?.Money?.Amount > 0 ||\r\n data.GiaQuote?.ThirdPartySinglePayment?.Money?.Amount > 0 ||\r\n data.GiaQuote?.ClientRegularPayment?.Money?.Amount > 0 ||\r\n data.GiaQuote?.ThirdPartyRegularPayment?.Money?.Amount > 0 ||\r\n data.GiaQuote?.GiaTransfers?.length > 0\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data } = this.props;\r\n return (\r\n
\r\n

Payments in

\r\n \r\n
\r\n \r\n
\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"GiaQuote\"),\r\n changes,\r\n data.PensionQuote\r\n )\r\n }\r\n isReview={this.props.isReview}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n\r\n
\r\n {!data.SelectedProducts.some((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)) &&\r\n !data.SelectedProducts.some((ele) => ele.SubAccountType == SubAccountType.StocksIsa) && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\nimport { DownloadButton } from \"../../../../../../Shared/DownloadButton/DownloadButton\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\n\r\ninterface IDocumentProps extends IProcessComponentProps {}\r\n\r\ninterface IDocumentState {}\r\n\r\nexport class Document extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Documents

\r\n {this.renderDocuments()}\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderDocuments() {\r\n const customerid = getQueryParameters()[\"customerid\"];\r\n const claccountid = getQueryParameters()[\"claccountid\"];\r\n const instructionId = getQueryParameters()[\"id\"];\r\n const headAccountHierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const chargesInformationQuery = DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.ChargesInformation,\r\n processTypeEnum.Quote\r\n );\r\n const termsAndConditionsQuery = DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid,\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.TermsAndCondition,\r\n processTypeEnum.Quote\r\n );\r\n return (\r\n <>\r\n {this.displayChargesInformation() && (\r\n <>\r\n
\r\n Charges Information\r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private displayChargesInformation(): boolean {\r\n const { data } = this.props;\r\n return (\r\n this.hasAllocationExceptGBPCash(data?.GiaQuote) ||\r\n this.hasAllocationExceptGBPCash(data?.ISAQuote) ||\r\n this.hasAllocationExceptGBPCash(data?.PensionQuote)\r\n );\r\n }\r\n\r\n private hasAllocationExceptGBPCash(model: ContributionAndWithdrawalBase): boolean {\r\n return model?.InstrumentSelections?.Instruments?.some((x) => x.Instrument.Name != \"GBP Cash\");\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { ButtonLabels } from \"../../../AddClient/Resource/Contents\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Review } from \"./Review\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { QuoteToApplyInstructionClient } from \"../../../../../../../Wrap/Api/Apply/QuoteToApplyInstruction\";\r\nimport { ApplyModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/ApplyModel\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\n\r\ninterface IQuoteReadyProps extends IProcessComponentProps {}\r\n\r\ninterface IQuoteReadyState {\r\n isOpen: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\nexport class QuoteReady extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private startNewBusiness() {\r\n const quoteToApply = new QuoteToApplyInstructionClient();\r\n const promise = quoteToApply.put(this.props.data);\r\n promise\r\n .onSuccess((result: ApplyModel) => {\r\n Navigator.navigateTo(Urls.get().FullClientDetail, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n customerid: getQueryParameters()[\"customerid\"],\r\n id: result.AccountRoleInstructionId,\r\n quoteid: result.QuoteId,\r\n },\r\n });\r\n })\r\n .onError((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { isLoading } = this.state;\r\n if (isLoading) {\r\n return ;\r\n }\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n getQueryParameters()[\"customerid\"]\r\n ),\r\n }).activity\r\n );\r\n }}\r\n className=\"prev-button\"\r\n >\r\n \r\n {ButtonLabels.backToDashboard}\r\n \r\n
\r\n\r\n
\r\n {\r\n window.print();\r\n }}\r\n className=\"print-button\"\r\n >\r\n \r\n {ButtonLabels.printReview}\r\n \r\n
\r\n\r\n
\r\n \r\n this.updateStatePart((x) => {\r\n x.isOpen = !this.state.isOpen;\r\n })\r\n }\r\n >\r\n \r\n {this.state.isOpen && (\r\n
\r\n
\r\n \r\n (window.location.href =\r\n Urls.get().QuoteWrapperSelection.getUrl() +\r\n \"?customerid=\" +\r\n getQueryParameters()[\"customerid\"])\r\n }\r\n >\r\n {ButtonLabels.quote}\r\n
\r\n
this.startNewBusiness()}>\r\n {ButtonLabels.newBusiness}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Gender } from \"../../../../../../../Wrap/Constants/Enums/Domain/Gender\";\r\nimport { QuoteModel } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { SubAccountTypeArrayMap } from \"../../../../../../Admin/Company/CompanyWizard/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { jointAccountParser } from \"../../../Common/Review/ReviewParser\";\r\nimport { QuoteInstructionStore } from \"../../Store/Variable\";\r\nimport { Document } from \"./Document\";\r\nimport { StepReview } from \"./StepReview\";\r\nimport { IllustrationsAvailable } from \"../../../Common/Documents/Components/IllustrationsAvailable\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../../../Common/Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: QuoteModel;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { isDocLoading: false };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n InstructionDocumentTypeRequestTriggerActionsCreator.triggerByQuoteModel(this.props.data);\r\n }\r\n\r\n private successLabelRender() {\r\n const { data } = this.props;\r\n const createdDate = JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(data?.QuoteDate),\r\n \"dd MM yyyy\",\r\n true\r\n );\r\n const quoteReference = data.QuoteReference;\r\n const config = [\r\n {\r\n title: \"Created:\",\r\n data: createdDate,\r\n },\r\n {\r\n title: \"Wrapper:\",\r\n data: data.SelectedProducts.map(\r\n (ele) => SubAccountTypeArrayMap.optionsMap[ele.SubAccountType]\r\n ).toString(),\r\n },\r\n {\r\n title: \"Quote reference:\",\r\n data: quoteReference?.HasQuoteReference ? quoteReference.QuoteReferenceDetail : \"None\",\r\n },\r\n ];\r\n return (\r\n
\r\n

\r\n Quote {getQueryParameters()[\"id\"]} successfully created\r\n

\r\n
\r\n

Quote No. {getQueryParameters()[\"id\"]}

\r\n \r\n this.appendChild(ref)} onChange={() => {}} data={data} />\r\n
\r\n );\r\n }\r\n\r\n private clientDetailRender() {\r\n const { ClientDetails } = this.props.data;\r\n\r\n const birthDate = JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(ClientDetails?.DateOfBirth),\r\n \"dd MM yyyy\",\r\n true\r\n );\r\n\r\n const config = [\r\n {\r\n title: \"Title\",\r\n data: TitleMap.getString(ClientDetails?.Title),\r\n },\r\n {\r\n title: \"Name\",\r\n data: `${ClientDetails?.FirstName} ${ClientDetails?.LastName}`,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: ClientDetails?.Gender == Gender.Female ? \"Female\" : \"Male\",\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: birthDate,\r\n },\r\n ];\r\n return (\r\n <>\r\n \r\n \r\n {this.props.data.IsJointAccount &&\r\n this.props.data.SecondClientDetails &&\r\n jointAccountParser(this.props.data.ClientDetails, this.props.data.SecondClientDetails)}\r\n \r\n \r\n );\r\n }\r\n\r\n private getStepReviewProps = (key) => {\r\n return {\r\n data: this.props.data[key],\r\n model: this.props.data,\r\n };\r\n };\r\n\r\n private getExternalFundDocument(): Array {\r\n const giaInvestments = this.props.data.GiaQuote.InstrumentSelections?.Instruments;\r\n const isaInvestments = this.props.data.ISAQuote.InstrumentSelections?.Instruments;\r\n const pensionInvestments = this.props.data.PensionQuote.InstrumentSelections?.Instruments;\r\n const instrumentCodes: Array = [];\r\n giaInvestments &&\r\n giaInvestments.map((item, index) => {\r\n instrumentCodes.push(item?.Instrument?.ProductCode);\r\n });\r\n isaInvestments &&\r\n isaInvestments.map((item, index) => {\r\n instrumentCodes.push(item?.Instrument?.ProductCode);\r\n });\r\n pensionInvestments &&\r\n pensionInvestments.map((item, index) => {\r\n instrumentCodes.push(item?.Instrument?.ProductCode);\r\n });\r\n return instrumentCodes;\r\n }\r\n\r\n private displayChargesInformation(): boolean {\r\n const { data } = this.props;\r\n return (\r\n this.hasAllocationExceptGBPCash(data?.GiaQuote) ||\r\n this.hasAllocationExceptGBPCash(data?.ISAQuote) ||\r\n this.hasAllocationExceptGBPCash(data?.PensionQuote)\r\n );\r\n }\r\n\r\n private hasAllocationExceptGBPCash(model: ContributionAndWithdrawalBase): boolean {\r\n return model?.InstrumentSelections?.Instruments?.some((x) => x.Instrument.Name != \"GBP Cash\");\r\n }\r\n\r\n render() {\r\n const selectedProducts = this.props.data.SelectedProducts;\r\n const pensionDetail = selectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const isaDetail = selectedProducts.find((ele) => SubAccountTypeHelper.isIsa(ele.SubAccountType));\r\n const ppDetail = selectedProducts.find((ele) => SubAccountTypeHelper.isPP(ele.SubAccountType));\r\n\r\n return QuoteInstructionStore.isLoading() ? (\r\n \r\n ) : (\r\n
\r\n {this.successLabelRender()}\r\n {this.displayChargesInformation() && }\r\n {this.clientDetailRender()}\r\n {pensionDetail && (\r\n
\r\n {isaDetail || ppDetail ?

SIPP details

: null}\r\n \r\n
\r\n )}\r\n {isaDetail && (\r\n
\r\n {pensionDetail || ppDetail ?

ISA details

: null}\r\n \r\n
\r\n )}\r\n {ppDetail && (\r\n <>\r\n {pensionDetail || isaDetail ?

Personal Portfolio details

: null}\r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PensionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { AdviceChargeReview } from \"../../../Common/Review/Component/AdviceChargeReview\";\r\nimport { DrawdownReview } from \"../../../Common/Review/Component/DrawdownReview\";\r\nimport { IncomePaymentReview } from \"../../../Common/Review/Component/IncomePaymentReview\";\r\nimport { InvestmentReview } from \"../../../Common/Review/Component/InvestmentReview\";\r\nimport { PaymentsInReview } from \"../../../Common/Review/Component/PaymentsInReview\";\r\nimport { WithDrawalReview } from \"../../../Common/Review/Component/WithDrawalReview\";\r\nimport { NewQuoteAction } from \"../../Actions/NewQuoteAction\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport {\r\n hasEnhancedPensionProtection,\r\n showChooseAssetstoSell,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { GiaBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/GiaBase\";\r\nimport { WrapCashBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/WrapCashBase\";\r\nimport { IsaBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/IsaBase\";\r\nimport { QuoteModel } from \"../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { accountsPageLabels } from \"../../../../../Resoures/Contents\";\r\n\r\ninterface IStepReviewProps {\r\n data: PensionBase | GiaBase | WrapCashBase | IsaBase;\r\n subAccountType: SubAccountType;\r\n model: QuoteModel;\r\n}\r\n\r\nexport const StepReview = (props: IStepReviewProps) => {\r\n const { data, subAccountType, model } = props;\r\n\r\n const isWithDrawalShow = (): boolean => {\r\n switch (subAccountType) {\r\n case SubAccountType.StocksIsa:\r\n return model.SelectedProducts.find((ele) => SubAccountTypeHelper.isIsa(ele.SubAccountType))\r\n ?.IsAddRegularWithdrawalSelected;\r\n case SubAccountType.InvestmentAccount:\r\n return model.SelectedProducts.find((ele) => SubAccountTypeHelper.isPP(ele.SubAccountType))\r\n ?.IsAddRegularWithdrawalSelected;\r\n default:\r\n return false;\r\n }\r\n };\r\n const isIncomePaymentShow = (): boolean => {\r\n return (\r\n SubAccountTypeHelper.isOnPlatformPension(subAccountType) &&\r\n model.SelectedProducts.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.IsIncomePaymentDetailsSelected\r\n );\r\n };\r\n const isDrawDownShow = (): boolean => {\r\n return (\r\n SubAccountTypeHelper.isOnPlatformPension(subAccountType) &&\r\n model.SelectedProducts.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType != PensionType.None\r\n );\r\n };\r\n\r\n const isShowInvestmentSelection = (): boolean => {\r\n if (SubAccountTypeHelper.isOnPlatformPension(subAccountType))\r\n {return (\r\n (data as PensionBase).PreRetirementInstrumentSelections?.Instruments?.length > 0 ||\r\n (data as PensionBase).PostRetirementInstrumentSelections?.Instruments?.length > 0\r\n );}\r\n return data.InstrumentSelections?.Instruments?.length > 0;\r\n };\r\n\r\n const getReviewProps = () => {\r\n return { data: data, subAccountType: subAccountType, process: ProcessType.Quote, colNum: 3, extraInfo: model };\r\n };\r\n\r\n const getWithDrawalReviewProps = () => {\r\n return { data: data, subAccountType: subAccountType, process: ProcessType.Quote, colNum: 2, extraInfo: model };\r\n };\r\n\r\n const showAssetsToSell = () => {\r\n return showChooseAssetstoSell((data as PensionBase)?.DrawdownModel, ChooseAssetsToSellFor.Drawdown);\r\n };\r\n\r\n const isImmediateTaxFreeLumpSum =\r\n model?.SelectedProducts?.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n return (\r\n <>\r\n \r\n \r\n {isShowInvestmentSelection() && (\r\n \r\n )}\r\n {isWithDrawalShow() && }\r\n {isDrawDownShow() && (\r\n NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteDrawdownDetailSIPP)}\r\n hasEnhancedPensionProtection={hasEnhancedPensionProtection(data)}\r\n />\r\n )}\r\n {isIncomePaymentShow() && (\r\n NewQuoteAction.copyQuoteInstruction(Urls.get().QuoteIncomePaymentSIPP)}\r\n isITFC={isImmediateTaxFreeLumpSum}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { IAC } from \"../../../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { RIAC } from \"../../../../Common/AdviserCharges/Components/RIAC\";\r\nimport { AdviserChargesContents } from \"../../../../Common/AdviserCharges/Resource/Contents\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Adviser charges

\r\n\r\n

{AdviserChargesContents.ProductLevel}

\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { WizardLinter, EWizardLinterStatus } from \"../../../../../../../Shared/Process/Process/WizardLinter\";\r\nimport { EWizardLinterHelper } from \"../../../../NewBusinessWizard/Resource/EWizardLinterHelper\";\r\nimport { CrystallisationDetailsSection } from \"../../../../Common/SIPP/DrawdownDetails/CrystallisationDetails\";\r\nimport { LTABreakdownDetails } from \"../../../../Common/SIPP/DrawdownDetails/LTABreakdownDetails\";\r\nimport { RegularCrystallisation } from \"../../../../Common/SIPP/DrawdownDetails/RegularCrystallisation\";\r\nimport { TaxFreeLumpSumPayment } from \"../../../../Common/SIPP/DrawdownDetails/TaxFreeLumpSumPayment\";\r\nimport { DrawdownTypeOption } from \"../../../../Common/SIPP/DrawdownDetails/DrawdownType\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { QuoteModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { LessThanAge } from \"../../../../Common/Helpers/PensionHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { DIAC } from \"../../../../Common/SIPP/DrawdownDetails/DIAC\";\r\nimport { OAC } from \"../../../../Common/AdviserCharges/Components/OAC\";\r\nimport { ChooseAssetsToSell } from \"../../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSell\";\r\nimport {\r\n getChooseAssetsToSellTable,\r\n hasEnhancedPensionProtection,\r\n showChooseAssetstoSell,\r\n} from \"../../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellTable } from \"../../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport { BceAndPclsTaxYear } from \"../../../../Common/SIPP/DrawdownDetails/BceAndPCLSTaxYear\";\r\nimport { IllHealth } from \"../../../../Common/SIPP/DrawdownDetails/IllHealth\";\r\nimport { DrawdownCalculationAction } from \"../../../../Common/SIPP/DrawdownDetails/Action/DrawdownCalculationAction\";\r\nimport { DrawdownModel } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { QuoteInstructionStore } from \"../../../Store/Variable\";\r\nimport { NewQuoteAction } from \"../../../Actions/NewQuoteAction\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { PensionType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { PensionProtection } from \"../../../../Common/SIPP/DrawdownDetails/PensionProtection\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\nimport { ChooseAssetsToSellFor } from \"../../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\n\r\ninterface IDrawdownDetailsProps extends IProcessComponentProps {\r\n data: QuoteModel;\r\n}\r\n\r\ninterface IDrawdownDetailsState {\r\n isLoading: boolean;\r\n originType: DrawdownType;\r\n assetsTable: ChooseAssetsToSellAssets[];\r\n}\r\n\r\nexport class DrawdownDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n originType: null,\r\n assetsTable: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ assetsTable: getChooseAssetsToSellTable(this.props.data.PensionQuote) });\r\n if (\r\n !LessThanAge(55, JsonDateParser.toDate(this.props.data?.ClientDetails?.DateOfBirth)) &&\r\n !this.props.data?.PensionQuote?.DrawdownModel?.InstructionId\r\n ) {\r\n this.setState({ isLoading: true });\r\n const params = getQueryParameters();\r\n DrawdownCalculationAction.postDrawdown(\r\n this.props.data?.PensionQuote?.HierarchyId,\r\n null,\r\n (drawdownModel: DrawdownModel) => {\r\n NewQuoteAction.getQuoteInstruction(params[\"id\"]);\r\n this.setState({ isLoading: false, originType: drawdownModel?.DrawdownType });\r\n }\r\n );\r\n }\r\n }\r\n\r\n private getComponentProps = (data: QuoteModel, onChange) => {\r\n return {\r\n data: data?.PensionQuote?.DrawdownModel,\r\n onChange: (v) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"PensionQuote\"),\r\n v,\r\n data.PensionQuote,\r\n \"DrawdownModel\"\r\n ),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n private doCalculation = () => {\r\n this.setState({ isLoading: true });\r\n const originType =\r\n this.state.originType || QuoteInstructionStore.getData()?.PensionQuote?.DrawdownModel?.DrawdownType;\r\n const currType = this.props.data?.PensionQuote?.DrawdownModel?.DrawdownType;\r\n const _data = JSON.parse(JSON.stringify(this.props.data));\r\n this.setState({ originType: currType });\r\n const originIsRegular = originType == DrawdownType.Regular;\r\n const currIsRegular = currType == DrawdownType.Regular;\r\n _data.PensionQuote.DrawdownModel.ChangeInstructionType =\r\n (originIsRegular && !currIsRegular) || (!originIsRegular && currIsRegular);\r\n NewQuoteAction.saveQuoteInstruction(1, _data, () => {\r\n this.setState({ isLoading: false });\r\n });\r\n };\r\n\r\n private needIllHealth(data) {\r\n return (\r\n LessThanAge(55, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth)) &&\r\n !data?.PensionQuote?.DrawdownModel?.InstructionId\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const ageLessThan75 = LessThanAge(75, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth));\r\n const isImmediateTaxFreeLumpSum =\r\n data?.SelectedProducts?.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n if (this.needIllHealth(data)) {\r\n return (\r\n {\r\n this.setState({ isLoading: true });\r\n const params = getQueryParameters();\r\n DrawdownCalculationAction.postDrawdown(\r\n this.props.data?.PensionQuote?.HierarchyId,\r\n null,\r\n (drawdownModel: DrawdownModel) => {\r\n NewQuoteAction.getQuoteInstruction(params[\"id\"]);\r\n this.setState({ isLoading: false, originType: drawdownModel?.DrawdownType });\r\n }\r\n );\r\n }}\r\n />\r\n );\r\n }\r\n return (\r\n \r\n

Drawdown details

\r\n this.appendChild(ref)}\r\n data={data?.PensionQuote}\r\n onChange={(v) => this.onDataChange(onChange, v, data, \"PensionQuote\")}\r\n process={ProcessType.Quote}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n />\r\n \r\n\r\n \r\n {data?.PensionQuote?.DrawdownModel?.DrawdownType == DrawdownType.Regular && (\r\n this.doCalculation()}\r\n />\r\n )}\r\n\r\n {(data?.PensionQuote?.DrawdownModel?.DrawdownType == DrawdownType.Capped ||\r\n data?.PensionQuote?.DrawdownModel?.DrawdownType == DrawdownType.Flexible) && (\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n pensionProtection={data?.PensionQuote?.PensionProtection}\r\n />\r\n )}\r\n\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n process={ProcessType.Quote}\r\n lessThan75={ageLessThan75}\r\n />\r\n\r\n \r\n\r\n {data?.PensionQuote?.DrawdownModel?.DrawdownType != DrawdownType.Regular && (\r\n \r\n )}\r\n {}}\r\n data={{\r\n OngoingAdviceCharge:\r\n data?.PensionQuote?.DrawdownModel?.DrawdownAdviserCharge?.OngoingAdviserCharge,\r\n }}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n\r\n {showChooseAssetstoSell(data?.PensionQuote?.DrawdownModel, ChooseAssetsToSellFor.Drawdown) &&\r\n !isImmediateTaxFreeLumpSum && (\r\n <>\r\n
\r\n \r\n {!data?.PensionQuote?.DrawdownModel?.IsAcrossAllAssets && (\r\n this.appendChild(ref)}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"PensionQuote\"),\r\n { PensionCommencementLumpSumAllocations: v },\r\n data.PensionQuote,\r\n \"DrawdownModel\"\r\n );\r\n }}\r\n processType={ProcessType.Quote}\r\n reason={ChooseAssetsToSellFor.Drawdown}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DistributionDividendPreference } from \"../../../../../../../../Wrap/Constants/Enums/Domain/DistributionDividendPreference\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { InstrumentSelection } from \"../../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { InstrumentSelections } from \"../../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelections\";\r\nimport { QuoteModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport {\r\n getISTPaymentAmount,\r\n initPensionInstrumentSelections,\r\n initWeighting,\r\n} from \"../../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AdviserContextStoreStatic } from \"../../../../NewBusinessWizard/Stores/Variable\";\r\n\r\ninterface IInvestmentSelectionToolProps extends IProcessComponentProps {\r\n data: QuoteModel;\r\n}\r\n\r\ninterface IInvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n IInvestmentSelectionToolProps,\r\n IInvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private onInvestmentChanges = (changes) => {\r\n const preRetirement = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Single: ele.Single,\r\n Regular: ele.Regular,\r\n Transfer: ele.Transfer,\r\n isToogle: ele.isToogle,\r\n needToggle: ele.needToggle,\r\n isTargetAllocation: ele.isTargetAllocation,\r\n underlying: ele.underlying,\r\n modelPortfolioType: ele.modelPortfolioType,\r\n }));\r\n const postRetirement = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Transfer: ele.PostTransfer || null,\r\n Single: initWeighting(),\r\n Regular: initWeighting(),\r\n }));\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n PreRetirementInstrumentSelections: this.initInstrumentSelection(preRetirement),\r\n PostRetirementInstrumentSelections: this.initInstrumentSelection(postRetirement),\r\n },\r\n this.props.data,\r\n \"PensionQuote\"\r\n );\r\n };\r\n\r\n private initInstrumentSelection = (instruments: InstrumentSelection[]): InstrumentSelections => {\r\n return {\r\n Type: MoneyOrPercentageType.Percentage,\r\n Instruments: instruments,\r\n DistributionDividendPreference: DistributionDividendPreference.NotSpecified,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const paymentAmount = getISTPaymentAmount(data?.PensionQuote, \"PensionTransfers\");\r\n\r\n const modelData = JSON.parse(JSON.stringify(data?.PensionQuote));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n\r\n const preRetirement = data?.PensionQuote?.PreRetirementInstrumentSelections?.Instruments || [];\r\n const postRetirement = data?.PensionQuote?.PostRetirementInstrumentSelections?.Instruments || [];\r\n const instrumentSelection = this.initInstrumentSelection([]);\r\n instrumentSelection.Instruments = initPensionInstrumentSelections(preRetirement, postRetirement);\r\n const clAccountId = new URLSearchParams(window.location.search).get(\"clAccountId\");\r\n const adviser = AdviserContextStoreStatic.getData();\r\n\r\n return (\r\n
\r\n

Investment selection

\r\n this.appendChild(ref)}\r\n onChange={(changes) => this.onInvestmentChanges(changes)}\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.Quote}\r\n hiercharyId={data.ExistingAccountHierarchyId}\r\n headAccountHierarchyId={data.ExistingAccountHierarchyId}\r\n companyCode={adviser?.Company}\r\n claccountId={clAccountId}\r\n product={SubAccountType.Sipp}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={[]}\r\n onBankChange={() => {}}\r\n onDistributionDividendOptions={() => {}}\r\n decisionMakerHierarchyId={data?.PensionQuote?.HierarchyId}\r\n accountAdviceType={data?.AccountAdviceType}\r\n accountServiceProposition={data?.AccountServiceProposition}\r\n onDecisionMakerChange={(v) => this.onDataChange(this.props.onChange, v, data, \"PensionQuote\")}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { quoteSippIncomePaymentDetailsLabels, quoteSippIncomePaymentDetailsMessages } from \"../../../Resource/Content\";\r\nimport RegularIncomePayment from \"../../../../Common/SIPP/IncomePaymentDetails/RegularIncomePayment\";\r\nimport IncomeRequired from \"../../../../Common/SIPP/IncomePaymentDetails/IncomeRequired\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DrawdownAnnualIncome } from \"../../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownAnnualIncome\";\r\nimport { processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { PensionBase } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\n\r\ninterface IIncomePaymentProps extends IProcessComponentProps {\r\n data: DrawdownAnnualIncome;\r\n onChange: (changes) => void;\r\n pensionBase: PensionBase;\r\n isITFC: boolean;\r\n}\r\ninterface IIncomePaymentState {}\r\n\r\nexport class IncomePayment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, pensionBase, isITFC } = this.props;\r\n\r\n return (\r\n
\r\n this.appendChild(ref)}\r\n drawdownType={pensionBase?.DrawdownModel?.DrawdownType}\r\n pensionTransfer={pensionBase?.PensionTransfers}\r\n processType={processTypeEnum.Quote}\r\n regularCrystalDifferentInital={\r\n pensionBase?.DrawdownModel?.RegularCrystallisationDetails?.HasADifferentInitialAmount\r\n }\r\n pensionBase={pensionBase}\r\n isITFC={isITFC}\r\n />\r\n this.appendChild(ref)}\r\n drawdownType={pensionBase?.DrawdownModel?.DrawdownType}\r\n availableCash={pensionBase?.DrawdownModel?.CrystallisationDetails?.AvailableCash}\r\n taxFreeLumpSum={pensionBase?.DrawdownModel?.TaxFreeLumpSum}\r\n regularCrystallisationDetails={pensionBase?.DrawdownModel?.RegularCrystallisationDetails}\r\n shouldHidePaymentMethod={true}\r\n pensionBase={pensionBase}\r\n processType={processTypeEnum.Quote}\r\n isITFC={isITFC}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default IncomePayment;\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport IncomePayment from \"./IncomePayment\";\r\nimport { DrawdownType } from \"../../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { quoteSteppersMap } from \"../../../Resource/Content\";\r\nimport { quoteSippIncomePaymentDetailsLabels } from \"../../../Resource/Content\";\r\nimport { PensionArrangementType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { setValueByKey } from \"../../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { QuoteModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { OneOffIncomePayment } from \"./OneOffIncomePayment\";\r\nimport { PensionQuote } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/Pension/PensionQuote\";\r\nimport { PensionType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\n\r\ninterface IIncomePaymentDetailsProps extends IProcessComponentProps {\r\n data: QuoteModel;\r\n}\r\n\r\ninterface IIncomePaymentDetailsState {}\r\n\r\nexport class IncomePaymentDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private hasDrawdown(data: QuoteModel): boolean {\r\n return !!data?.PensionQuote?.DrawdownModel?.InstructionId;\r\n }\r\n\r\n private hasTransfer(data: QuoteModel): boolean {\r\n return data?.PensionQuote?.PensionTransfers?.length > 0;\r\n }\r\n\r\n private handleOnChange(changes) {\r\n const { onChange, data } = this.props;\r\n let _data = JSON.parse(JSON.stringify(data?.PensionQuote));\r\n if (this.hasDrawdown(data)) {\r\n for (const key in changes) {\r\n _data = setValueByKey(_data, `DrawdownModel.Income.${key}`, changes[key]);\r\n }\r\n }\r\n if (this.hasTransfer(data)) {\r\n _data.PensionTransfers = _data?.PensionTransfers?.map((e) => {\r\n for (const key in changes) {\r\n e = setValueByKey(e, `IncomePaymentDetails.DrawdownIncome.AnnualIncome.${key}`, changes[key]);\r\n }\r\n return e;\r\n });\r\n }\r\n this.onDataChange(onChange, _data, data, \"PensionQuote\");\r\n }\r\n\r\n private shouldShowIncomePayment() {\r\n const { data } = this.props;\r\n return (\r\n data?.PensionQuote?.DrawdownModel &&\r\n (data?.PensionQuote?.DrawdownModel?.DrawdownType !== DrawdownType.Regular ||\r\n data?.PensionQuote?.DrawdownModel?.Income?.TaxableIncomeRequiredInAddition)\r\n );\r\n }\r\n\r\n private handleOneOffChange(changes) {\r\n const { onChange, data } = this.props;\r\n let _data: PensionQuote = JSON.parse(JSON.stringify(data?.PensionQuote));\r\n if (this.hasDrawdown(data)) {\r\n for (const key in changes) {\r\n _data = setValueByKey(_data, `DrawdownModel.OneOffTaxableWithdrawalDetails.${key}`, changes[key]);\r\n }\r\n }\r\n if (this.hasTransfer(data)) {\r\n _data.PensionTransfers = _data?.PensionTransfers?.map((e) => {\r\n for (const key in changes) {\r\n e = setValueByKey(e, `OneOffTaxableWithdrawalDetails.${key}`, changes[key]);\r\n }\r\n return e;\r\n });\r\n }\r\n this.onDataChange(onChange, _data, data, \"PensionQuote\");\r\n }\r\n\r\n private renderIncomePayment() {\r\n const { data } = this.props;\r\n const isImmediateTaxFreeLumpSum =\r\n data?.SelectedProducts?.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n return (\r\n <>\r\n {\r\n this.handleOnChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n pensionBase={data?.PensionQuote}\r\n isITFC={isImmediateTaxFreeLumpSum}\r\n />\r\n {(data?.PensionQuote?.DrawdownModel?.DrawdownType !== DrawdownType.Regular ||\r\n data?.PensionQuote?.PensionTransfers?.some(\r\n (e) => e?.PensionSource == PensionArrangementType.Crystallised\r\n )) && (\r\n {\r\n this.handleOneOffChange(changes);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n pensionBase={data?.PensionQuote}\r\n isITFC={isImmediateTaxFreeLumpSum}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n\r\n return (\r\n
\r\n

{quoteSteppersMap.incomePaymentDetails}

\r\n {data?.PensionQuote?.DrawdownModel?.DrawdownType === DrawdownType.Regular && (\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.handleOnChange({ TaxableIncomeRequiredInAddition: v });\r\n }}\r\n />\r\n )}\r\n {this.shouldShowIncomePayment() && this.renderIncomePayment()}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { quoteSippIncomePaymentDetailsLabels, quoteSippIncomePaymentDetailsMessages } from \"../../../Resource/Content\";\r\nimport PayeEstimate from \"../../../../Common/SIPP/IncomePaymentDetails/PayeEstimate\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport {\r\n calculateMaximumGrossOneOffIncomePaymentWithStandardAlgorithm,\r\n calculateMaximumGrossOneOffIncomePaymentWithTargetAlgorithm,\r\n} from \"../../../../Common/SIPP/IncomePaymentDetails/Helper/IncomePaymentHelper\";\r\nimport { processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { PensionBase } from \"../../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { OneOffTaxableWithdrawalDetails } from \"../../../../../../../../Wrap/Models/Domains/Drawdown/OneOffTaxableWithdrawalDetails\";\r\n\r\ninterface IOneOffIncomePaymentProps extends IProcessComponentProps {\r\n data: OneOffTaxableWithdrawalDetails;\r\n onChange: (changes) => void;\r\n pensionBase: PensionBase;\r\n isITFC: boolean;\r\n}\r\ninterface IOneOffIncomePaymentState {\r\n isOneOffPayment: boolean;\r\n}\r\n\r\nexport class OneOffIncomePayment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isOneOffPayment: this.isTakeOneOffIncomePayment(props.data),\r\n };\r\n }\r\n\r\n private handleChange(changes) {\r\n const { data, onChange } = this.props;\r\n this.onDataChange(onChange, changes, data);\r\n }\r\n\r\n private isTakeOneOffIncomePayment(oneOffPayment) {\r\n return oneOffPayment !== null;\r\n }\r\n\r\n componentDidMount() {\r\n const { data } = this.props;\r\n super.componentDidMount();\r\n if (data?.Amount == null || data?.Amount?.Amount == 0) {\r\n this.setState({ isOneOffPayment: false });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, pensionBase, isITFC } = this.props;\r\n\r\n const labels = quoteSippIncomePaymentDetailsLabels;\r\n const messages = quoteSippIncomePaymentDetailsMessages;\r\n\r\n const isTarget =\r\n pensionBase?.DrawdownModel?.Income?.TargetSpecificArrangements ||\r\n pensionBase?.PensionTransfers[0]?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome\r\n ?.TargetSpecificArrangements;\r\n\r\n return (\r\n <>\r\n

{labels.oneOffIncomePayment}

\r\n\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.setState({ isOneOffPayment: v });\r\n this.handleChange({\r\n Amount: null,\r\n });\r\n }}\r\n />\r\n {this.state.isOneOffPayment && (\r\n <>\r\n
\r\n {labels.maximumGrossOneOffIncomePayment}\r\n \r\n {isTarget == false\r\n ? MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumGrossOneOffIncomePaymentWithStandardAlgorithm(\r\n processTypeEnum.Quote,\r\n pensionBase,\r\n isITFC\r\n ),\r\n CurrencyCode.GBP\r\n )\r\n : MoneyDisplayHelper.FromatMoneyDisplay(\r\n calculateMaximumGrossOneOffIncomePaymentWithTargetAlgorithm(\r\n processTypeEnum.Quote,\r\n pensionBase,\r\n isITFC\r\n ),\r\n CurrencyCode.GBP\r\n )}\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n this.handleChange({\r\n Amount: {\r\n Amount: v,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n })\r\n }\r\n required={messages.oneOffIncomePaymentRequired}\r\n atMost={{\r\n errorMessage: messages.grossOneOffIncomePerPaymentOver,\r\n value: calculateMaximumGrossOneOffIncomePaymentWithStandardAlgorithm(\r\n processTypeEnum.Quote,\r\n pensionBase,\r\n isITFC\r\n ),\r\n }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Please enter an amount that is greater than zero.\",\r\n validator: (v) => v > 0,\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n\r\n {}} labels={labels} messages={messages} />\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default OneOffIncomePayment;\r\n","import * as React from \"react\";\r\nimport { PensionType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AssumedWrapCashHoldings } from \"../../../../Common/PaymentsIn/AssumedWrapCashHoldings\";\r\nimport { PensionProtection } from \"../../../../Common/PaymentsIn/SIPP/PensionProtection\";\r\nimport { RegularPayment } from \"../../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { RetirementAge } from \"../../../../Common/PaymentsIn/SIPP/RetirementAge\";\r\nimport { SinglePayment } from \"../../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { TransferIn } from \"../../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { PaymentType, PensionTypesMap, processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { needSingleContribution, needPostTransfer } from \"../../../../Common/PaymentsIn/SIPP/ValidationHelper\";\r\nimport { nbPaymentsInMessages } from \"../../../../NewBusinessWizard/Resource/Contents\";\r\nimport { QuoteModel } from \"../../../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\ninterface IPaymentsInProps extends IProcessComponentProps {\r\n data: QuoteModel;\r\n processType?: ProcessType;\r\n HasExistingSIPP?: boolean;\r\n}\r\n\r\ninterface IPaymentsInState {}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n isReview: isReview,\r\n };\r\n };\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n const config = this.props.data.SelectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n isValid = isValid && this.atLeastOneContribution();\r\n if (!this.atLeastOneContribution()) {\r\n this.props.showErrorMsgPopUp([nbPaymentsInMessages.atLeastOneContribution]);\r\n }\r\n const needSingleContributionFlag = needSingleContribution(config, this.props.data.PensionQuote);\r\n if (needSingleContributionFlag) {\r\n this.props.showErrorMsgPopUp([\r\n `Please add a contribution/transfer to support , or remove the ${\r\n PensionTypesMap[config.PensionType]\r\n }`,\r\n ]);\r\n }\r\n const needPostTransferFlag = needPostTransfer(config, this.props.data.PensionQuote);\r\n if (needPostTransferFlag) {\r\n this.props.showErrorMsgPopUp([\r\n \"Please add a Post Retirement Transfer, or remove the request to take income from the pension\",\r\n ]);\r\n }\r\n return isValid && !needPostTransferFlag && !needSingleContributionFlag;\r\n }\r\n\r\n private atLeastOneContribution(): boolean {\r\n const { data } = this.props;\r\n\r\n return (\r\n data.PensionQuote.ClientSinglePayment?.Money?.Amount > 0 ||\r\n data.PensionQuote.ThirdPartySinglePayment?.Money?.Amount > 0 ||\r\n data.PensionQuote.ClientRegularPayment?.Money?.Amount > 0 ||\r\n data.PensionQuote.ThirdPartyRegularPayment?.Money?.Amount > 0 ||\r\n data.PensionQuote.PensionTransfers?.length > 0\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const isImmediateTaxFreeLumpSum =\r\n data.SelectedProducts.find((ele) => SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType))\r\n ?.PensionType == PensionType.ImmediateTaxFreeLumpSum;\r\n const pensionInfo = data.SelectedProducts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n );\r\n const isTransferPost =\r\n pensionInfo.PensionType == PensionType.None && pensionInfo.IsIncomePaymentDetailsSelected;\r\n return (\r\n
\r\n

Payments in

\r\n \r\n

This age/date is used for illustration purposes.

\r\n \r\n
\r\n \r\n
\r\n {!isImmediateTaxFreeLumpSum && (\r\n \r\n )}\r\n
\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"PensionQuote\"),\r\n changes,\r\n data.PensionQuote\r\n )\r\n }\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isPost={isTransferPost}\r\n onRef={(ref) => this.appendChild(ref)}\r\n selectedProducts={this.props.data.SelectedProducts}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { addDays, addYears } from \"../../../../../../../react-core/utils/date\"\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\"\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { BusinessDaysAction } from \"../../../../Common/BusinessDays/Actions/BusinessDaysAction\";\r\n\r\nexport const isTaxRelifAvailable = async (dateOfBirth, collectionDate) => {\r\n if(!dateOfBirth || !collectionDate) {return true;}\r\n let adjustedDateOfBirth = JsonDateParser.toDate(dateOfBirth);\r\n adjustedDateOfBirth = adjustForLeapYearBirthdays(adjustedDateOfBirth);\r\n const _75Birthiday = addYears(adjustedDateOfBirth, 75);\r\n const getBusinessDays = (baseDate, future, numberOfDays) => {\r\n return new Promise((resolve) => {\r\n BusinessDaysAction.GetBusinessDays(baseDate, future, numberOfDays, false, resolve);\r\n });\r\n };\r\n const availDate = await getBusinessDays(_75Birthiday, true, 11);\r\n const result = JsonDateParser.toDate(collectionDate) < JsonDateParser.toDate(availDate);\r\n return result;\r\n};\r\n\r\nfunction adjustForLeapYearBirthdays(date) {\r\n const yearAt75 = date.getFullYear() + 75;\r\n //judge if the person born at Feb 29th\r\n if (date.getMonth() === 1 && date.getDate() === 29) {\r\n if (!((yearAt75 % 4 === 0 && yearAt75 % 100 !== 0) || (yearAt75 % 400 === 0))) {\r\n return new Date(date.getFullYear(), 2, 1); //set the date to March 1st\r\n }\r\n }\r\n return new Date(date.getTime());\r\n}\r\n\r\nexport const getMoneyFormat = (val: number): string => {\r\n let formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(val), CurrencyCode.GBP);\r\n if (val < 0) {\r\n formatMoney = \"-\" + formatMoney;\r\n }\r\n if (val == 0){\r\n formatMoney = \"-\";\r\n }\r\n return formatMoney;\r\n};\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\n\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader, TrueFalseRadio } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\n\r\ninterface IISASectionProps extends IProcessComponentProps {}\r\n\r\ninterface IISASectionState {}\r\n\r\nexport class ISASection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private onProductChange(changes, product, index) {\r\n const _product = JSON.parse(JSON.stringify(product));\r\n for (const key in changes) {\r\n _product[key] = changes[key];\r\n }\r\n const data = this.props.data.SelectedProducts.concat();\r\n data[index] = _product;\r\n this.props.onChange({ SelectedProducts: data });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const productIndex = data.SelectedProducts.findIndex((e) => e.SubAccountType == SubAccountType.StocksIsa);\r\n const Product = data.SelectedProducts[productIndex];\r\n return (\r\n <>\r\n {SectionHeader(\"ISA options\")}\r\n {TrueFalseRadio(\r\n \"Will your client be taking regular withdrawals?\",\r\n \"IsAddRegularWithdrawalSelected\",\r\n Product,\r\n (key, value) => {\r\n this.onProductChange({ [key]: value }, Product, productIndex);\r\n },\r\n true,\r\n { cssWrapper: \"radio-group rg-150 mb-16\", disabled: data?.Disabled }\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PersonalPortfolioTypesArray, PersonalPortfolioTypesMap } from \"../../Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader, TrueFalseRadio } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SearchInput } from \"../../../../../../Shared/SearchInput/SearchInput\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { CustomerNameFuzzySearchClient } from \"../../../../../../../Wrap/Api/Customer/CustomerNameFuzzySearch\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Constants/Enums/Domain/InvestorType\";\r\nimport { ClientAcountHelper } from \"../../../NewBusinessWizard/Resource/ClientAccountHelper\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { QuoteAndApplyBaseModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/QuoteAndApplyBaseModel\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { Gender } from \"../../../../../../../Wrap/Constants/Enums/Domain/Gender\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { InstructionStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\n\r\ninterface IPPSectionProps extends IProcessComponentProps {\r\n ClientAccount?: ClientAccount;\r\n isQuote: boolean;\r\n data: QuoteAndApplyBaseModel;\r\n}\r\n\r\ninterface IPPSectionState {\r\n customeChildren: JSX.Element;\r\n showLightBox: boolean;\r\n hideResult: boolean;\r\n}\r\n\r\nexport class PPSection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n customeChildren: null,\r\n showLightBox: false,\r\n hideResult: false,\r\n };\r\n }\r\n selectableInvestorTypes(): InvestorType[] {\r\n const { data, ClientAccount } = this.props;\r\n const maxGiasHit = ClientAcountHelper.MaxGiaCountHit(ClientAccount);\r\n const anyProductNotSupportJoint = data.SelectedProducts.some(\r\n (x) => SubAccountTypeHelper.productEligibleForJoint(x.SubAccountType) == false\r\n );\r\n if (maxGiasHit) {\r\n return [InvestorType.Joint];\r\n }\r\n if (anyProductNotSupportJoint) {\r\n return [InvestorType.Single];\r\n }\r\n return PersonalPortfolioTypesArray;\r\n }\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const { ClientDetails } = data;\r\n const productIndex = data.SelectedProducts.findIndex(\r\n (e) => e.SubAccountType == SubAccountType.InvestmentAccount\r\n );\r\n const Product = data.SelectedProducts[productIndex];\r\n\r\n return (\r\n <>\r\n {SectionHeader(\"Personal Portfolio options\")}\r\n {TrueFalseRadio(\r\n \"Will your client be taking regular withdrawals?\",\r\n \"IsAddRegularWithdrawalSelected\",\r\n Product,\r\n (key, value) => {\r\n this.onProductChange({ [key]: value }, Product, productIndex);\r\n },\r\n true,\r\n {\r\n cssWrapper: \"radio-group rg-inline rg-150 mb-16\",\r\n disabled:\r\n data.Status == InstructionStatus.Complete || data.Status == InstructionStatus.Cancelled,\r\n }\r\n )}\r\n {\r\n return PersonalPortfolioTypesMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.onProductChange({ InvestorTypeType: v }, Product, productIndex);\r\n }}\r\n required=\"Please choose Personal Portfolio type\"\r\n disabled={data.Status == InstructionStatus.Complete || data.Status == InstructionStatus.Cancelled}\r\n />\r\n {Product.InvestorTypeType == InvestorType.Joint &&\r\n !data.SelectedProducts.some((ele) => ele.SubAccountType == SubAccountType.StocksIsa) &&\r\n !data.SecondClientDetails &&\r\n this.accountDetailRender()}\r\n {Product.InvestorTypeType == InvestorType.Joint &&\r\n data.SecondClientDetails &&\r\n this.accountHolderRender(ClientDetails, data.SecondClientDetails)}\r\n\r\n {this.state.showLightBox && (\r\n this.setState({ showLightBox: false })}\r\n type={LightboxType.Modal}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

Two account holders cannot be the same customer.

\r\n \r\n \r\n )}\r\n\r\n
\r\n \r\n );\r\n }\r\n\r\n private onProductChange(changes, product, index) {\r\n const _product = JSON.parse(JSON.stringify(product));\r\n for (const key in changes) {\r\n _product[key] = changes[key];\r\n }\r\n const data = this.props.data.SelectedProducts.concat();\r\n data[index] = _product;\r\n this.props.onChange({ SelectedProducts: data });\r\n }\r\n\r\n private accountDetailRender() {\r\n const client = new CustomerNameFuzzySearchClient();\r\n return (\r\n <>\r\n

Joint account details

\r\n {\r\n return client.get(v, this.props.data.AdviserHierarchyId.EntityId, RoleType.JointAccountHolder);\r\n }}\r\n onInputFocus={() => this.setHideSearchCustomerResult(false)}\r\n minLength={3}\r\n customeChildren={(data) => this.transformInputSearch(data)}\r\n cssWrapper=\"mb-35\"\r\n />\r\n \r\n );\r\n }\r\n\r\n private accountHolderRender(first: any, second: any) {\r\n const config1 = [\r\n {\r\n title: \"Title\",\r\n data: first.Title,\r\n },\r\n {\r\n title: \"Name\",\r\n data: first.FirstName + \" \" + first.LastName,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: first.Gender == Gender.Female ? \"Female\" : \"Male\",\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: JsonDateParser.getFormatDate(first.DateOfBirth, \"dd/MM/yyyy\"),\r\n },\r\n ];\r\n const config2 = [\r\n {\r\n title: \"Title\",\r\n data: second.Title,\r\n },\r\n {\r\n title: \"Name\",\r\n data: `${second.FirstName} ${second.LastName}`,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: second.Gender == Gender.Female ? \"Female\" : \"Male\",\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: JsonDateParser.getFormatDate(second.DateOfBirth, \"dd/MM/yyyy\"),\r\n },\r\n ];\r\n return (\r\n <>\r\n

Joint account holder

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

Client 1

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

Client 2

\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private transformInputSearch(data: any) {\r\n if (data) {\r\n const customeChildren = (\r\n {\r\n return {row.FirstName + \" \" + row.LastName};\r\n },\r\n },\r\n {\r\n title: \"Date of birth\",\r\n key: \"DateOfBirth\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDateString(new Date(data), \"dd MM yyyy\", true);\r\n },\r\n },\r\n {\r\n title: \"Assigned adviser\",\r\n key: \"OwnerAdviserId\",\r\n },\r\n {\r\n title: \"\",\r\n key: \"\",\r\n render: (data, row, index) => {\r\n return (\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n showEmptyMsg={true}\r\n />\r\n );\r\n return this.state.hideResult ? null : customeChildren;\r\n }\r\n }\r\n\r\n private addClient(row: any) {\r\n const SecondClientDetails = row;\r\n const { ClientDetails } = this.props.data;\r\n if (ClientDetails?.ActorId == SecondClientDetails?.ActorId) {\r\n this.setState({ showLightBox: true });\r\n } else {\r\n this.props.onChange({ SecondClientDetails: SecondClientDetails });\r\n this.setHideSearchCustomerResult();\r\n }\r\n }\r\n\r\n private removeClient() {\r\n this.props.onChange({ SecondClientDetails: null });\r\n }\r\n private setHideSearchCustomerResult(hideResult = true) {\r\n this.setState({ hideResult });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader, TrueFalseRadio } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { PensionTypesArray, PensionTypesMap } from \"../../../Common/Resource/Contents\";\r\nimport { incomePaymentDetailsLabels } from \"../../../Common/SIPP/IncomePaymentDetails/Resource/Content\";\r\nimport { PensionType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionType\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { StaticUrls } from \"../../../../../Resoures/StaticUrls\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\ninterface ISIPPSectionProps extends IProcessComponentProps {\r\n HasExistingSIPP?: boolean;\r\n subAccountId?: string;\r\n subAccountHierarchyId?: string;\r\n isAddRegularPayment?: boolean;\r\n}\r\n\r\ninterface ISIPPSectionState {}\r\n\r\nexport class SIPPSection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.HasExistingSIPP == true) {\r\n this.props.data.Product.PensionType = PensionType.None;\r\n }\r\n }\r\n\r\n private onProductChange(changes, product, index) {\r\n const _product = JSON.parse(JSON.stringify(product));\r\n for (const key in changes) {\r\n _product[key] = changes[key];\r\n }\r\n const data = this.props.data.SelectedProducts.concat();\r\n data[index] = _product;\r\n this.props.onChange({ SelectedProducts: data });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const productIndex = data.SelectedProducts.findIndex((e) => e.SubAccountType == SubAccountType.Npr);\r\n const Product = data.SelectedProducts[productIndex];\r\n return (\r\n <>\r\n {SectionHeader(\"SIPP options\")}\r\n {this.props.HasExistingSIPP == true &&\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n \r\n As your client already has an existing SIPP, you will only be able to add transfers\r\n in for one or more post-retirement SIPP accounts. Please use the{\" \"}\r\n \r\n Single Payment/Transfer\r\n {\" \"}\r\n or{\" \"}\r\n \r\n Regular Payments\r\n {\" \"}\r\n process if you want to add more contributions to an existing SIPP.\r\n \r\n }\r\n />\r\n )}\r\n\r\n {\r\n return PensionTypesMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.onProductChange({ PensionType: v }, Product, productIndex);\r\n }}\r\n disabled={this.props.HasExistingSIPP == true}\r\n required=\"Please choose SIPP type\"\r\n />\r\n {TrueFalseRadio(\r\n incomePaymentDetailsLabels.needToProvideAnIncome,\r\n \"IsIncomePaymentDetailsSelected\",\r\n Product,\r\n (key, value) => {\r\n this.onProductChange({ [key]: value }, Product, productIndex);\r\n },\r\n true,\r\n { cssWrapper: \"radio-group rg-150 mb-16\" }\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { quoteSteppersMap } from \"../../Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader, TrueFalseRadio } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { ProductWrapper } from \"../../../../../../../Wrap/Models/Domains/Account/ProductWrapper\";\r\nimport { ProductWrapperStore } from \"../../Store/Variable\";\r\nimport { NewQuoteAction } from \"../../Actions/NewQuoteAction\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SIPPSection } from \"./SIPPSection\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { TextBoxEditor } from \"../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { ISASection } from \"./ISASection\";\r\nimport { PPSection } from \"./PPSection\";\r\nimport { NewClientAlertMessage } from \"../../../Common/WrapperSelection/NewClientAlertMessage\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ProductDetailsStore } from \"../../../../../Stroes/Variable\";\r\nimport { NewBusinessAction } from \"../../../NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { AdviserContextStoreStatic, CustomerContextStoreStatic } from \"../../../NewBusinessWizard/Stores/Variable\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { QuoteAndApplyBaseModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/QuoteAndApplyBaseModel\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Constants/Enums/Domain/InvestorType\";\r\nimport { TitleMap } from \"../../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { ServicePropositionSelection } from \"../../../Common/ServicePropositionSelection\";\r\nimport { InstructionStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport AdviserSiteTagManager from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\n\r\ninterface IWrapperSelectionProps extends IProcessComponentProps {\r\n HasExistingSIPP?: boolean;\r\n ClientAccount?: ClientAccount;\r\n}\r\n\r\ninterface IWrapperSelectionState {\r\n ProductWrappers: ProductWrapper[];\r\n isLoading: boolean;\r\n}\r\n\r\nexport class WrapperSelection extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n ProductWrappers: null,\r\n isLoading: true,\r\n };\r\n this.subscribeToStore(ProductWrapperStore, () => this.onProductWrapperStoreChange());\r\n this.subscribeToStore(ProductDetailsStore, () => {});\r\n this.subscribeToStore(AdviserContextStoreStatic, () => this.onAdviserContextStoreChange());\r\n this.subscribeToStore(CustomerContextStoreStatic, () => this.onCustomerContextStoreChange());\r\n }\r\n\r\n private onProductWrapperStoreChange() {\r\n const data = ProductWrapperStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n ProductWrappers: data,\r\n });\r\n }\r\n\r\n private onAdviserContextStoreChange() {\r\n this.loadAdviserHierarchyIdFromStore();\r\n }\r\n\r\n private loadAdviserHierarchyIdFromStore() {\r\n const adviser = AdviserContextStoreStatic.getData();\r\n if (adviser) {\r\n this.props.onChange({\r\n AdviserHierarchyId: { Type: HierarchyLevelName.Advisor, EntityId: adviser.AdvisorId },\r\n });\r\n }\r\n }\r\n\r\n onCustomerContextStoreChange(): void {\r\n const customer = CustomerContextStoreStatic.getData();\r\n\r\n this.props.onChange({\r\n ClientDetails: {\r\n ActorId: customer.ActorId,\r\n FirstName: customer.PersonalDetails?.GivenName,\r\n LastName: customer.PersonalDetails?.FamilyName,\r\n Title: TitleMap.getString(customer.PersonalDetails?.Title),\r\n Gender: customer.PersonalDetails?.Gender,\r\n DateOfBirth: customer.PersonalDetails?.DateOfBirth,\r\n },\r\n });\r\n\r\n NewBusinessAction.getAdviserDetail(\r\n HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Advisor, customer.ActorOwnerId)\r\n );\r\n\r\n this.setState({\r\n isLoading: false,\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n const newPp = this.props.data.SelectedProducts.find((x) => SubAccountTypeHelper.isPP(x.SubAccountType));\r\n const prevData = (prevProps as { data: QuoteAndApplyBaseModel }).data;\r\n const prevSelections = prevData.SelectedProducts;\r\n if (\r\n prevData.AccountServiceProposition != this.props.data.AccountServiceProposition &&\r\n this.props.data.AccountServiceProposition\r\n ) {\r\n const actorId = getQueryParameters()[\"customerid\"];\r\n NewQuoteAction.getProductWrappers(actorId, this.props.data.AccountServiceProposition);\r\n }\r\n const prevSecondClientDetails = prevData.SecondClientDetails;\r\n const prevPp = prevSelections.find((x) => SubAccountTypeHelper.isPP(x.SubAccountType));\r\n if (!prevPp) {\r\n return false;\r\n }\r\n if (!newPp && prevSecondClientDetails) {\r\n this.props.onChange({ SecondClientDetails: null });\r\n } else if (newPp && newPp.InvestorTypeType != prevPp.InvestorTypeType) {\r\n const data = this.props.data;\r\n\r\n if (data.SecondClientDetails && newPp.InvestorTypeType == InvestorType.Single) {\r\n data.SecondClientDetails = null;\r\n }\r\n this.props.onChange({\r\n SelectedProducts: data.SelectedProducts,\r\n SecondClientDetails: data.SecondClientDetails ? data.SecondClientDetails : null,\r\n });\r\n }\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const clientId = getQueryParameters()[\"customerid\"];\r\n const { data, onChange } = this.props;\r\n const id = getQueryParameters()[\"id\"];\r\n if (clientId) {\r\n NewBusinessAction.getCustomerData(clientId);\r\n }\r\n if (id || data.AccountServiceProposition) {\r\n NewQuoteAction.getProductWrappers(clientId, data.AccountServiceProposition);\r\n }\r\n\r\n if (data?.QuoteReference?.HasQuoteReference === undefined) {\r\n this.onDataChange(onChange, { HasQuoteReference: false }, data, \"QuoteReference\");\r\n }\r\n\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"wrapper-selection\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/wrapper-selection\",\r\n pageTitle: `${document.title} - new quote - wrapper selection`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n public isValid(): boolean {\r\n let isValid = super.isValid();\r\n isValid = isValid && this.anyProductSelected();\r\n if (!this.anyProductSelected()) {this.props.showErrorMsgPopUp([\"At least one wrapper must be selected.\"]);}\r\n return isValid;\r\n }\r\n\r\n private anyProductSelected(): boolean {\r\n return this.props.data?.SelectedProducts != null && this.props.data.SelectedProducts.length > 0;\r\n }\r\n\r\n render() {\r\n if (this.props.data.ClientDetails == null) {return ;}\r\n const giaSelected = this.props.data.SelectedProducts.find((x) => SubAccountTypeHelper.isPP(x.SubAccountType));\r\n const existingOnshoreBond = this.props.ClientAccount?.SubAccounts?.some(\r\n (x) => x.SubAccountType == SubAccountType.OnshoreBond\r\n );\r\n const existingOffshoreBond = this.props.ClientAccount?.SubAccounts?.some(\r\n (x) => x.SubAccountType == SubAccountType.OffshoreBond\r\n );\r\n const { data, onChange } = this.props;\r\n const { ProductWrappers } = this.state;\r\n const options =\r\n ProductWrappers != null\r\n ? ProductWrappers.filter((w) => {\r\n const isDisabled =\r\n !w.IsAvailable ||\r\n this.props.isReview ||\r\n (this.props.ClientAccount?.SubAccounts?.some((x) =>\r\n SubAccountTypeHelper.isOnPlatformPension(w.Type)\r\n ) &&\r\n w.Type == SubAccountType.Npr) ||\r\n ((data.Status == InstructionStatus.Complete || data.Status == InstructionStatus.Cancelled) &&\r\n data.AccountRoleInstructionId > 0 &&\r\n giaSelected != null) ||\r\n (w.Type == SubAccountType.OnshoreBond && existingOnshoreBond) ||\r\n (w.Type == SubAccountType.OffshoreBond && existingOffshoreBond);\r\n\r\n return (\r\n !SubAccountTypeHelper.isUnlistedProduct(w.Type) &&\r\n !SubAccountTypeHelper.isOffPlatformPension(w.Type) &&\r\n !isDisabled\r\n );\r\n }).map((ele) => {\r\n return {\r\n label: ele.DisplayName,\r\n value: data.SelectedProducts.some((item) => item.SubAccountType == ele.Type),\r\n onChange: (v) => {\r\n if (v) {\r\n const _data = data.SelectedProducts.concat([\r\n { SubAccountType: ele.Type, IsIncomePaymentDetailsSelected: false },\r\n ]);\r\n onChange({ SelectedProducts: _data });\r\n } else {\r\n onChange({\r\n SelectedProducts: data.SelectedProducts.filter(\r\n (item) => item.SubAccountType !== ele.Type\r\n ),\r\n });\r\n }\r\n },\r\n };\r\n })\r\n : [];\r\n return (\r\n <>\r\n
{}
\r\n {\r\n
\r\n
\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n this.setState({ isLoading: true });\r\n NewQuoteAction.getProductWrappers(\r\n data.ClientDetails?.ActorId,\r\n changes.AccountServiceProposition\r\n );\r\n }}\r\n isReview={this.props.isReview}\r\n disable={data.ExistingAccountHierarchyId != null}\r\n />\r\n
\r\n
\r\n }\r\n \r\n {data.AccountServiceProposition != null && data.AccountServiceProposition != 0 && (\r\n <>\r\n

{quoteSteppersMap.wrapperSelection}

\r\n\r\n {SectionHeader(\"Create quote for\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {data.SelectedProducts.some(\r\n (ele) => ele.SubAccountType == SubAccountType.InvestmentAccount\r\n ) && (\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n ClientAccount={this.props.ClientAccount}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n isReview={this.props.isReview}\r\n isQuote={true}\r\n />\r\n )}\r\n {data.SelectedProducts.some((ele) => ele.SubAccountType == SubAccountType.StocksIsa) && (\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n isReview={this.props.isReview}\r\n />\r\n )}\r\n {data.SelectedProducts.some((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n ) && (\r\n this.appendChild(ref)}\r\n data={this.props.data}\r\n HasExistingSIPP={this.props.HasExistingSIPP}\r\n subAccountId={\r\n this.props.ClientAccount?.SubAccounts?.find(\r\n (x) =>\r\n x.SubAccountType == SubAccountType.Pension ||\r\n x.SubAccountType == SubAccountType.Sipp ||\r\n x.SubAccountType == SubAccountType.Npr ||\r\n x.SubAccountType == SubAccountType.Pr\r\n )?.ClAccountId\r\n }\r\n isReview={this.props.isReview}\r\n subAccountHierarchyId={\r\n this.props.ClientAccount?.SubAccounts?.find(\r\n (x) =>\r\n x.SubAccountType == SubAccountType.Pension ||\r\n x.SubAccountType == SubAccountType.Sipp ||\r\n x.SubAccountType == SubAccountType.Npr ||\r\n x.SubAccountType == SubAccountType.Pr\r\n )?.HierarchyId\r\n }\r\n isAddRegularPayment={this.isAddRegularPayment(SubAccountType.Npr)}\r\n onChange={(changes) => {\r\n this.props.onChange(changes);\r\n }}\r\n />\r\n )}\r\n {data.SelectedProducts.length > 0 &&\r\n TrueFalseRadio(\r\n \"Do you want to add a quote reference?\",\r\n \"HasQuoteReference\",\r\n data.QuoteReference,\r\n (key, value) => {\r\n this.onDataChange(onChange, { [key]: value }, data, \"QuoteReference\");\r\n },\r\n true,\r\n { cssWrapper: \"radio-group rg-150 mb-16\" }\r\n )}\r\n {data?.QuoteReference?.HasQuoteReference && (\r\n <>\r\n \r\n this.onDataChange(\r\n onChange,\r\n { QuoteReferenceDetail: v },\r\n data,\r\n \"QuoteReference\"\r\n )\r\n }\r\n //infoText=\"(maximum 30 characters)\"\r\n required=\"Please enter quote reference\"\r\n />\r\n (maximum 30 characters)\r\n \r\n )}\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n isAddRegularPayment(subAccountType: SubAccountType): boolean {\r\n if (SubAccountTypeHelper.isOnPlatformPension(subAccountType)) {\r\n const data = ProductDetailsStore.getProductDetails()?.Products?.find((details) => {\r\n return (\r\n details.ProductType === SubAccountType.Pension ||\r\n details.ProductType === SubAccountType.Sipp ||\r\n details.ProductType === SubAccountType.Npr\r\n );\r\n });\r\n return data?.RegularPaymentIns?.length <= 0;\r\n }\r\n return false;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IndividualEmploymentStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/IndividualEmploymentStatus\";\r\nimport { InvestorType } from \"../../../../../../Wrap/Constants/Enums/Domain/InvestorType\";\r\nimport { ContentDatePicker, ACCEPT_DATE_FORMATS } from \"../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\n\r\nexport const quoteSteppersMap = {\r\n wrapperSelection: \"Wrapper selection\",\r\n paymentsIn: \"Payments in\",\r\n adviserCharges: \"Adviser charges\",\r\n investment: \"Investment selection\",\r\n drawdownDetails: \"Drawdown details\",\r\n incomePaymentDetails: \"Income payment details\",\r\n quoteReady: \"Quote ready\",\r\n withdrawal: \"Withdrawals\",\r\n SIPP: \"SIPP\",\r\n ISA: \"ISA Stocks & Shares\",\r\n PP: \"Personal Portfolio\",\r\n};\r\n\r\nexport const IndividualEmploymentStatusOptions = [\r\n IndividualEmploymentStatus.Employed,\r\n IndividualEmploymentStatus.FullTimeEducation,\r\n IndividualEmploymentStatus.Other,\r\n IndividualEmploymentStatus.Retired,\r\n IndividualEmploymentStatus.SelfEmployed,\r\n IndividualEmploymentStatus.Unemployed,\r\n IndividualEmploymentStatus.Carer,\r\n];\r\n\r\nexport const IndividualEmploymentStatusOptionsMap = {\r\n [IndividualEmploymentStatus.Employed]: \"Employed\",\r\n [IndividualEmploymentStatus.FullTimeEducation]: \"Full time education\",\r\n [IndividualEmploymentStatus.Other]: \"Other\",\r\n [IndividualEmploymentStatus.SelfEmployed]: \"Self employed\",\r\n [IndividualEmploymentStatus.Retired]: \"Pensioner\",\r\n [IndividualEmploymentStatus.Unemployed]: \"Unemployed\",\r\n [IndividualEmploymentStatus.Carer]: \"Carer\",\r\n};\r\n\r\nexport const PersonalPortfolioTypesArray = [InvestorType.Single, InvestorType.Joint];\r\n\r\nexport const PersonalPortfolioTypesMap = {\r\n [InvestorType.Single]: \"Single\",\r\n [InvestorType.Joint]: \"Joint\",\r\n};\r\n\r\nexport const FrequencyTypeArrays = [Frequency.Monthly, Frequency.Quarterly, Frequency.HalfYearly, Frequency.Yearly];\r\n\r\nexport const FrequencyArraysMap = {\r\n [Frequency.Monthly]: \"Monthly\",\r\n [Frequency.Quarterly]: \"Quarterly\",\r\n [Frequency.HalfYearly]: \"Half yearly\",\r\n [Frequency.Yearly]: \"Yearly\",\r\n};\r\n\r\n// Temporary until Drawdown details coded\r\nexport enum DrawdownType {\r\n Other = 0,\r\n RegularCrystallisation = 1,\r\n FlexiAccessRegular = 2,\r\n}\r\n\r\nexport const datePickerOptions = {\r\n showYearDropdown: true,\r\n todayButton: ContentDatePicker.Today,\r\n isClearable: true,\r\n dateFormat: ContentDatePicker.DateFormat,\r\n acceptDateFormats: ACCEPT_DATE_FORMATS,\r\n};\r\n\r\nexport const daysUntilFirstPaymentDate = 20;\r\n\r\nexport const quoteSippIncomePaymentDetailsLabels = {\r\n regularIncomePayment: \"Regular Income Payment\",\r\n taxableIncomeRequiredInAddition: \"Is taxable income required in addition to the tax-free lump sum?\",\r\n targetSpecificArrangements: \"Do you wish to target specific arrangements?\",\r\n takeDifferentInitialIncomePayment: \"Do you wish to take a different initial income payment?\",\r\n grossInitialIncomePayment: \"Gross initial income payment\",\r\n maximumInitialIncomePayment: \"Maximum for initial income payment\",\r\n maximumIncomePerPayment: \"Maximum income per payment\",\r\n maximumAvailablePerPayment: \"Maximum available per payment\",\r\n grossIncomePerPayment: \"Gross income per payment\",\r\n grossIncomePerPaymentFromPension: \"Gross income per payment from the pension\",\r\n incomeFrequency: \"Income frequency\",\r\n firstPaymentDate: \"First payment date\",\r\n endDate: \"End date\",\r\n untilNotified: \"Until notified\",\r\n enterADate: \"Enter a date\",\r\n calculateEstimatedPaye: \"Calculate estimated PAYE\",\r\n estimatedPayeTax: \"Estimated PAYE tax\",\r\n estimatedNetPayment: \"Estimated net payment\",\r\n taxCode: \"Tax Code\",\r\n taxBasis: \"Basis\",\r\n oneOffIncomePayment: \"One-off income payment\",\r\n takeOneOffIncomePayment: \"Do you wish to take a one-off income payment?\",\r\n maximumGrossOneOffIncomePayment: \"Maximum gross one-off income payment\",\r\n capped: \"Capped\",\r\n flexi: \"Flexi\",\r\n from: \"From\",\r\n amount: \"Amount\",\r\n type: \"Type\",\r\n member: \"Member\",\r\n gadMaximum: \"GAD maximum\",\r\n incomeTakenToDate: \"Income taken to date\",\r\n lastMandatoryReview: \"Last mandatory review\",\r\n maximumIncomePaymentForRemainderOfYear: \"Maximum income payment for remainder of pension year\",\r\n maximumIncomePaymentForFutureYears: \"Maximum income payment for future pension years\",\r\n incomePerPaymentForCurrentPensionYear: \"Income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYears: \"Income per payment for future pension years\",\r\n MaximumIncomePerPayment: \"Maximum income payment per payment\",\r\n incomePerPayment: \"Income per payment\",\r\n takeFullValue: \"Take Full value\",\r\n flexiArrangementsExhausted: \"Please tick to confirm your client understands this and is happy to proceed\",\r\n paymentMethod: \"Payment method\",\r\n};\r\n\r\nexport const quoteSippIncomePaymentDetailsMessages = {\r\n grossInitialIncomePaymentRequired: \"Please enter gross initial income payment\",\r\n grossIncomePerPaymentRequired: \"Please enter gross income per payment\",\r\n grossIncomePerPaymentFromPensionRequired: \"Please enter gross income per payment from the pension\",\r\n incomeFrequencyRequired: \"Please enter income frequency\",\r\n firstPaymentDateRequired: \"Please enter first payment date\",\r\n enterADateRequired: \"Please enter a date\",\r\n oneOffIncomePaymentRequired: \"Please enter one-off income payment\",\r\n incomePerPaymentForCurrentPensionYearRequired: \"Please enter income per payment for current pension year\",\r\n incomePerPaymentForFuturePensionYearsRequired: \"Please enter income per payment for future pension years\",\r\n incomePerPaymentRequired: \"Please enter income per payment\",\r\n flexiArrangementsExhausted:\r\n \"The income specified will exhaust one or more of your client's flexi access arrangements within a year\",\r\n messagesGrossInitialIncomeOver: \"Gross initial income payment must not be greater than maximum\",\r\n grossIncomePerPaymentOver:\r\n \"Please enter an income amount that is greater than zero and less than or equal to the maximum income per payment.\",\r\n grossAvailablePerPaymentOver:\r\n \"Please enter an income amount that is greater than zero and less than or equal to the maximum available per payment.\",\r\n firstPaymentDateUnder15: \"The date selected must be at least 15 working days from today\",\r\n firstPaymentDateUnder10: \"The date selected must be at least 10 working days from today\",\r\n endDateUnder: \"End date must be equal to or later than the first payment date\",\r\n dateOver28: \"Date must also be between 1-28 of any month\",\r\n grossOneOffIncomePerPaymentOver:\r\n \"One off income payment value cannot be greater than the Maximum gross one-off income payment value\",\r\n targetSpecificArrangementsMessage: (\r\n

\r\n For purposes of illustration, the income is assumed to be taken proportionally across all crystallised\r\n arrangements\r\n

\r\n ),\r\n standardAlgorithmCappedMessage:\r\n \"SL to provide content regarding the maximum gross annual income and the income paid to date\",\r\n inheritedFundMessage:\r\n \"SL to provide content around whether the inherited drawdowns should be targeted or excluded and they should consider the use of the standard algorithm or targeting arrangements\",\r\n};\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { ProductWrapperDispatcher } from \"./Variable\";\r\n\r\nexport interface ProductWrapperStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class ProductWrapperStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ProductWrapperDispatcher, (actionData) => this.onProductWrapperStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): ProductWrapperStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ProductWrapperStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onProductWrapperStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { QuoteClientInfoDispatcher } from \"./Variable\";\r\n\r\nexport interface QuoteClientInfoStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class QuoteClientInfoStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(QuoteClientInfoDispatcher, (actionData) => this.onQuoteClientInfoStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): QuoteClientInfoStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): QuoteClientInfoStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onQuoteClientInfoStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { QuoteModel } from \"../../../../../../Wrap/Models/Models/Processes/Quote/QuoteModel\";\r\nimport { processTypeEnum } from \"../../Common/Resource/Contents\";\r\nimport { QuoteInstructionDispatcher } from \"./Variable\";\r\n\r\nexport interface QuoteInstructionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: QuoteModel;\r\n}\r\n\r\nexport class QuoteInstructionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(QuoteInstructionDispatcher, (actionData) =>\r\n this.onQuoteInstructionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): QuoteInstructionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n //mock data need to be removed\r\n // const _data: QuoteModel = JSON.parse(JSON.stringify(this.getState().data));\r\n // if (_data?.PensionQuote?.DrawdownModel?.CrystallisationDetails) {\r\n // _data.PensionQuote.DrawdownModel.CrystallisationDetails.AvailableToCrystallise = {\r\n // Amount: 4000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.PensionQuote.DrawdownModel.CrystallisationDetails.CrystallisedValue = {\r\n // Amount: 3000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.PensionQuote.DrawdownModel.CrystallisationDetails.UnCrystallisedValue = {\r\n // Amount: 4000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.PensionQuote.DrawdownModel.CrystallisationDetails.AvailableCash = {\r\n // Amount: 2000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n // if (_data?.PensionQuote?.DrawdownModel) {\r\n // _data.PensionQuote.DrawdownModel.CurrentPclsEntitlement = {\r\n // Amount: 300,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n\r\n // if (_data?.PensionQuote?.DrawdownModel) {\r\n // _data.PensionQuote.DrawdownModel.LifetimeAllowance = {\r\n // ChargeableCrystallisationPortion: {\r\n // Amount: 500,\r\n // Currency: CurrencyCode.GBP,\r\n // },\r\n // AvailablePersonalAllowance: {\r\n // Amount: 500,\r\n // Currency: CurrencyCode.GBP,\r\n // },\r\n // SlaBenefitsPriorTo2006: 5,\r\n // TotalSlaUsed: 25,\r\n // SlaPreviouslyCrystallised: 10,\r\n // SlaUsedByProposedCrystallisation: 2,\r\n // };\r\n\r\n // if (_data?.PensionQuote?.DrawdownModel?.Income) {\r\n // _data.PensionQuote.DrawdownModel.Income.MaximumAvailablePerPayment = {\r\n // Amount: 20000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.PensionQuote.DrawdownModel.Income.MaximumIncomePerPayment = {\r\n // Amount: 20000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.PensionQuote.DrawdownModel.Income.MaximumInitialIncomePayment = {\r\n // Amount: 17500,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n\r\n // if (_data?.PensionQuote?.DrawdownModel?.OneOffTaxableWithdrawalDetails) {\r\n // _data.PensionQuote.DrawdownModel.OneOffTaxableWithdrawalDetails.MaximumGrossOneOffIncomePayment = {\r\n // Amount: 16300,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n // }\r\n\r\n // if (_data?.PensionQuote?.PensionTransfers?.length > 0) {\r\n // const result = calculateBasedOnStandardAlgorithm(processTypeEnum.Quote, _data?.PensionQuote);\r\n // _data.PensionQuote.PensionTransfers = _data.PensionQuote.PensionTransfers.map((e) => {\r\n // if (e?.IncomePaymentDetails?.DrawdownIncome?.AnnualIncome) {\r\n // e.IncomePaymentDetails.DrawdownIncome.AnnualIncome.MaximumIncomePerPayment = {\r\n // Amount: result.MaximumIncomePerPayment,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n // if (e?.OneOffTaxableWithdrawalDetails) {\r\n // e.OneOffTaxableWithdrawalDetails.MaximumGrossOneOffIncomePayment = {\r\n // Amount: result.MaximumGrossOneOffIncomePayment,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n // return e;\r\n // });\r\n // }\r\n\r\n // return _data;\r\n\r\n return JSON.parse(JSON.stringify(this.getState().data));\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): QuoteInstructionStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onQuoteInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType, isLoading: actionData.payload });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { SecondClientDetailsDispatcher } from \"./Variable\";\r\n\r\nexport interface SecondClientDetailsStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class SecondClientDetailsStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(SecondClientDetailsDispatcher, (actionData) => this.onSecondClientDetailsStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): SecondClientDetailsStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): SecondClientDetailsStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onSecondClientDetailsStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { ProductWrapperStatic } from \"./ProductWrapperStatic\";\r\nimport { QuoteClientInfoStatic } from \"./QuoteClientInfoStatic\";\r\nimport { QuoteInstructionStatic } from \"./QuoteInstructionStatic\";\r\nimport { SecondClientDetailsStatic } from \"./SecondClientDetailsStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const QuoteInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const QuoteInstructionStore: QuoteInstructionStatic = new QuoteInstructionStatic();\r\n\r\nexport const QuoteClientInfoDispatcher: Dispatcher = new Dispatcher();\r\nexport const QuoteClientInfoStore: QuoteClientInfoStatic = new QuoteClientInfoStatic();\r\n\r\nexport const ProductWrapperDispatcher: Dispatcher = new Dispatcher();\r\nexport const ProductWrapperStore: ProductWrapperStatic = new ProductWrapperStatic();\r\n\r\nexport const SecondClientDetailsDispatcher: Dispatcher = new Dispatcher();\r\nexport const SecondClientDetailsStore: SecondClientDetailsStatic = new SecondClientDetailsStatic();\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { GiaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/GiaContributionInstruction\";\r\nimport { InstructionIsAdHocNoChangeClient } from \"../../../../../../Wrap/Api/Apply/InstructionIsAdHocNoChange\";\r\nimport { IsaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/IsaContributionInstruction\";\r\nimport { WhatIfToolInstructionClient } from \"../../../../../../Wrap/Api/Apply/WhatIfToolInstruction\";\r\nimport { ProcessType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { NoChangeToolDisaptcher } from \"../Store/Variable\";\r\n\r\nexport class NoChangeAction {\r\n public static getInstruction(\r\n id: string,\r\n hierarchyId: string,\r\n subAccountHierarchyId: string,\r\n clientId: number,\r\n productType: SubAccountType\r\n ): void {\r\n if (SubAccountTypeHelper.isPP(productType)) {\r\n const giaContributionInstruction = new GiaContributionInstructionClient();\r\n this.getOrCreateInstruction(giaContributionInstruction, id, hierarchyId, subAccountHierarchyId, clientId);\r\n } else if (SubAccountTypeHelper.isIsa(productType)) {\r\n const isaContributionInstruction = new IsaContributionInstructionClient();\r\n this.getOrCreateInstruction(isaContributionInstruction, id, hierarchyId, subAccountHierarchyId, clientId);\r\n }\r\n }\r\n\r\n public static submitInstruction(instructionId: string, callback) {\r\n const client = new WhatIfToolInstructionClient();\r\n const promise = client.put(instructionId);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n\r\n private static getOrCreateInstruction(\r\n client: IsaContributionInstructionClient | GiaContributionInstructionClient,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId\r\n ) {\r\n if (!CommonHelper.isNullOrEmpty(id)) {\r\n // Have instructionId\r\n const promise = client.get(id, clientId, \"\", null);\r\n this.updateNoChangeInstructionStore(promise);\r\n } else {\r\n // Create new instruction\r\n const promise = client.post(subAccountHierarchyId, hierarchyId, ProcessType.NoChangeTool);\r\n promise.onSuccess((result) => {\r\n const instructionId = result.Result;\r\n const model = client.get(instructionId, clientId, \"\", null);\r\n this.updateNoChangeInstructionStore(model);\r\n });\r\n\r\n promise.onError((err) => {\r\n NoChangeToolDisaptcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n }\r\n\r\n private static updateNoChangeInstructionStore(promise: any, callback?: (data) => void) {\r\n promise.onSuccess((result) => {\r\n NoChangeToolDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => {\r\n NoChangeToolDisaptcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getPrepopulateData(subAccountHierarchyId: string, headHierarchyId: string, callback) {\r\n const client = new WhatIfToolInstructionClient();\r\n const promise = client.get(subAccountHierarchyId, headHierarchyId, null);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n public static updateInstructionIsAdHocNoChange(instructionId: number, isAdHocNoChange = true) {\r\n const client = new InstructionIsAdHocNoChangeClient();\r\n const promise = client.put(instructionId, isAdHocNoChange);\r\n promise.onSuccess(() => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { subAccountTypeMap } from \"../../PortfolioDashboard/Components/Performance/Resource/Contents\";\r\nimport { IllustrationsAvailable } from \"../../Common/Documents/Components/IllustrationsAvailable\";\r\nimport { NoChangeToolStore } from \"../Store/Variable\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../../Common/Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { DocumentCategory } from \"../../../../../../Wrap/Constants/Enums/Domain/DocumentCategory\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: GiaContributionModel | IsaContributionModel;\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n const data = NoChangeToolStore.getData();\r\n InstructionDocumentTypeRequestTriggerActionsCreator.triggerByInstructionId(data.HierarchyId as string, [\r\n DocumentCategory.Illustration,\r\n ]);\r\n }\r\n\r\n private getStepReviewProps = () => {\r\n return {\r\n data: this.props.data?.Contribution,\r\n subAccountType: this.props.type,\r\n process: ProcessType.Quote,\r\n colNum: 2,\r\n };\r\n };\r\n\r\n private successLabelRender() {\r\n const { data, type } = this.props;\r\n const createdDate = JsonDateParser.getFormatDateString(new Date(), \"dd MM yyyy\", true);\r\n const reference = data?.HierarchyId;\r\n const config = [\r\n {\r\n title: \"Created:\",\r\n data: createdDate,\r\n },\r\n {\r\n title: \"Wrapper:\",\r\n data: subAccountTypeMap[type],\r\n },\r\n ];\r\n return (\r\n
\r\n

\r\n No change tool {reference} successfully created\r\n

\r\n
\r\n

No change wizard No. {reference}

\r\n \r\n this.appendChild(ref)} onChange={() => {}} data={data} />\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { data, type } = this.props;\r\n return <>{this.successLabelRender()};\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { NoChangeAction } from \"./Action/NoChangeAction\";\r\nimport { Review } from \"./Components/Review\";\r\nimport { stepTitle } from \"./Resource/Contents\";\r\nimport { NoChangeToolStore } from \"./Store/Variable\";\r\nimport { AccountRoleStore, ClientAccountStore } from \"../../../Stroes/Variable\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { RoutingActions } from \"../../../../../react-core/Flux/Variables\";\r\nimport { getUrl } from \"../PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { SPTAction } from \"../SinglePaymentTransferWizard/Actions/SPTActions\";\r\nimport { ProcessType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\n\r\nexport class NoChangeToolWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n isRestrictionLoading: true,\r\n clientAccount: null,\r\n customer: null,\r\n };\r\n }\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(NoChangeToolStore, () => this.onInstructionStoreChange());\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n const data = NoChangeToolStore.getData();\r\n this.setState({\r\n isLoading: CommonHelper.isNullOrEmpty(data),\r\n data: data,\r\n onPosting: false,\r\n active: data.Status === InstructionStatus.Pending || data.Status === InstructionStatus.NotSpecified,\r\n });\r\n\r\n SPTAction.postInstructionProcess(\r\n HierarchyIdHelper.generateHierarchyId(data.HierarchyId).entityId,\r\n ProcessType.NoChangeTool\r\n );\r\n\r\n NoChangeAction.submitInstruction(this.state.data?.HierarchyId, () => {\r\n this.setState({\r\n isSubmitting: false,\r\n onPosting: false,\r\n active: false,\r\n isShowErrorMsg: false,\r\n errorMsg: [],\r\n });\r\n });\r\n\r\n const { entityId: instructionId } = HierarchyIdHelper.generateHierarchyId(data.HierarchyId);\r\n NoChangeAction.updateInstructionIsAdHocNoChange(instructionId);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { clientAccount, customer } = this.state;\r\n if (clientAccount && customer && !this.state.data) {\r\n const params = getQueryParameters();\r\n NoChangeAction.getInstruction(\r\n params[\"id\"],\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n this.state.customer?.CustomerId,\r\n this.getCurProductType()\r\n );\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n }\r\n\r\n onSubmit() {}\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {}\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n RoutingActions.navigateTo(getUrl(clientAccount, accountRoles, \"summary\"));\r\n }\r\n\r\n private getCurProductType(): SubAccountType {\r\n const clientInfo = ClientAccountStore.getClientAccountInfo();\r\n const params = getQueryParameters();\r\n const productType = (clientInfo.SubAccounts || []).find(\r\n (ele) => ele.HierarchyId == params[\"subaccounthierarchyid\"]\r\n )?.SubAccountType;\r\n return productType;\r\n }\r\n\r\n getStepProps(index) {\r\n const stepProps = super.getStepProps(index);\r\n return stepProps;\r\n }\r\n\r\n setStepperConfig() {\r\n const productType = this.getCurProductType();\r\n const { data } = this.state;\r\n this.stepperConfig = [\r\n {\r\n title: stepTitle.review,\r\n url: Urls.get().WhatIfToolReview,\r\n path: Contents.URLMap.review,\r\n component: ,\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"No Change Tool\";\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: `${this.state.customer?.PersonalDetails?.Name?.Given} ${this.state.customer?.PersonalDetails?.Name?.Family}`,\r\n splitHeaderSub: ClientAccountStore.getClientAccountInfo()?.HeadClAccountId,\r\n };\r\n return processProps;\r\n }\r\n}\r\n","export const stepTitle = {\r\n review: \"Illustration ready\",\r\n};\r\n","import { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { SingleDataStore } from \"../../../../../Shared/Stores/SingleDataStore\";\r\nimport { SingleDataStoreDispacher } from \"../../../../../Shared/Stores/SingleDataStoreDispacher\";\r\n\r\nexport const NoChangeToolDisaptcher: SingleDataStoreDispacher<\r\n GiaContributionModel | IsaContributionModel\r\n> = new SingleDataStoreDispacher();\r\n\r\nexport const NoChangeToolStore: SingleDataStore = new SingleDataStore<\r\n GiaContributionModel | IsaContributionModel\r\n>(NoChangeToolDisaptcher);\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { PensionContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/PensionContributionInstruction\";\r\nimport { PensionBenefitsInstructionDispatcher } from \"../Store/Variable\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SubAccountAmendmentInstructionClient } from \"../../../../../../Wrap/Api/Apply/SubAccountAmendmentInstruction\";\r\nimport { ProcessType as ActivityType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\n\r\nexport class PensionBenefitsAction {\r\n public static getInstruction(id, type, hierarchyId, subAccountHierarchyId, clientId, onInstructionLoadedCallback: () => void = () => {}): void {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n if (CommonHelper.isNullOrEmpty(id)) {\r\n pensionContributionInstruction\r\n .post(subAccountHierarchyId, hierarchyId, ActivityType.TakePensionBenefit)\r\n .onSuccess((result) => {\r\n const instructionId = result.Result;\r\n const model = pensionContributionInstruction.get(instructionId, clientId, \"\", null);\r\n model.onSuccess((result) => {\r\n PensionBenefitsInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n\r\n onInstructionLoadedCallback();\r\n });\r\n });\r\n } else {\r\n pensionContributionInstruction.get(id, clientId, null, null)\r\n .onSuccess((result) => {\r\n PensionBenefitsInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n\r\n onInstructionLoadedCallback();\r\n });\r\n }\r\n }\r\n\r\n public static saveInstruction(from, data: any, customerId?: number, callback?: (data) => void): void {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n const promise = pensionContributionInstruction.put(data, customerId);\r\n promise.onSuccess((result) => {\r\n PensionBenefitsInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (result.Errors != null && result.Errors.length > 0) {\r\n callback(result.Errors.map((ele) => ele.UserMessage));\r\n } else {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n PensionBenefitsInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static submitInstruction(id, data, customerId, claccountId, callback?: VoidFunction): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.put(id, data, customerId, claccountId);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static deleteInstruction(id, callback?: VoidFunction): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.delete(id);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { PensionContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContribution\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\n\r\ninterface INewlyCalculatedGADDetailsProps extends IProcessComponentProps {\r\n data: PensionContribution;\r\n}\r\n\r\ninterface INewlyCalculatedGADDetailsState {}\r\n\r\nexport class NewlyCalculatedGADDetails extends ProcessComponent<\r\n INewlyCalculatedGADDetailsProps,\r\n INewlyCalculatedGADDetailsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n getConfig() {\r\n const { data } = this.props;\r\n const gadRates = data?.DrawdownModel?.GadRates;\r\n const options = [\r\n {\r\n title: \"GAD Maximum\",\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(gadRates?.GadMaximum),\r\n },\r\n ];\r\n if (gadRates?.NextGadMaximum < gadRates?.GadMaximum) {\r\n options.push({\r\n title: \"Next year's GAD maximum\",\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(gadRates?.NextGadMaximum),\r\n });\r\n }\r\n return options;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

Newly calculated GAD details

\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { NewlyCalculatedGADDetails } from \"./CalculatedGADDetails\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { ChooseAssetsToSell } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSell\";\r\nimport { ChooseAssetsToSellTable } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport {\r\n getAssetsToSellTotalForDrawdown,\r\n getSellableAssets,\r\n getUpdatedAssetsToSell,\r\n showChooseAssetstoSell,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\nimport { RegularIncomePaymentDetails } from \"./RegularIncomePaymentDetails\";\r\nimport { OtherIncomePaymentDetails } from \"./OtherIncomePaymentDetails\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { IncomeBankDetails } from \"../../../Common/SIPP/IncomePaymentDetails/IncomeBankDetails\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\n\r\ninterface IIncomePaymentDetailsProps extends IProcessComponentProps {\r\n data: PensionContributionModel;\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IIncomePaymentDetailsState {\r\n assets: ChooseAssetsToSellAssets[];\r\n}\r\n\r\nexport class IncomePaymentDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n assets: [],\r\n };\r\n }\r\n\r\n private getSellableAssets = () => {\r\n const params = getQueryParameters();\r\n const hierarchyId = params[\"hierarchyid\"];\r\n SubAccountTypeHelper.getSubAccountHierarchyId(hierarchyId, SubAccountType.Npr, (subAccountHierarchyId) => {\r\n getSellableAssets(this.props.type, hierarchyId, subAccountHierarchyId, (data) => {\r\n const usedTotal = getAssetsToSellTotalForDrawdown(this.props.data?.Contribution?.DrawdownModel);\r\n const updateAssets = getUpdatedAssetsToSell(\r\n this.props.data?.Contribution?.DrawdownModel.PensionCommencementLumpSumAllocations,\r\n usedTotal,\r\n data\r\n );\r\n this.setState({ assets: updateAssets });\r\n });\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getSellableAssets();\r\n }\r\n\r\n private getContributionProps = (data: PensionContributionModel, onChange) => {\r\n return {\r\n data: data?.Contribution,\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n private getDrawdownModelProps = (data: PensionContributionModel, onChange) => {\r\n return {\r\n data: data?.Contribution?.DrawdownModel,\r\n onChange: (v) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n v,\r\n data.Contribution,\r\n \"DrawdownModel\"\r\n ),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n showChooseAssetsToSellTable() {\r\n const { data } = this.props;\r\n return (\r\n data?.Contribution?.DrawdownModel?.IsAcrossAllAssets == false ||\r\n !isNullOrEmpty(data?.Contribution?.DrawdownModel?.IncomeDisinvestmentAllocations)\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const drawdownType = data?.Contribution?.DrawdownModel?.DrawdownType;\r\n\r\n return (\r\n <>\r\n {

Income payment details

}\r\n\r\n {drawdownType === DrawdownType.Capped && (\r\n \r\n )}\r\n {drawdownType === DrawdownType.Regular ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {showChooseAssetstoSell(data.Contribution.DrawdownModel, ChooseAssetsToSellFor.Income) && (\r\n <>\r\n
\r\n \r\n {this.showChooseAssetsToSellTable() && (\r\n this.appendChild(ref)}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n { IncomeDisinvestmentAllocations: v },\r\n data.Contribution,\r\n \"DrawdownModel\"\r\n );\r\n }}\r\n processType={ProcessType.TakePensionBenefits}\r\n reason={ChooseAssetsToSellFor.Income}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n {\r\n onChange(\r\n setValueByKey(data, \"Contribution.DrawdownModel.Income.IncomePaymentAllocations\", value)\r\n );\r\n }}\r\n showErrorMsgPopUp={(msg, isShow) => this.props.showErrorMsgPopUp(msg, isShow)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n allBankAccounts={data?.AllBankAccounts}\r\n showPropotionOfIncome={data?.Contribution?.DrawdownModel?.Income?.TaxableIncomeRequiredInAddition}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { isNullOrEmpty } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport { CappedFlexiSection } from \"../../../Common/SIPP/IncomePaymentDetails/CappedFlexiSection\";\r\nimport { IncomeRequired } from \"../../../Common/SIPP/IncomePaymentDetails/IncomeRequired\";\r\nimport RegularIncomePayment from \"../../../Common/SIPP/IncomePaymentDetails/RegularIncomePayment\";\r\nimport {\r\n incomePaymentDetailsLabels,\r\n incomePaymentDetailsMessages,\r\n} from \"../../../Common/SIPP/IncomePaymentDetails/Resource/Content\";\r\n\r\ninterface IOtherIncomePaymentDetailsProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n pensionBase: PensionBase;\r\n}\r\n\r\ninterface IOtherIncomePaymentDetailsState {}\r\n\r\nexport class OtherIncomePaymentDetails extends ProcessComponent<\r\n IOtherIncomePaymentDetailsProps,\r\n IOtherIncomePaymentDetailsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n private handleChange(changes) {\r\n const { onChange, data } = this.props;\r\n this.onDataChange(onChange, changes, data, \"Income\");\r\n }\r\n\r\n private getIncomeProps = (data, onChange) => {\r\n return {\r\n data: data?.Income,\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, \"Income\"),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, pensionBase } = this.props;\r\n const drawdownType = data?.DrawdownType;\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.handleChange({\r\n TaxableIncomeRequiredInAddition: v,\r\n TargetSpecificArrangements: null,\r\n GrossIncomePerPayment: null,\r\n GrossIncomePerPaymentFromPension: null,\r\n IncomePaymentAllocations: null,\r\n GrossInitialIncomePayment: null,\r\n });\r\n onChange({\r\n IncomeDisinvestmentAllocations: null,\r\n });\r\n }}\r\n />\r\n {data?.Income?.TaxableIncomeRequiredInAddition && (\r\n <>\r\n \r\n {data?.Income?.TargetSpecificArrangements && (\r\n this.appendChild(ref)}\r\n income={data?.Income}\r\n onIncomeChange={(changes) => this.onDataChange(onChange, changes, data, \"Income\")}\r\n data={data?.ExistingArrangements}\r\n onChange={(changes) =>\r\n this.onDataChange(onChange, changes, data, \"ExistingArrangements\")\r\n }\r\n drawdownType={drawdownType}\r\n pensionProtection={pensionBase?.PensionProtection}\r\n />\r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { PensionBase } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/PensionBase\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport IncomeRequired from \"../../../Common/SIPP/IncomePaymentDetails/IncomeRequired\";\r\nimport RegularIncomePayment from \"../../../Common/SIPP/IncomePaymentDetails/RegularIncomePayment\";\r\nimport {\r\n incomePaymentDetailsLabels,\r\n incomePaymentDetailsMessages,\r\n} from \"../../../Common/SIPP/IncomePaymentDetails/Resource/Content\";\r\n\r\ninterface IRegularIncomePaymentDetailsProps extends IProcessComponentProps {\r\n data: DrawdownModel;\r\n pensionBase: PensionBase;\r\n}\r\n\r\ninterface IRegularIncomePaymentDetailsState {}\r\n\r\nexport class RegularIncomePaymentDetails extends ProcessComponent<\r\n IRegularIncomePaymentDetailsProps,\r\n IRegularIncomePaymentDetailsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private handleChange(changes) {\r\n const { onChange, data } = this.props;\r\n this.onDataChange(onChange, changes, data, \"Income\");\r\n }\r\n\r\n private getIncomeProps = (data, onChange) => {\r\n return {\r\n data: data?.Income,\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, \"Income\"),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, pensionBase } = this.props;\r\n const drawdownType = data?.DrawdownType;\r\n return (\r\n <>\r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n this.handleChange({\r\n TaxableIncomeRequiredInAddition: v,\r\n TargetSpecificArrangements: null,\r\n GrossIncomePerPayment: null,\r\n GrossIncomePerPaymentFromPension: null,\r\n IncomePaymentAllocations: null,\r\n GrossInitialIncomePayment: null,\r\n });\r\n onChange({\r\n IncomeDisinvestmentAllocations: null,\r\n });\r\n }}\r\n />\r\n {data?.Income?.TaxableIncomeRequiredInAddition && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PensionOption } from \"../../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { OAC } from \"../../../Common/AdviserCharges/Components/OAC\";\r\nimport { LessThanAge } from \"../../../Common/Helpers/PensionHelper\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { FinancialAdvice } from \"../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { DrawdownCalculationAction } from \"../../../Common/SIPP/DrawdownDetails/Action/DrawdownCalculationAction\";\r\nimport { BceAndPclsTaxYear } from \"../../../Common/SIPP/DrawdownDetails/BceAndPCLSTaxYear\";\r\nimport { ChooseAssetsToSell } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSell\";\r\nimport { ChooseAssetsToSellTable } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport { CrystallisationDetailsSection } from \"../../../Common/SIPP/DrawdownDetails/CrystallisationDetails\";\r\nimport { DIAC } from \"../../../Common/SIPP/DrawdownDetails/DIAC\";\r\nimport { DrawdownPriceLock } from \"../../../Common/SIPP/DrawdownDetails/DrawdownPriceLock\";\r\nimport { DrawdownTypeOption } from \"../../../Common/SIPP/DrawdownDetails/DrawdownType\";\r\nimport {\r\n getSellableAssets,\r\n hasEnhancedPensionProtection,\r\n isCappedOrFlexIOrUFPLS,\r\n isRegualr,\r\n showChooseAssetstoSell,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { IllHealth } from \"../../../Common/SIPP/DrawdownDetails/IllHealth\";\r\nimport { Information } from \"../../../Common/SIPP/DrawdownDetails/Information\";\r\nimport { LTABreakdownDetails } from \"../../../Common/SIPP/DrawdownDetails/LTABreakdownDetails\";\r\nimport { PensionOptions } from \"../../../Common/SIPP/DrawdownDetails/PensionOptions\";\r\nimport { PensionProtection } from \"../../../Common/SIPP/DrawdownDetails/PensionProtection\";\r\nimport { PreADayPensionDetails } from \"../../../Common/SIPP/DrawdownDetails/PreADayPensionDetails\";\r\nimport { RegularCrystallisation } from \"../../../Common/SIPP/DrawdownDetails/RegularCrystallisation\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\nimport { TaxFreeLumpSumPayment } from \"../../../Common/SIPP/DrawdownDetails/TaxFreeLumpSumPayment\";\r\nimport { IncomeBankDetails } from \"../../../Common/SIPP/IncomePaymentDetails/IncomeBankDetails\";\r\nimport { CalculateEstimatedPaye } from \"../../../NewOneOffIncomePaymentWizard/Components/Shared/CalculateEstimatedPaye\";\r\nimport { PensionBenefitsAction } from \"../../Actions/PensionBenefitsAction\";\r\nimport { PensionBenefitsInstructionStore } from \"../../Store/Variable\";\r\n\r\ninterface IPensionBenefitsDetailsProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: PensionContributionModel;\r\n hasCashIsa?: boolean;\r\n customerId?: number;\r\n}\r\n\r\ninterface IPensionBenefitsDetailsState {\r\n assets: ChooseAssetsToSellAssets[];\r\n isLoading: boolean;\r\n originType: DrawdownType;\r\n}\r\n\r\nexport class PensionBenefitsDetails extends ProcessComponent<\r\n IPensionBenefitsDetailsProps,\r\n IPensionBenefitsDetailsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n assets: [],\r\n isLoading: false,\r\n originType: null,\r\n };\r\n }\r\n\r\n isValid() {\r\n if (this.props.data?.Contribution?.DrawdownModel?.PreADay) {\r\n this.props.showErrorMsgPopUp([\"Cancel the process unless select 'No' for Pre-A-Day pension details\"]);\r\n }\r\n if (!this.props.data?.Contribution?.DrawdownModel?.InstructionId) {\r\n this.props.showErrorMsgPopUp([\"Cancel the process unless as the client does not have ill health\"]);\r\n return false;\r\n }\r\n return super.isValid() && this.props.data?.Contribution?.DrawdownModel?.PreADay == false;\r\n }\r\n\r\n private getComponentProps = (data: PensionContributionModel, onChange) => {\r\n return {\r\n data: data?.Contribution?.DrawdownModel,\r\n onChange: (v) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n v,\r\n data.Contribution,\r\n \"DrawdownModel\"\r\n ),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n private getSellableAssets = () => {\r\n const params = getQueryParameters();\r\n const hierarchyId = params[\"hierarchyid\"];\r\n SubAccountTypeHelper.getSubAccountHierarchyId(hierarchyId, SubAccountType.Npr, (subAccountHierarchyId) => {\r\n getSellableAssets(this.props.type, hierarchyId, subAccountHierarchyId, (data) => {\r\n this.setState({ assets: data });\r\n });\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getSellableAssets();\r\n if (!this.props.data.Contribution?.AdviceGiven) {\r\n this.onDataChange(this.props.onChange, { AdviceGiven: true }, this.props.data, \"Contribution\");\r\n }\r\n if (\r\n !LessThanAge(55, JsonDateParser.toDate(this.props.data?.ClientDetails?.DateOfBirth)) &&\r\n !this.props.data?.Contribution?.DrawdownModel?.InstructionId\r\n ) {\r\n this.createAndLoadDrawdownInstruction(this.props.data);\r\n }\r\n }\r\n\r\n private doCalculation = () => {\r\n this.setState({ isLoading: true });\r\n const originType =\r\n this.state.originType ||\r\n PensionBenefitsInstructionStore.getData()?.Contribution?.DrawdownModel?.DrawdownType;\r\n const currType = this.props.data?.Contribution?.DrawdownModel?.DrawdownType;\r\n const _data = JSON.parse(JSON.stringify(this.props.data));\r\n this.setState({ originType: currType });\r\n const originIsRegular = originType == DrawdownType.Regular;\r\n const currIsRegular = currType == DrawdownType.Regular;\r\n _data.Contribution.DrawdownModel.ChangeInstructionType =\r\n (originIsRegular && !currIsRegular) || (!originIsRegular && currIsRegular);\r\n PensionBenefitsAction.saveInstruction(1, _data, this.props.customerId, () => {\r\n this.setState({ isLoading: false });\r\n });\r\n };\r\n\r\n private needIllHealth(data) {\r\n return (\r\n LessThanAge(55, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth)) &&\r\n !data?.Contribution?.DrawdownModel?.InstructionId\r\n );\r\n }\r\n\r\n private createAndLoadDrawdownInstruction(data: PensionContributionModel) {\r\n this.setState({ isLoading: true });\r\n\r\n DrawdownCalculationAction.postDrawdown(\r\n this.props.data?.Contribution?.HierarchyId,\r\n null,\r\n (drawdownModel: DrawdownModel) => {\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const subAccountHierarchyId = getQueryParameters()[\"subaccounthierarchyid\"];\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n PensionBenefitsAction.getInstruction(\r\n data?.Contribution?.HierarchyId,\r\n type,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n this.props.customerId,\r\n () => {\r\n this.setState({ isLoading: false, originType: drawdownModel?.DrawdownType });\r\n }\r\n );\r\n },\r\n true\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const ageLessThan75 = LessThanAge(75, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth));\r\n if (this.needIllHealth(data)) {\r\n return (\r\n {\r\n this.createAndLoadDrawdownInstruction(data);\r\n }}\r\n />\r\n );\r\n }\r\n return (\r\n \r\n

Pension Benefits Details

\r\n this.onDataChange(onChange, changes, data, \"Contribution\")}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n {data?.Contribution?.AdviceGiven && (\r\n <>\r\n \r\n this.onDataChange(onChange, { DrawdownModel: d }, data, \"Contribution\")\r\n }\r\n />\r\n \r\n {data?.Contribution?.DrawdownModel?.PreADay == false && (\r\n <>\r\n this.appendChild(ref)}\r\n data={data?.Contribution}\r\n onChange={(v) => this.onDataChange(onChange, v, data, \"Contribution\")}\r\n process={ProcessType.TakePensionBenefits}\r\n />\r\n \r\n {data?.Contribution?.DrawdownModel?.PensionOption != PensionOption.UFPLS && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n {data?.Contribution?.DrawdownModel?.PreADay == false && (\r\n <>\r\n {isRegualr(data?.Contribution?.DrawdownModel) &&\r\n data?.Contribution?.DrawdownModel?.PensionOption != PensionOption.UFPLS && (\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n process={ProcessType.TakePensionBenefits}\r\n />\r\n )}\r\n {isCappedOrFlexIOrUFPLS(data?.Contribution?.DrawdownModel) && (\r\n this.doCalculation()}\r\n modelData={null}\r\n processType={ProcessType.TakePensionBenefits}\r\n {...this.getComponentProps(data, onChange)}\r\n pensionProtection={data?.Contribution?.PensionProtection}\r\n />\r\n )}\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n process={ProcessType.TakePensionBenefits}\r\n lessThan75={ageLessThan75}\r\n />\r\n \r\n {data?.Contribution?.DrawdownModel?.DrawdownType !== DrawdownType.Regular &&\r\n data?.Contribution?.DrawdownModel?.PensionOption != PensionOption.UFPLS && (\r\n \r\n )}\r\n {}}\r\n data={{\r\n OngoingAdviceCharge:\r\n data?.Contribution?.DrawdownModel?.DrawdownAdviserCharge\r\n ?.OngoingAdviserCharge,\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n
\r\n \r\n {showChooseAssetstoSell(\r\n data?.Contribution?.DrawdownModel,\r\n ChooseAssetsToSellFor.Drawdown\r\n ) && (\r\n <>\r\n \r\n {data?.Contribution?.DrawdownModel?.IsAcrossAllAssets == false && (\r\n this.appendChild(ref)}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n (changes) =>\r\n this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n { PensionCommencementLumpSumAllocations: v },\r\n data.Contribution,\r\n \"DrawdownModel\"\r\n );\r\n }}\r\n processType={ProcessType.TakePensionBenefits}\r\n reason={ChooseAssetsToSellFor.Drawdown}\r\n />\r\n )}\r\n \r\n )}\r\n\r\n {data?.Contribution?.DrawdownModel?.PensionOption === PensionOption.UFPLS && (\r\n <>\r\n \r\n
\r\n {\r\n onChange(\r\n setValueByKey(\r\n data,\r\n \"Contribution.DrawdownModel.Income.IncomePaymentAllocations\",\r\n value\r\n )\r\n );\r\n }}\r\n showErrorMsgPopUp={(msg, isShow) =>\r\n this.props.showErrorMsgPopUp(msg, isShow)\r\n }\r\n onRef={(ref) => this.appendChild(ref)}\r\n allBankAccounts={data?.AllBankAccounts}\r\n showPropotionOfIncome={false}\r\n />\r\n \r\n )}\r\n {/*
*/}\r\n {/* */}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\n\r\ninterface IDeclarationsProps extends IProcessComponentProps {}\r\n\r\ninterface IDeclarationsState {\r\n checkedDeclarations: number[];\r\n}\r\n\r\nexport class Declarations extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n checkedDeclarations: [],\r\n };\r\n }\r\n\r\n isValid() {\r\n if (this.state.checkedDeclarations.length < 2) {\r\n this.props.showErrorMsgPopUp([\"You must accept all items to continue\"], true);\r\n }\r\n\r\n return super.isValid() && this.state.checkedDeclarations.length == 2;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n

Declarations

\r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(1) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 1) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n

\r\n The information supplied by me is true and complete to the best of my client's knowledge as at the\r\n date of this declaration. I understand that any false statement may result in HM Revenue & Custom\r\n imposing penalties on the client.\r\n

\r\n

\r\n I understand that a Lifetime Allowance Charge, where applicable, will be deducted from the SIPP and\r\n paid to HM Revenue & Customs.\r\n

\r\n

\r\n My client agrees to indemnify Standard Life Assurance Limited (SLAL) against any liability to pay\r\n any tax or other charges which occur due to the provision of false or misleading information.\r\n

\r\n

\r\n Any payment by Standard Life Assurance Limited (SLAL) of the benefitts under this SIPP shall\r\n constitute a full discharge from all liabilities and claims arising in respect of the pension monies\r\n applied in this Benefit Crystallisation Event request.\r\n

\r\n

\r\n Any tax-free lump sum will not be used to fund further contributions to any registered pensions\r\n scheme to the extent that either Standard Liufe Assurance Limited (SLAL) or I will suffer a tax\r\n liability.\r\n

\r\n

\r\n I confirm that the client gives Standard Life Assurance Limited (SLAL) the authority to check with\r\n HM Revenue & Customs the detyails of any LTA protection certificate supplied.\r\n

\r\n

\r\n I can confirm that I have provided my client with an illustration in relation to this withdrawal, in\r\n line with my regulatory responsibilities as financial adviser, as detailed in FCA Sourcebook COBS\r\n 14.\r\n

\r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(2) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 2) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n

I confirm that I have seen appropriate evidence of age.

\r\n

This can be either:

\r\n

A valid driving license or passport, or

\r\n

A birth certificate

\r\n {\r\n if (v) {\r\n this.setState({ checkedDeclarations: [1, 2] });\r\n } else {\r\n this.setState({ checkedDeclarations: [] });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { DrawdownReview } from \"../../../Common/Review/Component/DrawdownReview\";\r\nimport { Declarations } from \"./Declarations\";\r\nimport { IncomePaymentReview } from \"../../../Common/Review/Component/IncomePaymentReview\";\r\nimport {\r\n hasEnhancedPensionProtection,\r\n showChooseAssetstoSell,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: PensionContributionModel;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n isReview: isReview,\r\n };\r\n };\r\n private showAssetsToSell = () => {\r\n return showChooseAssetstoSell(this.props.data?.Contribution.DrawdownModel, ChooseAssetsToSellFor.Drawdown);\r\n };\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n\r\n return (\r\n <>\r\n

Review

\r\n {/* */}\r\n \r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().PensionBenefitsDetails)\r\n }\r\n hasEnhancedPensionProtection={hasEnhancedPensionProtection(data?.Contribution)}\r\n />\r\n \r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().PensionBenefitsIncomePaymentDetails)\r\n }\r\n isITFC={false}\r\n />\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PensionOption } from \"../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../Actions/Action\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { ProductDetailsStore } from \"../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { DrawdownCalculationStoreStore } from \"../Common/SIPP/DrawdownDetails/Store/Variable\";\r\nimport { PensionBenefitsAction } from \"./Actions/PensionBenefitsAction\";\r\nimport { IncomePaymentDetails } from \"./Components/IncomePaymentDetails/IncomePaymentDetails\";\r\nimport { PensionBenefitsDetails } from \"./Components/PensionBenefitsDetails/PensionBenefitsDetails\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { productMap, PensionBenefitsSteppersMap } from \"./Resource/Contents\";\r\nimport { PensionBenefitsInstructionStore } from \"./Store/Variable\";\r\n\r\ninterface IPensionBenefitsWizardState extends IAccountContextWizardComponentState {}\r\nexport class PensionBenefitsWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n };\r\n }\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(PensionBenefitsInstructionStore, () => this.onInstructionStoreChange());\r\n this.subscribeToStore(DrawdownCalculationStoreStore, () => this.onPostDrawdown());\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (PensionBenefitsInstructionStore.getActionType() == ActionType.Success) {\r\n const data = PensionBenefitsInstructionStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n onPosting: false,\r\n active: data?.Status === InstructionStatus.Pending || data?.Status === InstructionStatus.NotSpecified,\r\n });\r\n }\r\n }\r\n\r\n private onPostDrawdown() {\r\n if (DrawdownCalculationStoreStore.getActionType() == ActionType.Loading) {\r\n this.setState({ onPosting: true });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n this.getProductDetails(hierarchyId);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { customer, clientAccount } = this.state;\r\n if (clientAccount && customer && !this.state.data) {\r\n const id = getQueryParameters()[\"id\"];\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n const npr = clientAccount.SubAccounts.find((x) => x.SubAccountType == SubAccountType.Npr);\r\n if (npr) {\r\n PensionBenefitsAction.getInstruction(\r\n id,\r\n type,\r\n clientAccount.HierarchyId,\r\n npr.HierarchyId,\r\n customer.CustomerId\r\n );\r\n }\r\n }\r\n }\r\n\r\n private getProductDetails(hierarchyId: string) {\r\n const _date = JsonDateParser.getFormatDateString(new Date(), \"yyyy/MM/dd\") as any;\r\n const wrapcash = ProductDetailsStore.getSubAccount(SubAccountType.WrapCash);\r\n\r\n if (!wrapcash) {\r\n Action.getProductsValuationDetailSummary(hierarchyId, null, _date);\r\n }\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params) {\r\n if (!params[\"id\"]) {params[\"id\"] = this.state.data.HierarchyId;}\r\n const { customer } = this.state;\r\n PensionBenefitsAction.saveInstruction(from, this.state.data, customer?.CustomerId, (result) => {\r\n this.setState({ onPosting: false });\r\n if (result?.length > 0) {\r\n this.setState({\r\n errorMsg: result,\r\n isShowErrorMsg: true,\r\n });\r\n } else {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n onCancel() {\r\n // PensionBenefitsAction.deleteInstruction(this.state.data.HierarchyId, () => this.onExit());\r\n //SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n //TODO: navigate to customer dashboard\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n PensionBenefitsAction.submitInstruction(\r\n this.state.data.HierarchyId,\r\n this.state.data.Contribution,\r\n this.state.data.ClientDetails.ActorId,\r\n this.state.data.SubAccountClientDetail.ClAccountId,\r\n () => this.setState({ isSubmitting: false })\r\n );\r\n }\r\n\r\n getStepProps(index) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n return stepProps;\r\n }\r\n\r\n private setReviewConfirmSteppers() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const clAccountId = getQueryParameters()[\"claccountid\"];\r\n const len = this.stepperConfig.length;\r\n const { data } = this.state;\r\n return [\r\n {\r\n title: PensionBenefitsSteppersMap.review,\r\n url: Urls.get().PensionBenefitsReview,\r\n path: Contents.URLMap.review,\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[this.stepperConfig.length - 2].isValid(),\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n {\r\n title: PensionBenefitsSteppersMap.comfirm,\r\n url: Urls.get().PensionBenefitsConfiramation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={`We've' received your instruction to set up Take pension benefits for ${data?.ClientDetails?.FirstName} ${data?.ClientDetails?.LastName}`}\r\n isLoading={this.state.isSubmitting}\r\n accountNumberMessage={`(${clAccountId})`}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { customer } = this.state;\r\n const steppers = [\r\n {\r\n title: PensionBenefitsSteppersMap.pensionBenefitsDetails,\r\n url: Urls.get().PensionBenefitsDetails,\r\n path: Contents.URLMap.pensionBenefitsDetails,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n ];\r\n if (\r\n this.state.data?.Contribution?.DrawdownModel?.PensionOption == PensionOption.Drawdown &&\r\n this.state.data?.Contribution?.DrawdownModel?.ImmediateTaxFreeCashRequestId == null\r\n ) {\r\n steppers.push({\r\n title: PensionBenefitsSteppersMap.incomePaymentDetails,\r\n url: Urls.get().PensionBenefitsIncomePaymentDetails,\r\n path: Contents.URLMap.incomePayment,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n }\r\n this.stepperConfig = steppers;\r\n this.stepperConfig = this.stepperConfig.concat(this.setReviewConfirmSteppers());\r\n }\r\n\r\n setProcessProps() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Take pension benefits\";\r\n processProps.subTitle = productMap[type];\r\n return processProps;\r\n }\r\n}\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IndexationType } from \"../../../../../../Wrap/Models/Models/Processes/Quote/Pension/IndexationType\";\r\n\r\nexport const PensionBenefitsSteppersMap = {\r\n pensionBenefitsDetails: \"Pension benefits details\",\r\n incomePaymentDetails: \"Income payment details\",\r\n review: \"Review\",\r\n comfirm: \"Confirmation\",\r\n};\r\n\r\nexport const productMap = {\r\n [SubAccountType.Sipp]: \"SIPP\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks & Shares\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Wrap Cash\",\r\n};\r\n\r\nexport const IndexationMap = {\r\n [IndexationType.AverageWeeklyEarning]: \"Average weekly earning\",\r\n [IndexationType.FixedPercentage]: \"User defined percentage\",\r\n};\r\n\r\nexport const FinancialAdviceMap = {\r\n true: \"Yes\",\r\n false: \"No\",\r\n};\r\n\r\nexport enum PensionBenefitsActionType {\r\n Add = \"add\",\r\n Edit = \"edit\",\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PensionOption } from \"../../../../../../Wrap/Constants/Enums/Apply/PensionOption\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DrawdownType } from \"../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { PensionBenefitsInstructionDispatcher } from \"./Variable\";\r\n\r\nexport interface InstructionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\nexport class PensionBenefitsInstructionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(PensionBenefitsInstructionDispatcher, (actionData) =>\r\n this.onPensionBenefitsInstructionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): InstructionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading === undefined ? true : this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n //mock data need to be removed\r\n const _data: PensionContributionModel = JSON.parse(JSON.stringify(this.getState().data));\r\n\r\n if (_data?.Contribution?.DrawdownModel?.CrystallisationDetails) {\r\n _data.Contribution.DrawdownModel.CrystallisationDetails.AvailableToCrystallise = {\r\n Amount: 100000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n _data.Contribution.DrawdownModel.CrystallisationDetails.CrystallisedValue = {\r\n Amount: 100000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n _data.Contribution.DrawdownModel.CrystallisationDetails.UnCrystallisedValue = {\r\n Amount: 100000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n _data.Contribution.DrawdownModel.CrystallisationDetails.AvailableCash = {\r\n Amount: 100000,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n }\r\n\r\n if (_data?.Contribution?.DrawdownModel) {\r\n _data.Contribution.DrawdownModel.DrawdownPriceLockPercentage = 0.35;\r\n _data.Contribution.DrawdownModel.DrawdownPriceLock = false;\r\n _data.Contribution.DrawdownModel.LifetimeAllowance = {\r\n ChargeableCrystallisationPortion: {\r\n Amount: 46345,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n AvailablePersonalAllowance: {\r\n Amount: 53655,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n SlaBenefitsPriorTo2006: 5,\r\n TotalSlaUsed: 104.31,\r\n SlaPreviouslyCrystallised: 90,\r\n SlaUsedByProposedCrystallisation: 9.31,\r\n };\r\n }\r\n\r\n if (\r\n _data?.Contribution?.DrawdownModel &&\r\n _data?.Contribution?.DrawdownModel?.DrawdownType !== DrawdownType.Regular\r\n ) {\r\n _data.Contribution.DrawdownModel.ExistingArrangements = {\r\n CappedModels: [\r\n {\r\n Id: 1111,\r\n From: \"1111\",\r\n Amount: 100000,\r\n Type: \"Member\",\r\n GadMaximum: 15000,\r\n Taxable: true,\r\n IncomeTakenToDate: 1300,\r\n NextYearsGadMaximum: 20000,\r\n LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n MaximumIncomePaymentForFuturePensionYears: 2000,\r\n },\r\n {\r\n Id: 2222,\r\n From: \"2222\",\r\n Amount: 100000,\r\n Type: \"Member\",\r\n GadMaximum: 15000,\r\n Taxable: true,\r\n IncomeTakenToDate: 1300,\r\n NextYearsGadMaximum: 20000,\r\n LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n MaximumIncomePaymentForFuturePensionYears: 2000,\r\n },\r\n ],\r\n FlexiModels: [\r\n {\r\n Id: 1234,\r\n From: \"1234\",\r\n Amount: 10000,\r\n Type: \"Member\",\r\n MaximumIncomePerPayment: 1000,\r\n },\r\n {\r\n Id: 2234,\r\n From: \"2234\",\r\n Amount: 10000,\r\n Type: \"Inherited\",\r\n MaximumIncomePerPayment: 2000,\r\n },\r\n ],\r\n };\r\n }\r\n if (\r\n _data?.Contribution?.DrawdownModel &&\r\n _data?.Contribution?.DrawdownModel?.DrawdownType === DrawdownType.Capped\r\n ) {\r\n _data.Contribution.DrawdownModel.GadRates = {\r\n GadMaximum: 20000,\r\n NextGadMaximum: 10000,\r\n };\r\n }\r\n if (_data.Contribution?.DrawdownModel != null) {\r\n _data.Contribution.DrawdownModel.UfplsWithdrawal = {\r\n TaxFreePortion: { Amount: 13413.75, Currency: CurrencyCode.GBP },\r\n TaxablePortion: { Amount: 40241.25, Currency: CurrencyCode.GBP },\r\n };\r\n }\r\n\r\n return _data;\r\n }\r\n\r\n public getHasCashIsa() {\r\n return this.getState().hasCashIsa;\r\n }\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): InstructionStaticState {\r\n return { actionType: ActionType.Loading, data: null, hasCashIsa: false };\r\n }\r\n\r\n private onPensionBenefitsInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ isLoading: false, actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, hasCashIsa: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { PensionBenefitsInstructionStatic } from \"./PensionBenefitsInstructionStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const PensionBenefitsInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const PensionBenefitsInstructionStore: PensionBenefitsInstructionStatic = new PensionBenefitsInstructionStatic();\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { ConsolidateAccountClient } from \"../../../../../../Wrap/Api/Account/ConsolidateAccount\";\r\nimport { AccountRoleDetailsClient } from \"../../../../../../Wrap/Api/Customer/AccountRoleDetails\";\r\nimport { CustomerUnderlyingAccountDetailsClient } from \"../../../../../../Wrap/Api/Customer/CustomerUnderlyingAccountDetails\";\r\nimport { UserAccountDisplaySettingsClient } from \"../../../../../../Wrap/Api/User/UserAccountDisplaySettings\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { AccountRoleWithAccountDetails } from \"../../../../../../Wrap/Models/Domains/Customers/AccountRoleWithAccountDetails\";\r\nimport { UserAccountDisplaySettingModel } from \"../../../../../../Wrap/Models/Domains/Users/UserAccountDisplaySettingModel\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport {\r\n PortfolioDashboardAccountRolesDisaptcher,\r\n PortfolioDashboardDisaptcher,\r\n PortfolioDashboardMultiSelectionDisaptcher,\r\n} from \"../Store/Variable\";\r\n\r\nexport class PortfolioDashboardAction {\r\n public static getAllAccountsByCustomerId(customerId: number, callback?: (accounts: ClientAccount[]) => void) {\r\n const client = new CustomerUnderlyingAccountDetailsClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n PortfolioDashboardDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getAllAccountsByConsolidateAccountId(\r\n accontId: number,\r\n callback?: (accounts: ClientAccount[]) => void\r\n ) {\r\n const client = new ConsolidateAccountClient();\r\n const promise = client.get(HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Account, accontId));\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n PortfolioDashboardDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getMultiSelection(\r\n hierarchyId: string,\r\n allAccounts: ClientAccount[],\r\n callback?: (selections: string[]) => void\r\n ) {\r\n const client = new UserAccountDisplaySettingsClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {\r\n let selection = [];\r\n if (result.IsDefault) {\r\n allAccounts.forEach((account) => {\r\n (account.SubAccounts || []).forEach((ele) => {\r\n selection.push(ele.HierarchyId);\r\n });\r\n });\r\n } else {\r\n selection = result.SelectedAccountHierarchyIds.filter((s) =>\r\n allAccounts.some((a) => a.SubAccounts.some((sub) => HierarchyIdHelper.Equals(s, sub.HierarchyId)))\r\n );\r\n if (!selection.length && allAccounts.length) {\r\n allAccounts.forEach((account) => {\r\n (account.SubAccounts || []).forEach((ele) => {\r\n selection.push(ele.HierarchyId);\r\n });\r\n });\r\n }\r\n }\r\n\r\n PortfolioDashboardMultiSelectionDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: selection,\r\n });\r\n if (callback) {\r\n callback(selection);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static resetMultiSelection() {\r\n PortfolioDashboardMultiSelectionDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: [],\r\n });\r\n }\r\n\r\n public static setMultiSelection(\r\n hierarchyId: string,\r\n selectedAccounts: string[],\r\n isDefault = false,\r\n callback?: (d: UserAccountDisplaySettingModel) => void\r\n ) {\r\n const selection = Array.from(new Set(selectedAccounts));\r\n const client = new UserAccountDisplaySettingsClient();\r\n const promise = client.put({\r\n IsDefault: isDefault,\r\n SelectedAccountHierarchyIds: selection,\r\n hierarchyId: hierarchyId,\r\n } as UserAccountDisplaySettingModel);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n PortfolioDashboardMultiSelectionDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: selection,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static deleteSettings(callback?: (d: any) => void) {\r\n const client = new UserAccountDisplaySettingsClient();\r\n const promise = client.delete();\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getAccountRoleWithAccountDetails(\r\n customerId: number,\r\n callBack?: (val: AccountRoleWithAccountDetails) => void\r\n ) {\r\n const client = new AccountRoleDetailsClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n PortfolioDashboardAccountRolesDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { RestrictionNameDispatcher } from \"../Store/Variables\";\r\n\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { RestrictionReasonClient } from \"../../../../../../Wrap/Api/Account/RestrictionReason\";\r\n\r\nexport class RestrictionReasonAction {\r\n public static getAccountRestrictions(customerId: number): void {\r\n const client = new RestrictionReasonClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((data) => {\r\n RestrictionNameDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Link } from \"react-router\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { CustomerStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AccountRoleWithAccountDetails } from \"../../../../../../../Wrap/Models/Domains/Customers/AccountRoleWithAccountDetails\";\r\nimport { CustomerNewProductLink } from \"../../../../../../../Wrap/Models/Models/Customer/CustomerNewProductLink\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { LoadingSkeletonType } from \"../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeleton } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { StaticUrls } from \"../../../../../Resoures/StaticUrls\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { Workflow } from \"../../../../Dashboard/Components/Workflow/Workflow\";\r\nimport { SelectAccountLightbox } from \"../../../../SelectAccountLightbox\";\r\nimport { OldNewTrustWizard } from \"../../../AddClient/Resource/Contents\";\r\nimport { CreateUserIcon } from \"../../../ClientRecord/Components/CreateUserIcon\";\r\nimport { RouteIcon } from \"../../../ClientRecord/Components/RouteIcon\";\r\nimport { SignpostIcon } from \"../../../ClientRecord/Components/SignpostIcon\";\r\nimport { PortfolioDashboardAction } from \"../../Action/PortfolioDashboardAction\";\r\nimport {\r\n PortfolioDashboardAccountRolesStore,\r\n PortfolioDashboardMultiSelectionStore,\r\n PortfolioDashboardStore,\r\n} from \"../../Store/Variable\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { selectedHeadAccountsOnly } from \"../Common/PortfolioDashboardHelper\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountStatus } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { RoleStatus } from \"../../../../../../../Wrap/Constants/Enums/RoleStatus\";\r\n\r\ninterface IPortfolioDashboardActivityState {\r\n isLoading: boolean;\r\n headAccounts: string[];\r\n subAccounts: string[];\r\n showAccountLightbox?: boolean;\r\n links: CustomerNewProductLink[];\r\n errorMsg: string;\r\n roles: AccountRoleWithAccountDetails;\r\n}\r\n\r\ninterface IPortfolioDashboardActivityProps extends IPortfolioDashboardComponentProps {\r\n isProspect: boolean;\r\n customerType: CustomerType;\r\n}\r\n\r\nexport class PortfolioDashboardActivity extends PortfolioDashboardComponent<\r\n IPortfolioDashboardActivityProps,\r\n IPortfolioDashboardActivityState\r\n> {\r\n constructor(props: IPortfolioDashboardActivityProps) {\r\n super(props);\r\n this.subscribeToStore(PortfolioDashboardAccountRolesStore, () => this.onStoreChange());\r\n this.subscribeToStore(PortfolioDashboardStore, () => this.onStoreChange());\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n isLoading: true,\r\n headAccounts: [],\r\n subAccounts: [],\r\n showAccountLightbox: false,\r\n links: [],\r\n errorMsg: null,\r\n roles: null,\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n private onStoreChange() {\r\n const roles = PortfolioDashboardAccountRolesStore.getData();\r\n this.setState({ roles: roles, isLoading: false });\r\n this.handleAccountRoles(roles, PortfolioDashboardMultiSelectionStore.getData());\r\n }\r\n\r\n private canCreateOrEditUser() {\r\n //conditions to hide create user :\r\n //1. hold ShareholderGT25 only\r\n //2. hold LetterOfAuthority only\r\n //3. hold both LetterOfAuthority and ShareholderGT25 only\r\n //4. hold no roles\r\n //5. organisation but not corporate trustee\r\n //TODO : some condition above may not valid need to check with Dan\r\n const { roles } = this.state;\r\n const _accountroles = roles?.AccountRoles || [];\r\n const shareholderGT25Len = _accountroles.filter((ele) => ele.AccountRoleType == RoleType.ShareholderGT25)\r\n .length;\r\n const letterOfAuthLen = _accountroles.filter((ele) => ele.AccountRoleType == RoleType.ShareholderGT25).length;\r\n const invalidLen = shareholderGT25Len + letterOfAuthLen;\r\n if (\r\n _accountroles.some(\r\n (ele) => ele.AccountRoleType == RoleType.Trustee && ele.AccountRoleStatus == RoleStatus.Active\r\n ) &&\r\n this.props.customerType != CustomerType.Individual\r\n ) {\r\n return true;\r\n }\r\n if (\r\n invalidLen == _accountroles.length ||\r\n (roles?.AccountRoles || []).filter(\r\n (role) =>\r\n role.AccountStatus.toLowerCase() != \"inprogress\" && role.AccountRoleStatus != RoleStatus.Inactive\r\n ).length == 0 ||\r\n this.props.customerType != CustomerType.Individual\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n getData(selectedSubAccountHierarchyIds: string[]) {\r\n this.setState({ isLoading: true });\r\n this.handleAccountRoles(this.state.roles, selectedSubAccountHierarchyIds);\r\n }\r\n\r\n componentDidMount() {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .activity.getUrl(),\r\n pageTitle: `${document.title} - client - activity`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n PortfolioDashboardAction.getAccountRoleWithAccountDetails(this.props.customerid);\r\n }\r\n\r\n handleAccountRoles(roles: AccountRoleWithAccountDetails, selectedSubAccounts: string[]) {\r\n if (!roles || roles?.AccountRoles?.length == 0) {return;}\r\n if (this.props.isProspect) {\r\n const headAccountRoles = roles.AccountRoles.filter(\r\n (f) => !roles.SubAccountInfos.some((x) => x.ClAccountId == f.ClAccountId)\r\n );\r\n const headAccounts = headAccountRoles.map((x) =>\r\n HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Account, x.AccountId)\r\n );\r\n const subAccounts = roles.SubAccountInfos.map((x) => x.HierarchyId);\r\n this.setState({ headAccounts: headAccounts, subAccounts: subAccounts });\r\n } else {\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n const allAccountsIncludePending = PortfolioDashboardStore.getFullAccounts();\r\n let headAccounts = selectedHeadAccountsOnly(selectedSubAccounts, allAccounts);\r\n if (allAccountsIncludePending.length != allAccounts.length) {\r\n headAccounts = headAccounts.concat(\r\n allAccountsIncludePending.filter((ele) => ele.AccountStatus == AccountStatus.InProgress)\r\n );\r\n }\r\n this.setState({\r\n subAccounts: selectedSubAccounts,\r\n headAccounts: headAccounts.map((x) => x.HierarchyId),\r\n isLoading: false,\r\n });\r\n }\r\n }\r\n\r\n private noCard(): boolean {\r\n const userInfo = UserStore.getUserInfo();\r\n if (\r\n this.state.roles?.PersonalDetails?.CustomerStatus === CustomerStatus.Inactive ||\r\n this.props.hasReadWriteAccessToAdviser != true ||\r\n userInfo?.IsReadOnly == true\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private renderCard() {\r\n const customerId = this.props.customerid;\r\n const { roles } = this.state;\r\n if (this.noCard()) {\r\n return null;\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n {this.props.isProspect &&\r\n this.props.customerType != CustomerType.Trust &&\r\n this.props.customerType != CustomerType.CorporateTrust &&\r\n this.props.customerType != CustomerType.Company &&\r\n checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite) && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"start a quote\",\r\n },\r\n });\r\n }}\r\n to={StaticUrls.QuoteWrapperSelectionUrlCustomer(customerId.toString())}\r\n >\r\n Start a quote\r\n \r\n
\r\n
\r\n )}\r\n
\r\n {checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite) &&\r\n this.props.customerType != CustomerType.Company && (\r\n
\r\n
\r\n \r\n
\r\n {!this.props.isProspect && (\r\n {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"new product\",\r\n },\r\n });\r\n Action.getNewProductLink(\r\n customerId,\r\n (links: CustomerNewProductLink[]) => {\r\n if (links.length == 0) {\r\n this.setState({\r\n errorMsg:\r\n \"New product journey not available for this type of Account.\",\r\n showAccountLightbox: true,\r\n });\r\n } else if (links.length == 1) {\r\n if (links[0].IsActive) {\r\n if (\r\n checkPermission(\r\n UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite\r\n )\r\n )\r\n {window.location.assign(links[0].Link);}\r\n } else {\r\n this.setState({\r\n errorMsg:\r\n \"New product journey not available for this type of Account.\",\r\n showAccountLightbox: true,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n links: links,\r\n showAccountLightbox: true,\r\n });\r\n }\r\n }\r\n );\r\n }}\r\n >\r\n New product\r\n \r\n )}\r\n {this.props.isProspect &&\r\n this.props.customerType == CustomerType.Individual &&\r\n checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite) && (\r\n {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"start new business\",\r\n },\r\n });\r\n window.location.assign(\r\n `/wpadviser/en-gb/dashboard/home/main/client/new-business/full-client-detail?customerid=${customerId}`\r\n );\r\n }}\r\n >\r\n Start New Business\r\n \r\n )}\r\n {this.props.isProspect &&\r\n (this.props.customerType == CustomerType.CorporateTrust ||\r\n this.props.customerType == CustomerType.Trust) &&\r\n checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite) && (\r\n {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"start new business\",\r\n },\r\n });\r\n window.location.href =\r\n OldNewTrustWizard +\r\n `?customerid=${this.props.customerid.toString()}`;\r\n }}\r\n >\r\n Start New Business\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {this.canCreateOrEditUser() &&\r\n ((checkPermission(UserClaim.AdviserPortalDluEditUserCanView) && roles?.ActorUserId > 0) ||\r\n ((roles?.ActorUserId == 0 || roles?.ActorUserId == undefined) &&\r\n checkPermission(UserClaim.AdviserPortalDluNewUserCanView))) && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.state.roles?.ActorUserId > 0 ? (\r\n {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"edit user\",\r\n },\r\n });\r\n window.location.assign(\r\n `/admin/users/edituser.aspx?searchuserid=${roles?.ActorUserId}&type=EDIT`\r\n );\r\n }}\r\n >\r\n Edit User\r\n \r\n ) : (\r\n {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"create user\",\r\n },\r\n });\r\n window.location.assign(\r\n `/admin/users/newuser.aspx?customerid=${customerId}`\r\n );\r\n }}\r\n >\r\n Create User\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private renderAccountsLightbox() {\r\n return (\r\n <>\r\n {this.state.showAccountLightbox && (\r\n this.setState({ showAccountLightbox: false, errorMsg: null })}\r\n type={LightboxType.Modal}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { isLoading, headAccounts, subAccounts } = this.state;\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n\r\n {this.renderCard()}\r\n {this.renderAccountsLightbox()}\r\n
\r\n );\r\n }\r\n}\r\n","import { AvailableBenchmarksClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Benchmarks/AvailableBenchmarks\";\r\nimport { ClientPortfolioReportClient } from \"../../../../../../../../Wrap/Api/Reports/ClientPortfolio/ClientPortfolioReport\";\r\nimport { UserSignatureClient } from \"../../../../../../../../Wrap/Api/User/UserSignature\";\r\nimport { ReportBuilder } from \"../../../../../../../../Wrap/Models/Models/Reports/ReportBuilder\";\r\nimport { ReportInfo } from \"../../../../../../../../Wrap/Models/Models/Reports/ReportInfo\";\r\nimport { ReportSetting } from \"../../../../../../../../Wrap/Models/Models/Reports/ReportSetting\";\r\n\r\nexport class ClientReportAction {\r\n public static setUserSignature(signature: string, hierarchyId: string, callback: (url) => void) {\r\n const client = new UserSignatureClient();\r\n const promise = client.post(signature, hierarchyId);\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static getAvailableBenchmarks(callback: (result) => void) {\r\n const client = new AvailableBenchmarksClient();\r\n const promise = client.get();\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static getUserSignature(hierarchyId: string, callback: (url) => void) {\r\n const client = new UserSignatureClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static triggerReport(data: ReportBuilder, callback: (taskInfo: ReportInfo) => void) {\r\n const client = new ClientPortfolioReportClient();\r\n const promise = client.post(data);\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static getReportSetting(callback: (reportSetting: ReportSetting) => void) {\r\n const client = new ClientPortfolioReportClient();\r\n const promise = client.get();\r\n promise.onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../../../react-core/Flux/ActionType\";\r\nimport { ContextActions } from \"../../../../../../../react-core/Flux/ContextActions\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { FormComponent } from \"../../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { PerformanceMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { ReportContent } from \"../../../../../../../Wrap/Constants/Enums/Report/ReportContent\";\r\nimport { ReportFormat } from \"../../../../../../../Wrap/Constants/Enums/Report/ReportFormat\";\r\nimport { ReportIntroduction } from \"../../../../../../../Wrap/Constants/Enums/Report/ReportIntroduction\";\r\nimport { ReportPerformanceGraph } from \"../../../../../../../Wrap/Constants/Enums/Report/ReportPerformanceGraph\";\r\nimport { ReportView } from \"../../../../../../../Wrap/Constants/Enums/Report/ReportView\";\r\nimport { TaskRequestStatus } from \"../../../../../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ReportBuilder as ReportBuilderModel } from \"../../../../../../../Wrap/Models/Models/Reports/ReportBuilder\";\r\nimport { ReportInfo } from \"../../../../../../../Wrap/Models/Models/Reports/ReportInfo\";\r\nimport AdviserSiteTagManager from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport useApplicationRegistrationCookiePopup from \"../../../../../../Shared/Cookies/ChoicesCookie/useApplicationRegistrationCookiePopup.hook\";\r\nimport { ExcelExportAction } from \"../../../../../../Shared/ExcelExport/Actions/ExcelExportAction\";\r\nimport { ExcelExportStore } from \"../../../../../../Shared/ExcelExport/Store/Variable\";\r\nimport { Permission } from \"../../../../../../Shared/Permission/Permission\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { ClientAccountStore, UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { ConsolidatedAccountStore, PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { isConsolidate, selectedHeadAccounts } from \"../Common/PortfolioDashboardHelper\";\r\nimport { DocumentFileAction } from \"../Document/Action/DocumentFileAction\";\r\nimport { ClientReportAction } from \"./Action/ClientReportAction\";\r\nimport { ReportBuilder } from \"./Component/ReportBuilder\";\r\nimport { ReportReady } from \"./Component/ReportReady\";\r\nimport { ReportContentMap } from \"./Resource/Content\";\r\n\r\ninterface IClientReportState {\r\n pending: boolean;\r\n generated: boolean;\r\n clientAccount: ClientAccount;\r\n reportInfo: ReportInfo;\r\n url: string;\r\n isFailed: boolean;\r\n}\r\n\r\ninterface IClientReportProps {\r\n customerid: number;\r\n}\r\n\r\nexport class ClientReport extends FormComponent {\r\n constructor(props: IClientReportProps) {\r\n super(props);\r\n this.state = {\r\n pending: false,\r\n generated: false,\r\n clientAccount: null,\r\n reportInfo: null,\r\n url: null,\r\n isFailed: false,\r\n };\r\n this.subscribeToStore(ClientAccountStore, () => this.onClientAccountStoreChange());\r\n this.subscribeToStore(ExcelExportStore, () => this.onStoreChange());\r\n }\r\n\r\n public componentDidMount() {\r\n Action.getClientAccount(ContextStore.getUrlParamsHierarchyId(ContextType.Account));\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname,\r\n pageTitle: `${document.title} - client reporting tool`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n private onStoreChange() {\r\n if (ExcelExportStore.getActionType() == ActionType.Update) {\r\n const status = ExcelExportStore.getStatus();\r\n if (\r\n status == TaskRequestStatus.Pending ||\r\n status == TaskRequestStatus.Running ||\r\n status == TaskRequestStatus.Allocated ||\r\n status == TaskRequestStatus.PendingDelayed ||\r\n status == TaskRequestStatus.PendingHold\r\n ) {\r\n setTimeout(() => {\r\n ExcelExportAction.getTaskRequestStatus(this.state.reportInfo.TaskRequestID.toString());\r\n }, 2000);\r\n } else if (status == TaskRequestStatus.Complete) {\r\n DocumentFileAction.get(\r\n this.state.clientAccount?.HierarchyId,\r\n this.state.reportInfo.FileName,\r\n true,\r\n 0,\r\n this.state.reportInfo.TaskRequestID,\r\n null,\r\n (result: string) => {\r\n this.setState({\r\n pending: false,\r\n url: result,\r\n });\r\n },\r\n true\r\n );\r\n } else {\r\n this.setState({ pending: false, isFailed: true });\r\n }\r\n }\r\n }\r\n\r\n private onClientAccountStoreChange() {\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n this.setState({ clientAccount });\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n private generateReport(data: ReportBuilderModel) {\r\n if (isConsolidate()) {\r\n const consolidateaccounts = [ConsolidatedAccountStore.getData()];\r\n const isChosenAccountIdInList = consolidateaccounts.some(\r\n account => account.HeadClAccountId === this.state.clientAccount?.HeadClAccountId\r\n );\r\n if (isChosenAccountIdInList){\r\n const accounts = selectedHeadAccounts(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData()\r\n );\r\n data.HeadAccountsBesidesConsolidate = accounts.map(account => account.HeadClAccountId);\r\n }\r\n }\r\n data.AccountHierarchyId = this.state.clientAccount?.HierarchyId;\r\n this.setState({ generated: true, pending: true });\r\n // Need remove intro options if intro is set to false\r\n if (data?.ReportContents?.findIndex((x) => x == ReportContent.ReportIntroduction) == -1) {\r\n // Remove cover page\r\n data.ReportIntroductions = [];\r\n }\r\n this.addEvent({\r\n event: \"clientreportingtool\",\r\n clientReport: {\r\n dateRange: (data as any).dateSelected == undefined ? \"0\" : (data as any).dateSelected,\r\n reportView: data?.ReportView == ReportView.TotalPortfolio ? \"total portfolio\" : \"product view\",\r\n format: data?.ReportFormat == ReportFormat.PDF ? \"pdf\" : \"word\",\r\n accountDetails: data?.ReportContents.some((ele) => ele == ReportContent.AccountDetails) ? \"yes\" : \"no\",\r\n snapshot: data?.ReportContents.some((ele) => ele == ReportContent.Snapshot) ? \"yes\" : \"no\",\r\n valuation: data?.ReportContents.some((ele) => ele == ReportContent.Valuation) ? \"yes\" : \"no\",\r\n performance: data?.ReportContents.some((ele) => ele == ReportContent.Performance) ? \"yes\" : \"no\",\r\n insights: data?.ReportContents.some((ele) => ele == ReportContent.Insights) ? \"yes\" : \"no\",\r\n transactions: data?.ReportContents.some((ele) => ele == ReportContent.Transactions) ? \"yes\" : \"no\",\r\n calculationBasis: data?.PerformanceMethod == PerformanceMethod.IRR ? \"irr\" : \"simple\",\r\n },\r\n reportingIntroduction: {\r\n include: data?.ReportContents.some((ele) => ele == ReportContent.ReportIntroduction) ? \"yes\" : \"no\",\r\n cover: data?.ReportIntroductions.some((ele) => ele == ReportIntroduction.CoverPage) ? \"yes\" : \"no\",\r\n contents: data?.ReportIntroductions.some((ele) => ele == ReportIntroduction.ContentsPage)\r\n ? \"yes\"\r\n : \"no\",\r\n commentary: data?.ReportIntroductions.some((ele) => ele == ReportIntroduction.Commentary)\r\n ? \"yes\"\r\n : \"no\",\r\n image: data?.ReportIntroductions.some((ele) => ele == ReportIntroduction.Signature) ? \"yes\" : \"no\",\r\n },\r\n graphs: {\r\n valuation: data?.ReportPerformanceGraphs.some(\r\n (ele) => ele == ReportPerformanceGraph.ValuationMoneyMovements\r\n )\r\n ? \"yes\"\r\n : \"no\",\r\n return: data?.ReportPerformanceGraphs.some((ele) => ele == ReportPerformanceGraph.ReturnPerformance)\r\n ? \"yes\"\r\n : \"no\",\r\n cumulative: data?.ReportPerformanceGraphs.some(\r\n (ele) => ele == ReportPerformanceGraph.CumulativePerformance\r\n )\r\n ? \"yes\"\r\n : \"no\",\r\n discrete: data?.ReportPerformanceGraphs.some((ele) => ele == ReportPerformanceGraph.DiscretePerformance)\r\n ? \"yes\"\r\n : \"no\",\r\n },\r\n breakdown: {\r\n include: data?.PerformanceIncludeFundBreakdown && data?.ValuationIncludeFundBreakdown ? \"yes\" : \"no\",\r\n valuation: data?.ValuationIncludeFundBreakdown ? \"yes\" : \"no\",\r\n performance: data?.PerformanceIncludeFundBreakdown ? \"yes\" : \"no\",\r\n },\r\n benchmark: {\r\n include: data?.BenchmarkList && data?.BenchmarkList.length > 0 ? \"yes\" : \"no\",\r\n noOfBenchmarks:\r\n data?.BenchmarkList && data?.BenchmarkList.length > 0 ? data?.BenchmarkList.length.toString() : \"0\",\r\n },\r\n });\r\n if (this.state?.clientAccount?.InceptionDate >= data?.From) {\r\n data[\"fromInception\"] = true;\r\n }\r\n ClientReportAction.triggerReport(data, (reportInfo: ReportInfo) => {\r\n this.setState({ reportInfo });\r\n ExcelExportAction.getTaskRequestStatus(reportInfo.TaskRequestID.toString());\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { generated, pending, clientAccount } = this.state;\r\n if (!clientAccount) {return null;}\r\n return (\r\n
\r\n \r\n
\r\n {\r\n ContextActions.setContext(null, ContextType.Account);\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).summary\r\n );\r\n }}\r\n className=\"hyperlink-previous\"\r\n >\r\n \r\n Back to summary\r\n \r\n
\r\n
\r\n

Client portfolio report

\r\n
\r\n {generated ? (\r\n \r\n ) : (\r\n this.generateReport(data)}\r\n data={clientAccount}\r\n onChange={() => {}}\r\n onRef={() => {}}\r\n />\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import classNames from \"classnames\";\r\nimport React from \"react\";\r\n\r\nexport const ClientReportPortfolio = (props: any) => {\r\n const cssClassName = classNames(\"cp-report-panel\", props.cssWrapper);\r\n\r\n return (\r\n
\r\n
{props.children}
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { ToggleButtonTwoOptions } from \"../../../../../../../../react-core/Html/ToggleButtonTwoOptions\";\r\nimport { ReportContent } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportContent\";\r\nimport { ReportInsight } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportInsight\";\r\nimport { ReportIntroduction } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportIntroduction\";\r\nimport { ReportPerformanceGraph } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportPerformanceGraph\";\r\nimport { ReportTransaction } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportTransaction\";\r\nimport { ServiceProposition } from \"../../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ReportBuilder } from \"../../../../../../../../Wrap/Models/Models/Reports/ReportBuilder\";\r\nimport { CheckboxGroup } from \"../../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { UploadForm } from \"../../../../../../../Site/Questions/PartComponents/UploadForm\";\r\nimport { ImageStatus } from \"../../../../../Settings/AddLogo/Resource/Content\";\r\nimport { countNewLines } from \"../../../../Common/Helpers/TextInputHelper\";\r\nimport { ClientReportAction } from \"../Action/ClientReportAction\";\r\nimport {\r\n ReportContentMap,\r\n ReportInsightsArray,\r\n ReportInsightsMap,\r\n ReportPerformanceGraphArray,\r\n ReportPerformanceGraphMap,\r\n ReportTransactionsArray,\r\n ReportTransactionsMap,\r\n} from \"../Resource/Content\";\r\nimport { ClientReportPortfolio } from \"./ClientReportPortfolio\";\r\n\r\ninterface IContentSettingsProps extends IProcessComponentProps {\r\n clientAccount: ClientAccount;\r\n data: ReportBuilder;\r\n}\r\n\r\ninterface IContentSettingsState {\r\n signature: string;\r\n signatureUpdated: boolean;\r\n showErrorMsg: boolean;\r\n showIntroductionErrorMsg: boolean;\r\n showInsightsErrorMsg: boolean;\r\n showTransactionErrorMsg: boolean;\r\n showUploadImageButton: boolean;\r\n isValuationMoneyMovementsGraphEnabled: boolean;\r\n isReturnPerformanceGraphEnabled: boolean;\r\n isCumulativePerformanceGraphEnabled: boolean;\r\n isDiscretePerformanceGraphEnabled: boolean;\r\n}\r\n\r\n// New line will be calculated as 120 characters\r\nconst NEWLINE_SIZE = 120;\r\n\r\nexport class ContentSettings extends ProcessComponent {\r\n constructor(props: IContentSettingsProps) {\r\n super(props);\r\n this.state = {\r\n signature: null,\r\n signatureUpdated: false,\r\n showErrorMsg: false,\r\n showIntroductionErrorMsg: false,\r\n showInsightsErrorMsg: false,\r\n showTransactionErrorMsg: false,\r\n showUploadImageButton: false,\r\n isValuationMoneyMovementsGraphEnabled: true,\r\n isReturnPerformanceGraphEnabled: true,\r\n isCumulativePerformanceGraphEnabled: true,\r\n isDiscretePerformanceGraphEnabled: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n ClientReportAction.getUserSignature(this.props.clientAccount.HierarchyId, (d) => {\r\n if (!CommonHelper.isNullOrEmpty(d)) {\r\n this.props.onChange({ SignatureUrl: d });\r\n this.setState({ signature: d });\r\n }\r\n });\r\n ClientReportAction.getReportSetting((d) => {\r\n this.setState({\r\n isValuationMoneyMovementsGraphEnabled: d.IsValuationMoneyMovementsGraphEnabled,\r\n isReturnPerformanceGraphEnabled: d.IsReturnPerformanceGraphEnabled,\r\n isCumulativePerformanceGraphEnabled: d.IsCumulativePerformanceGraphEnabled,\r\n isDiscretePerformanceGraphEnabled: d.IsDiscretePerformanceGraphEnabled,\r\n });\r\n });\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n let isValid = flag;\r\n if (\r\n (this.props.data?.ReportContents || []).includes(ReportContent.ReportIntroduction) &&\r\n this.props.data?.ReportIntroductions.length == 0\r\n ) {\r\n this.setState({ showIntroductionErrorMsg: true });\r\n isValid = false;\r\n }\r\n\r\n if (\r\n (this.props.data?.ReportContents || []).includes(ReportContent.Insights) &&\r\n this.props.data?.ReportInsights.length == 0\r\n ) {\r\n this.setState({ showInsightsErrorMsg: true });\r\n isValid = false;\r\n }\r\n\r\n if (\r\n (this.props.data?.ReportContents || []).includes(ReportContent.Transactions) &&\r\n this.props.data?.ReportTransactions.length == 0\r\n ) {\r\n this.setState({ showTransactionErrorMsg: true });\r\n isValid = false;\r\n }\r\n\r\n if (\r\n (this.props.data?.ReportIntroductions || []).includes(ReportIntroduction.Signature) &&\r\n CommonHelper.isNullOrEmpty(this.props.data?.SignatureUrl)\r\n ) {\r\n this.setState({ showErrorMsg: true });\r\n return false;\r\n }\r\n return isValid;\r\n }\r\n\r\n private renderContentHeader(\r\n content: ReportContent,\r\n info: string,\r\n icon: string,\r\n disabled: boolean,\r\n child?: JSX.Element,\r\n errorMessage?: string,\r\n contentProps?: { colSize?: number }\r\n ) {\r\n const { ReportContents } = this.props.data;\r\n let isOn = ReportContents.includes(content);\r\n if (disabled) {isOn = false;}\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n \r\n {ReportContentMap[content]}\r\n

\r\n

{info}

\r\n
\r\n
\r\n {\r\n this.setList(v, \"ReportContents\", content);\r\n if (!v && errorMessage != null) {\r\n this.state[errorMessage] = false;\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {isOn && (\r\n
\r\n
{child}
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n\r\n private setList(\r\n v: boolean,\r\n key: string,\r\n content: ReportIntroduction | ReportContent | ReportPerformanceGraph | ReportInsight | ReportTransaction\r\n ) {\r\n let _list = this.props.data[key].concat();\r\n if (v) {\r\n _list.push(content);\r\n } else {\r\n _list = _list.filter((ele) => ele != content);\r\n }\r\n this.props.onChange({ [key]: _list });\r\n }\r\n\r\n private renderReportIntroduction() {\r\n const { ReportIntroductions } = this.props.data;\r\n const { data, onChange } = this.props;\r\n const commentaryMaxSize = 600;\r\n const signatureMaxSize = { width: 350, height: 150 };\r\n\r\n return (\r\n
\r\n What to include?\r\n
\r\n {\r\n this.setList(v, \"ReportIntroductions\", ReportIntroduction.CoverPage);\r\n if (v) {\r\n this.setState({ showIntroductionErrorMsg: false });\r\n }\r\n }}\r\n />\r\n {\r\n this.setList(v, \"ReportIntroductions\", ReportIntroduction.ContentsPage);\r\n if (v) {\r\n this.setState({ showIntroductionErrorMsg: false });\r\n }\r\n }}\r\n />\r\n {\r\n this.setList(v, \"ReportIntroductions\", ReportIntroduction.Commentary);\r\n if (v) {\r\n this.setState({ showIntroductionErrorMsg: false });\r\n }\r\n }}\r\n />\r\n {ReportIntroductions.includes(ReportIntroduction.Commentary) && (\r\n
\r\n {\r\n const isEnter = event.key === \"Enter\" || (event.keyCode || event.which) === 13;\r\n if (isEnter) {\r\n const count = countRemainingCharacters(data?.Commentary, commentaryMaxSize);\r\n if (count < NEWLINE_SIZE) {\r\n // when remaining characaters are less than a new line,\r\n // prevent user from pressing enter key to create one.\r\n event.preventDefault();\r\n }\r\n }\r\n }}\r\n onChange={(event) => {\r\n const value = event.target.value;\r\n onChange({ Commentary: trimContent(value, commentaryMaxSize) });\r\n }}\r\n >\r\n
\r\n You have {countRemainingCharacters(data?.Commentary, commentaryMaxSize)} characters\r\n remaining.\r\n
\r\n
\r\n )}\r\n\r\n {\r\n this.setList(v, \"ReportIntroductions\", ReportIntroduction.Signature);\r\n if (v) {\r\n this.setState({ showIntroductionErrorMsg: false });\r\n }\r\n }}\r\n />\r\n {ReportIntroductions.includes(ReportIntroduction.Signature) && (\r\n
\r\n {\r\n this.setState({\r\n signature: val,\r\n signatureUpdated: false,\r\n showUploadImageButton: true,\r\n });\r\n }}\r\n onSelectAnotherChage={() => {\r\n this.setState({\r\n signature: null,\r\n signatureUpdated: false,\r\n showUploadImageButton: false,\r\n });\r\n }}\r\n />\r\n

\r\n Maximum image size: {signatureMaxSize.width} x {signatureMaxSize.height} pixels.\r\n

\r\n {this.state.showUploadImageButton && (\r\n {\r\n if (this.state.signature) {\r\n ClientReportAction.setUserSignature(\r\n this.state.signature,\r\n this.props.clientAccount.HierarchyId,\r\n (d) => {\r\n this.setState({\r\n signatureUpdated: true,\r\n showUploadImageButton: false,\r\n });\r\n this.props.onChange({ SignatureUrl: d });\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n Upload image\r\n \r\n )}\r\n {this.state.signatureUpdated && (\r\n

Image uploaded successfully

\r\n )}\r\n {this.state.showErrorMsg && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderList(\r\n array: number[],\r\n map: Record,\r\n key: string,\r\n title: string,\r\n errorMessage: string,\r\n disabled?: boolean\r\n ) {\r\n const { data } = this.props;\r\n const options = array.map((ele) => {\r\n return {\r\n label: map[ele],\r\n cssWrapper: \"square-checkbox \",\r\n value: data[key].includes(ele),\r\n onChange: (v) => {\r\n this.setList(v, key, ele);\r\n if (v && errorMessage != null) {\r\n this.state[errorMessage] = false;\r\n }\r\n },\r\n disabled: disabled,\r\n };\r\n });\r\n\r\n return (\r\n
\r\n {title}} options={options} type=\"block\" />\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { clientAccount } = this.props;\r\n const isFundzone = clientAccount.AccountServicePropositionId == ServiceProposition.Fundzone;\r\n const reportGraphArray = [];\r\n const reportGraphMap = {};\r\n if (this.state.isValuationMoneyMovementsGraphEnabled) {\r\n reportGraphArray.push(ReportPerformanceGraph.ValuationMoneyMovements);\r\n reportGraphMap[ReportPerformanceGraph.ValuationMoneyMovements] = \"Valuation and money movements\";\r\n }\r\n if (this.state.isReturnPerformanceGraphEnabled) {\r\n reportGraphArray.push(ReportPerformanceGraph.ReturnPerformance);\r\n reportGraphMap[ReportPerformanceGraph.ReturnPerformance] = \"Return performance\";\r\n }\r\n if (this.state.isCumulativePerformanceGraphEnabled) {\r\n reportGraphArray.push(ReportPerformanceGraph.CumulativePerformance);\r\n reportGraphMap[ReportPerformanceGraph.CumulativePerformance] = \"Cumulative performance\";\r\n }\r\n if (this.state.isDiscretePerformanceGraphEnabled) {\r\n reportGraphArray.push(ReportPerformanceGraph.DiscretePerformance);\r\n reportGraphMap[ReportPerformanceGraph.DiscretePerformance] = \"Discrete performance\";\r\n }\r\n return (\r\n \r\n
\r\n
\r\n

Contents

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

Include in report

\r\n
\r\n
\r\n
\r\n\r\n {/* report introduction */}\r\n {this.renderContentHeader(\r\n ReportContent.ReportIntroduction,\r\n \"This will show report cover page, contents and commentary\",\r\n \"report-icon\",\r\n false,\r\n this.renderReportIntroduction(),\r\n \"showIntroductionErrorMsg\",\r\n { colSize: 11 }\r\n )}\r\n {this.state.showIntroductionErrorMsg && (\r\n \r\n )}\r\n
\r\n\r\n {/* account detail */}\r\n {this.renderContentHeader(\r\n ReportContent.AccountDetails,\r\n \"This will show a summary of your product instructions\",\r\n \"account-details-icon\",\r\n false\r\n )}\r\n
\r\n\r\n {/* snapshot */}\r\n {this.renderContentHeader(\r\n ReportContent.Snapshot,\r\n \"This will show a summary of the headline figures from the portfolio\",\r\n \"snapshot-icon\",\r\n false\r\n )}\r\n
\r\n\r\n {/* valuation */}\r\n {this.renderContentHeader(\r\n ReportContent.Valuation,\r\n \"This will show a summary of the portfolio valuation\",\r\n \"valuation-icon\",\r\n false\r\n )}\r\n
\r\n\r\n {/* performance */}\r\n {this.renderContentHeader(\r\n ReportContent.Performance,\r\n `This will show a summary of the portfolio opening and closing values, money movements, and monetary and percentage change. ${\r\n !isFundzone ? \"It also includes a range of performance related graphs\" : \"\"\r\n }`,\r\n \"performance-icon\",\r\n false,\r\n !isFundzone\r\n ? this.renderList(\r\n reportGraphArray,\r\n reportGraphMap,\r\n \"ReportPerformanceGraphs\",\r\n \"Graphs\",\r\n null,\r\n isFundzone\r\n )\r\n : null,\r\n null\r\n )}\r\n {!isFundzone &&
}\r\n\r\n {/* insights */}\r\n {!isFundzone &&\r\n this.renderContentHeader(\r\n ReportContent.Insights,\r\n \"This will show where the portfolio investments are held\",\r\n \"insights-icon\",\r\n isFundzone,\r\n this.renderList(\r\n ReportInsightsArray,\r\n ReportInsightsMap,\r\n \"ReportInsights\",\r\n \"\",\r\n \"showInsightsErrorMsg\"\r\n ),\r\n \"showInsightsErrorMsg\"\r\n )}\r\n {this.state.showInsightsErrorMsg && (\r\n \r\n )}\r\n {!isFundzone &&
}\r\n\r\n {/* transactions */}\r\n {!isFundzone &&\r\n this.renderContentHeader(\r\n ReportContent.Transactions,\r\n \"This will show a summary of the portfolio money paid in, money taken out and charges\",\r\n \"transactions-icon\",\r\n isFundzone,\r\n this.renderList(\r\n ReportTransactionsArray,\r\n ReportTransactionsMap,\r\n \"ReportTransactions\",\r\n \"\",\r\n \"showTransactionErrorMsg\"\r\n ),\r\n \"showTransactionErrorMsg\"\r\n )}\r\n {this.state.showTransactionErrorMsg && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction countRemainingCharacters(content: string, maxChars: number) {\r\n if (typeof content !== \"string\") {\r\n return maxChars;\r\n }\r\n const newLines = countNewLines(content);\r\n const length = content.length + newLines.count * (NEWLINE_SIZE - newLines.newLineCharacters.length);\r\n return Math.max(0, maxChars - length);\r\n}\r\n\r\n// When user enter or paste the content with more than the max number characters,\r\n// trim the content to fit.\r\nfunction trimContent(content: string, maxChars: number): string {\r\n if (typeof content !== \"string\") {\r\n return content;\r\n }\r\n const newLines = countNewLines(content);\r\n const length = content.length + newLines.count * (NEWLINE_SIZE - newLines.newLineCharacters.length);\r\n if (maxChars >= length) {\r\n return content;\r\n }\r\n if (newLines.count === 0) {\r\n return content.length > maxChars ? content.slice(0, maxChars) : content;\r\n }\r\n const lines: string[] = content.split(newLines.newLineCharacters);\r\n const trimmedLines: string[] = [];\r\n let resizeLength = 0;\r\n for (const line of lines) {\r\n if (resizeLength >= maxChars) {\r\n break;\r\n }\r\n if (resizeLength + line.length > maxChars) {\r\n const remainingLength = maxChars - resizeLength;\r\n trimmedLines.push(line.slice(0, remainingLength));\r\n resizeLength = maxChars;\r\n } else {\r\n trimmedLines.push(line);\r\n resizeLength += line.length + newLines.newLineCharacters.length * NEWLINE_SIZE;\r\n }\r\n }\r\n\r\n return trimmedLines.join(newLines.newLineCharacters);\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { MPSType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/MPSType\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { ViewType } from \"../../../../../../../../Wrap/Constants/Enums/Portfolio/Investments/ViewType\";\r\nimport { ReportContent } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportContent\";\r\nimport { ReportPerformanceGraph } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportPerformanceGraph\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { Benchmark } from \"../../../../../../../../Wrap/Models/Models/Benchmarks/Benchmark\";\r\nimport { ReportBuilder } from \"../../../../../../../../Wrap/Models/Models/Reports/ReportBuilder\";\r\nimport { CheckboxGroup } from \"../../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { AssetClassTypeMap, AssetClassTypeArray, MPSTypeArray, MPSTypeMap } from \"../../Performance/Resource/Contents\";\r\nimport { ClientReportAction } from \"../Action/ClientReportAction\";\r\nimport { ViewTypeArray, ViewTypeMap } from \"../Resource/Content\";\r\nimport { ClientReportPortfolio } from \"./ClientReportPortfolio\";\r\n\r\ninterface IPerferenceProps extends IProcessComponentProps {\r\n clientAccount: ClientAccount;\r\n data: ReportBuilder;\r\n}\r\n\r\ninterface IPerferenceState {\r\n hasBenchmark: boolean;\r\n oneBenchmark: boolean;\r\n benchmarks: Array;\r\n}\r\n\r\nexport class Perference extends ProcessComponent {\r\n constructor(props: IPerferenceProps) {\r\n super(props);\r\n this.state = {\r\n hasBenchmark: false,\r\n oneBenchmark: true,\r\n benchmarks: null,\r\n };\r\n }\r\n\r\n render() {\r\n const { data, onChange } = this.props;\r\n const showCalculationBasis =\r\n data.ReportContents.includes(ReportContent.Performance) ||\r\n data.ReportContents.includes(ReportContent.Snapshot);\r\n const showPerformanceValuation =\r\n data.ReportContents.includes(ReportContent.Performance) ||\r\n data.ReportContents.includes(ReportContent.Valuation);\r\n const options = [];\r\n if (data.ReportContents.includes(ReportContent.Valuation)) {\r\n options.push({\r\n label: \"Valuation\",\r\n cssWrapper: \"square-checkbox \",\r\n value: data?.ValuationIncludeFundBreakdown,\r\n onChange: (v) => {\r\n if (!v) {\r\n onChange({\r\n ValuationIncludeFundBreakdown: v,\r\n ViewType: data?.PerformanceIncludeFundBreakdown == true ? data?.ViewType : ViewType.Product,\r\n AssetClassType:\r\n data?.PerformanceIncludeFundBreakdown == true\r\n ? data?.AssetClassType\r\n : AssetClassType.NoAssetClass,\r\n });\r\n } else {\r\n onChange({ ValuationIncludeFundBreakdown: v });\r\n }\r\n },\r\n });\r\n }\r\n if (data.ReportContents.includes(ReportContent.Performance)) {\r\n options.push({\r\n label: \"Performance\",\r\n cssWrapper: \"square-checkbox \",\r\n value: data?.PerformanceIncludeFundBreakdown,\r\n onChange: (v) => {\r\n if (!v) {\r\n onChange({\r\n PerformanceIncludeFundBreakdown: v,\r\n ViewType: data?.ValuationIncludeFundBreakdown == true ? data?.ViewType : ViewType.Product,\r\n AssetClassType:\r\n data?.ValuationIncludeFundBreakdown == true\r\n ? data?.AssetClassType\r\n : AssetClassType.NoAssetClass,\r\n });\r\n } else {\r\n onChange({ PerformanceIncludeFundBreakdown: v });\r\n }\r\n },\r\n });\r\n }\r\n\r\n const showGraphBenchmark =\r\n data.ReportContents.includes(ReportContent.Performance) &&\r\n (data.ReportPerformanceGraphs.includes(ReportPerformanceGraph.CumulativePerformance) ||\r\n data.ReportPerformanceGraphs.includes(ReportPerformanceGraph.DiscretePerformance));\r\n const showPerferences = showGraphBenchmark || showPerformanceValuation || showCalculationBasis;\r\n if (!showPerferences) {\r\n return null;\r\n }\r\n return (\r\n \r\n

Preferences

\r\n {showCalculationBasis && (\r\n <>\r\n

Calculation basis

\r\n \r\n o == PerformanceMethod.Simple ? \"Simple return\" : \"Internal rate of return\"\r\n }\r\n selected={data?.PerformanceMethod}\r\n onChange={(v) =>\r\n onChange({\r\n PerformanceMethod: v,\r\n })\r\n }\r\n required=\"Please select\"\r\n cssWrapper=\"rg-inline\"\r\n />\r\n \r\n )}\r\n {showPerformanceValuation && (\r\n <>\r\n
\r\n

{\"Valuation & performance detail\"}

\r\n
\r\n \r\n
\r\n\r\n {(data.ValuationIncludeFundBreakdown || data?.PerformanceIncludeFundBreakdown) && (\r\n <>\r\n ViewTypeMap[o]}\r\n selected={data?.ViewType}\r\n onChange={(v) =>\r\n onChange({\r\n ViewType: v,\r\n })\r\n }\r\n required=\"Please select\"\r\n cssWrapper=\"rg-150 mb-10 text-link\"\r\n />\r\n\r\n AssetClassTypeMap[o]}\r\n selected={data?.AssetClassType}\r\n onChange={(v) =>\r\n onChange({\r\n AssetClassType: v,\r\n })\r\n }\r\n required=\"Please select\"\r\n cssWrapper=\"rg-150 mb-10 text-link\"\r\n />\r\n\r\n MPSTypeMap[o]}\r\n tooltip={\"If the investments include Managed Portfolio(s), you have the choice of showing a Summary view - MPS total(s) only, or a Detail view – MPS underlying funds and total(s).\"}\r\n selected={data?.MPSType}\r\n onChange={(v) =>\r\n onChange({\r\n MPSType: v,\r\n })\r\n }\r\n required=\"Please select\"\r\n cssWrapper=\"rg-150 mb-10 text-link\"\r\n />\r\n \r\n )}\r\n \r\n )}\r\n {showGraphBenchmark && (\r\n <>\r\n
\r\n

{\"Graph benchmark\"}

\r\n {\r\n if (this.state.benchmarks == null) {\r\n ClientReportAction.getAvailableBenchmarks((res) => {\r\n this.setState({ benchmarks: res, hasBenchmark: v });\r\n });\r\n } else {\r\n this.setState({ hasBenchmark: v });\r\n }\r\n\r\n if (!v) {\r\n this.props.onChange({ BenchmarkList: [] });\r\n }\r\n }}\r\n />\r\n {this.state.hasBenchmark && (\r\n <>\r\n (o ? \"Include one benchmark\" : \"Include two benchmarks\")}\r\n onChange={(v) => {\r\n this.setState({ oneBenchmark: v });\r\n }}\r\n cssWrapper={\"radio-group rg-inline mb-0\"}\r\n selected={this.state.oneBenchmark}\r\n />\r\n
\r\n
\r\n o.BenchmarkDisplayName}\r\n onChange={(v) => {\r\n const benchMark = this.props.data.BenchmarkList.concat();\r\n benchMark[0] = v.BenchmarkCode;\r\n this.props.onChange({ BenchmarkList: benchMark });\r\n }}\r\n required=\"Please select\"\r\n placeholder=\"Select benchmark one\"\r\n validationRules={[\r\n {\r\n errorMessage: \"Cannot select the same benchmark twice\",\r\n validator: (v) => {\r\n return (\r\n this.props.data.BenchmarkList[0] !=\r\n this.props.data.BenchmarkList[1] ||\r\n CommonHelper.isNullOrEmpty(\r\n this.props.data.BenchmarkList[0]\r\n ) ||\r\n CommonHelper.isNullOrEmpty(this.props.data.BenchmarkList[1])\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n {!this.state.oneBenchmark && (\r\n
\r\n o.BenchmarkDisplayName}\r\n onChange={(v) => {\r\n const benchMark = this.props.data.BenchmarkList.concat();\r\n benchMark[1] = v.BenchmarkCode;\r\n this.props.onChange({ BenchmarkList: benchMark });\r\n }}\r\n required=\"Please select\"\r\n placeholder=\"Select benchmark two\"\r\n validationRules={[\r\n {\r\n errorMessage: \"Cannot select the same benchmark twice\",\r\n validator: (v) => {\r\n return (\r\n this.props.data.BenchmarkList[0] !=\r\n this.props.data.BenchmarkList[1] ||\r\n CommonHelper.isNullOrEmpty(\r\n this.props.data.BenchmarkList[0]\r\n ) ||\r\n CommonHelper.isNullOrEmpty(\r\n this.props.data.BenchmarkList[1]\r\n )\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { MPSType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/MPSType\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { ViewType } from \"../../../../../../../../Wrap/Constants/Enums/Portfolio/Investments/ViewType\";\r\nimport { ReportContent } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportContent\";\r\nimport { ReportIntroduction } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportIntroduction\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ReportBuilder as ReportBuilderModel } from \"../../../../../../../../Wrap/Models/Models/Reports/ReportBuilder\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { countNewLines } from \"../../../../Common/Helpers/TextInputHelper\";\r\nimport { ContentSettings } from \"./ContentSettings\";\r\nimport { Perference } from \"./Perference\";\r\nimport { Setup } from \"./Setup\";\r\n\r\ninterface IReportBuilderProps extends IProcessComponentProps {\r\n onGenerate: (data: ReportBuilderModel) => void;\r\n data: ClientAccount;\r\n}\r\n\r\ninterface IReportBuilderState {\r\n settings: ReportBuilderModel;\r\n}\r\n\r\nexport class ReportBuilder extends ProcessComponent {\r\n constructor(props: IReportBuilderProps) {\r\n super(props);\r\n this.state = {\r\n settings: {\r\n AccountHierarchyId: getQueryParameters()[\"hierarchyid\"],\r\n SubAccounts: [],\r\n ReportContents: [\r\n ReportContent.ReportIntroduction,\r\n ReportContent.AccountDetails,\r\n ReportContent.Snapshot,\r\n ReportContent.Valuation,\r\n ReportContent.Performance,\r\n ],\r\n ReportInsights: [],\r\n ReportPerformanceGraphs: [],\r\n ReportTransactions: [],\r\n ReportIntroductions: [ReportIntroduction.CoverPage, ReportIntroduction.ContentsPage],\r\n BenchmarkList: [],\r\n PerformanceMethod: PerformanceMethod.Simple,\r\n ViewType: ViewType.Product,\r\n AssetClassType: AssetClassType.NoAssetClass,\r\n MPSType: MPSType.MPSDetails,\r\n },\r\n };\r\n }\r\n\r\n private onSettingsChange(changes) {\r\n const { settings } = this.state;\r\n for (const key in changes) {\r\n settings[key] = changes[key];\r\n }\r\n\r\n console.log(settings);\r\n this.setState({ settings: settings });\r\n }\r\n\r\n private getProps() {\r\n const { settings } = this.state;\r\n const { data } = this.props;\r\n return {\r\n data: settings,\r\n onChange: (changes) => this.onSettingsChange(changes),\r\n onRef: (ref) => this.appendChild(ref),\r\n clientAccount: data,\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n {this.state.settings?.ReportView && this.state.settings?.ReportFormat && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n\r\n {\r\n if (this.isValid()) {\r\n const settings = { ...this.state.settings };\r\n if (settings.Commentary) {\r\n const newLines = countNewLines(settings.Commentary);\r\n if (newLines.count > 0) {\r\n // replace new line character with #\r\n settings.Commentary = settings.Commentary.split(newLines.newLineCharacters).join(\r\n \"#\"\r\n );\r\n }\r\n }\r\n\r\n this.props.onGenerate(settings);\r\n }\r\n }}\r\n >\r\n Create report\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { Spinner } from \"../../../../../../../../react-core/Html/Spinner\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { ReportReadyIcon } from \"./ReportReadyIcon\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IReportReadyProps {\r\n pending: boolean;\r\n isFailed: boolean;\r\n url: string;\r\n}\r\n\r\ninterface IReportReadyState {}\r\n\r\nexport class ReportReady extends FormComponent {\r\n constructor(props: IReportReadyProps) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n if (this.props.pending) {\r\n return (\r\n
\r\n

Generating your report

\r\n

\r\n This can take a few moments. When completed, the report will be saved to your client's document\r\n store.\r\n

\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n
\r\n

{this.props.isFailed ? \"Generate Failed or Cancelled\" : \"Report ready\"}

\r\n {!this.props.isFailed && (\r\n <>\r\n {\" \"}\r\n

\r\n This report has now been created and saved to your{\" \"}\r\n {(checkPermission(UserClaim.AdviserPortalDocumentLibraryCanView) ? (\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n }).documents,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n hierarchyid: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Account\r\n ),\r\n },\r\n }\r\n );\r\n }}\r\n >\r\n client`s document store\r\n \r\n ) : (\r\n \"client`s document store\"\r\n ))}\r\n .\r\n

\r\n \r\n \r\n Client Portfolio Report\r\n \r\n \r\n \r\n )}\r\n {this.props.isFailed &&

error message placeholder

}\r\n
\r\n

Quick links

\r\n
\r\n {checkPermission(UserClaim.AdviserPortalClientPortfolioReportReadWrite) && (\r\n
\r\n {\r\n window.location.assign(\r\n `/wpadviser/en-gb/dashboard/home/main/customer/${ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n )}/headaccount/${ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Account\r\n )}/clientreport`\r\n );\r\n }}\r\n >\r\n {\"Create new report >\"}\r\n \r\n
\r\n )}\r\n\r\n {checkPermission(UserClaim.AdviserPortalClientSummaryCanView) && (\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).summary\r\n );\r\n }}\r\n >\r\n {\"Return to summary page >\"}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const ReportReadyIcon = (props: any) => {\r\n const cssClassNames = classNames(\"report-ready-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { ICheckboxEditorProps } from \"../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { ReportView } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportView\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ReportBuilder } from \"../../../../../../../../Wrap/Models/Models/Reports/ReportBuilder\";\r\nimport { CheckboxGroup } from \"../../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { DateRange } from \"../../../../../../../Shared/Components/DateRange\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { subAccountTypeMap } from \"../../Performance/Resource/Contents\";\r\nimport { ReportFormatArray, ReportFormatMap, ReportViewArray, ReportViewMap } from \"../Resource/Content\";\r\nimport { ClientReportPortfolio } from \"./ClientReportPortfolio\";\r\nimport { ImpactRedirectAction } from \"../../../../../../../Shared/Impact/Action/ImpactRedirectAction\";\r\nimport { ImpactRedirectType } from \"../../../../../../../../Wrap/Models/Domains/Impact/ImpactRedirectType\";\r\n\r\ninterface ISetupProps extends IProcessComponentProps {\r\n clientAccount: ClientAccount;\r\n data: ReportBuilder;\r\n}\r\n\r\ninterface ISetupState {\r\n dateSelected: string;\r\n errorMsg: boolean;\r\n}\r\n\r\nexport class Setup extends ProcessComponent {\r\n constructor(props: ISetupProps) {\r\n super(props);\r\n this.state = {\r\n dateSelected: null,\r\n errorMsg: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const clientInfo = this.props.clientAccount;\r\n const openingDate = clientInfo ? new Date(clientInfo.InceptionDate as any) : null;\r\n const initDateRange = DateRange.initializeLastYearDateRange(openingDate);\r\n this.props.onChange({\r\n From: JsonDateParser.toJsonDateNoOffset(initDateRange.from),\r\n To: JsonDateParser.toJsonDateNoOffset(initDateRange.to),\r\n });\r\n this.setState({ dateSelected: initDateRange.dateSelected });\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n if (this.props.data?.ReportView == ReportView.ProductView && this.props.data?.SubAccounts.length == 0) {\r\n this.setState({ errorMsg: true });\r\n return false;\r\n }\r\n return flag;\r\n }\r\n\r\n private getSubAccountsOptions(): ICheckboxEditorProps[] {\r\n const clientInfo = this.props.clientAccount;\r\n if (!clientInfo?.SubAccounts) {return [];}\r\n return clientInfo.SubAccounts.map((ele) => {\r\n return {\r\n label: `${subAccountTypeMap[ele.SubAccountType]} ${ele.ClAccountId}`,\r\n value: this.props.data.SubAccounts.some((item) => item == ele.HierarchyId),\r\n onChange: (v) => {\r\n let subAccounts = this.props.data.SubAccounts.concat();\r\n if (v) {\r\n subAccounts.push(ele.HierarchyId);\r\n } else {\r\n subAccounts = subAccounts.filter((item) => item != ele.HierarchyId);\r\n }\r\n this.props.onChange({ SubAccounts: subAccounts });\r\n },\r\n };\r\n });\r\n }\r\n\r\n render() {\r\n const { minDate, isDisable } = DateRange.getLeastDate(\r\n ContextStore.getUrlParamsHierarchyId(ContextType.Account)\r\n );\r\n const { data, onChange } = this.props;\r\n const toDate = JsonDateParser.toDateNoOffset(data.To);\r\n return (\r\n \r\n
\r\n
\r\n

Setup

\r\n {\r\n this.props.onChange({\r\n From: JsonDateParser.toJsonDateNoOffset(fromDate),\r\n To: JsonDateParser.toJsonDateNoOffset(toDate),\r\n dateSelected: dateSelected,\r\n fromInception: fromInception,\r\n });\r\n }}\r\n />\r\n\r\n

Report view

\r\n ReportViewMap[o]}\r\n selected={data?.ReportView}\r\n onChange={(v) =>\r\n onChange({\r\n ReportView: v,\r\n SubAccounts: v == ReportView.TotalPortfolio ? [] : data?.SubAccounts,\r\n })\r\n }\r\n required=\"Please select\"\r\n cssWrapper=\"rg-inline\"\r\n />\r\n {data?.ReportView == ReportView.ProductView && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n {this.state.errorMsg && (\r\n \r\n )}\r\n \r\n )}\r\n

Format

\r\n ReportFormatMap[o]}\r\n selected={data?.ReportFormat}\r\n onChange={(v) => onChange({ ReportFormat: v })}\r\n required=\"Please select\"\r\n cssWrapper=\"rg-inline\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Looking for other reports?

\r\n

\r\n To request other reports such as Capital Gain Report, Investment Transactions,\r\n Statements, go to{\" \"}\r\n {checkPermission(UserClaim.AdviserPortalDluReportsRequestCanView) ? (\r\n \r\n other client reports.\r\n \r\n ) : (\r\n \"other client reports.\"\r\n )}\r\n

\r\n
\r\n
\r\n {!!this.props.clientAccount?.HeadClAccountId && checkPermission(UserClaim.AdviserPortalEsgAnalyserCanView) && \r\n
\r\n
\r\n
\r\n

Looking for an ESG report?

\r\n

\r\n To request an ESG report, go to \r\n \r\n .\r\n

\r\n
\r\n
}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { ViewType } from \"../../../../../../../../Wrap/Constants/Enums/Portfolio/Investments/ViewType\";\r\nimport { ReportContent } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportContent\";\r\nimport { ReportFormat } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportFormat\";\r\nimport { ReportInsight } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportInsight\";\r\nimport { ReportPerformanceGraph } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportPerformanceGraph\";\r\nimport { ReportTransaction } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportTransaction\";\r\nimport { ReportView } from \"../../../../../../../../Wrap/Constants/Enums/Report/ReportView\";\r\n\r\nexport const ReportViewArray = [ReportView.TotalPortfolio, ReportView.ProductView];\r\n\r\nexport const ReportViewMap = {\r\n [ReportView.TotalPortfolio]: \"Total Portfolio\",\r\n [ReportView.ProductView]: \"Product View\",\r\n};\r\n\r\nexport const ReportFormatArray = [ReportFormat.PDF, ReportFormat.Word];\r\n\r\nexport const ReportFormatMap = {\r\n [ReportFormat.PDF]: \"PDF\",\r\n [ReportFormat.Word]: \"Word\",\r\n};\r\n\r\nexport const ReportContentMap = {\r\n [ReportContent.ReportIntroduction]: \"Report introduction\",\r\n [ReportContent.AccountDetails]: \"Account details\",\r\n [ReportContent.Snapshot]: \"Snapshot\",\r\n [ReportContent.Performance]: \"Performance\",\r\n [ReportContent.Insights]: \"Insights\",\r\n [ReportContent.Valuation]: \"Valuation\",\r\n [ReportContent.Transactions]: \"Transactions\",\r\n};\r\n\r\nexport const ReportPerformanceGraphMap = {\r\n [ReportPerformanceGraph.ValuationMoneyMovements]: \"Valuation and money movements\",\r\n [ReportPerformanceGraph.ReturnPerformance]: \"Return performance\",\r\n [ReportPerformanceGraph.CumulativePerformance]: \"Cumulative performance\",\r\n [ReportPerformanceGraph.DiscretePerformance]: \"Discrete performance\",\r\n};\r\n\r\nexport const ReportPerformanceGraphArray = [\r\n ReportPerformanceGraph.ValuationMoneyMovements,\r\n ReportPerformanceGraph.ReturnPerformance,\r\n ReportPerformanceGraph.CumulativePerformance,\r\n ReportPerformanceGraph.DiscretePerformance,\r\n];\r\n\r\nexport const ReportInsightsMap = {\r\n [ReportInsight.GeographicAllocation]: \"Geographic allocation\",\r\n [ReportInsight.AssetClassAllocation]: \"Asset class allocation\",\r\n [ReportInsight.SectorAllocation]: \"Sector allocation\",\r\n // [ReportInsight.LargestHoldings]: \"Largest holdings\",\r\n};\r\n\r\nexport const ReportInsightsArray = [\r\n ReportInsight.GeographicAllocation,\r\n ReportInsight.AssetClassAllocation,\r\n ReportInsight.SectorAllocation,\r\n // ReportInsight.LargestHoldings,\r\n];\r\n\r\nexport const ReportTransactionsMap = {\r\n [ReportTransaction.Summary]: \"Summary\",\r\n [ReportTransaction.MoneyIn]: \"Money in\",\r\n [ReportTransaction.MoneyOut]: \"Money out\",\r\n [ReportTransaction.Charges]: \"Charges\",\r\n};\r\n\r\nexport const ReportTransactionsArray = [\r\n ReportTransaction.Summary,\r\n ReportTransaction.MoneyIn,\r\n ReportTransaction.MoneyOut,\r\n ReportTransaction.Charges,\r\n];\r\n\r\nexport const ViewTypeArray = [ViewType.Product, ViewType.Asset];\r\n\r\nexport const ViewTypeMap = {\r\n [ViewType.Product]: \"Product\",\r\n [ViewType.Asset]: \"Asset\",\r\n};\r\n\r\nexport const BenchMark = [\r\n \"7-Day LIBOR (London Interbank Offer Rate)\",\r\n \"AC WORLD INDEX\",\r\n \"Asia Pacific Excluding Japan\",\r\n \"Asia Pacific Including Japan\",\r\n \"Bank of England Base Rate\",\r\n \"CAC 40\",\r\n \"China/Greater China\",\r\n \"DAX (main)\",\r\n \"DJ Stoxx 50 ETF\",\r\n \"Dow Jones Industrial Average\",\r\n \"Europe Excluding UK\",\r\n \"Europe Including UK\",\r\n \"European Smaller Companies\",\r\n \"Flexible Investment\",\r\n \"FTSE 100 \",\r\n \"FTSE 250 \",\r\n \"FTSE 350 \",\r\n \"FTSE All Share \",\r\n \"FTSE All World ex UK\",\r\n \"FTSE All-World \",\r\n \"FTSE Asia Pacific \",\r\n \"FTSE British Government All Stocks\",\r\n \"FTSE Eurofirst 100\",\r\n \"FTSE Europe ex UK \",\r\n \"FTSE Global Small Cap \",\r\n \"FTSE WMA Stock Market Balanced Index\",\r\n \"FTSE WMA Stock Market Conservative Index\",\r\n \"FTSE WMA Stock Market Global Growth Index \",\r\n \"FTSE WMA Stock Market Growth Index\",\r\n \"FTSE WMA Stock Market Income Index\",\r\n \"Global\",\r\n \"Global Bonds\",\r\n \"Global Emerging Market Bond \",\r\n \"Global Emerging Markets\",\r\n \"Global Equity Income\",\r\n \"Japan \",\r\n \"Japanese Smaller Companies\",\r\n \"Mixed Investment 0%-35% Shrs\",\r\n \"Mixed Investment 20%-60% Shrs \",\r\n \"Mixed Investment 40%-85% Shrs \",\r\n \"Money Market\",\r\n \"MSCI Emerging Markets \",\r\n \"MSCI EUROPE EXCLUDING UNITED KINGDOM\",\r\n \"MSCI World\",\r\n \"MSCI WORLD EXCLUDING UNITED KINGDOM \",\r\n \"MSCI World Index\",\r\n \"North America\",\r\n \"North American Smaller Companies \",\r\n \"Not yet assigned\",\r\n \"Personal Pensions \",\r\n \"Property \",\r\n \"Protected\",\r\n \"S&P 500\",\r\n \"Short Term Money Market\",\r\n \"Specialist\",\r\n \"Sterling Corporate Bond\",\r\n \"Sterling Gilts \",\r\n \"Sterling High Yield\",\r\n \"Sterling Strategic Bond\",\r\n \"Targeted Absolute Return \",\r\n \"Technology & Telecoms \",\r\n \"Topix \",\r\n \"UK All Companies\",\r\n \"UK Equity & Bond Income\",\r\n \"UK Equity Income\",\r\n \"UK Gilts \",\r\n \"UK Index - Linked Gilts\",\r\n \"UK Smaller Companies\",\r\n \"Unclassified\",\r\n \"United Kingdom Retail Price Index\",\r\n];\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { PersonalDetail } from \"../../../../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { ClientRecordTab } from \"../../../ClientRecord/Resource/Contents\";\r\nimport { ClientRecordStore } from \"../../../ClientRecord/Store/Variable\";\r\nimport { PortfolioDashboardAction } from \"../../Action/PortfolioDashboardAction\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { headAccountGroupByInvestorType, selectedHeadAccountsOnly } from \"./PortfolioDashboardHelper\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\ninterface IMultiSelectionProps {\r\n onClose: VoidFunction;\r\n name: string;\r\n isConsolidated: boolean;\r\n portfolioDashboardTabEnum: portfolioDashboardTabEnum;\r\n}\r\n\r\ninterface IMultiSelectionState {\r\n selectedAccounts: string[];\r\n clientInfo: PersonalDetail;\r\n allAccounts: ClientAccount[];\r\n}\r\n\r\nexport class MultiSelection extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n selectedAccounts: PortfolioDashboardMultiSelectionStore.getData(),\r\n clientInfo: ClientRecordStore.getData()?.[ClientRecordTab.PersonalDetail],\r\n allAccounts: PortfolioDashboardStore.getData(),\r\n };\r\n this.subscribeToStore(PortfolioDashboardMultiSelectionStore, () => this.onStoreChange());\r\n this.subscribeToStore(PortfolioDashboardStore, () => this.onDashboardStoreChange());\r\n }\r\n\r\n private setSelection() {\r\n this.props.onClose();\r\n PortfolioDashboardAction.setMultiSelection(\r\n ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n this.state.selectedAccounts,\r\n false,\r\n () => {}\r\n );\r\n }\r\n\r\n private onStoreChange() {\r\n this.setState({ selectedAccounts: PortfolioDashboardMultiSelectionStore.getData() });\r\n }\r\n\r\n private onDashboardStoreChange() {\r\n this.setState({ allAccounts: PortfolioDashboardStore.getData() });\r\n }\r\n\r\n private renderSingleAccount(account: ClientAccount, selectedAccounts: string[], key: string): JSX.Element {\r\n const headAccountSeleted = (account.SubAccounts || []).every((ele) =>\r\n selectedAccounts.includes(ele.HierarchyId)\r\n );\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n let _selection = this.state.selectedAccounts.concat();\r\n if (v) {\r\n // push all subaccounts into selection\r\n _selection = _selection.concat(\r\n (account.SubAccounts || []).map((subaccount) => subaccount.HierarchyId)\r\n );\r\n } else {\r\n // remove all subaccounts from selection\r\n _selection = _selection.filter(\r\n (selection) =>\r\n !(account.SubAccounts || []).some(\r\n (subaccount) => subaccount.HierarchyId === selection\r\n )\r\n );\r\n }\r\n this.setState({ selectedAccounts: _selection });\r\n }}\r\n />\r\n\r\n {(account.SubAccounts || []).map((subAccount) => {\r\n return (\r\n
\r\n {\r\n let _selection = this.state.selectedAccounts.concat();\r\n if (v) {\r\n _selection = _selection.concat(subAccount.HierarchyId);\r\n } else {\r\n _selection = _selection.filter(\r\n (selection) => selection !== subAccount.HierarchyId\r\n );\r\n }\r\n this.setState({ selectedAccounts: _selection });\r\n }}\r\n />\r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { selectedAccounts, allAccounts } = this.state;\r\n if (!selectedAccounts) {return ;}\r\n if (!allAccounts) {return ;}\r\n const { isConsolidated, name } = this.props;\r\n const groupHeadaccount = headAccountGroupByInvestorType(allAccounts);\r\n return (\r\n <>\r\n

{`Select the data to view from the ${\r\n isConsolidated ? \"Consolidated\" : \"clients overall\"\r\n } accounts:`}

\r\n
\r\n {\r\n let _selection = [];\r\n if (v) {\r\n allAccounts.forEach((clientaccount) => {\r\n _selection = _selection.concat(\r\n clientaccount.SubAccounts.map((account) => account.HierarchyId) || []\r\n );\r\n });\r\n }\r\n this.setState({ selectedAccounts: _selection });\r\n }}\r\n />\r\n
\r\n\r\n {groupHeadaccount.Individual.map((account) => {\r\n return this.renderSingleAccount(account, selectedAccounts, \"Individual\");\r\n })}\r\n\r\n {groupHeadaccount.Joint.map((account) => {\r\n return this.renderSingleAccount(account, selectedAccounts, \"Joint\");\r\n })}\r\n\r\n {groupHeadaccount.Trust.map((account) => {\r\n return this.renderSingleAccount(account, selectedAccounts, \"Trust\");\r\n })}\r\n \r\n {\r\n this.setSelection();\r\n }}\r\n disabled={\r\n selectedAccounts.length == 0 ||\r\n this.props.portfolioDashboardTabEnum == portfolioDashboardTabEnum.Transactions ||\r\n this.props.portfolioDashboardTabEnum == portfolioDashboardTabEnum.Documents\r\n }\r\n >\r\n Apply\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { CSSTransition } from \"react-transition-group\";\r\n\r\nexport const MultiselectAccountsDropdown = (props: any) => {\r\n const wrapperRef = useRef(null);\r\n const { label, placeholder, isOpen, onToggle, disable, title } = props;\r\n\r\n const handleClickOutside = () => {\r\n if (wrapperRef && !wrapperRef.current.contains(event.target)) {onToggle(false);}\r\n };\r\n\r\n const ToggleDropdown = () => {\r\n onToggle(!isOpen);\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"touchstart\", handleClickOutside);\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"touchstart\", handleClickOutside);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const CSSClasses = classNames(\"form-group multiselect-dropdown accounts\", props.cssWrapper, { \"is-open\": isOpen });\r\n\r\n return (\r\n
\r\n \r\n
\r\n ToggleDropdown()}\r\n aria-expanded={isOpen}\r\n disabled={disable}\r\n title={title}\r\n >\r\n {placeholder}\r\n \r\n \r\n {!disable && (\r\n \r\n
\r\n
{props.children}
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport {\r\n getSelectedAccountsInceptionDate,\r\n getSelectedHeadAccount,\r\n getSelectedHeadClAccountId,\r\n getSelectedSubAccountIds,\r\n} from \"./PortfolioDashboardHelper\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport {ignoreOrderCompare} from \"../../../../../../Shared/Utils/ArrayUtils\";\r\n\r\nexport interface IPortfolioDashboardComponentProps {\r\n customerid: number;\r\n hasReadWriteAccessToAdviser?: boolean;\r\n isBtnPresentationClicked: boolean[];\r\n onPresentationViewStatusChange: (tabIndex: portfolioDashboardTabEnum, isPresentationClickedPre: boolean[]) => void;\r\n}\r\n\r\nexport abstract class PortfolioDashboardComponent<\r\n TProps extends IPortfolioDashboardComponentProps,\r\n TState\r\n> extends BaseComponent {\r\n private _existingSelection: string[] = [];\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.initState();\r\n this.subscribeToStore(PortfolioDashboardMultiSelectionStore, () => this.onMultiSeletionChange());\r\n }\r\n\r\n componentDidMount() {\r\n const selection = PortfolioDashboardMultiSelectionStore.getData();\r\n\r\n this._existingSelection = selection;\r\n this.getData(selection);\r\n }\r\n\r\n protected onMultiSeletionChange() {\r\n const selection = PortfolioDashboardMultiSelectionStore.getData();\r\n\r\n if (!ignoreOrderCompare(selection, this._existingSelection)) {\r\n this.getData(selection);\r\n }\r\n\r\n this._existingSelection = selection;\r\n }\r\n\r\n protected getSelectedHeadAccountHierarchyIds(): string[] {\r\n const selection = PortfolioDashboardMultiSelectionStore.getData();\r\n const clientAccounts = PortfolioDashboardStore.getData();\r\n return getSelectedHeadAccount(selection, clientAccounts);\r\n }\r\n\r\n protected getSelectedHeadClAccountIds(): string[] {\r\n const selection = PortfolioDashboardMultiSelectionStore.getData();\r\n const clientAccounts = PortfolioDashboardStore.getData();\r\n return getSelectedHeadClAccountId(selection, clientAccounts);\r\n }\r\n\r\n protected getSelectedAccountsInceptionDate(): Date {\r\n const selection = PortfolioDashboardMultiSelectionStore.getData();\r\n const clientAccounts = PortfolioDashboardStore.getData();\r\n return getSelectedAccountsInceptionDate(selection, clientAccounts);\r\n }\r\n\r\n protected getSelectedSubAccountIds(): string[] {\r\n const selection = PortfolioDashboardMultiSelectionStore.getData();\r\n const clientAccounts = PortfolioDashboardStore.getData();\r\n return getSelectedSubAccountIds(selection, clientAccounts);\r\n }\r\n abstract initState();\r\n\r\n abstract getData(selectedSubAccountHierarchyIds: string[]);\r\n\r\n abstract render();\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { AuthenticationSystem } from \"../../../../../../../Wrap/Models/Domains/Customer/AuthenticationSystem\";\r\nimport { CheckAccountPermissionsResponse } from \"../../../../../../../Wrap/Models/Domains/Customer/CheckAccountPermissionsResponse\";\r\nimport { RestrictionReason } from \"../../../../../../../Wrap/Models/Models/Account/Restrictions/RestrictionReason\";\r\nimport { AdviserBridgePermissionCheck } from \"../../../../../../../Wrap/Models/Models/Customer/AdviserBridgePermissionCheck\";\r\nimport { NoteDetailModel } from \"../../../../../../../Wrap/Models/Models/Customer/NoteDetailModel\";\r\nimport { VulnerabilityDetail } from \"../../../../../../../Wrap/Models/Models/Customer/VulnerabilityDetail\";\r\nimport { SecurityUser } from \"../../../../../../../Wrap/Models/Models/User/SecurityUser\";\r\nimport CoachMarker from \"../../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { Permission } from \"../../../../../../Shared/Permission/Permission\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { PortfolioDashboardSummaryAction } from \"../Summary/Action/Action\";\r\nimport { MultiselectAccountsDropdown } from \"./MultiselectAccountsDropdown\";\r\nimport { MultiSelection } from \"./MultiSelection\";\r\nimport {\r\n headAccountGroupByInvestorType,\r\n isTradingAccount,\r\n selectedHeadAccounts,\r\n selectedHeadAccountsOnly,\r\n} from \"./PortfolioDashboardHelper\";\r\nimport { PresentationContext } from \"./PresentationViewWrapper\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IPortfolioDashboardHeaderProps {\r\n customerid: number;\r\n name: string;\r\n id: string;\r\n portfolioDashboardTabEnum: portfolioDashboardTabEnum;\r\n restrictionReasons: RestrictionReason[];\r\n vulnerabilityDetail: VulnerabilityDetail[];\r\n isAdviser: boolean;\r\n isAdmin: boolean;\r\n importantNotes: NoteDetailModel[];\r\n isConsolidate: boolean;\r\n isInternalUser: boolean;\r\n}\r\n\r\ninterface IPortfolioDashboardHeaderState {\r\n selectedAccounts: string[];\r\n totalValue: number;\r\n allAccounts: ClientAccount[];\r\n openDropdown: boolean;\r\n clientDetail: SecurityUser;\r\n authenticationSystem: AuthenticationSystem;\r\n isUserGroupAllowed: boolean;\r\n isLightboxShow: boolean;\r\n isOnlineAccessAllowed: boolean;\r\n bridgeContent: JSX.Element;\r\n}\r\n\r\nexport class PortfolioDashboardHeader extends BaseComponent<\r\n IPortfolioDashboardHeaderProps,\r\n IPortfolioDashboardHeaderState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n totalValue: 0,\r\n allAccounts: PortfolioDashboardStore.getData(),\r\n selectedAccounts: PortfolioDashboardMultiSelectionStore.getData(),\r\n openDropdown: false,\r\n clientDetail: null,\r\n authenticationSystem: null,\r\n isUserGroupAllowed: false,\r\n isLightboxShow: false,\r\n isOnlineAccessAllowed: false,\r\n bridgeContent: null,\r\n };\r\n this.subscribeToStore(PortfolioDashboardStore, () => this.onDashboardStoreChange());\r\n this.subscribeToStore(PortfolioDashboardMultiSelectionStore, () => this.onStoreChange());\r\n }\r\n\r\n private onDashboardStoreChange() {\r\n this.setState({ allAccounts: PortfolioDashboardStore.getData() });\r\n this.getHeaderTotalValue(PortfolioDashboardStore.getData());\r\n }\r\n\r\n private onStoreChange() {\r\n this.setState({ selectedAccounts: PortfolioDashboardMultiSelectionStore.getData() });\r\n }\r\n\r\n componentDidMount() {\r\n\r\n if (PortfolioDashboardStore.getData()) {\r\n if (!isTradingAccount(PortfolioDashboardStore.getData())) {\r\n this.getHeaderTotalValue(PortfolioDashboardStore.getData());\r\n }\r\n\r\n if (!this.props.isConsolidate) {\r\n this.getLastLoginDate(this.props.customerid);\r\n }\r\n }\r\n }\r\n\r\n private getHeaderTotalValue(allAccount: ClientAccount[]) {\r\n const headAccounts = (allAccount || []).map((ele) => ele.HierarchyId);\r\n const subAccount = allAccount.reduce((subAccounts, curAccount) => {\r\n return subAccounts.concat((curAccount.SubAccounts || []).map((account) => account.HierarchyId));\r\n }, []);\r\n\r\n PortfolioDashboardSummaryAction.getPortfolioValuationSummary(\r\n headAccounts,\r\n subAccount,\r\n null,\r\n null,\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n null,\r\n (val) => {\r\n this.setState({ totalValue: val.TotalPortfolioValue });\r\n }\r\n );\r\n }\r\n\r\n private getLastLoginDate(customerId: number) {\r\n PortfolioDashboardSummaryAction.getClientDetails(customerId, (res: AdviserBridgePermissionCheck) => {\r\n if (res != null) {\r\n this.setState({\r\n clientDetail: res?.User,\r\n authenticationSystem: res?.AuthenticationSystem,\r\n isUserGroupAllowed: res?.IsClientPortalUserGroup,\r\n isOnlineAccessAllowed: res?.User?.OSTEnabled || false,\r\n });\r\n }\r\n });\r\n }\r\n\r\n private isShowAdviserBridgeIcon() {\r\n // three conditionds to show icon\r\n // 1. authenticationSystem = 4\r\n // 2. CurrentUser is adviser\r\n // 3. User group is allowed\r\n // 4. Non consolidate account\r\n return (\r\n this.state.authenticationSystem == AuthenticationSystem.Okta &&\r\n this.props.isAdviser &&\r\n this.state.isUserGroupAllowed &&\r\n !this.props.isConsolidate\r\n );\r\n }\r\n\r\n\r\n lastLoginLabel = (numberOfDays: number) => {\r\n return Client last logged in {numberOfDays} days ago;\r\n };\r\n\r\n getSelectedHierarchyIdString(selectedAccounts: ClientAccount[]) {\r\n return selectedAccounts.map((selectedAccount) => selectedAccount.HierarchyId);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { isPresentationView } = this.context;\r\n const { selectedAccounts, allAccounts } = this.state;\r\n\r\n let formatMoney = (\r\n
\r\n 0.00\r\n
\r\n );\r\n let date = null;\r\n if (this.state.totalValue) {\r\n const _formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(\r\n Math.abs(this.state.totalValue),\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n );\r\n const _arry = _formatMoney.split(\".\");\r\n\r\n date = JsonDateParser.getFormatDateString(new Date(), \"dd MM yyyy\", true, true);\r\n formatMoney = (\r\n
\r\n {_arry[0]}\r\n .{_arry[1]}\r\n
\r\n );\r\n }\r\n\r\n const diffDays = this.getDateDifference();\r\n const reasons = this.getRestrictionString();\r\n const groupAccount = headAccountGroupByInvestorType(\r\n selectedHeadAccounts(selectedAccounts || [], allAccounts || [])\r\n );\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {!isPresentationView && allAccounts?.length > 0 && (\r\n <>\r\n \r\n {this.props.name}\r\n \r\n {this.props.isConsolidate\r\n ? \"Consolidated View\"\r\n : selectedHeadAccountsOnly(selectedAccounts, allAccounts)?.length ==\r\n allAccounts?.length\r\n ? `Total client view`\r\n : `Filtered view`}\r\n \r\n \r\n }\r\n disable={[\r\n portfolioDashboardTabEnum.Transactions,\r\n portfolioDashboardTabEnum.Documents,\r\n ].includes(this.props.portfolioDashboardTabEnum)}\r\n isOpen={this.state.openDropdown}\r\n onToggle={(toggle) => {\r\n this.setState({ openDropdown: toggle });\r\n }}\r\n >\r\n {\r\n this.setState({ openDropdown: false });\r\n }}\r\n portfolioDashboardTabEnum={this.props.portfolioDashboardTabEnum}\r\n />\r\n \r\n \r\n

\r\n {this.props.isInternalUser && (\r\n \r\n Firm: {allAccounts[0]?.CompanyName}{\" \"}\r\n |\r\n \r\n )}\r\n \r\n Adviser: {allAccounts[0]?.AdviserName}\r\n \r\n

\r\n

{this.props.isConsolidate ? \"Account ID\" : \"Client ID\"}: {this.props.customerid}

\r\n {selectedHeadAccountsOnly(selectedAccounts || [], allAccounts || [])?.length !==\r\n allAccounts?.length && (\r\n <>\r\n {groupAccount.Individual.length > 0 &&\r\n groupAccount.Individual.map((clientaccount, index) => {\r\n return (\r\n
\r\n {`Individual account - ${clientaccount.HeadClAccountId\r\n } -${clientaccount.SubAccounts.filter((subAccount) =>\r\n selectedAccounts.includes(subAccount.HierarchyId)\r\n )\r\n .map(\r\n (ele) =>\r\n ` ${ele.ProductDisplayName} - ${ele.ClAccountId.split(\"-\")[1]\r\n }`\r\n )\r\n .toString()}`}\r\n
\r\n );\r\n })}\r\n {groupAccount.Joint.length > 0 &&\r\n groupAccount.Joint.map((clientaccount, index) => {\r\n return (\r\n {`Joint account - ${clientaccount.HeadClAccountId\r\n } -${clientaccount.SubAccounts.filter((subAccount) =>\r\n selectedAccounts.includes(subAccount.HierarchyId)\r\n )\r\n .map(\r\n (ele) =>\r\n ` ${ele.ProductDisplayName} - ${ele.ClAccountId.split(\"-\")[1]\r\n }`\r\n )\r\n .toString()}`}
\r\n );\r\n })}\r\n {groupAccount.Trust.length > 0 &&\r\n groupAccount.Trust.map((clientaccount, index) => {\r\n return (\r\n {`Trust account - ${clientaccount.HeadClAccountId\r\n } -${clientaccount.SubAccounts.filter((subAccount) =>\r\n selectedAccounts.includes(subAccount.HierarchyId)\r\n )\r\n .map(\r\n (ele) =>\r\n ` ${ele.ProductDisplayName} - ${ele.ClAccountId.split(\"-\")[1]\r\n }`\r\n )\r\n .toString()}`}
\r\n );\r\n })}\r\n \r\n )}\r\n \r\n )}\r\n {!isPresentationView && allAccounts?.length == 0 && (\r\n <>\r\n

{this.props.name}

\r\n

\r\n

\r\n {this.props.isInternalUser && (\r\n \r\n Firm: {allAccounts[0]?.CompanyName}{\" \"}\r\n |\r\n \r\n )}\r\n \r\n Adviser: {allAccounts[0]?.AdviserName}\r\n \r\n

\r\n Client ID: {this.props.customerid}\r\n

\r\n \r\n )}\r\n
\r\n
\r\n {allAccounts?.length > 0 && (\r\n
\r\n
\r\n {!isTradingAccount(PortfolioDashboardStore.getData()) && (\r\n \r\n <>\r\n {formatMoney}\r\n
\r\n Total portfolio value as at {date}\r\n
\r\n \r\n
\r\n )}\r\n {!isPresentationView && (\r\n
\r\n \r\n {this.isShowAdviserBridgeIcon() && (\r\n \r\n )}\r\n {!this.isShowAdviserBridgeIcon() && (\r\n <>{JsonDateParser.toDate(this.state.clientDetail?.LastLoginTime) !== null && this.lastLoginLabel(diffDays)}\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n )}\r\n\r\n\r\n {this.state.isLightboxShow &&\r\n !this.state.isOnlineAccessAllowed &&\r\n this.renderClientPortalWarningMessage()}\r\n {this.state.isLightboxShow &&\r\n this.state.isOnlineAccessAllowed &&\r\n this.renderAdviserBridge(this.state.bridgeContent)}\r\n
\r\n
\r\n
\r\n {!isPresentationView && reasons != \"\" && (\r\n

{reasons}

\r\n )}\r\n {!isPresentationView && this.props.vulnerabilityDetail?.length > 0 && this.props.isAdmin && (\r\n

\r\n {\"Vulnerable customer warning present\"}\r\n

\r\n )}\r\n {!isPresentationView && this.props.importantNotes?.length > 0 && (\r\n

{\"Important notes added\"}

\r\n )}\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private checkAdviserBridgePermission(clientId: number) {\r\n PortfolioDashboardSummaryAction.checkAdviserBridgeAccountPermission(\r\n this.props.customerid,\r\n (res: CheckAccountPermissionsResponse) => {\r\n if (res?.IsPermissionedToAccounts) {\r\n const content = (\r\n \r\n {\r\n window.open(`/ClientBase/AdminBridge/AdminBridge.aspx?BridgeClientId=${clientId}`);\r\n }}\r\n >\r\n View Client Portal\r\n \r\n \r\n );\r\n this.setState({ isOnlineAccessAllowed: true, bridgeContent: content, isLightboxShow: true });\r\n } else {\r\n const content =

{res?.DisplayMessage}

;\r\n this.setState({ isOnlineAccessAllowed: true, bridgeContent: content, isLightboxShow: true });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private renderClientPortalWarningMessage() {\r\n return (\r\n { }}\r\n >\r\n

\r\n You are accessing a Client Portal view of data view that has User Access disabled. This client\r\n currently does not have access.\r\n

\r\n {\r\n this.checkAdviserBridgePermission(this.state.clientDetail?.ClientId);\r\n }}\r\n >\r\n OK\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderAdviserBridge(ele) {\r\n return (\r\n {\r\n this.setState({ isLightboxShow: false });\r\n }}\r\n >\r\n {ele}\r\n \r\n );\r\n }\r\n\r\n private getDateDifference(): number {\r\n const date1 = new Date();\r\n const lastLoginDate = this.state.clientDetail?.LastLoginTime || new Date();\r\n let date2 = JsonDateParser.toDate(lastLoginDate);\r\n if (date2 == null) {\r\n date2 = new Date();\r\n }\r\n const diffDays = Math.floor(\r\n (Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate()) -\r\n Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate())) /\r\n (1000 * 60 * 60 * 24)\r\n );\r\n return diffDays;\r\n }\r\n\r\n private getRestrictionString() {\r\n const { restrictionReasons } = this.props;\r\n let reasons = \"\";\r\n restrictionReasons.forEach((reason) => {\r\n if (reason.CanView) {\r\n if (reasons != \"\") {\r\n reasons = reasons.concat(\"; \");\r\n }\r\n const accountRestriction = reason.ClAccountId + \" - \" + reason.ReasonName;\r\n reasons = reasons.concat(accountRestriction);\r\n }\r\n });\r\n return reasons;\r\n }\r\n}\r\nPortfolioDashboardHeader.contextType = PresentationContext;\r\n","import { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { groupBy } from \"../../../../../../../react-core/Utils/Arrays\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { AccountRole } from \"../../../../../../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { AccountStatus } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { SubAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { defaultAccountMinDate } from \"../../Resource/Content\";\r\nimport { ProductValuationDetailSummary } from \"../../../../../../../Wrap/Models/Domains/Valuation/ProductValuationDetailSummary\";\r\n\r\nexport const getSelectedHeadAccount = (selectedSubAccounts: string[], allAccounts: ClientAccount[]): string[] => {\r\n return selectedHeadAccounts(selectedSubAccounts, allAccounts).map((account) => account.HierarchyId);\r\n};\r\n\r\nexport const getSelectedHeadClAccountId = (selectedSubAccounts: string[], allAccounts: ClientAccount[]): string[] => {\r\n return selectedHeadAccounts(selectedSubAccounts, allAccounts).map((account) => account.HeadClAccountId);\r\n};\r\n\r\n// get the minimum inception date of selected head accounts\r\n// in case client account has no known inception date, set it as default\r\nexport const getSelectedAccountsInceptionDate = (selectedSubAccounts: string[], allAccounts: ClientAccount[]) => {\r\n let date: Date = null;\r\n allAccounts.map((x) => {\r\n x.SubAccounts.map((s) => {\r\n const curDate = new Date(s.InceptionDate + \"\");\r\n if (selectedSubAccounts?.includes(s.HierarchyId) && curDate.getTime() > defaultAccountMinDate.getTime()) {\r\n date = !date || curDate.getTime() < date.getTime() ? curDate : date;\r\n }\r\n });\r\n });\r\n\r\n return date ?? defaultAccountMinDate;\r\n};\r\n\r\n//gets selected headAccounts based on selected sub account hierarchy ids,\r\n//A head account is selected when one of its sub account is selected\r\nexport const selectedHeadAccounts = (selectedSubAccounts: string[], allAccounts: ClientAccount[]): ClientAccount[] => {\r\n return (\r\n allAccounts?.filter((account) =>\r\n (account.SubAccounts || []).some((subAccount) => selectedSubAccounts?.includes(subAccount.HierarchyId))\r\n ) || []\r\n );\r\n};\r\n\r\n//gets selected subAccounts based on selected sub account hierarchy ids,\r\nexport const selectedSubAccount = (selectedSubAccounts: string[], allAccounts: ClientAccount[]): SubAccount[] => {\r\n const selected = [];\r\n (allAccounts || []).forEach((clientaccount) => {\r\n clientaccount.SubAccounts.forEach((subAccount) => {\r\n if (selectedSubAccounts.includes(subAccount.HierarchyId)) {\r\n selected.push(subAccount);\r\n }\r\n });\r\n });\r\n return selected;\r\n};\r\n\r\n//gets selected headAccounts based on selected sub account hierarchy ids,\r\n//A head account is selected when all its subaccounts are selected\r\nexport const selectedHeadAccountsOnly = (\r\n selectedSubAccounts: string[],\r\n allAccounts: ClientAccount[]\r\n): ClientAccount[] => {\r\n const selectedHeadAccounts = [];\r\n allAccounts.forEach((account) => {\r\n const subAccounts = (selectedSubAccounts || []).filter((subAccount) =>\r\n account.SubAccounts.some((x) => HierarchyIdHelper.Equals(x.HierarchyId, subAccount))\r\n );\r\n if (subAccounts.length == account.SubAccounts.length) {\r\n selectedHeadAccounts.push(account);\r\n }\r\n });\r\n return selectedHeadAccounts;\r\n};\r\n\r\nexport const getUrl = (clientAccount: ClientAccount, accountRoles: Array, tab: string): string => {\r\n // check if investor\r\n if (clientAccount?.InvestorType == InvestorType.Consolidated) {\r\n // consolidate account\r\n return Urls.get()\r\n .main.PortfolioDashboard({ hierarchyId: clientAccount?.HierarchyId })\r\n [tab.toLowerCase()].getUrl();\r\n }\r\n // normal account\r\n // get primary customer\r\n const primaryCustomer = accountRoles?.find((e) => e?.IsPrimary);\r\n return Urls.get()\r\n .main.PortfolioDashboard({ hierarchyId: primaryCustomer?.Customer?.HierarchyId })\r\n [tab.toLowerCase()].getUrl();\r\n};\r\n\r\nexport const isConsolidate = () => {\r\n const customerId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n const { hierarchyLevel, entityId } = HierarchyIdHelper.generateHierarchyId(customerId);\r\n return hierarchyLevel === HierarchyLevelName.Account;\r\n};\r\n\r\n// get subaccount info and according head account info by subaccount claccount id\r\n// if give head account claccountid then return null for subaccount\r\nexport const getSubAccountInfoByClAccountId = (\r\n claccountid: string,\r\n allAccounts: ClientAccount[]\r\n): { headAccount: ClientAccount; subAccount: SubAccount } => {\r\n if (CommonHelper.isNullOrEmpty(claccountid)) {return null;}\r\n //head account\r\n if (!claccountid.includes(\"-\")) {\r\n return {\r\n headAccount: (allAccounts || []).find((ele) => ele.HeadClAccountId === claccountid),\r\n subAccount: null,\r\n };\r\n }\r\n const headAccount = (allAccounts || []).find((head) =>\r\n (head.SubAccounts || []).some((sub) => sub.ClAccountId === claccountid)\r\n );\r\n //allAccounts only contains active sub-accounts,for claccountid of inactive sub-accounts cant get headAccount from allAccounts\r\n if (headAccount === null || headAccount === undefined) {\r\n return {\r\n headAccount: (allAccounts || []).find((ele) => ele.HeadClAccountId === claccountid.split(\"-\")[0]),\r\n subAccount: null,\r\n };\r\n }\r\n const subAccount = (headAccount?.SubAccounts || []).find((ele) => ele.ClAccountId === claccountid);\r\n return {\r\n headAccount: headAccount,\r\n subAccount: subAccount,\r\n };\r\n};\r\n\r\n//gets selected sub account claccountIds based on selected sub account hierarchy ids\r\nexport const getSelectedSubAccountIds = (selectedSubAccounts: string[], allAccounts: ClientAccount[]): string[] => {\r\n const subAccountIds = [];\r\n if (!selectedSubAccounts || !allAccounts) {\r\n return subAccountIds;\r\n }\r\n\r\n allAccounts.forEach((clientAccount) =>\r\n clientAccount.SubAccounts.forEach((sa) => {\r\n if (selectedSubAccounts.some((x) => HierarchyIdHelper.Equals(sa.HierarchyId, x))) {\r\n subAccountIds.push(sa.ClAccountId);\r\n }\r\n })\r\n );\r\n\r\n return subAccountIds;\r\n};\r\n\r\n// group the selected head accounts by account type (Individual / Trust / Joint)\r\nexport const headAccountGroupByInvestorType = (\r\n selectedAccounts: ClientAccount[]\r\n): { Individual: ClientAccount[]; Joint: ClientAccount[]; Trust: ClientAccount[] } => {\r\n const groups = groupBy(\"InvestorType\", selectedAccounts);\r\n //combine same type with different enum\r\n const result = { Individual: [], Joint: [], Trust: [] };\r\n Object.keys(groups).forEach((ele) => {\r\n if (ele == InvestorType.Individ.toString() || ele == InvestorType.Individual.toString()) {\r\n result.Individual = result.Individual.concat(groups[ele] || []);\r\n }\r\n if (ele == InvestorType.Joint.toString() || ele == InvestorType.JointIndividual.toString()) {\r\n result.Joint = result.Joint.concat(groups[ele] || []);\r\n }\r\n if (ele == InvestorType.Trust.toString()) {\r\n result.Trust = result.Trust.concat(groups[ele] || []);\r\n }\r\n });\r\n return result;\r\n};\r\n\r\nexport const orderHeadAccountGroupByInvestorType = (allAccounts: ClientAccount[]): ClientAccount[] => {\r\n const groupHeadaccount = headAccountGroupByInvestorType(allAccounts);\r\n const result = [];\r\n groupHeadaccount.Individual.forEach((account) => {\r\n result.push(account);\r\n });\r\n groupHeadaccount.Joint.forEach((account) => {\r\n result.push(account);\r\n });\r\n groupHeadaccount.Trust.forEach((account) => {\r\n result.push(account);\r\n });\r\n return result;\r\n};\r\n\r\nconst putWrapCashAsLastOne = (subAccount: SubAccount[] = []): SubAccount[] => {\r\n if (!subAccount) {return [];}\r\n const WrapCash = subAccount.find((ele) => ele.SubAccountType == SubAccountType.WrapCash);\r\n return subAccount.filter((ele) => ele.SubAccountType != SubAccountType.WrapCash).concat(WrapCash || []);\r\n};\r\n\r\n// group the selected sub accounts by account type (Individual / Trust / Joint)\r\nexport const SubAccountGroupByInvestorType = (\r\n selectedAccounts: ClientAccount[],\r\n selectedSubAccounts: SubAccount[]\r\n): { Individual: SubAccount[]; Joint: SubAccount[]; Trust: SubAccount[] } => {\r\n const headAccountGroups = headAccountGroupByInvestorType(selectedAccounts);\r\n const result = { Individual: [], Joint: [], Trust: [] };\r\n Object.keys(headAccountGroups).forEach((ele) => {\r\n headAccountGroups[ele].forEach((clientAccount: ClientAccount) => {\r\n const selected = selectedSubAccounts.filter((subaccount) => clientAccount.SubAccounts.includes(subaccount));\r\n const subAccounts = putWrapCashAsLastOne(selected);\r\n result[ele] = result[ele].concat(subAccounts);\r\n });\r\n });\r\n\r\n return result;\r\n};\r\n\r\n// group the info for summary dashboard\r\n// clAccountKey key to get the claccountid\r\nexport const groupProductDetail = (\r\n selectedAccounts: string[],\r\n allAccounts: ClientAccount[],\r\n productDetail: ProductValuationDetailSummary[] = [],\r\n clAccountKey: string\r\n): { Individual: any[]; Joint: any[]; Trust: any[] } => {\r\n const result = { Individual: [], Joint: [], Trust: [] };\r\n if (\r\n !productDetail ||\r\n productDetail.length === 0 ||\r\n !selectedAccounts ||\r\n selectedAccounts.length == 0 ||\r\n !allAccounts ||\r\n allAccounts.length == 0\r\n )\r\n {return result;}\r\n if (!productDetail[0][clAccountKey]) {\r\n console.error(`can not find ${clAccountKey} in ${typeof productDetail[0]}`);\r\n return result;\r\n }\r\n\r\n const groupedSubAccount = SubAccountGroupByInvestorType(\r\n selectedHeadAccounts(selectedAccounts, allAccounts),\r\n selectedSubAccount(selectedAccounts, allAccounts)\r\n );\r\n\r\n Object.keys(groupedSubAccount).forEach((key) => {\r\n groupedSubAccount[key].forEach((subAccount: SubAccount) => {\r\n if (!isInActiveAccount(subAccount?.Status)) {\r\n const item = productDetail.find((ele) => ele[clAccountKey] == subAccount.ClAccountId);\r\n if (item) {result[key].push(item);}\r\n }\r\n });\r\n });\r\n return result;\r\n};\r\n\r\nexport const findHeadAccount = (allAccounts: ClientAccount[], hierarchyId: string): ClientAccount => {\r\n if (!allAccounts || allAccounts.length == 0) {return null;}\r\n const { hierarchyLevel } = HierarchyIdHelper.generateHierarchyId(hierarchyId);\r\n let clientAccount = null;\r\n if (hierarchyLevel === HierarchyLevelName.SubAccount) {\r\n clientAccount = allAccounts.find((account) =>\r\n account.SubAccounts.some((subAccount) => subAccount.HierarchyId === hierarchyId)\r\n );\r\n } else if (hierarchyLevel === HierarchyLevelName.Account) {\r\n clientAccount = allAccounts.find((account) => account.HierarchyId === hierarchyId);\r\n }\r\n return clientAccount;\r\n};\r\n\r\n// check headaccount is closing status\r\n// default as false\r\nexport const isClosingAccount = (allAccounts: ClientAccount[], hierarchyId: string): boolean => {\r\n if (!allAccounts || allAccounts.length == 0) {return false;}\r\n const clientAccount = findHeadAccount(allAccounts, hierarchyId);\r\n\r\n if (clientAccount) {\r\n return [AccountStatus.Closing, AccountStatus.Closed].includes(clientAccount.AccountStatus);\r\n } else {\r\n console.error(\"Wrong hierarchyId level, only accept subaccount or headaccount hierarchy id\");\r\n return false;\r\n }\r\n};\r\n\r\nexport const isInActiveAccount = (status: AccountStatus): boolean => {\r\n return [AccountStatus.InActive, AccountStatus.DELETED].includes(status);\r\n};\r\n\r\nexport const updateAccountInfo = (newAccountInfo: ClientAccount, allAccounts: ClientAccount[]): ClientAccount[] => {\r\n if (!newAccountInfo || !allAccounts || allAccounts.length == 0) {return [];}\r\n const findAccountIndex = allAccounts.findIndex((acc) => acc.HeadClAccountId == newAccountInfo.HeadClAccountId);\r\n if (findAccountIndex < 0) {\r\n console.error(\"Not find new account in all accounts, no update made.\");\r\n return allAccounts;\r\n }\r\n allAccounts[findAccountIndex] = newAccountInfo;\r\n return allAccounts;\r\n};\r\n\r\nexport const isTradingAccount = (allAccounts: ClientAccount[]): boolean => {\r\n if (!allAccounts) {return false;}\r\n return allAccounts.every((acc) => acc.Company == \"DIMCO\");\r\n};\r\n","import * as React from \"react\";\r\nimport { PresentationContext } from \"./PresentationViewWrapper\";\r\n\r\nexport const PresentationViewButton = (props) => {\r\n return (\r\n \r\n {({ isPresentationView, togglePresentationView }) => {\r\n return (\r\n <>\r\n {!isPresentationView && (\r\n {\r\n if (props.onClick) {\r\n props.onClick();\r\n }\r\n togglePresentationView();\r\n }}\r\n >\r\n \r\n Enter presentation mode of Dashboard\r\n \r\n )}\r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { AppLogo } from \"../../../../../../Shared/Process/AppLogo\";\r\nimport {\r\n consolidatedAccountDashboardTabEnum,\r\n dashboardRelatedPageEnum,\r\n portfolioDashboardTabEnum,\r\n portfolioDashboardTabPresentationEnum,\r\n prospectDashboardTabEnum,\r\n prospectDashboardTabPresentationEnum,\r\n} from \"../..../../../Resource/Content\";\r\nimport { Tab } from \"../../../../../../Shared/Tab/Tab\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { SlideNavigator } from \"./SlideNavigator\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\n\r\ninterface IPresentationContext {\r\n isPresentationView: boolean;\r\n togglePresentationView: () => void;\r\n}\r\n\r\nexport const PresentationContext = React.createContext({\r\n isPresentationView: false,\r\n togglePresentationView: () => {},\r\n});\r\n\r\nconst tabPermission = (): Map => {\r\n const permission = new Map();\r\n permission.set(portfolioDashboardTabEnum.Summary, UserClaim.AdviserPortalPerformanceSummaryCanView);\r\n permission.set(portfolioDashboardTabEnum.Investments, UserClaim.AdviserPortalClientInvestmentsCanView);\r\n permission.set(portfolioDashboardTabEnum.Insights, UserClaim.AdviserPortalPerformanceSummaryCanView);\r\n permission.set(portfolioDashboardTabEnum.Performance, [\r\n UserClaim.AdviserPortalPerformanceSummaryCanView,\r\n UserClaim.AdviserPortalPerformanceDetailCanView,\r\n UserClaim.AdviserPortalRealisedGainLossCanView,\r\n UserClaim.AdviserPortalUnrealisedGainLossCanView,\r\n UserClaim.AdviserPortalPerformanceIncomeCanView,\r\n UserClaim.AdviserPortalPerformanceChargesCanView,\r\n ]);\r\n permission.set(portfolioDashboardTabEnum.Transactions, [\r\n UserClaim.AdviserPortalInvestmentTransactionCanView,\r\n UserClaim.AdviserPortalPaymentsAndWithdrawlsCanView,\r\n UserClaim.AdviserPortalAccountTransfersCanView,\r\n UserClaim.AdviserPortalDividendSummaryCanView,\r\n UserClaim.AdviserPortalOtherCorporateActionsCanView,\r\n UserClaim.AdviserPortalPerformanceChargesCanView,\r\n ]);\r\n permission.set(portfolioDashboardTabEnum.Documents, UserClaim.AdviserPortalDocumentLibraryCanView);\r\n permission.set(portfolioDashboardTabEnum.Roles, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n permission.set(portfolioDashboardTabEnum.Activity, UserClaim.AdviserPortalCustomerPartialAccessCanView);\r\n permission.set(portfolioDashboardTabEnum.ESG, UserClaim.AdviserPortalEsgAnalyserCanView);\r\n return permission;\r\n};\r\n\r\ninterface IPresentationViewWrapperProps {\r\n setParentState: any;\r\n header: React.ReactChild | React.ReactChildren;\r\n children: React.ReactChild | React.ReactChildren;\r\n tabs: any;\r\n tabIndex:\r\n | portfolioDashboardTabEnum\r\n | dashboardRelatedPageEnum\r\n | prospectDashboardTabEnum\r\n | consolidatedAccountDashboardTabEnum;\r\n onTabClick: (tab: number) => void;\r\n}\r\n\r\nexport const PresentationViewWrapper = (props: IPresentationViewWrapperProps) => {\r\n const { children, header, tabs, tabIndex, onTabClick } = props;\r\n const [isPresentationView, setIsPresentationView] = useState(false);\r\n\r\n const togglePresentationView = () => {\r\n setIsPresentationView(!isPresentationView);\r\n props.setParentState({ isPresentationView: !isPresentationView });\r\n };\r\n\r\n let filteredTabs = tabs;\r\n if (isPresentationView) {\r\n if (tabs === portfolioDashboardTabEnum) {filteredTabs = portfolioDashboardTabPresentationEnum;}\r\n if (tabs === prospectDashboardTabEnum) {filteredTabs = prospectDashboardTabPresentationEnum;}\r\n }\r\n\r\n const tabNav = tabs ? (\r\n \r\n ) : null;\r\n\r\n return (\r\n <>\r\n {isPresentationView && (\r\n {\r\n setIsPresentationView(false);\r\n props.setParentState({ isPresentationView: false });\r\n }}\r\n >\r\n {isPresentationView && (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {header}\r\n {tabNav}\r\n {children}\r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n )}\r\n {!isPresentationView && (\r\n \r\n {header}\r\n {tabNav}\r\n {children}\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CashPayment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { AriaTooltip } from \"../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { regularDepositMethodArraysMap } from \"../../../Common/Resource/Contents\";\r\nimport { PaymentSourceMap } from \"../Transactions/Resource/Contents\";\r\n\r\ninterface IThreeDotsDropdownProps {\r\n clientRegularPayment: CashPayment[];\r\n onClose: VoidFunction;\r\n onSelect: (batchId: number) => void;\r\n}\r\n\r\nexport const SelectRegularPaymentPop = (props: IThreeDotsDropdownProps) => {\r\n const selectClientRegular = props.clientRegularPayment;\r\n const [selectdBatchId, setSelectdBatchId] = useState(null);\r\n const [selectCashPayment, setSelectCashPayment] = useState(null);\r\n\r\n const tooltipConfig = () => {\r\n return [\r\n {\r\n title: \"Account number\",\r\n data: selectCashPayment?.BankAccountNumber || \"N/A\",\r\n },\r\n {\r\n title: \"Sort code\",\r\n data: selectCashPayment?.SortCode || \"N/A\",\r\n },\r\n {\r\n title: \"Next payment data\",\r\n data:\r\n selectCashPayment?.NextDate == null\r\n ? \"N/A\"\r\n : JsonDateParser.getFormatDate(selectCashPayment?.NextDate, \"dd/MM/yyyy\"),\r\n },\r\n { title: \"Payer type\", data: PaymentSourceMap[selectCashPayment?.Source] || \"N/A\" },\r\n ];\r\n };\r\n\r\n return (\r\n <>\r\n {selectClientRegular.length > 1 && (\r\n 1}\r\n title={\"Current client regular payment instructions\"}\r\n contentAfterTitle={null}\r\n onClose={() => {\r\n setSelectdBatchId(null);\r\n props.onClose();\r\n }}\r\n type={LightboxType.Modal}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n <>\r\n

\r\n Multiple existing current regular payments have been identified which are being paid by the\r\n client.\r\n

\r\n

Which one would you like to edit?

\r\n
\r\n {\r\n return regularDepositMethodArraysMap[data];\r\n },\r\n },\r\n {\r\n title: \"Instruction\",\r\n key: \"Instruction\",\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n render: (data, row: CashPayment) => {\r\n return (\r\n {\r\n setSelectCashPayment(row);\r\n }}\r\n onClose={() => setSelectCashPayment(null)}\r\n >\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Select payment\",\r\n key: \"\",\r\n render: (data, row: CashPayment) => {\r\n return (\r\n {\r\n if (v) {\r\n setSelectdBatchId(row.BatchId);\r\n } else {\r\n setSelectdBatchId(null);\r\n }\r\n }}\r\n label=\"select this regular payment\"\r\n cssWrapper=\"square-checkbox mb-0 label-sr-only\"\r\n />\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n {\r\n props.onSelect(selectdBatchId);\r\n setSelectdBatchId(null);\r\n props.onClose();\r\n }}\r\n disabled={selectdBatchId == null}\r\n >\r\n Select payment\r\n \r\n
\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CSSProperties } from \"react\";\r\nimport { Scroll } from \"../../../../../../../react-core/Utils/Scroll\";\r\n\r\ninterface ISlideNavigatorProps {\r\n tabs: any;\r\n tabIndex: any;\r\n onClick: (index) => void;\r\n}\r\n\r\nconst dotStyling: CSSProperties = {\r\n display: \"inline-block\",\r\n borderColor: \"var(--link)\",\r\n borderWidth: \"8px\",\r\n borderStyle: \"solid\",\r\n borderRadius: \"8px\",\r\n boxSizing: \"border-box\",\r\n width: \"8px\",\r\n};\r\n\r\nexport const SlideNavigator = (props: ISlideNavigatorProps) => {\r\n const { tabs, tabIndex, onClick } = props;\r\n\r\n const tabArray = Object.values(tabs);\r\n const activeTabIndex = tabArray.indexOf(tabIndex);\r\n\r\n const links: JSX.Element[] = tabArray.map((tab, index) => {\r\n const opacity = index <= activeTabIndex ? 1 : 0.5;\r\n\r\n return (\r\n {\r\n Scroll.scrollTop();\r\n onClick(tab);\r\n }}\r\n style={{ ...dotStyling, opacity }}\r\n >\r\n );\r\n });\r\n\r\n return (\r\n
\r\n
{links}
\r\n
\r\n );\r\n};\r\n","import { DocumentsClient } from \"../../../../../../../../Wrap/Api/Documents/Documents\";\r\nimport { ProspectDocumentsClient } from \"../../../../../../../../Wrap/Api/Documents/ProspectDocuments\";\r\nimport { ServiceValidationError } from \"../../../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { DocumentsLibrary } from \"../../../../../../../../Wrap/Models/Domains/Documents/DocumentsLibrary\";\r\nimport { IJsonDate } from \"../../../../../../../../Wrap/System/IJsonDate\";\r\n\r\nexport class DocumentAction {\r\n public static get(\r\n hierarchyId: string[],\r\n fromDate: IJsonDate,\r\n toDate: IJsonDate,\r\n searchQuery: string,\r\n minRow: number,\r\n maxRow: number,\r\n taskRequestIds: Array,\r\n callback?: (val: DocumentsLibrary) => void\r\n ): void {\r\n const client = new DocumentsClient();\r\n const promise = client.get(hierarchyId, fromDate, toDate, searchQuery, minRow, maxRow, taskRequestIds);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static put(\r\n hierarchyId: string,\r\n documentId: number,\r\n status: string,\r\n callback?: (val: ServiceValidationError[]) => void\r\n ): void {\r\n const client = new DocumentsClient();\r\n const promise = client.put(documentId, hierarchyId, status);\r\n promise.onSuccess((result: ServiceValidationError[]) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getProspectDocuments(\r\n actorId: number,\r\n fromDate: IJsonDate,\r\n toDate: IJsonDate,\r\n minRow: number,\r\n maxRow: number,\r\n callback?: (val: DocumentsLibrary) => void\r\n ): void {\r\n const client = new ProspectDocumentsClient();\r\n const promise = client.get(actorId, fromDate, toDate, minRow, maxRow);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { DocumentFileClient } from \"../../../../../../../../Wrap/Api/Documents/DocumentFile\";\r\nimport { ProspectDocumentFileClient } from \"../../../../../../../../Wrap/Api/Documents/ProspectDocumentFile\";\r\nimport { ServiceValidationError } from \"../../../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\n\r\nexport class DocumentFileAction {\r\n public static get(\r\n hierarchyId: string,\r\n fileName: string,\r\n useGenericFileName: boolean,\r\n documentId: number,\r\n taskRequestId: number,\r\n clAccountId: string,\r\n callback?: (val) => void,\r\n encrypt = false\r\n ) {\r\n const client = new DocumentFileClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n fileName,\r\n useGenericFileName,\r\n documentId,\r\n taskRequestId,\r\n clAccountId,\r\n encrypt\r\n );\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getProspectDocument(\r\n actorId: number,\r\n fileName: string,\r\n useGenericFileName: boolean,\r\n documentId: number,\r\n taskRequestId: number,\r\n callback?: (val) => void,\r\n encrypt = false\r\n ) {\r\n const client = new ProspectDocumentFileClient();\r\n const promise = client.get(actorId, documentId, taskRequestId, fileName, useGenericFileName, encrypt);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static post(hierarchyId: string, documentId: number, callback?: (val: ServiceValidationError[]) => void) {\r\n const client = new DocumentFileClient();\r\n const promise = client.post(hierarchyId, documentId);\r\n promise.onSuccess((result: ServiceValidationError[]) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Button } from \"../../../../../../../../react-core/Html/Button\";\r\nimport TableFilterDropdown from \"../../../../../../../../react-core/Html/Components/TableFilterDropdown\";\r\nimport { Div } from \"../../../../../../../../react-core/Html/Div\";\r\nimport { Guid } from \"../../../../../../../../react-core/Utils/Guid\";\r\nimport { AdviserSiteTagManagerEvent } from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { DocumentTypeOptionGroups } from \"../Resource/Constant\";\r\n\r\ninterface IDocumentsFilterProps {\r\n type: Array;\r\n handleFilterChange: (val) => void;\r\n event?: AdviserSiteTagManagerEvent;\r\n}\r\n\r\ninterface IDocumentsFilterState {\r\n documentType: Array;\r\n toggleFilter: any;\r\n isSelected: boolean;\r\n}\r\n\r\nexport class DocumentsFilters extends React.Component {\r\n constructor(props: IDocumentsFilterProps) {\r\n super(props);\r\n this.state = {\r\n documentType: this.initialDocumentType(),\r\n toggleFilter: new Object(),\r\n isSelected: true,\r\n };\r\n }\r\n\r\n private initialDocumentType() {\r\n const type = this.props.type.concat();\r\n if (type.filter((o) => o.key == \"0\").length > 0) {\r\n const optionList = [];\r\n DocumentTypeOptionGroups.forEach((dict: Dictionary, index) => {\r\n dict.value.map((item: Dictionary, i) => {\r\n optionList.push(item);\r\n });\r\n });\r\n optionList.push({ key: \"0\", value: \"All\" });\r\n return optionList;\r\n }\r\n return type;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { handleFilterChange } = this.props;\r\n const { documentType, isSelected } = this.state;\r\n return (\r\n this.setState({ toggleFilter: e })}\r\n event={this.props.event}\r\n >\r\n
\r\n {this.renderDropdownContent(this.props)}\r\n
\r\n
\r\n {isSelected ? (\r\n \r\n ) : (\r\n \"Deselect all\"\r\n )}\r\n
\r\n {\r\n this.state.toggleFilter(true);\r\n this.setState({ documentType: [{ key: \"0\", value: \"All\" }] }, () => {\r\n handleFilterChange(this.state.documentType);\r\n });\r\n }}\r\n >\r\n \r\n
\r\n {\r\n this.state.toggleFilter(true);\r\n handleFilterChange(documentType);\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderDropdownContent(props: IDocumentsFilterProps) {\r\n const { documentType } = this.state;\r\n const isChecked = documentType.filter((o) => o.key == \"0\").length > 0;\r\n return (\r\n
\r\n
\r\n {/*

Select documents to view

*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.renderOptionRow1(props)}\r\n {this.renderOptionRow2(props)}\r\n {this.renderOptionRow3(props)}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderOptionRow1(props: IDocumentsFilterProps) {\r\n return (\r\n
\r\n

Tax certificates

\r\n {this.renderOptionGroup(\"Tax certificates\", props)}\r\n

Documents

\r\n {this.renderOptionGroup(\"Documents\", props)}\r\n

Reports

\r\n {this.renderOptionGroup(\"Reports\", props)}\r\n

Quotes

\r\n {this.renderOptionGroup(\"Quotes\", props)}\r\n
\r\n );\r\n }\r\n\r\n private renderOptionRow2(props: IDocumentsFilterProps) {\r\n return (\r\n
\r\n

Product key information

\r\n {this.renderOptionGroup(\"Product key information\", props)}\r\n

Trading notifications

\r\n {this.renderOptionGroup(\"Trading notifications\", props)}\r\n

Forms

\r\n {this.renderOptionGroup(\"Forms\", props)}\r\n

Other

\r\n {this.renderOptionGroup(\"Other\", props)}\r\n
\r\n );\r\n }\r\n\r\n private renderOptionRow3(props: IDocumentsFilterProps) {\r\n return (\r\n
\r\n

Investment key information

\r\n {this.renderOptionGroup(\"Investment key information\", props)}\r\n
\r\n );\r\n }\r\n\r\n private renderOptionGroup(key, props: IDocumentsFilterProps) {\r\n const { documentType } = this.state;\r\n const option = DocumentTypeOptionGroups.filter((x) => x.key === key);\r\n const type = documentType.concat();\r\n if (option && option.length > 0) {\r\n return (\r\n
\r\n {option[0].value.map((i) => {\r\n const isChecked = documentType && documentType.filter((o) => o.key === i.key).length > 0;\r\n const isCheckedAll = documentType.filter((o) => o.key == \"0\").length > 0;\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n }\r\n }\r\n\r\n private deselectAll() {\r\n const { documentType, isSelected } = this.state;\r\n const optionList = [];\r\n const type = documentType.concat();\r\n DocumentTypeOptionGroups.forEach((dict: Dictionary, index) => {\r\n dict.value.map((item: Dictionary, i) => {\r\n optionList.push(item);\r\n });\r\n });\r\n const list = type.filter((o) => o.key != \"0\");\r\n\r\n if (type.length > 0) {\r\n this.setState({ documentType: [], isSelected: false });\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { SelectEditor } from \"../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { Guid } from \"../../../../../../../../react-core/Utils/Guid\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { PortfolioDashboardStore } from \"../../../Store/Variable\";\r\n\r\ninterface IFileUploaderProps {\r\n clAccountId: string;\r\n isPopUp: boolean;\r\n onClose: (val: boolean) => void;\r\n}\r\n\r\ninterface IFileUploaderState {\r\n selectedHeadClAccountId: string;\r\n headClAccountIds: string[];\r\n}\r\n\r\nexport class FileUploader extends React.Component {\r\n constructor(props: IFileUploaderProps) {\r\n super(props);\r\n this.state = {\r\n selectedHeadClAccountId: \"\",\r\n headClAccountIds: [],\r\n };\r\n }\r\n componentDidMount() {\r\n if (CommonHelper.isNullOrEmpty(this.props.clAccountId)) {\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n const headClAccountIds = allAccounts.map((a) => a.HeadClAccountId);\r\n this.setState({ headClAccountIds: headClAccountIds, selectedHeadClAccountId: headClAccountIds[0] });\r\n } else {\r\n this.setState({\r\n headClAccountIds: [this.props.clAccountId],\r\n selectedHeadClAccountId: this.props.clAccountId,\r\n });\r\n }\r\n }\r\n public render(): JSX.Element {\r\n const { isPopUp, onClose } = this.props;\r\n\r\n return (\r\n
\r\n onClose(false)}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"wider is-default-lightbox is-wide\"}\r\n >\r\n {CommonHelper.isNullOrEmpty(this.props.clAccountId) && (\r\n key}\r\n selected={\r\n this.state.selectedHeadClAccountId\r\n ? this.state.selectedHeadClAccountId\r\n : this.state.headClAccountIds[0]\r\n }\r\n cssWrapper=\"control-size-200 mb-0\"\r\n onChange={(v) => {\r\n this.setState({ selectedHeadClAccountId: v });\r\n }}\r\n />\r\n )}\r\n
\r\n {!CommonHelper.isNullOrEmpty(this.state.selectedHeadClAccountId) &&\r\n checkPermission(UserClaim.AdviserPortalDluDocumentLibraryAddDocumentCanView) && (\r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { CommonHelper, Dictionary } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CookieHelper } from \"../../../../../../../react-core/Helpers/CookieHelper\";\r\nimport { FullScreenTableModeButton } from \"../../../../../../../react-core/Html/Components/FullScreenTableModeButton\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { addYears } from \"../../../../../../../react-core/utils/date\";\r\nimport { Guid } from \"../../../../../../../react-core/Utils/Guid\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ServiceValidationError } from \"../../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { Document } from \"../../../../../../../Wrap/Models/Domains/Documents/Document\";\r\nimport { DocumentsLibrary } from \"../../../../../../../Wrap/Models/Domains/Documents/DocumentsLibrary\";\r\nimport { DocumentType } from \"../../../../../../../Wrap/Models/Domains/Documents/DocumentType\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { DateRange } from \"../../../../../../Shared/Components/DateRange\";\r\nimport { ErrorMessagePopup } from \"../../../../../../Shared/Components/ErrorMessagePopup\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { LoadingSkeletonType } from \"../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeleton } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { ITableConfig, Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { DocumentAction } from \"./Action/DocumentAction\";\r\nimport { DocumentFileAction } from \"./Action/DocumentFileAction\";\r\nimport { DocumentsFilters } from \"./Components/DocumentsFilter\";\r\nimport { FileUploader } from \"./Components/FileUploader\";\r\nimport { Constants, DocumentStatusTypeToMap, DocumentTypeOptions } from \"./Resource/Constant\";\r\nimport {\r\n ConsolidatedAccountStore,\r\n PortfolioDashboardMultiSelectionStore,\r\n PortfolioDashboardStore,\r\n} from \"../../Store/Variable\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport {\r\n isConsolidate,\r\n orderHeadAccountGroupByInvestorType,\r\n selectedHeadAccounts,\r\n} from \"../Common/PortfolioDashboardHelper\";\r\nimport { PresentationViewButton } from \"../Common/PresentationViewButton\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { DateOptions } from \"../../../../../../Shared/Components/Resource/Contents\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { Objects } from \"../../../../../../../react-core/Utils/Objects\";\r\n\r\ninterface IPortfolioDashboardDocumentsState {\r\n userInfo: User;\r\n from: Date;\r\n to: Date;\r\n data: DocumentsLibrary;\r\n dateSelected: string;\r\n fromInception: boolean;\r\n isLoading: boolean;\r\n currentPage: number;\r\n documentType: Dictionary[];\r\n toggleFilter: any;\r\n isShowErrorMessage: boolean;\r\n errorMessage: string;\r\n isPopUp: boolean;\r\n selectedHierarchyId: string;\r\n headAccountSelected: string;\r\n}\r\n\r\ninterface IPortfolioDashboardDocumentsProps extends IPortfolioDashboardComponentProps {\r\n isProspect: boolean;\r\n}\r\n\r\nexport class PortfolioDashboardDocuments extends PortfolioDashboardComponent<\r\n IPortfolioDashboardDocumentsProps,\r\n IPortfolioDashboardDocumentsState\r\n> {\r\n intervalID;\r\n constructor(props: any) {\r\n super(props);\r\n this.initState();\r\n }\r\n initState() {\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n from: addYears(new Date(), -1),\r\n to: new Date(),\r\n dateSelected: \"4\",\r\n fromInception: false,\r\n isLoading: true,\r\n data: null,\r\n currentPage: 1,\r\n documentType: this.initializeFilter(),\r\n toggleFilter: new Object(),\r\n isShowErrorMessage: false,\r\n errorMessage: \"\",\r\n isPopUp: false,\r\n selectedHierarchyId: null,\r\n headAccountSelected: null,\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.intervalID);\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n this.intervalID = setInterval(() => {\r\n const documents: Document[] = (this.state.data?.Documents || []).filter(\r\n (x) =>\r\n x.Status == \"Pending\" ||\r\n x.Status == \"Running\" ||\r\n x.Status == \"Allocated\" ||\r\n x.Status == \"PendingDelayed\" ||\r\n x.Status == \"PendingHold\"\r\n );\r\n const taskRequestIds = [];\r\n documents.map((item, index) => {\r\n taskRequestIds.push(item.TaskRequestId);\r\n });\r\n if (taskRequestIds.length > 0) {\r\n this.getDocuments(this.state.selectedHierarchyId, taskRequestIds);\r\n }\r\n }, 6000);\r\n const indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.Documents\r\n );\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Documents,\r\n this.props.isBtnPresentationClicked\r\n );\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .documents.getUrl(),\r\n pageTitle: `${document.title} - client - documents`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n private initializeFilter(): Dictionary[] {\r\n return [{ key: \"0\", value: \"All\" }];\r\n }\r\n\r\n getData(selectedSubAccountHierarchyIds?: string[]) {\r\n const inprogressAccounts = PortfolioDashboardStore.getInProgressAccounts();\r\n const allAccounts = orderHeadAccountGroupByInvestorType(PortfolioDashboardStore.getData());\r\n const multiSelection = selectedSubAccountHierarchyIds ?? PortfolioDashboardMultiSelectionStore.getData();\r\n const isConsolidated = isConsolidate();\r\n let selectedHeadAccountsArray = selectedHeadAccounts(multiSelection, allAccounts).concat(inprogressAccounts);\r\n if (isConsolidated) {\r\n selectedHeadAccountsArray = [ConsolidatedAccountStore.getData()].concat(selectedHeadAccountsArray);\r\n }\r\n const urlHierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const { entityId, hierarchyLevel } = HierarchyIdHelper.generateHierarchyId(urlHierarchyId);\r\n let headAccountSelected,\r\n subAccountSelected = null;\r\n if (hierarchyLevel === HierarchyLevelName.Account) {\r\n headAccountSelected = urlHierarchyId;\r\n subAccountSelected = urlHierarchyId;\r\n } else if (hierarchyLevel === HierarchyLevelName.SubAccount) {\r\n allAccounts.forEach((x) => {\r\n if (x.SubAccounts.find((s) => s.HierarchyId == urlHierarchyId)) {\r\n headAccountSelected = x.HierarchyId;\r\n return;\r\n }\r\n });\r\n subAccountSelected = urlHierarchyId;\r\n } else {\r\n //default set as the first head account\r\n headAccountSelected = selectedHeadAccountsArray[0]?.HierarchyId;\r\n if (isConsolidated) {\r\n headAccountSelected = ConsolidatedAccountStore.getData()?.HierarchyId;\r\n }\r\n const allSubAccounts =\r\n selectedHeadAccountsArray.find((o) => o.HierarchyId == selectedHeadAccountsArray[0]?.HierarchyId)\r\n ?.SubAccounts || [];\r\n const subAccounts = allSubAccounts.filter((ele) => multiSelection.includes(ele.HierarchyId));\r\n let _sub = selectedHeadAccountsArray[0]?.HierarchyId;\r\n if (subAccounts.length > 0 && allSubAccounts.length !== subAccounts.length) {\r\n _sub = subAccounts?.[0].HierarchyId;\r\n }\r\n subAccountSelected = _sub;\r\n }\r\n const { minDate } = DateRange.getLeastDate(subAccountSelected, isConsolidated);\r\n const initDateRange = DateRange.initializeDateRange(minDate);\r\n\r\n this.setState({\r\n headAccountSelected: headAccountSelected,\r\n selectedHierarchyId: subAccountSelected,\r\n from: initDateRange.from,\r\n to: initDateRange.to,\r\n dateSelected: initDateRange.dateSelected,\r\n fromInception: initDateRange.fromInception,\r\n });\r\n }\r\n\r\n private getDocuments(selectedSubAccountHierarchyIds?: string, taskRequestIds?: Array) {\r\n const { from, to, currentPage, documentType } = this.state;\r\n const _from = JsonDateParser.toJsonDateNoOffset(from);\r\n const _to = JsonDateParser.toJsonDateNoOffset(to);\r\n const minRow = (currentPage - 1) * 10 + 1;\r\n const maxRow = currentPage * 10;\r\n if (!selectedSubAccountHierarchyIds) {\r\n DocumentAction.getProspectDocuments(\r\n this.props.customerid,\r\n _from,\r\n _to,\r\n minRow,\r\n maxRow,\r\n (result: DocumentsLibrary) => {\r\n this.setState({\r\n data: result,\r\n isLoading: false,\r\n });\r\n }\r\n );\r\n } else {\r\n let searchquery = \"\";\r\n if (documentType.filter((o) => o.key === \"0\").length === 0) {\r\n const array = [];\r\n for (const item of documentType) {\r\n array.push(item.key);\r\n }\r\n searchquery = array.join(\",\");\r\n }\r\n\r\n if (this.state.selectedHierarchyId == this.state.headAccountSelected) {\r\n // if head account selected,include all subaccount in service call as well\r\n const list = [selectedSubAccountHierarchyIds];\r\n const inprogressAccounts = PortfolioDashboardStore.getInProgressAccounts();\r\n const allAccounts = orderHeadAccountGroupByInvestorType(PortfolioDashboardStore.getData());\r\n const multiSelection = PortfolioDashboardMultiSelectionStore.getData();\r\n const selectedHeadAccountsArray = selectedHeadAccounts(multiSelection, allAccounts).concat(\r\n inprogressAccounts\r\n );\r\n const subAccounts =\r\n selectedHeadAccountsArray.find((o) => o.HierarchyId == selectedSubAccountHierarchyIds)\r\n ?.SubAccounts || [];\r\n for (const item of subAccounts) {\r\n list.push(item.HierarchyId);\r\n }\r\n selectedSubAccountHierarchyIds = list.join(\",\");\r\n }\r\n DocumentAction.get(\r\n [selectedSubAccountHierarchyIds],\r\n _from,\r\n _to,\r\n searchquery,\r\n minRow,\r\n maxRow,\r\n taskRequestIds,\r\n (result: DocumentsLibrary) => {\r\n if (taskRequestIds && taskRequestIds.length > 0) {\r\n const documentLibrary: DocumentsLibrary = Objects.cloneObject(this.state.data);\r\n const documentList: Document[] = documentLibrary.Documents;\r\n taskRequestIds.map((item, idx) => {\r\n const docIndex = documentList.findIndex((x) => x.TaskRequestId == item);\r\n if (docIndex > -1) {\r\n documentList.splice(docIndex, 1);\r\n }\r\n });\r\n (result.Documents || []).map((item, idx) => {\r\n documentList.push(item);\r\n });\r\n documentList.sort((a, b) => {\r\n if (a.Id > b.Id) {return -1;}\r\n if (a.Id < b.Id) {return 1;}\r\n return 0;\r\n });\r\n documentLibrary.Documents = documentList;\r\n this.setState({\r\n data: documentLibrary,\r\n isLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n data: result,\r\n isLoading: false,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n private rendertable() {\r\n const { data, isLoading, currentPage } = this.state;\r\n if (isLoading || !data) {\r\n return ;\r\n } else if (data && data.Documents.length == 0) {\r\n return ;\r\n } else {\r\n return (\r\n <>\r\n {\r\n this.setState(\r\n {\r\n currentPage: pageIndex,\r\n },\r\n () => {\r\n this.getDocuments(this.state.selectedHierarchyId);\r\n }\r\n );\r\n },\r\n }}\r\n />\r\n {this.renderErrorMessage()}\r\n \r\n );\r\n }\r\n }\r\n\r\n private documentDownloadEvent(document: Document) {\r\n this.addEvent({\r\n event: \"documentDownload\",\r\n document: {\r\n title: document.DisplayName,\r\n url: `/popups/loaddocstore.aspx?filename=${document.FileNameEncryption}&encrypt=yes`,\r\n id: document.Id.toString(),\r\n },\r\n });\r\n }\r\n\r\n private tableColConfig(documentData: DocumentsLibrary): ITableConfig[] {\r\n const { selectedHierarchyId } = this.state;\r\n\r\n return [\r\n {\r\n title: \"ID\",\r\n key: \"Id\",\r\n },\r\n {\r\n title: \"Document\",\r\n key: \"DisplayName\",\r\n thCssWrapper: \"cell-25\",\r\n render: (data, row: Document, index) => {\r\n if (row.Status.toLowerCase() !== \"complete\" && row.Status.toLowerCase() !== \"created\")\r\n {return row.DisplayName;}\r\n return (\r\n {\r\n this.documentDownloadEvent(row);\r\n this.openDocument(row, v);\r\n }}\r\n >\r\n {row.DisplayName}\r\n \r\n );\r\n },\r\n },\r\n this.state.selectedHierarchyId\r\n ? null\r\n : {\r\n title: \"Quote Reference\",\r\n key: \"QuoteReference\",\r\n render: (data, row: Document, index) => {\r\n return row.QuoteReference ? row.QuoteReference : \"-\";\r\n },\r\n },\r\n {\r\n title: \"AccountId\",\r\n key: \"ClAccountID\",\r\n },\r\n {\r\n title: \"Type\",\r\n key: \"Type\",\r\n render: (data, row: Document, index) => {\r\n return this.convertType(row.Type);\r\n },\r\n },\r\n {\r\n title: \"Date\",\r\n key: \"AddedOn\",\r\n render: (data, row: Document, index) => {\r\n return JsonDateParser.getFormatDate(row.AddedOn,\"dd/MM/yyyy hh:mm:ss\");\r\n },\r\n },\r\n {\r\n title: \"Report status\",\r\n key: \"Status\",\r\n },\r\n {\r\n title: \"Archive status\",\r\n key: \"Status\",\r\n render: (data, row: Document, index) => {\r\n if (!selectedHierarchyId) {\r\n return null;\r\n }\r\n const isEditable = documentData.CanEdit && row.Type.Name != \"Direct Portal\";\r\n const isEditDirectPortal = documentData.CanEditDirectPortal && row.Type.Name == \"Direct Portal\";\r\n if (isEditable || isEditDirectPortal) {\r\n return (\r\n x.key)}\r\n label=\"Archive status\"\r\n getText={(key) => CommonHelper.getOptionsTxt(key, DocumentStatusTypeToMap)}\r\n selected={row?.DocStatus}\r\n cssWrapper=\"control-size-200 mb-0 label-sr-only\"\r\n onChange={(v) => {\r\n this.updateDocStatus(this.GetHeadHierarchyId(row.ClAccountID), row.Id, v);\r\n }}\r\n />\r\n );\r\n } else {\r\n return null;\r\n }\r\n },\r\n },\r\n {\r\n title: \"Download\",\r\n key: \"Type\",\r\n render: (data, row: Document, index) => {\r\n return (\r\n \r\n );\r\n },\r\n },\r\n ];\r\n }\r\n\r\n private openDocument(row: Document, event) {\r\n window.open(`/popups/loaddocstore.aspx?filename=${row.FileNameEncryption}&encrypt=yes`, \"_blank\");\r\n }\r\n\r\n private renderErrorMessage(): JSX.Element {\r\n const { isShowErrorMessage } = this.state;\r\n if (isShowErrorMessage) {\r\n return (\r\n
\r\n

\r\n \r\n

\r\n
\r\n );\r\n }\r\n }\r\n private GetHeadHierarchyId(clAccountId: string) {\r\n if (!clAccountId) {return;}\r\n let allAccounts = PortfolioDashboardStore.getFullAccounts();\r\n\r\n if (isConsolidate()) {\r\n const consolidatedAccountData = ConsolidatedAccountStore.getData();\r\n if (Array.isArray(consolidatedAccountData)) {\r\n allAccounts = allAccounts.concat(consolidatedAccountData);\r\n } else {\r\n allAccounts.push(consolidatedAccountData);\r\n }\r\n }\r\n\r\n if (clAccountId.indexOf(\"-\") <= 0) {\r\n const hierarchyId = allAccounts.find((a) => a.HeadClAccountId == clAccountId)?.HierarchyId;\r\n if (hierarchyId) {return hierarchyId;}\r\n }\r\n let subaccounthierarchyId = \"\";\r\n allAccounts.forEach((x) => {\r\n const subaccount = (x.SubAccounts || [])?.find((a) => a.ClAccountId == clAccountId);\r\n if (subaccount) {\r\n subaccounthierarchyId = subaccount.HierarchyId;\r\n }\r\n });\r\n return subaccounthierarchyId;\r\n }\r\n\r\n private downLoadOrDelete(row: Document) {\r\n const { selectedHierarchyId } = this.state;\r\n\r\n //Download document\r\n this.documentDownloadEvent(row);\r\n\r\n if (!selectedHierarchyId) {\r\n DocumentFileAction.getProspectDocument(\r\n this.props.customerid,\r\n row.FileNameEncryption,\r\n false,\r\n row.Id,\r\n row.TaskRequestId ?? 0,\r\n (result) => {\r\n if (!result) {\r\n this.setState({\r\n isShowErrorMessage: true,\r\n errorMessage: Constants.Error_FileFailToLoad,\r\n });\r\n } else {\r\n window.open(result);\r\n this.getDocuments(this.state.selectedHierarchyId);\r\n }\r\n },\r\n true\r\n );\r\n } else {\r\n DocumentFileAction.get(\r\n this.GetHeadHierarchyId(row.ClAccountID),\r\n row.FileNameEncryption,\r\n false,\r\n row.Id,\r\n row.TaskRequestId ?? 0,\r\n row.ClAccountID,\r\n (result) => {\r\n if (result !== null && result !== \"\") {\r\n this.handleReadDocument(this.GetHeadHierarchyId(row.ClAccountID), row.Id, result);\r\n } else {\r\n this.setState({\r\n isShowErrorMessage: true,\r\n errorMessage: Constants.Error_FileFailToLoad,\r\n });\r\n }\r\n },\r\n true\r\n );\r\n }\r\n }\r\n\r\n private updateDocStatus(hierarchyId, documentId, status) {\r\n DocumentAction.put(hierarchyId, documentId, status, (callBack: ServiceValidationError[]) => {\r\n if (callBack.length > 0) {\r\n this.setState({ isShowErrorMessage: true, errorMessage: callBack.map((ele) => ele.UserMessage)[0] });\r\n } else {\r\n this.getDocuments(this.state.selectedHierarchyId);\r\n }\r\n });\r\n }\r\n\r\n private handleReadDocument(hierarchyId, id: number, result) {\r\n DocumentFileAction.post(hierarchyId, id, (callBack: ServiceValidationError[]) => {\r\n if (callBack.length > 0) {\r\n this.setState({ isShowErrorMessage: true, errorMessage: callBack.map((ele) => ele.UserMessage)[0] });\r\n } else {\r\n window.open(result);\r\n this.getDocuments(this.state.selectedHierarchyId);\r\n }\r\n });\r\n }\r\n\r\n private convertType(type: DocumentType) {\r\n const option = DocumentTypeOptions.filter((o) => o.key === type.Id.toString());\r\n if (option && option.length > 0) {return option[0].value;}\r\n }\r\n\r\n closeErrorMessagePopup = () => {\r\n this.setState({ isShowErrorMessage: false });\r\n };\r\n\r\n handleFilterChange = (documentType: Dictionary[]) => {\r\n if (documentType.length == 0) {\r\n this.setState({\r\n data: { Documents: [] },\r\n isLoading: false,\r\n });\r\n return;\r\n }\r\n const updatedfilter = documentType;\r\n for (const key in documentType) {\r\n updatedfilter[key] = documentType[key];\r\n }\r\n\r\n this.setState(\r\n {\r\n currentPage: 1,\r\n documentType: updatedfilter,\r\n },\r\n () => {\r\n this.getDocuments(this.state.selectedHierarchyId);\r\n }\r\n );\r\n };\r\n\r\n private renderFileUpLoader() {\r\n if (this.state.isPopUp) {\r\n const allAccounts = PortfolioDashboardStore.getFullAccounts();\r\n return (\r\n <>\r\n (a.HierarchyId == this.state.headAccountSelected)).HeadClAccountId\r\n }\r\n onClose={() => {\r\n this.setState({ isPopUp: false, currentPage: 1 });\r\n this.getDocuments(this.state.selectedHierarchyId);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }\r\n\r\n private renderMpsStatementMessage() {\r\n const { isLoading } = this.state;\r\n if (CookieHelper.getCookie(\"IsMpsJump\")) {\r\n if (!isLoading) {\r\n CookieHelper.eraseCookie(\"IsMpsJump\", \"/\");\r\n }\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n private handleLaunchpadClick() {\r\n const context: Record = {};\r\n\r\n const { headAccountSelected, selectedHierarchyId } = this.state;\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {context.customerId = customerHierarchyId;}\r\n if (headAccountSelected) {context.accountGroupId = headAccountSelected;}\r\n // handle scenario of head account selected\r\n if (selectedHierarchyId && headAccountSelected !== selectedHierarchyId) {context.accountId = selectedHierarchyId;}\r\n\r\n (window as any).AppStore.open(context);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { from, to, dateSelected, documentType, headAccountSelected, selectedHierarchyId } = this.state;\r\n const isConsolidated = isConsolidate();\r\n const { minDate, isDisable } = DateRange.getLeastDate(selectedHierarchyId, isConsolidated);\r\n const { isPresentationView } = this.context;\r\n const inProgressAcount = PortfolioDashboardStore.getInProgressAccounts();\r\n const allAccounts = orderHeadAccountGroupByInvestorType(PortfolioDashboardStore.getData());\r\n const multiSelection = PortfolioDashboardMultiSelectionStore.getData();\r\n const quickQuote: ClientAccount = {\r\n AccountName: \"Quick quote\",\r\n HeadClAccountId: \"\",\r\n };\r\n let selectedHeadAccountsArray = [quickQuote]\r\n .concat(selectedHeadAccounts(multiSelection, allAccounts))\r\n .concat(inProgressAcount);\r\n\r\n const subaccountViewDic: Dictionary[] = [];\r\n if (isConsolidate()) {\r\n selectedHeadAccountsArray = [ConsolidatedAccountStore.getData()].concat(selectedHeadAccountsArray);\r\n }\r\n if (headAccountSelected == ConsolidatedAccountStore.getData()?.HierarchyId) {\r\n subaccountViewDic.push({ key: headAccountSelected, value: \"Portfolio view\" });\r\n } else {\r\n const allSubAccounts =\r\n selectedHeadAccountsArray.find((o) => o.HierarchyId == headAccountSelected)?.SubAccounts || [];\r\n const subAccounts = allSubAccounts.filter((ele) =>\r\n PortfolioDashboardMultiSelectionStore.getData().includes(ele.HierarchyId)\r\n );\r\n if (allSubAccounts.length == subAccounts.length) {\r\n subaccountViewDic.push({ key: headAccountSelected, value: \"Portfolio view\" });\r\n }\r\n subAccounts?.forEach((item) => {\r\n const accoutNum = \" \" + item.ClAccountId.substr(item.ClAccountId.indexOf(\"-\") + 1);\r\n const _value = item.ProductDisplayName + accoutNum;\r\n subaccountViewDic.push({ key: item.HierarchyId, value: _value });\r\n });\r\n }\r\n\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n return (\r\n
\r\n
\r\n \r\n {this.renderMpsStatementMessage()}\r\n
\r\n
\r\n x.HierarchyId)}\r\n getText={(x) => {\r\n const account = selectedHeadAccountsArray.find((o) => o.HierarchyId == x);\r\n return `${account?.AccountName} ${account?.HeadClAccountId}`;\r\n }}\r\n onChange={(val) => {\r\n this.addEvent({\r\n event: \"documenttab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.documentTab,\r\n eventLabel: \"select account\",\r\n },\r\n });\r\n const allSubAccounts =\r\n selectedHeadAccountsArray.find((o) => o.HierarchyId == val)?.SubAccounts || [];\r\n const subAccounts = allSubAccounts.filter((ele) =>\r\n PortfolioDashboardMultiSelectionStore.getData().includes(ele.HierarchyId)\r\n );\r\n let _sub = val;\r\n if (allSubAccounts.length !== subAccounts.length) {\r\n _sub = subAccounts?.[0].HierarchyId;\r\n }\r\n\r\n this.setState(\r\n {\r\n headAccountSelected: val,\r\n selectedHierarchyId: _sub,\r\n },\r\n () => this.getDocuments(this.state.selectedHierarchyId)\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {this.state.selectedHierarchyId && (\r\n
\r\n ele.key)}\r\n getText={(x) => CommonHelper.getOptionsTxt(x, subaccountViewDic)}\r\n onChange={(val) => {\r\n this.addEvent({\r\n event: \"documenttab_interaction\",\r\n eventParameters: {\r\n eventAction: \"view selector\",\r\n eventCategory: eventCategoryForGTM.documentTab,\r\n eventLabel: CommonHelper.getOptionsTxt(\r\n val,\r\n subaccountViewDic\r\n ).toLowerCase(),\r\n },\r\n });\r\n this.setState(\r\n {\r\n selectedHierarchyId: val,\r\n },\r\n () => this.getDocuments(this.state.selectedHierarchyId)\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {\r\n if (dateSelected != this.state.dateSelected) {\r\n this.addEvent({\r\n event: \"documenttab_interaction\",\r\n eventParameters: {\r\n eventAction: \"date range selector\",\r\n eventCategory: eventCategoryForGTM.documentTab,\r\n eventLabel: CommonHelper.getOptionsTxt(\r\n dateSelected,\r\n DateOptions\r\n ).toLowerCase(),\r\n },\r\n });\r\n }\r\n\r\n this.setState(\r\n {\r\n from: fromInception ? minDate : fromDate,\r\n to: toDate,\r\n dateSelected: dateSelected,\r\n fromInception: fromInception,\r\n },\r\n () => this.getDocuments(this.state.selectedHierarchyId)\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.addEvent({\r\n event: \"documenttab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.documentTab,\r\n eventLabel: \"upload\",\r\n },\r\n });\r\n this.setState({ isPopUp: true });\r\n }}\r\n >\r\n Upload document(s)\r\n \r\n \r\n
\r\n
\r\n this.handleFilterChange(documentType)}\r\n />\r\n
\r\n {!isPresentationView && (\r\n
\r\n {\r\n this.addEvent({\r\n event: \"documenttab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.documentTab,\r\n eventLabel: \"expand\",\r\n },\r\n });\r\n }}\r\n >\r\n {this.rendertable()}\r\n \r\n
\r\n )}\r\n
\r\n {\r\n this.addEvent({\r\n event: \"documenttab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.documentTab,\r\n eventLabel: \"presentation mode\",\r\n },\r\n });\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Documents,\r\n this.props.isBtnPresentationClicked\r\n );\r\n }}\r\n />\r\n
\r\n {isAppStoreEnabled && (\r\n
\r\n \r\n Applications pad\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {this.rendertable()}\r\n {this.renderFileUpLoader()}\r\n
\r\n
\r\n );\r\n }\r\n}\r\nPortfolioDashboardDocuments.contextType = PresentationContext;\r\n","import { Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\nexport const Constants = {\r\n NoInvestmentDataErrorMessage: \"No documents were found matching the selection criteria\",\r\n Error_FileFailToLoad: \"Failed to load document.\",\r\n};\r\n\r\n//Related to StandardLife.Platform.Distribution.Service.Api.Documents.Contract.DocumentCategory\r\nexport const DocumentTypeOptions: Dictionary[] = [\r\n { key: \"9\", value: \"Consolidated Tax Certificate\" },\r\n { key: \"25\", value: \"Revised Client Tax Certificate\" },\r\n { key: \"5\", value: \"Document\" },\r\n { key: \"7\", value: \"SIPP/Bond document\" },\r\n { key: \"3\", value: \"Reports\" },\r\n { key: \"8\", value: \"Quotes\" },\r\n { key: \"17\", value: \"Product Key Information Document\" },\r\n { key: \"10\", value: \"Confirmations\" },\r\n { key: \"1\", value: \"Orders and trades\" },\r\n { key: \"6\", value: \"Forms\" },\r\n { key: \"13\", value: \"Other\" },\r\n { key: \"2\", value: \"Fund Fact Sheet\" },\r\n { key: \"12\", value: \"Consolidated Fund Fact Sheet\" },\r\n { key: \"11\", value: \"Consolidated KIID/Simplified Prospectus\" },\r\n { key: \"4\", value: \"Key Investor Information Document\" },\r\n { key: \"19\", value: \"Investment Key Information Document\" },\r\n { key: \"14\", value: \"Simplified Prospectus Document\" },\r\n { key: \"23\", value: \"Consolidated Investment Key Information Document\" },\r\n { key: \"16\", value: \"Supplementary Information Document\" },\r\n { key: \"22\", value: \"Consolidated Supplementary Information Document\" },\r\n];\r\n\r\nexport const DocumentTypeOptionGroups: Dictionary[] = [\r\n {\r\n key: \"Tax certificates\",\r\n value: [\r\n { key: \"9\", value: \"Consolidated Tax Certificate\" },\r\n { key: \"25\", value: \"Revised Client Tax Certificate\" },\r\n ],\r\n },\r\n {\r\n key: \"Documents\",\r\n value: [\r\n { key: \"5\", value: \"Document\" },\r\n { key: \"7\", value: \"SIPP/Bond document\" },\r\n ],\r\n },\r\n {\r\n key: \"Reports\",\r\n value: [{ key: \"3\", value: \"Reports\" }],\r\n },\r\n {\r\n key: \"Quotes\",\r\n value: [{ key: \"8\", value: \"Quotes\" }],\r\n },\r\n {\r\n key: \"Other\",\r\n value: [{ key: \"13\", value: \"Other\" }],\r\n },\r\n {\r\n key: \"Product key information\",\r\n value: [\r\n { key: \"17\", value: \"Product Key Information Document\" },\r\n { key: \"10\", value: \"Confirmations\" },\r\n ],\r\n },\r\n {\r\n key: \"Trading notifications\",\r\n value: [{ key: \"1\", value: \"Orders and trades\" }],\r\n },\r\n {\r\n key: \"Forms\",\r\n value: [{ key: \"6\", value: \"Forms\" }],\r\n },\r\n {\r\n key: \"Investment key information\",\r\n value: [\r\n { key: \"2\", value: \"Fund Fact Sheet\" },\r\n { key: \"12\", value: \"Consolidated Fund Fact Sheet\" },\r\n { key: \"11\", value: \"Consolidated KIID/Simplified Prospectus\" },\r\n { key: \"4\", value: \"Key Investor Information Document\" },\r\n { key: \"19\", value: \"Investment Key Information Document\" },\r\n { key: \"14\", value: \"Simplified Prospectus Document\" },\r\n { key: \"23\", value: \"Consolidated Investment Key Information Document\" },\r\n { key: \"16\", value: \"Supplementary Information Document\" },\r\n { key: \"22\", value: \"Consolidated Supplementary Information Document\" },\r\n ],\r\n },\r\n];\r\n\r\nexport const enum DocStatusEnum {\r\n Created = \"Created\",\r\n SentClient = \"SentClient\",\r\n Received = \"Received\",\r\n SentWCC = \"SentWCC\",\r\n Archived = \"Archived\",\r\n Deleted = \"Deleted\",\r\n}\r\n\r\nexport const DocumentStatusTypeToMap: Dictionary[] = [\r\n { key: DocStatusEnum.Created, value: \"Created\" },\r\n { key: DocStatusEnum.SentClient, value: \"Sent to Client\" },\r\n { key: DocStatusEnum.Received, value: \"Received from Client\" },\r\n { key: DocStatusEnum.SentWCC, value: \"Sent to WCC\" },\r\n { key: DocStatusEnum.Archived, value: \"Archived\" },\r\n { key: DocStatusEnum.Deleted, value: \"Deleted\" },\r\n];\r\n","import { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { isNullOrEmpty } from \"../../../../../../../../react-core/Utils/Arrays\";\r\nimport { ProcessType } from \"../../../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { ExternalDocumentType } from \"../../../../../../../../Wrap/Models/Domains/Documents/ExternalDocumentType\";\r\nimport { DocumentTaskRequestModel } from \"../../../../../../../../Wrap/Models/Models/Tasks/DocumentTaskRequestModel\";\r\nimport { processTypeEnum } from \"../../../../Common/Resource/Contents\";\r\n\r\nexport class DocumentsHelper {\r\n static getTaskRequest(\r\n instructionId: string,\r\n customerid: string,\r\n claccountid: string,\r\n hierarchyid: string,\r\n type: DocumentTaskRequestTypeEnum,\r\n processType: processTypeEnum\r\n ): DocumentTaskRequestModel {\r\n const request: DocumentTaskRequestModel = {\r\n Type: type,\r\n CustomerId: customerid,\r\n ClAccountId: claccountid,\r\n HeadAccountHierarchyId: hierarchyid,\r\n };\r\n if (processType == processTypeEnum.NewBusiness || processType == processTypeEnum.Quote) {\r\n request.Parameters = \"AccountInstructionId=\" + instructionId;\r\n } else {\r\n if (\r\n (processType == processTypeEnum.NewBusinessExistingClient ||\r\n processType == processTypeEnum.NewQuoteExistingClient) &&\r\n type == DocumentTaskRequestTypeEnum.TransferForm\r\n ) {\r\n request.Parameters = \"AccountInstructionId=\" + instructionId;\r\n } else {\r\n request.InstructionHierarchyId = instructionId;\r\n }\r\n\r\n if (processType == processTypeEnum.SinglePaymentTransfer && type == DocumentTaskRequestTypeEnum.ChargeSummary) {\r\n request.Parameters = \"IsDetailed=True\";\r\n }\r\n }\r\n\r\n request.ProcessType = this.getProcessType(processType);\r\n return request;\r\n }\r\n\r\n static getProcessType = (processType: processTypeEnum): ProcessType => {\r\n if (processType == processTypeEnum.NewBusiness) {\r\n return ProcessType.NewBusiness;\r\n }\r\n if (processType == processTypeEnum.NewBusinessExistingClient) {\r\n return ProcessType.NewBusinessExistingClient;\r\n }\r\n if (processType == processTypeEnum.Quote) {\r\n return ProcessType.Quote;\r\n }\r\n if (processType == processTypeEnum.SinglePaymentTransfer) {\r\n return ProcessType.AddSinglePaymentorTransfer;\r\n }\r\n if (processType == processTypeEnum.RegularPayment) {\r\n return ProcessType.AddRegularPayment;\r\n }\r\n if (processType == processTypeEnum.topUpWithITFLS) {\r\n return ProcessType.Topup;\r\n }\r\n return ProcessType.NotSpecified;\r\n };\r\n\r\n static getTaskRequestForChargeInformation(\r\n batchId: number,\r\n claccountid: string,\r\n type: DocumentTaskRequestTypeEnum\r\n ): DocumentTaskRequestModel {\r\n const request: DocumentTaskRequestModel = {\r\n Type: type,\r\n ClAccountId: claccountid,\r\n };\r\n request.Parameters = \"BatchId=\" + batchId;\r\n request.ProcessType = ProcessType.Switch;\r\n return request;\r\n }\r\n\r\n static getTaskRequestForDirectDebitInstruction(\r\n instructionId: string,\r\n customerid: string,\r\n claccountid: string,\r\n hierarchyid: string,\r\n processType: processTypeEnum,\r\n bankAccountId?: number,\r\n bankAccountInstructionId?: number\r\n ): DocumentTaskRequestModel {\r\n const request: DocumentTaskRequestModel = {\r\n Type: DocumentTaskRequestTypeEnum.DirectDebitInstruction,\r\n CustomerId: customerid,\r\n ClAccountId: claccountid,\r\n HeadAccountHierarchyId: hierarchyid,\r\n };\r\n request.Parameters = \"\";\r\n if (processType == processTypeEnum.NewBusiness || processType == processTypeEnum.Quote) {\r\n request.Parameters = \"AccountInstructionId=\" + instructionId;\r\n } else {\r\n request.InstructionHierarchyId = instructionId;\r\n }\r\n if (bankAccountId > 0) {\r\n if (request.Parameters?.length > 0) {\r\n request.Parameters += \"|\";\r\n }\r\n request.Parameters += \"BankAccountId=\" + bankAccountId;\r\n }\r\n if (bankAccountInstructionId > 0) {\r\n if (request.Parameters?.length > 0) {\r\n request.Parameters += \"|\";\r\n }\r\n request.Parameters += \"BankAccountInstructionId=\" + bankAccountInstructionId;\r\n }\r\n return request;\r\n }\r\n\r\n static getTaskRequestFortInvestmentDocumentsInstruction(\r\n instructionId: string,\r\n customerid: string,\r\n claccountid: string,\r\n company: string,\r\n externalDocumentType: ExternalDocumentType,\r\n processType: processTypeEnum,\r\n type: DocumentTaskRequestTypeEnum,\r\n hierarchyid: string\r\n ): DocumentTaskRequestModel {\r\n const request: DocumentTaskRequestModel = {\r\n Type: type,\r\n CustomerId: customerid,\r\n ClAccountId: claccountid,\r\n HeadAccountHierarchyId: hierarchyid,\r\n InstructionHierarchyId: instructionId,\r\n ExternalDocumentType: externalDocumentType,\r\n };\r\n request.Parameters = \"\";\r\n if (processType == processTypeEnum.NewBusiness || processType == processTypeEnum.Quote) {\r\n request.Parameters = \"AccountInstructionId=\" + instructionId;\r\n } else {\r\n if (\r\n (processType == processTypeEnum.NewBusinessExistingClient ||\r\n processType == processTypeEnum.NewQuoteExistingClient) &&\r\n type == DocumentTaskRequestTypeEnum.TransferForm\r\n ) {\r\n request.Parameters = \"AccountInstructionId=\" + instructionId;\r\n } else {\r\n request.InstructionHierarchyId = instructionId;\r\n }\r\n }\r\n if (!CommonHelper.isNullOrEmpty(claccountid)) {\r\n request.Parameters += \"|ClAccountId=\" + claccountid;\r\n }\r\n if (!CommonHelper.isNullOrEmpty(customerid)) {\r\n request.Parameters += \"|CustomerId=\" + customerid;\r\n }\r\n if (!CommonHelper.isNullOrEmpty(company)) {\r\n request.Parameters += \"|Company=\" + company;\r\n }\r\n if (!CommonHelper.isNullOrEmpty(externalDocumentType)) {\r\n request.Parameters += \"|ExternalDocumentType=\" + externalDocumentType;\r\n }\r\n request.ProcessType = this.getProcessType(processType);\r\n return request;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { ImpactRedirectAction } from \"../../../../../../Shared/Impact/Action/ImpactRedirectAction\";\r\nimport { ImpactRedirectType } from \"../../../../../../../Wrap/Models/Domains/Impact/ImpactRedirectType\";\r\n\r\ninterface IEsgAccountSelectorProps {\r\n accounts: ClientAccount[];\r\n isPopUp: boolean;\r\n onClose: (val: boolean) => void;\r\n}\r\n\r\ninterface IEsgAccountSelectorState {\r\n selectedHeadAccount: ClientAccount;\r\n}\r\n\r\nexport class EsgAccountSelector extends React.Component {\r\n constructor(props: IEsgAccountSelectorProps) {\r\n super(props);\r\n this.state = {\r\n selectedHeadAccount: null\r\n };\r\n }\r\n componentDidMount() {\r\n if (!!this.props.accounts[0]?.HierarchyId) {\r\n this.setState({\r\n selectedHeadAccount: this.props.accounts[0]\r\n });\r\n }\r\n }\r\n public render(): JSX.Element {\r\n const { isPopUp, onClose, accounts } = this.props;\r\n\r\n return (\r\n
\r\n onClose(false)}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"wider is-default-lightbox is-wide\"}\r\n >\r\n
\r\n {\r\n const account = accounts.find((o) => o.HierarchyId == x.HierarchyId);\r\n return `${account?.AccountName} ${account?.HeadClAccountId}`;\r\n }}\r\n onChange={(account) => {\r\n this.setState({ selectedHeadAccount: account })\r\n }}\r\n />\r\n ImpactRedirectAction.redirectToImpact(this.state.selectedHeadAccount?.HeadClAccountId, ImpactRedirectType.Overview)}\r\n disabled={!this.state.selectedHeadAccount}>\r\n Launch ESG Hub\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport AdviserSiteTagManager from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { ConsolidatedAccountStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { isConsolidate, orderHeadAccountGroupByInvestorType } from \"../Common/PortfolioDashboardHelper\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ImpactRedirectAction } from \"../../../../../../Shared/Impact/Action/ImpactRedirectAction\";\r\nimport { ImpactRedirectType } from \"../../../../../../../Wrap/Models/Domains/Impact/ImpactRedirectType\";\r\nimport { EsgAccountSelector } from \"./EsgAccountSelector\";\r\n\r\n\r\ninterface IPortfolioDashboardEsgAnalyserState {\r\n selectedHeadAccount: ClientAccount;\r\n isPopUp: boolean;\r\n}\r\n\r\ninterface IPortfolioDashboardEsgAnalyserProps extends IPortfolioDashboardComponentProps {\r\n}\r\n\r\n\r\nexport class EsgAnalyser extends PortfolioDashboardComponent {\r\n initState() {\r\n }\r\n\r\n getData(): ClientAccount[] {\r\n let accounts = orderHeadAccountGroupByInvestorType(PortfolioDashboardStore.getData());\r\n\r\n if (isConsolidate()) {\r\n accounts = [ConsolidatedAccountStore.getData()].concat(accounts);\r\n }\r\n\r\n return accounts;\r\n }\r\n constructor(props: IPortfolioDashboardEsgAnalyserProps) {\r\n super(props);\r\n \r\n this.state = {\r\n selectedHeadAccount: null,\r\n isPopUp: false\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n var accounts = this.getData();\r\n\r\n let indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.ESG\r\n );\r\n\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.ESG,\r\n this.props.isBtnPresentationClicked\r\n );\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .esg.getUrl(),\r\n pageTitle: `${document.title} - ESG Hub`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n if (!!accounts[0]?.HierarchyId) {\r\n this.setState({\r\n selectedHeadAccount: accounts[0]\r\n });\r\n }\r\n }\r\n\r\n private renderAccountSelector() {\r\n if (this.state.isPopUp) {\r\n return (\r\n <>\r\n {\r\n this.setState({ ...this.state, isPopUp: false });\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }\r\n\r\n private onEsgLinkClick(accounts: ClientAccount[]) {\r\n if (accounts.length === 1) {\r\n ImpactRedirectAction.redirectToImpact(this.state.selectedHeadAccount?.HeadClAccountId, ImpactRedirectType.Overview)\r\n } else {\r\n this.setState({ ...this.state, isPopUp: true});\r\n }\r\n }\r\n\r\n render() {\r\n const accounts = this.getData();\r\n \r\n return (<>\r\n\r\n
\r\n
\r\n
\r\n

ESG Hub

\r\n \r\n {accounts.length === 0 \r\n ?

No account eligible for ESG analysis has been found.

\r\n : (
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\tThe ESG Hub provides information on your client’s portfolio for specific ESG themes.\r\n\t\t\t\t\t\t\t\tYou can select from a number of themes and align these with your client’s ESG preferences.\r\n\t\t\t\t\t\t\t\tThese can then be saved for analysis and populated in a report to share with your client.\r\n\t\t\t\t\t\t\t\tYour client’s preferences can be easily customised to allow you to tailor the information displayed to meet their needs.\r\n\t\t\t\t\t\t\t

\r\n this.onEsgLinkClick(accounts)}>\r\n Launch ESG Hub\r\n \r\n
)\r\n }\r\n
\r\n
\r\n {this.renderAccountSelector()}\r\n
\r\n\r\n );\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { InvestmentGeographicAllocationClient } from \"../../../../../../../../Wrap/Api/Transformation/InvestmentGeographicAllocation\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { InsightsDispatcher, InvestmentRegionAllocationDispatcher } from \"../Store/Variable\";\r\nimport { InvestmentSectorAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentSectorAllocationModel\";\r\nimport { InvestmentSectorAllocationClient } from \"../../../../../../../../Wrap/Api/PortfolioValuation/InvestmentSectorAllocation\";\r\nimport { InvestmentAssetClassAllocationClient } from \"../../../../../../../../Wrap/Api/PortfolioValuation/InvestmentAssetClassAllocation\";\r\nimport { InvestmentRegionAllocationClient } from \"../../../../../../../../Wrap/Api/PortfolioValuation/InvestmentRegionAllocation\";\r\nimport { InvestmentRegionAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentRegionAllocationModel\";\r\nimport { ModelPortfolioAssetRegionAllocationClient } from \"../../../../../../../../Wrap/Api/PortfolioValuation/ModelPortfolioAssetRegionAllocation\";\r\nimport { InvestmentRegionGroupClient } from \"../../../../../../../../Wrap/Api/PortfolioValuation/InvestmentRegionGroup\";\r\nimport { TopTenHoldingsClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/PortfolioDetails/TopTenHoldings\";\r\nimport { TopTenHoldingModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/PortfolioDetails/TopTenHoldingModel\";\r\nimport { InvestmentGeographicAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentGeographicAllocationModel\";\r\n\r\nexport class InsightsAction {\r\n public static getGeographicAllocation(\r\n hierarchyIds: string[],\r\n asAt: Date,\r\n callback?: (val: Array) => void\r\n ) {\r\n const selectDate = JsonDateParser.toJsonDateNoOffset(asAt);\r\n const client = new InvestmentGeographicAllocationClient();\r\n const promise = client.get(hierarchyIds, selectDate, AssetClassType.Tier1);\r\n promise.onSuccess((result) => {\r\n if (result) {\r\n callback(result);\r\n }\r\n\r\n InvestmentRegionAllocationDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n InvestmentRegionAllocationDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getTopTenData(\r\n asAt: Date,\r\n hierarchyIds: string[],\r\n includeExternal: boolean,\r\n useConversionView: boolean,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const selectDate = JsonDateParser.toJsonDateNoOffset(asAt);\r\n const client = new TopTenHoldingsClient();\r\n const promise = client.get(selectDate, hierarchyIds, includeExternal, useConversionView);\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getInvestmentSectorAllocation(\r\n hierarchyIds: string[],\r\n assetClassType: AssetClassType,\r\n asAt: Date,\r\n callBack?: (val: InvestmentSectorAllocationModel) => void\r\n ): void {\r\n const selectDate = JsonDateParser.toJsonDateNoOffset(asAt);\r\n const client = new InvestmentSectorAllocationClient();\r\n const promise = client.get(hierarchyIds, assetClassType, selectDate);\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getInsightAssetAllocation(\r\n hierarchyIds: string[],\r\n assetClassType: AssetClassType,\r\n asAt: Date,\r\n callback?\r\n ) {\r\n const selectDate = JsonDateParser.toJsonDateNoOffset(asAt);\r\n const client = new InvestmentAssetClassAllocationClient();\r\n const promise = client.get(hierarchyIds, assetClassType, selectDate);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getInvestmentRegionAllocation(\r\n hierarchyIds: string[],\r\n assetClassType: AssetClassType,\r\n asAt: Date,\r\n callback?: (val: InvestmentRegionAllocationModel[]) => void\r\n ) {\r\n const selectDate = JsonDateParser.toJsonDateNoOffset(asAt);\r\n const client = new InvestmentRegionAllocationClient();\r\n const promise = client.get(hierarchyIds, selectDate, assetClassType);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getAssetAreaGroup(callback?: (val: InvestmentRegionAllocationModel[]) => void) {\r\n const client = new InvestmentRegionGroupClient();\r\n const promise = client.get();\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n\r\n InsightsDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getModelPortfolioAssetRegionAllocation(\r\n modelFundInstrumentCode: string,\r\n asAt: Date,\r\n callback?: (val: InvestmentRegionAllocationModel[]) => void\r\n ) {\r\n const selectDate = JsonDateParser.toJsonDateNoOffset(asAt);\r\n const client = new ModelPortfolioAssetRegionAllocationClient();\r\n const promise = client.get(modelFundInstrumentCode, selectDate, AssetClassType.Tier1);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as Highcharts from \"highcharts\";\r\nimport HighchartsReact from \"highcharts-react-official\";\r\nimport { InvestmentAssetClassAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentAssetClassAllocationModel\";\r\n\r\ninterface IAssetAllocationChart {\r\n data: InvestmentAssetClassAllocationModel;\r\n}\r\n\r\nconst colors = [\r\n \"#0057B7\",\r\n \"#72246C\",\r\n \"#008264\",\r\n \"#E24082\",\r\n \"#000000\",\r\n \"#EBECEE\",\r\n \"#D9D9D6\",\r\n \"#00205B\",\r\n \"#41273B\",\r\n \"#00594C\",\r\n \"#BC0056\",\r\n \"#898D8D\",\r\n \"#424242\",\r\n \"#B2BABF\",\r\n \"#00C1D4\",\r\n \"#00B74F\",\r\n \"#963CBD\",\r\n \"#EF2B35\",\r\n \"#A7A8A9\",\r\n \"#DDE5ED\",\r\n];\r\n\r\nexport const AssetAllocationChart = (props: IAssetAllocationChart) => {\r\n const _data = props.data.AssetClassAllocationSummary.concat();\r\n if (!_data || _data.length == 0) {return null;}\r\n\r\n const Data = _data.map((ele) => {\r\n return {\r\n name: ele.DisplayName,\r\n color: null,\r\n y: Number(ele.Allocation.toFixed(2)),\r\n };\r\n });\r\n\r\n const options: Highcharts.Options = {\r\n chart: {\r\n renderTo: \"container\",\r\n type: \"pie\",\r\n backgroundColor: \"var(--panel-heavy)\",\r\n },\r\n colors: colors,\r\n title: {\r\n text: \"\",\r\n },\r\n navigator: {\r\n enabled: false,\r\n },\r\n rangeSelector: {\r\n enabled: false,\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n yAxis: {\r\n title: {\r\n text: \"Total percent market share\",\r\n },\r\n },\r\n plotOptions: {\r\n pie: {\r\n shadow: false,\r\n },\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return \"\" + this.point.name + \": \" + this.y + \" %\";\r\n },\r\n },\r\n series: [\r\n {\r\n name: \"Asset Classes\",\r\n type: \"pie\",\r\n data: Data,\r\n size: \"80%\",\r\n innerSize: \"93%\",\r\n selected: false,\r\n showInLegend: false,\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {/* */}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {_data.map((row, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
Asset classAllocation
\r\n \r\n {row.DisplayName}\r\n {row.Allocation.toFixed(2)}%
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { SecurityType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/SecurityType\";\r\nimport { InvestmentAssetClassAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentAssetClassAllocationModel\";\r\nimport { ICombineTableConfig, ITableConfig, Table } from \"../../../../../../../Shared/Table/Table\";\r\n\r\ninterface IAssetAllocationTableProps {\r\n data: InvestmentAssetClassAllocationModel;\r\n isHeadAccount?: boolean;\r\n}\r\n\r\nexport const AssetAllocationTable = (props: IAssetAllocationTableProps) => {\r\n const res = props.data;\r\n const header = res.AssetClassAllocationSummary;\r\n let content = res.InvestmentAssetClassAllocations;\r\n let tableConfig: ITableConfig[] = [\r\n {\r\n title: \"Investments\",\r\n key: \"InvestmentName\",\r\n render: (data, row, index) => {\r\n return row.SecurityType == SecurityType.Cash || row.FinexDocumentUrl == \"\" ? (\r\n data\r\n ) : (\r\n \r\n {data}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n tableConfig = tableConfig.concat(\r\n header.map((ele) => {\r\n return {\r\n title: ele.DisplayName,\r\n key: ele.ClassCode,\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n };\r\n })\r\n );\r\n tableConfig.push({ title: \"Total\", key: \"total\", thCssWrapper: \"cell-right\", tdCssWrapper: \"cell-right\" });\r\n const cash = content.filter((ele) => ele.InvestmentName == \"GBP Cash\")[0];\r\n if (cash) {\r\n content = content\r\n .sort(function (a, b) {\r\n if (a.InvestmentName < b.InvestmentName) {\r\n return -1;\r\n }\r\n if (a.InvestmentName > b.InvestmentName) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n .filter((ele) => ele.InvestmentName !== \"GBP Cash\");\r\n content.push(cash);\r\n }\r\n const data = content.map((ele) => {\r\n const row = { InvestmentName: ele.InvestmentName, FinexDocumentUrl: ele.FinexDocumentUrl };\r\n row[\"total\"] = ele.AssetClassAllocations.reduce((total, cur) => {\r\n return total + cur.Weight;\r\n }, 0);\r\n row[\"total\"] = row[\"total\"].toFixed(2).toString() + \"%\";\r\n header.forEach((col) => {\r\n const value = ele.AssetClassAllocations.filter((item) => item.ClassCode == col.ClassCode)[0];\r\n row[col.ClassCode] = value ? value.Weight.toFixed(2).toString() + \"%\" : \"-\";\r\n });\r\n\r\n return row;\r\n });\r\n\r\n let footer: ICombineTableConfig[] = [\r\n { data: `${props.isHeadAccount ? \"Portfolio\" : \"Sub-account\"} Total`, tfTdCssWrapper: \"cell-right\" },\r\n ];\r\n\r\n footer = footer.concat(\r\n header.map((ele, i) => {\r\n return { data: ele.Allocation.toFixed(2).toString() + \"%\", tfTdCssWrapper: \"cell-right\" };\r\n })\r\n );\r\n footer.push({\r\n data:\r\n header\r\n .reduce((total, current) => {\r\n return total + current.Allocation;\r\n }, 0)\r\n .toFixed(2) + \"%\",\r\n tfTdCssWrapper: \"cell-right\",\r\n });\r\n tableConfig = tableConfig.filter((ele) => ele.title !== \"no need\");\r\n\r\n return (\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { useState, useRef } from \"react\";\r\nimport * as React from \"react\";\r\nimport { AssetAllocationChart } from \"./AssetAllocationChart\";\r\nimport { AssetAllocationTable } from \"./AssetAllocationTable\";\r\nimport TableFilterDropdown from \"../../../../../../../../react-core/Html/Components/TableFilterDropdown\";\r\nimport AutoHeight from \"../../../../../../../Shared/Components/AutoHeight\";\r\nimport { RadiosEditor } from \"../../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { AssetClassTypeTiersArray, AssetClassTypeTiersMap } from \"../../../Resource/Contents\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { InvestmentAssetClassAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentAssetClassAllocationModel\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\n\r\ninterface IAssetClassAllocationWidget {\r\n data: InvestmentAssetClassAllocationModel;\r\n tier: AssetClassType;\r\n isHeadAccount: boolean;\r\n onApplyClick: (v: AssetClassType) => void;\r\n}\r\n\r\nexport const AssetClassAllocationWidget = (props: IAssetClassAllocationWidget) => {\r\n enum Views {\r\n Table,\r\n Chart,\r\n }\r\n const [view, setView] = useState(Views.Chart);\r\n const [tier, setTier] = useState(props.tier);\r\n const toggleRef = useRef(null);\r\n\r\n const onCancelClick = () => {\r\n setTier(props.tier);\r\n toggleRef.current.close();\r\n };\r\n\r\n const { addEvent } = new AdviserSiteTagManager();\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

Asset class allocation

\r\n
\r\n
\r\n {\r\n addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventLabel: `asset class allocation - chart`,\r\n },\r\n });\r\n setView(Views.Chart);\r\n }}\r\n aria-pressed={view == Views.Chart}\r\n className=\"pie-chart-view-button\"\r\n title=\"Pie chart view\"\r\n >\r\n Set pie chart view\r\n \r\n \r\n
\r\n
\r\n {\r\n addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventLabel: `asset class allocation - table`,\r\n },\r\n });\r\n setView(Views.Table);\r\n }}\r\n aria-pressed={view == Views.Table}\r\n className=\"table-view-button\"\r\n title=\"Data table view\"\r\n >\r\n Set table view\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {\r\n return AssetClassTypeTiersMap[v];\r\n }}\r\n selected={tier}\r\n onChange={(v) => {\r\n setTier(v);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n {\r\n props.onApplyClick(tier);\r\n addEvent({\r\n event: \"insightstab_tablefilter\",\r\n filter: {\r\n tier: AssetClassTypeTiersMap[tier].toLowerCase(),\r\n },\r\n });\r\n\r\n toggleRef.current.close();\r\n }}\r\n >\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {view == Views.Chart ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { AreaGroupType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/AreaGroupType\";\r\nimport { InvestmentGeographicAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentGeographicAllocationModel\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { AreaGroupTypeMap, Contents } from \"../Resource/Contents\";\r\nimport { RegionAllocationPopupView } from \"./RegionAllocationPopupView\";\r\n\r\ninterface IGeographicalAllocationMapProps extends React.Props {\r\n mapData: Array;\r\n accountSelectValue: string[];\r\n asAt: Date;\r\n}\r\n\r\ninterface IGeographicalAllocationMapState {\r\n isShowRegionModal: boolean;\r\n areaCode: AreaGroupType;\r\n}\r\n\r\nexport class GeographicalAllocationMap extends FormComponent<\r\n IGeographicalAllocationMapProps,\r\n IGeographicalAllocationMapState\r\n> {\r\n constructor(props: IGeographicalAllocationMapProps) {\r\n super(props);\r\n this.state = {\r\n isShowRegionModal: false,\r\n areaCode: null,\r\n };\r\n }\r\n child: any = {};\r\n componentDidMount() {}\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n private IsHaveValue(): boolean {\r\n const { mapData } = this.props;\r\n return mapData && mapData.length > 0;\r\n }\r\n\r\n private renderNoDataView(): JSX.Element {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{Contents.noDataErrorMessage}

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderMap(): JSX.Element {\r\n const { mapData } = this.props;\r\n const scaleFactor = 14;\r\n mapData.sort((a, b) => {\r\n return a.Value > b.Value ? -1 : 1;\r\n });\r\n const maximumPercentageValue = Math.max.apply(\r\n Math,\r\n mapData.map(function (o) {\r\n return o.Value;\r\n })\r\n );\r\n return (\r\n <>\r\n
\r\n
\r\n
    \r\n {mapData.map((poi) => {\r\n if (poi.AreaGroupType == AreaGroupType.CASH || poi.AreaGroupType == AreaGroupType.OTHER)\r\n {return null;}\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n
\r\n {mapData.map((poi) => {\r\n return (\r\n \r\n {poi.AreaGroupType == AreaGroupType.CASH ||\r\n poi.AreaGroupType == AreaGroupType.OTHER ? (\r\n {poi.DisplayName}\r\n ) : (\r\n {\r\n this.addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: poi.DisplayName,\r\n },\r\n });\r\n this.popupRegionAllocationModal(poi.AreaGroupType, poi.Value);\r\n }}\r\n >\r\n {poi.DisplayName}\r\n \r\n )}\r\n {poi.Value.toFixed(2)}%\r\n
\r\n );\r\n })}\r\n
\r\n \r\n
\r\n
\r\n

\r\n {Contents.ViewAllRegionNote}\r\n {\r\n this.addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"view all\",\r\n },\r\n });\r\n this.popupRegionAllocationModal(undefined, 1);\r\n }}\r\n >\r\n View all\r\n \r\n

\r\n
\r\n
\r\n {this.renderInvestmentDetailPopupModal()}\r\n \r\n );\r\n }\r\n\r\n private renderInvestmentDetailPopupModal(): JSX.Element {\r\n const { isShowRegionModal, areaCode } = this.state;\r\n const { accountSelectValue, asAt } = this.props;\r\n\r\n if (isShowRegionModal) {\r\n return (\r\n {\r\n this.setState({ isShowRegionModal: false });\r\n }}\r\n areaCode={areaCode}\r\n accountSelectValue={accountSelectValue}\r\n asAt={asAt}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private popupRegionAllocationModal(areaGroup?: AreaGroupType, allocation?: number) {\r\n const isCash = areaGroup != AreaGroupType.CASH;\r\n if (isCash && allocation) {\r\n this.setState({\r\n isShowRegionModal: true,\r\n areaCode: areaGroup,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return this.IsHaveValue() ? this.renderMap() : this.renderNoDataView();\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { Div } from \"../../../../../../../../react-core/Html/Div\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { Guid } from \"../../../../../../../../react-core/Utils/Guid\";\r\nimport { AreaGroupType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/AreaGroupType\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { InvestmentRegionAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentRegionAllocationModel\";\r\nimport { RegionViewSelect } from \"../../../../../../Common/RegionViewSelect\";\r\nimport { InsightsAction } from \"../Action/InsightsAction\";\r\nimport { AreaGroupTypeMap, Contents } from \"../Resource/Contents\";\r\nimport { InsightsStore, InvestmentRegionAllocationStore } from \"../Store/Variable\";\r\nimport { UnmountClosed } from \"react-collapse\";\r\nimport { InvestmentGeographicAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentGeographicAllocationModel\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { AreaGroupModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/AreaGroupModel\";\r\nimport { CommonHelper, Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface IRegionAllocationPopupViewProps extends React.Props {\r\n showBox: boolean;\r\n areaCode: AreaGroupType;\r\n asAt: Date;\r\n accountSelectValue: string[];\r\n callBack: (val: boolean) => void;\r\n}\r\n\r\ninterface IRegionAllocationPopupViewState {\r\n areaSelectValue: AreaGroupType;\r\n regionAllocationList: Array;\r\n tempAllocationList: any[];\r\n expands?: expandedModel[];\r\n isLoading?: boolean;\r\n hasData?: boolean;\r\n}\r\n\r\nexport class expandedModel {\r\n id: string;\r\n index: number;\r\n isOpen: boolean;\r\n details: Array;\r\n}\r\n\r\nexport class RegionAllocationPopupView extends React.Component<\r\n IRegionAllocationPopupViewProps,\r\n IRegionAllocationPopupViewState\r\n> {\r\n constructor(props: IRegionAllocationPopupViewProps) {\r\n super(props);\r\n\r\n this.state = {\r\n areaSelectValue: this.props.areaCode >= 0 ? this.props.areaCode : AreaGroupType.ALL,\r\n regionAllocationList: [],\r\n tempAllocationList: [],\r\n expands: [],\r\n isLoading: true,\r\n hasData: false,\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n public componentDidMount() {\r\n const { accountSelectValue, asAt } = this.props;\r\n InsightsAction.getInvestmentRegionAllocation(accountSelectValue, AssetClassType.Tier1, asAt, (callBack) => {\r\n this.setState({\r\n regionAllocationList: callBack,\r\n hasData: true,\r\n });\r\n this.getRegionAllocationByAreaGroupCode();\r\n });\r\n\r\n const areaGroup = InsightsStore.getRegionGroup();\r\n\r\n if (!areaGroup) {\r\n InsightsAction.getAssetAreaGroup();\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n return
{this.props.showBox ? this.renderModal() : null}
;\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n const { areaSelectValue, hasData } = this.state;\r\n let cssWrapper = \"\";\r\n\r\n let elementRender: JSX.Element = this.renderLoading();\r\n\r\n if (hasData) {\r\n elementRender =
{this.getModalBody()}
;\r\n }\r\n\r\n if (areaSelectValue == AreaGroupType.ALL) {\r\n cssWrapper = \"is-default-lightbox is-wider\";\r\n } else {\r\n cssWrapper = \"is-default-lightbox is-wider\";\r\n }\r\n\r\n return (\r\n this.props.callBack(false)}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={cssWrapper}\r\n >\r\n {elementRender}\r\n \r\n );\r\n }\r\n\r\n private renderLoading() {\r\n return ;\r\n }\r\n\r\n private getAccoutviewDictionays(val: Array, isShowAll): Dictionary[] {\r\n const options: Dictionary[] = [];\r\n\r\n if (isShowAll) {\r\n options.push({ key: AreaGroupTypeMap[AreaGroupType.ALL], value: \"All\" });\r\n }\r\n\r\n if (val) {\r\n val.map((item) => {\r\n options.push({ key: item.Code, value: item.DisplayName });\r\n });\r\n }\r\n return options;\r\n }\r\n\r\n private getModalBody(): JSX.Element {\r\n //Render Region drowdown list.\r\n const { areaSelectValue } = this.state;\r\n const { areaCode } = this.props;\r\n let isShowAll = false;\r\n\r\n if (areaCode == null) {\r\n isShowAll = true;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n const regionGroup = InsightsStore.getRegionGroup();\r\n const _options = [];\r\n\r\n if (regionGroup) {\r\n if (isShowAll) {\r\n _options.push(AreaGroupTypeMap[AreaGroupType.ALL]);\r\n }\r\n regionGroup.map((item) => {\r\n _options.push(item.Code);\r\n });\r\n }\r\n\r\n const dictionays = regionGroup\r\n ? this.getAccoutviewDictionays(regionGroup, isShowAll)\r\n : [];\r\n this.addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: CommonHelper.getOptionsTxt(val, dictionays),\r\n },\r\n });\r\n console.log(CommonHelper.getOptionsTxt(val, dictionays));\r\n this.changeAreaGroupCode(val);\r\n }}\r\n />\r\n
\r\n
\r\n {this.renderTable()}\r\n
\r\n );\r\n }\r\n\r\n private changeAreaGroupCode(val: string) {\r\n this.setState({ areaSelectValue: AreaGroupTypeMap[val] }, () => {\r\n this.getRegionAllocationByAreaGroupCode();\r\n });\r\n }\r\n\r\n private renderTable(): JSX.Element {\r\n return (\r\n
\r\n
\r\n \r\n {this.renderThead()}\r\n \r\n {this.renderTBody()}\r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderThead(): JSX.Element[] {\r\n const tHead: JSX.Element[] = [];\r\n const { areaCode } = this.props;\r\n const { areaSelectValue } = this.state;\r\n const regionGroup: Array = InsightsStore.getRegionGroup();\r\n\r\n tHead.push(\r\n \r\n Investments\r\n \r\n );\r\n\r\n if (!areaCode && regionGroup && areaSelectValue === AreaGroupType.ALL) {\r\n regionGroup.sort((a, b) => a.SortOrder - b.SortOrder);\r\n regionGroup.map((item, index) => {\r\n tHead.push(\r\n \r\n {item.DisplayName}\r\n \r\n );\r\n });\r\n\r\n tHead.push(\r\n \r\n {this.displayTotalLabel()}\r\n \r\n );\r\n } else {\r\n tHead.push(\r\n \r\n Allocation\r\n \r\n );\r\n }\r\n\r\n return tHead;\r\n }\r\n\r\n private renderTheadHidden(): JSX.Element[] {\r\n const tHead: JSX.Element[] = [];\r\n const { areaCode } = this.props;\r\n const { areaSelectValue } = this.state;\r\n const regionGroup: Array = InsightsStore.getRegionGroup();\r\n\r\n tHead.push(\r\n \r\n
Investments
\r\n \r\n );\r\n\r\n if (!areaCode && regionGroup && areaSelectValue === AreaGroupType.ALL) {\r\n regionGroup.sort((a, b) => a.SortOrder - b.SortOrder);\r\n regionGroup.map((item, index) => {\r\n tHead.push(\r\n \r\n
{item.DisplayName}
\r\n \r\n );\r\n });\r\n\r\n tHead.push(\r\n \r\n
{this.displayTotalLabel()}
\r\n \r\n );\r\n } else {\r\n tHead.push(\r\n \r\n
Allocation
\r\n \r\n );\r\n }\r\n\r\n return tHead;\r\n }\r\n\r\n private renderTBody(): JSX.Element[] {\r\n const { regionAllocationList, areaSelectValue, expands, isLoading } = this.state;\r\n const { areaCode } = this.props;\r\n const body: JSX.Element[] = [];\r\n const tBodyElement: JSX.Element[] = [];\r\n let total = 0;\r\n\r\n if (areaCode == null && areaSelectValue === AreaGroupType.ALL) {\r\n //View full details\r\n const nonModelPortfolioList: Array = regionAllocationList.filter(\r\n (x) => x.SecurityType.toUpperCase() != \"MODEL\"\r\n );\r\n const modelPortfolioList: Array = regionAllocationList.filter(\r\n (x) => x.SecurityType.toUpperCase() == \"MODEL\"\r\n );\r\n\r\n modelPortfolioList.map((item, index) => {\r\n const _isOpen =\r\n expands &&\r\n expands.length > 0 &&\r\n expands.filter((x) => x.index === index).length > 0 &&\r\n expands.filter((x) => x.index === index)[0].isOpen;\r\n const _btnClass = _isOpen ? \"row-toggle expanded\" : \"row-toggle\";\r\n const expanded = _isOpen ? true : false;\r\n total += item.TotalValue;\r\n\r\n tBodyElement.push(\r\n \r\n this.toggle(item.InstrumentCode, index)}>\r\n
\r\n
\r\n \r\n
\r\n
{item.DisplayName}
\r\n
\r\n \r\n {this.renderInvestmentRegionAllocation(item)}\r\n {(item.TotalValue * 100).toFixed(2)}%\r\n \r\n );\r\n tBodyElement.push(\r\n \r\n \r\n \r\n {isLoading ? (\r\n \r\n ) : (\r\n this.renderRealExpendElement(index, true)\r\n )}\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n nonModelPortfolioList.map((item, index) => {\r\n total += item.TotalValue;\r\n tBodyElement.push(\r\n \r\n {item.DisplayName}\r\n {this.renderInvestmentRegionAllocation(item)}\r\n {(item.TotalValue * 100).toFixed(2)}%\r\n \r\n );\r\n });\r\n\r\n body.push({tBodyElement});\r\n body.push(\r\n \r\n \r\n {this.displayTotalLabel()}\r\n {this.renderAllRegionTotal()}\r\n {(total * 100).toFixed(2)}%\r\n \r\n \r\n );\r\n } else {\r\n //Select non-all region.\r\n this.populateTBody(body);\r\n }\r\n\r\n return body;\r\n }\r\n\r\n private populateTBody(body: JSX.Element[]) {\r\n let total = 0;\r\n const tBodyElement: JSX.Element[] = [];\r\n\r\n const { tempAllocationList, expands, isLoading, areaSelectValue } = this.state;\r\n let nonModelPortfolioList: Array = tempAllocationList.filter(\r\n (x) => x.SecurityType.toUpperCase() !== Contents.Model\r\n );\r\n let modelPortfolioList: Array = tempAllocationList.filter(\r\n (x) => x.SecurityType.toUpperCase() === Contents.Model\r\n );\r\n let allocation = \"-\";\r\n\r\n if (areaSelectValue !== AreaGroupType.CASH) {\r\n nonModelPortfolioList = nonModelPortfolioList.filter((x) => x.SecurityType.toUpperCase() !== Contents.Cash);\r\n modelPortfolioList = modelPortfolioList.filter((x) => x.SecurityType.toUpperCase() !== Contents.Cash);\r\n }\r\n\r\n modelPortfolioList.map((item, index) => {\r\n allocation = \"-\";\r\n total += item.Allocation;\r\n const _isOpen =\r\n expands &&\r\n expands.length > 0 &&\r\n expands.filter((x) => x.index === index).length > 0 &&\r\n expands.filter((x) => x.index === index)[0].isOpen;\r\n const _btnClass = _isOpen ? \"row-toggle expanded\" : \"row-toggle\";\r\n const expanded = _isOpen ? true : false;\r\n\r\n if (Number(item.Allocation.toFixed(2) != 0)) {\r\n allocation = item.Allocation.toFixed(2) + \"%\";\r\n }\r\n\r\n tBodyElement.push(\r\n \r\n this.toggle(item.InstrumentCode, index)}>\r\n
\r\n
\r\n \r\n
\r\n
{item.DisplayName}
\r\n
\r\n \r\n {allocation}\r\n \r\n );\r\n\r\n tBodyElement.push(\r\n \r\n \r\n {this.renderRealExpendElement(index)}\r\n \r\n \r\n );\r\n });\r\n\r\n nonModelPortfolioList.map((item, index) => {\r\n allocation = \"-\";\r\n total += item.Allocation;\r\n\r\n if (Number(item.Allocation.toFixed(2) != 0)) {\r\n allocation = item.Allocation.toFixed(2) + \"%\";\r\n }\r\n\r\n tBodyElement.push(\r\n \r\n {item.DisplayName}\r\n {allocation}\r\n \r\n );\r\n });\r\n\r\n // Render per region total from Geographical allocation in Insight page\r\n const regionGroupTotalList: Array = InvestmentRegionAllocationStore.getData();\r\n const regionTotal = regionGroupTotalList.filter((x) => x.AreaGroupType == areaSelectValue)[0];\r\n\r\n body.push({tBodyElement});\r\n body.push(\r\n \r\n \r\n {this.displayTotalLabel()}\r\n {/* {total.toFixed(2)}% */}\r\n {regionTotal.Value.toFixed(2)}%\r\n \r\n \r\n );\r\n }\r\n\r\n private renderRealExpendElement(index: number, isAllRegion?: boolean): JSX.Element {\r\n return (\r\n
\r\n
\r\n \r\n \r\n {this.renderTheadHidden()}\r\n \r\n {this.renderEpendTrs(index, isAllRegion)}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private renderEpendTrs(index: number, isAllRegion?: boolean): JSX.Element[] {\r\n const { expands } = this.state;\r\n const model = expands.filter((x) => x.index === index)[0];\r\n const modelAllocation = model != null ? model.details : Array();\r\n const trs: JSX.Element[] = [];\r\n let modelTotal = 0;\r\n\r\n modelAllocation.map((item) => {\r\n modelTotal += item.TotalValue;\r\n //Underlying assets Content\r\n trs.push(\r\n \r\n {item.DisplayName}\r\n {isAllRegion ? this.renderInvestmentRegionAllocation(item) : null}\r\n {(item.TotalValue * 100).toFixed(2)}%\r\n \r\n );\r\n });\r\n //Underlying assets total\r\n trs.push(\r\n \r\n Model total\r\n {isAllRegion ? this.renderAllRegionTotal(modelAllocation, true) : null}\r\n {(modelTotal * 100).toFixed(2)}%\r\n \r\n );\r\n\r\n return trs;\r\n }\r\n\r\n private renderAllRegionTotal(\r\n modelPortfolioAllocation?: InvestmentRegionAllocationModel[],\r\n isModel?: boolean\r\n ): JSX.Element[] {\r\n let regionAllocationList = this.state.regionAllocationList;\r\n\r\n if (modelPortfolioAllocation) {\r\n regionAllocationList = modelPortfolioAllocation;\r\n }\r\n\r\n const regionGroupList = InsightsStore.getRegionGroup();\r\n const dict: { [key: string]: Array } = {};\r\n let regionValueList: Array = [];\r\n const returnValueList: Array = [];\r\n const returnList: JSX.Element[] = [];\r\n\r\n if (regionGroupList) {\r\n regionGroupList.sort((x) => x.SortOrder);\r\n // 1. Render per region total from raw service data calculation.\r\n if (isModel) {\r\n regionAllocationList.map((item) => {\r\n regionGroupList.map((area, idx) => {\r\n regionValueList.push(this.getInvestmentRegionAllocationByGroupCode(area.Code, item));\r\n });\r\n\r\n dict[item.InstrumentCode + Guid.getNext()] = regionValueList;\r\n regionValueList = [];\r\n });\r\n\r\n regionGroupList.map((item, index) => {\r\n let sum = 0;\r\n\r\n for (const key in dict) {\r\n sum += dict[key][index];\r\n }\r\n\r\n returnValueList.push(sum);\r\n });\r\n\r\n returnValueList.map((item, index) => {\r\n returnList.push(\r\n \r\n {item.toFixed(2)}%\r\n \r\n );\r\n });\r\n } else {\r\n // 2. Render per region total from Geographical allocation in Insight page\r\n const regionGroupTotalList: Array = InvestmentRegionAllocationStore.getData();\r\n regionGroupList.map((item, index) => {\r\n const regionValue = regionGroupTotalList.filter(\r\n (x) => AreaGroupTypeMap[x.AreaGroupType] == item.Code\r\n )[0];\r\n returnList.push(\r\n \r\n {regionValue.Value.toFixed(2)}%\r\n \r\n );\r\n });\r\n }\r\n }\r\n\r\n return returnList;\r\n }\r\n\r\n private renderInvestmentRegionAllocation(regionAllocation: any, modelWight?: number): JSX.Element[] {\r\n const trList: JSX.Element[] = [];\r\n const regionGroupList = InsightsStore.getRegionGroup();\r\n\r\n if (regionGroupList) {\r\n regionGroupList.sort((x) => x.SortOrder);\r\n regionGroupList.map((item, index) => {\r\n let subStr = \"-\";\r\n let tdValue = this.getInvestmentRegionAllocationByGroupCode(item.Code, regionAllocation);\r\n\r\n if (Number(tdValue.toFixed(2)) != 0) {\r\n if (modelWight) {\r\n tdValue = tdValue * modelWight;\r\n }\r\n subStr = tdValue.toFixed(2) + \"%\";\r\n }\r\n trList.push(\r\n \r\n {subStr}\r\n \r\n );\r\n });\r\n }\r\n\r\n return trList;\r\n }\r\n\r\n private toggle(instrumentCode: string, index: number) {\r\n this.setState({ isLoading: true });\r\n let { expands } = this.state;\r\n\r\n const pushObj: expandedModel = {\r\n id: instrumentCode,\r\n index: index,\r\n isOpen: true,\r\n details: [],\r\n };\r\n\r\n let isFind = false;\r\n if (expands && expands.length > 0) {\r\n expands.map((item, i) => {\r\n if (item.index == index) {\r\n isFind = true;\r\n item.isOpen = !item.isOpen;\r\n }\r\n });\r\n if (!isFind) {\r\n expands.push(pushObj);\r\n }\r\n } else {\r\n expands = [];\r\n expands.push(pushObj);\r\n }\r\n\r\n const findObj = expands.filter((x) => x.index == index)[0];\r\n\r\n if (findObj.isOpen) {\r\n const { asAt } = this.props;\r\n InsightsAction.getModelPortfolioAssetRegionAllocation(instrumentCode, asAt, (val) => {\r\n findObj.details = val;\r\n this.setState({ expands: expands, isLoading: false });\r\n });\r\n } else {\r\n this.setState({ expands: expands, isLoading: false });\r\n }\r\n }\r\n\r\n private getInvestmentRegionAllocationByGroupCode(areaCode: string, regionAllocationModel: any): number {\r\n let value = 0;\r\n\r\n switch (areaCode) {\r\n case AreaGroupTypeMap[AreaGroupType.UK]:\r\n value = regionAllocationModel.UKAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.EURO]:\r\n value = regionAllocationModel.EuroAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.USA]:\r\n value = regionAllocationModel.UsaAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.JAP]:\r\n value = regionAllocationModel.JapAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.ASIA]:\r\n value = regionAllocationModel.AsiaAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.EAST]:\r\n value = regionAllocationModel.EastAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.SAMER]:\r\n value = regionAllocationModel.SamerAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.AFRICA]:\r\n value = regionAllocationModel.AfricaAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.CASH]:\r\n value = regionAllocationModel.CashAllocation;\r\n break;\r\n case AreaGroupTypeMap[AreaGroupType.OTHER]:\r\n value = regionAllocationModel.OtherAllocation;\r\n default:\r\n break;\r\n }\r\n\r\n return value * 100;\r\n }\r\n\r\n private getRegionAllocationByAreaGroupCode() {\r\n const { regionAllocationList, areaSelectValue } = this.state;\r\n let tempRegionAllocationList = regionAllocationList;\r\n\r\n if (areaSelectValue != AreaGroupType.ALL) {\r\n if (areaSelectValue != AreaGroupType.OTHER) {\r\n tempRegionAllocationList = regionAllocationList.filter(\r\n (x) => x.SecurityType.toUpperCase() != Contents.Model\r\n );\r\n }\r\n const allocationList = [];\r\n\r\n switch (areaSelectValue) {\r\n case AreaGroupType.UK:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.UKAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.EURO:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.EuroAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.USA:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.UsaAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.JAP:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.JapAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.ASIA:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.AsiaAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.EAST:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.EastAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.SAMER:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.SamerAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.AFRICA:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.AfricaAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.CASH:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.CashAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n });\r\n });\r\n break;\r\n case AreaGroupType.OTHER:\r\n tempRegionAllocationList.map((item) => {\r\n allocationList.push({\r\n DisplayName: item.DisplayName,\r\n Allocation: item.OtherAllocation * 100,\r\n SecurityType: item.SecurityType,\r\n InstrumentCode: item.InstrumentCode,\r\n TotalValue: item.TotalValue,\r\n });\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n this.setState({ tempAllocationList: allocationList });\r\n }\r\n }\r\n\r\n private displayTotalLabel(): string {\r\n return \"Portfolio Total\";\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SecurityType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/SecurityType\";\r\nimport { InvestmentSectorAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentSectorAllocationModel\";\r\nimport { ICombineTableConfig, ITableConfig, Table } from \"../../../../../../../Shared/Table/Table\";\r\n\r\ninterface ISectorAllocationTableProps extends React.Props {\r\n data?: InvestmentSectorAllocationModel;\r\n isHeadAccount: boolean;\r\n}\r\n\r\ninterface ISectorAllocationTableState {}\r\n\r\nexport class SectorAllocationTable extends React.Component {\r\n constructor(props: ISectorAllocationTableProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data } = this.props;\r\n const header = data.AssetSectorAllocations;\r\n let tableConfig: ITableConfig[] = [\r\n {\r\n title: \"Investments\",\r\n key: \"InvestmentName\",\r\n render: (data, row, index) => {\r\n return row.SecurityType == SecurityType.Cash ||\r\n row.SecurityType == SecurityType.Model ||\r\n row.FinexDocumentUrl == \"\" ? (\r\n data\r\n ) : (\r\n \r\n {data}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n tableConfig = tableConfig.concat(\r\n header.map((ele) => {\r\n return {\r\n title: ele.SectorName,\r\n key: ele.SectorName,\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n };\r\n })\r\n );\r\n\r\n tableConfig.push({ title: \"Total\", key: \"TotalValue\", thCssWrapper: \"cell-right\", tdCssWrapper: \"cell-right\" });\r\n const content = data.InvestmentSectorAllocations.map((ele) => {\r\n const row = { InvestmentName: ele.InstrumentName, FinexDocumentUrl: ele.FinexDocumentUrl };\r\n row[\"TotalValue\"] = ele.TotalValue.toFixed(2).toString() + \"%\";\r\n header.forEach((col) => {\r\n const value = ele.AssetSectorAllocations.filter((item) => item.SectorName == col.SectorName)[0];\r\n row[\"SecurityType\"] = ele.SecurityType;\r\n row[col.SectorName] = value && value.Value != 0 ? value.Value.toFixed(2).toString() + \"%\" : \"-\";\r\n });\r\n return row;\r\n });\r\n let total: ICombineTableConfig[] = [\r\n { data: `${this.props.isHeadAccount ? \"Portfolio\" : \"Sub-account\"} Total`, tfTdCssWrapper: \"cell-right\" },\r\n ];\r\n total = total.concat(\r\n header.map((row) => {\r\n return { data: row.Value.toFixed(2) + \"%\", tfTdCssWrapper: \"cell-right\" };\r\n })\r\n );\r\n total.push({\r\n data:\r\n header\r\n .reduce((total, current) => {\r\n return total + current.Value;\r\n }, 0)\r\n .toFixed(2) + \"%\",\r\n tfTdCssWrapper: \"cell-right\",\r\n });\r\n return (\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import { useState } from \"react\";\r\nimport * as React from \"react\";\r\nimport { InvestmentSectorAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentSectorAllocationModel\";\r\nimport { ColumnChart } from \"../../../../../../../Shared/Chart/ColumnChart\";\r\nimport AutoHeight from \"../../../../../../../Shared/Components/AutoHeight\";\r\nimport { SectorAllocationTable } from \"./SectorAllocationTable\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\n\r\ninterface ISectorAllocationWidgetProps {\r\n SectorAllocationData: InvestmentSectorAllocationModel;\r\n isHeadAccount: boolean;\r\n}\r\n\r\nexport const SectorAllocationWidget: React.FunctionComponent = (props) => {\r\n enum Views {\r\n Table,\r\n Chart,\r\n }\r\n const [view, setView] = useState(Views.Chart);\r\n const { addEvent } = new AdviserSiteTagManager();\r\n return (\r\n <>\r\n
\r\n
\r\n

Sector allocation

\r\n
\r\n
\r\n {\r\n addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventLabel: `sector allocation - chart`,\r\n },\r\n });\r\n setView(Views.Chart);\r\n }}\r\n aria-pressed={view == Views.Chart}\r\n className=\"column-chart-view-button\"\r\n title=\"Column chart view\"\r\n >\r\n Set column chart view\r\n \r\n \r\n
\r\n
\r\n {\r\n addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventLabel: `sector allocation - table`,\r\n },\r\n });\r\n setView(Views.Table);\r\n }}\r\n aria-pressed={view == Views.Table}\r\n className=\"table-view-button\"\r\n title=\"Data table view\"\r\n >\r\n Set table view\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {view == Views.Chart ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { TopTenHoldingModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/PortfolioDetails/TopTenHoldingModel\";\r\nimport { LongLabelsBarChart } from \"../../../../../../../Shared/Chart/LongLabelsBarChart\";\r\nimport { AriaTooltip } from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\n\r\ninterface ITopTenChart {\r\n data: Array;\r\n}\r\nexport const TopTenChart = (props: ITopTenChart) => {\r\n return (\r\n <>\r\n
\r\n

Top 10

\r\n
\r\n
\r\n
\r\n Breakdown by Top 10 Holdings\r\n \r\n Top 10 Results table will show Model Portfolio instruments as standalone funds. These funds will\r\n be aggregated where held across multiple wrappers. Furthermore, GBP Cash will not show in this\r\n table.\r\n \r\n
\r\n\r\n {\r\n return { value: ele.Allocation, name: ele.DisplayName };\r\n })}\r\n height={380}\r\n itemLabel=\"Instrument name\"\r\n valueLabel=\"Percentage value\"\r\n cellCss=\"cell-38\"\r\n />\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { InvestmentAssetClassAllocationModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentAssetClassAllocationModel\";\r\nimport { InvestmentGeographicAllocationModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentGeographicAllocationModel\";\r\nimport { InvestmentSectorAllocationModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentSectorAllocationModel\";\r\nimport { TopTenHoldingModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/PortfolioDetails/TopTenHoldingModel\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { LoadingSkeletonType } from \"../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { AsAtDatePicker } from \"../../../../../Common/AsAtDatePicker\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { InsightsAction } from \"./Action/InsightsAction\";\r\nimport { AssetClassAllocationWidget } from \"./Components/AssetClassAllocationWidget\";\r\nimport { SectorAllocationWidget } from \"./Components/SectorAllocationWidget\";\r\nimport { TopTenChart } from \"./Components/TopTenChart\";\r\nimport { GeographicalAllocationMap } from \"./Components/GeographicalAllocationMap\";\r\nimport { Contents } from \"./Resource/Contents\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { PresentationViewButton } from \"../Common/PresentationViewButton\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport {\r\n ConsolidatedAccountStore,\r\n PortfolioDashboardMultiSelectionStore,\r\n PortfolioDashboardStore,\r\n} from \"../../Store/Variable\";\r\nimport { isConsolidate, selectedHeadAccounts } from \"../Common/PortfolioDashboardHelper\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\n\r\ninterface IPortfolioDashboardInsightsState {\r\n userInfo: User;\r\n startDate?: Date;\r\n accountViewSelected: string[];\r\n geographicAllocationData: Array;\r\n isLoading: boolean;\r\n assetSectorAllocationData: InvestmentSectorAllocationModel;\r\n isLoadingAssetSectorAllocationData: boolean;\r\n assetAllocationData: InvestmentAssetClassAllocationModel;\r\n isLoadingAssetSectorAllocation: boolean;\r\n tier: AssetClassType;\r\n topTenData: Array;\r\n isLoadingTopTen: boolean;\r\n slideNumber: number;\r\n showReportPop: boolean;\r\n reportLinkAccount: ClientAccount;\r\n accountsForReport: ClientAccount[];\r\n}\r\n\r\ninterface IPortfolioDashboardInsightsProps extends IPortfolioDashboardComponentProps {}\r\n\r\nexport class PortfolioDashboardInsights extends PortfolioDashboardComponent<\r\n IPortfolioDashboardInsightsProps,\r\n IPortfolioDashboardInsightsState\r\n> {\r\n constructor(props: IPortfolioDashboardInsightsProps) {\r\n super(props);\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n tier: AssetClassType.Tier1,\r\n startDate: new Date(),\r\n accountViewSelected: [],\r\n geographicAllocationData: null,\r\n isLoading: true,\r\n assetSectorAllocationData: null,\r\n isLoadingAssetSectorAllocationData: true,\r\n assetAllocationData: null,\r\n isLoadingAssetSectorAllocation: true,\r\n topTenData: null,\r\n isLoadingTopTen: true,\r\n slideNumber: 0,\r\n showReportPop: false,\r\n reportLinkAccount: null,\r\n accountsForReport: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.Insights\r\n );\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Insights,\r\n this.props.isBtnPresentationClicked\r\n );\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .insights.getUrl(),\r\n pageTitle: `${document.title} - client - insights`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n getData(selectedSubAccountHierarchyIds: string[]) {\r\n this.setState(\r\n {\r\n geographicAllocationData: null,\r\n isLoading: true,\r\n accountViewSelected: selectedSubAccountHierarchyIds,\r\n assetSectorAllocationData: null,\r\n isLoadingAssetSectorAllocationData: true,\r\n assetAllocationData: null,\r\n isLoadingAssetSectorAllocation: true,\r\n topTenData: null,\r\n isLoadingTopTen: true,\r\n },\r\n () => {\r\n this.getGeographicData();\r\n this.getSectorAllocationData();\r\n this.getAssetAllocationData();\r\n this.getTopTenData();\r\n }\r\n );\r\n }\r\n\r\n private getTopTenData() {\r\n const { accountViewSelected, startDate } = this.state;\r\n InsightsAction.getTopTenData(startDate, accountViewSelected, true, false, (val) => {\r\n this.setState({\r\n topTenData: val,\r\n isLoadingAssetSectorAllocation: false,\r\n });\r\n });\r\n }\r\n\r\n private getAssetAllocationData() {\r\n const { accountViewSelected, startDate, tier } = this.state;\r\n let combinedAccounts = accountViewSelected;\r\n if(isConsolidate()){\r\n combinedAccounts = accountViewSelected.concat(ConsolidatedAccountStore.getData().HierarchyId);\r\n }\r\n InsightsAction.getInsightAssetAllocation(combinedAccounts, tier, startDate, (val) => {\r\n this.setState({\r\n assetAllocationData: val,\r\n isLoadingAssetSectorAllocation: false,\r\n });\r\n });\r\n }\r\n\r\n private getGeographicData() {\r\n const { accountViewSelected, startDate } = this.state;\r\n\r\n InsightsAction.getGeographicAllocation(accountViewSelected, startDate, (val) => {\r\n this.setState({\r\n geographicAllocationData: val,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n private renderGeographicView(): JSX.Element {\r\n const { geographicAllocationData, accountViewSelected, startDate } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n private renderTopTenView(): JSX.Element {\r\n const { topTenData } = this.state;\r\n if (topTenData && topTenData.length == 0) {\r\n return (\r\n <>\r\n
\r\n

Top 10

\r\n
\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n private getSectorAllocationData() {\r\n const { accountViewSelected, startDate, tier } = this.state;\r\n InsightsAction.getInvestmentSectorAllocation(accountViewSelected, tier, startDate, (val) => {\r\n this.setState({\r\n assetSectorAllocationData: val,\r\n isLoadingAssetSectorAllocationData: false,\r\n });\r\n });\r\n }\r\n\r\n private renderSectorAllocationView(): JSX.Element {\r\n const { assetSectorAllocationData } = this.state;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderAssetAllocationView(): JSX.Element {\r\n const { assetAllocationData, tier } = this.state;\r\n return (\r\n \r\n \r\n this.setState(\r\n { tier: v, assetAllocationData: null, isLoadingAssetSectorAllocation: true },\r\n () => {\r\n this.getAssetAllocationData();\r\n }\r\n )\r\n }\r\n />\r\n \r\n );\r\n }\r\n\r\n private noData(data: any[]) {\r\n return data && data.length < 1;\r\n }\r\n\r\n private handleLaunchpadClick() {\r\n const context: Record = {};\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {context.customerId = customerHierarchyId;}\r\n\r\n (window as any).AppStore.open(context);\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n render() {\r\n const {\r\n geographicAllocationData,\r\n assetSectorAllocationData,\r\n assetAllocationData,\r\n startDate,\r\n accountViewSelected,\r\n slideNumber,\r\n } = this.state;\r\n\r\n const { isPresentationView } = this.context;\r\n\r\n const nodata =\r\n this.noData(geographicAllocationData) ||\r\n (assetAllocationData && this.noData(assetAllocationData.InvestmentAssetClassAllocations)) ||\r\n (assetSectorAllocationData && this.noData(assetSectorAllocationData.InvestmentSectorAllocations));\r\n\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"date widget\",\r\n },\r\n });\r\n this.setState({ startDate: d }, () => this.getData(accountViewSelected));\r\n }}\r\n cssWrapper=\"label-sr-only w-250\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"presentation mode\",\r\n },\r\n });\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Insights,\r\n this.props.isBtnPresentationClicked\r\n );\r\n }}\r\n />\r\n
\r\n {isAppStoreEnabled && (\r\n
\r\n \r\n Applications pad\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {nodata ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n
\r\n
\r\n

{Contents.GeographicTitle}

\r\n
\r\n {checkPermission(UserClaim.AdviserPortalClientPortfolioReportReadWrite) && (\r\n
\r\n {\r\n this.addEvent({\r\n event: \"insightstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.insightsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"create report\",\r\n },\r\n });\r\n let headAccounts = selectedHeadAccounts(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData()\r\n );\r\n if (isConsolidate()) {\r\n headAccounts = [ConsolidatedAccountStore.getData()].concat(\r\n headAccounts\r\n );\r\n }\r\n if (headAccounts.length == 1) {\r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n })\r\n .clientReport({\r\n headaccounthierarchyId:\r\n headAccounts[0]?.HierarchyId,\r\n }).clientReport\r\n );\r\n } else {\r\n this.setState({\r\n showReportPop: true,\r\n accountsForReport: headAccounts,\r\n });\r\n }\r\n }}\r\n >\r\n Create client portfolio\r\n report\r\n \r\n
\r\n )}\r\n
\r\n {this.renderGeographicView()}\r\n
\r\n {/* {this.renderTopTenView()} */}\r\n {this.renderAssetAllocationView()}\r\n {this.renderSectorAllocationView()}\r\n {this.state.showReportPop && (\r\n this.setState({ showReportPop: false, reportLinkAccount: null })}\r\n >\r\n this.setState({ reportLinkAccount: v })}\r\n options={this.state.accountsForReport}\r\n placeholder=\"Please select\"\r\n selected={this.state.reportLinkAccount}\r\n cssWrapper={\"control-size-245\"}\r\n getText={(o) => o?.HeadClAccountId}\r\n />\r\n {checkPermission(UserClaim.AdviserPortalClientPortfolioReportReadWrite) && (\r\n \r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n })\r\n .clientReport({\r\n headaccounthierarchyId: this.state.reportLinkAccount\r\n .HierarchyId,\r\n }).clientReport\r\n )\r\n }\r\n >\r\n Create Client Portfolio Report\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\nPortfolioDashboardInsights.contextType = PresentationContext;\r\n","export class Contents {\r\n public static GeographicTitle = \"Geographical allocation\";\r\n public static noDataErrorMessage =\r\n \"No data exists against the selected account or date. Please choose a different account or date.\";\r\n public static noDataErrorMessagePerformanceIncom =\r\n \"No data exists against the selected account or date. Please choose a different account, date or table.\";\r\n public static ViewAllRegionNote = \"Click on a region name to see the investments detail. \";\r\n public static SectorSubTitle =\r\n \"This shows a breakdown of your portfolio investments by stock sector groups on the selected date.\";\r\n public static SectorTitle = \"Sector allocation\";\r\n public static Geographic = \"Geographical allocation\";\r\n public static Cash = \"CASH\";\r\n public static Model = \"MODEL\";\r\n}\r\n\r\nexport enum AreaGroupTypeMap {\r\n \"UK\" = 0,\r\n \"EURO\" = 1,\r\n \"USA\" = 2,\r\n \"JAP\" = 3,\r\n \"ASIA\" = 4,\r\n \"EAST\" = 5,\r\n \"SAMER\" = 6,\r\n \"AFRICA\" = 7,\r\n \"CASH\" = 8,\r\n \"OTHER\" = 9,\r\n \"ALL\" = 10,\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../../../react-core/Flux/BaseStore\";\r\nimport { AreaGroupModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/AreaGroupModel\";\r\nimport { InsightsDispatcher, InvestmentRegionAllocationDispatcher } from \"./Variable\";\r\nimport { FluxResponse } from \"../../../../../../../Shared/Stores/FluxResponse\";\r\nimport { InvestmentGeographicAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentGeographicAllocationModel\";\r\n\r\nexport interface InsightsStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n regionGroupData?: Array;\r\n}\r\n\r\nexport interface InvestmentRegionAllocationStore {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n investmentRegionAllocation?: Array;\r\n}\r\n\r\nexport class InsightsStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(InsightsDispatcher, (actionData) => this.onInsightsStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): InsightsStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): InsightsStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getRegionGroup() {\r\n return this.getState().regionGroupData;\r\n }\r\n\r\n private onInsightsStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n regionGroupData: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n\r\nexport class InvestmentRegionAllocationStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(InvestmentRegionAllocationDispatcher, (data) =>\r\n this.onInvestmentRegionAllocationStoreResponse(data)\r\n );\r\n }\r\n\r\n onInvestmentRegionAllocationStoreResponse(data: FluxResponse>): void {\r\n switch (data.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n investmentRegionAllocation: data.payload,\r\n isLoading: false,\r\n actionType: ActionType.Success,\r\n });\r\n }\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n public getData() {\r\n return this.getState().investmentRegionAllocation;\r\n }\r\n\r\n public resetData() {\r\n return this.resetState();\r\n }\r\n\r\n protected getDefaultState(): InvestmentRegionAllocationStore {\r\n return {\r\n investmentRegionAllocation: [],\r\n isLoading: true,\r\n actionType: ActionType.Loading,\r\n };\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../../../react-core/Flux/Dispatcher\";\r\nimport { FluxResponse } from \"../../../../../../../Shared/Stores/FluxResponse\";\r\nimport { InvestmentRegionAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentRegionAllocationModel\";\r\nimport { InsightsStoreStatic, InvestmentRegionAllocationStatic } from \"./InsightsStoreStatic\";\r\nimport { InvestmentGeographicAllocationModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentGeographicAllocationModel\";\r\n\r\nexport interface RegionGroupFluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n// RegionCode dispatcher\r\nexport const InsightsDispatcher: Dispatcher = new Dispatcher();\r\nexport const InsightsStore: InsightsStoreStatic = new InsightsStoreStatic();\r\n\r\n// InvestmentRegionAllocation dispatcher\r\nexport const InvestmentRegionAllocationDispatcher: Dispatcher\r\n>> = new Dispatcher>>();\r\nexport const InvestmentRegionAllocationStore: InvestmentRegionAllocationStatic = new InvestmentRegionAllocationStatic();\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { SubAccountTreasuredAssetsClient } from \"../../../../../../../../Wrap/Api/Account/SubAccountTreasuredAssets\";\r\nimport { FundsDiscretePerformanceClient } from \"../../../../../../../../Wrap/Api/Instruments/FundsDiscretePerformance\";\r\nimport { SDRLabelClient } from \"../../../../../../../../Wrap/Api/Instruments/SDRLabel\";\r\nimport { SCFDDocClient } from \"../../../../../../../../Wrap/Api/Instruments/SCFDDoc\";\r\nimport { FinexDocumentLocationClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Investment/FinexDocumentLocation\";\r\nimport { InstrumentClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Investment/Instrument\";\r\nimport { InstrumentValuationDistributionClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Investment/InstrumentValuationDistribution\";\r\nimport { PortfolioInvestmentClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Investment/PortfolioInvestment\";\r\nimport { ProductModelPortfolioInvestmentClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Investment/ProductModelPortfolioInvestment\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Frequency } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ViewType } from \"../../../../../../../../Wrap/Mapping/PortfolioAnalysis/Investment/Enum/ViewType\";\r\nimport { SDRLabelQuery } from \"../../../../../../../../Wrap/Models/Domains/Investment/SDRLabelQuery\";\r\nimport { SdrLabelModel } from \"../../../../../../../../Wrap/Models/Models/Instruments/SdrLabelModel\";\r\nimport { SCFDDocQuery } from \"../../../../../../../../Wrap/Models/Domains/Investment/SCFDDocQuery\";\r\nimport { ScfdDocModel } from \"../../../../../../../../Wrap/Models/Models/Instruments/ScfdDocModel\";\r\nimport { AssetClassInstrumentWeighting } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/AssetClassInstrumentWeighting\";\r\nimport { FundPerformanceHistory } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/FundPerformanceHistory\";\r\nimport { Instrument } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Instrument\";\r\nimport { Investment } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { InvestmentGroup } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/InvestmentGroup\";\r\nimport { ProductInvestment } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ProductInvestment\";\r\nimport { ValuationPoint } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ValuationPoint\";\r\nimport { IJsonDate } from \"../../../../../../../../Wrap/System/IJsonDate\";\r\nimport { TreasuredAssetsDispatcher } from \"../../../../../../Stroes/Variable\";\r\nimport {\r\n IInvestmentGroup,\r\n IInvestmentTableData,\r\n IProductTableData,\r\n IHoldingsData,\r\n IInvestmentWithToggle,\r\n} from \"../Store/InvestmentsStatic\";\r\nimport {\r\n InvestmentsDispatcher,\r\n ModelUnderlyingInvestmentsDispatcher,\r\n ModelUnderlyingInvestmentsStore,\r\n} from \"../Store/Variable\";\r\n\r\nexport class InvestmentsAction {\r\n public static getInvestments(\r\n hierarchyIds: string[],\r\n asAt: IJsonDate,\r\n assetClassType: AssetClassType,\r\n viewType: ViewType,\r\n callback?: (val: ProductInvestment[]) => void\r\n ): void {\r\n const _self = this;\r\n const client = new PortfolioInvestmentClient();\r\n const promise = client.get(hierarchyIds, assetClassType, asAt, viewType);\r\n\r\n promise.onSuccess((result) => {\r\n //calculate total\r\n const data = this.getInvestmentData(result);\r\n InvestmentsDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n if (callback) {callback(result);}\r\n });\r\n\r\n promise.onError((err) => {\r\n InvestmentsDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n public static getInvestmentsModel(\r\n modelFundInstrumentCodes: Array,\r\n asAt: IJsonDate,\r\n assetClassType: AssetClassType,\r\n index: number,\r\n product: number,\r\n callback?: (val: InvestmentGroup[]) => void,\r\n modelId?: string\r\n ): void {\r\n const _self = this;\r\n const client = new ProductModelPortfolioInvestmentClient();\r\n const promise = client.get(modelFundInstrumentCodes, asAt, assetClassType);\r\n\r\n // reset store\r\n ModelUnderlyingInvestmentsStore.resetData();\r\n\r\n promise.onSuccess((result) => {\r\n const modelInvestments: IInvestmentGroup[] = result.map((ele) => {\r\n return {\r\n AssetClass: ele.AssetClass,\r\n Investments: _self.addToggle(ele.Investments, []),\r\n total: _self.getTotal(ele.Investments),\r\n };\r\n });\r\n modelInvestments.forEach((investment) =>\r\n investment.Investments.sort((a, b) => a.DisplayName.localeCompare(b.DisplayName))\r\n );\r\n ModelUnderlyingInvestmentsDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n isLoading: false,\r\n payload: {\r\n instrumentCode: modelId || modelFundInstrumentCodes[0],\r\n index: index,\r\n product: product,\r\n underlyings: modelInvestments,\r\n },\r\n });\r\n\r\n callback(result);\r\n });\r\n\r\n promise.onError((err) => {\r\n InvestmentsDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getInvestmentsModelSingle(\r\n hierarchyId: string,\r\n modelFundInstrumentCode: string,\r\n asAt: IJsonDate,\r\n assetClassType: AssetClassType,\r\n callback?: (val: InvestmentGroup[]) => void\r\n ): void {\r\n const client = new ProductModelPortfolioInvestmentClient();\r\n const promise = client.get([modelFundInstrumentCode.toString()], asAt, assetClassType);\r\n\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getInvestmentData(result: ProductInvestment[]): IInvestmentTableData {\r\n const _self = this;\r\n const data: IInvestmentTableData = { data: [], total: _self.initTotal() };\r\n result.forEach((account) => {\r\n const weighting = account.InstrumentWeighting;\r\n const { IndividualInvestments, OffPlatformInvestments, ModelPortfolioInvestments, ...rest } = account;\r\n const IndividualInvestmentsGet = _self.getHolding(account.IndividualInvestments, weighting);\r\n const OffPlatformInvestmentsGet = _self.getHolding(account.OffPlatformInvestments, weighting);\r\n const ModelPortfolioInvestmentsGet = _self.getHolding(account.ModelPortfolioInvestments, weighting);\r\n const total = _self.getTotal([\r\n IndividualInvestmentsGet.total,\r\n OffPlatformInvestmentsGet.total,\r\n ModelPortfolioInvestmentsGet.total,\r\n ]);\r\n\r\n IndividualInvestmentsGet.data.forEach((investment) =>\r\n investment.Investments.sort((a, b) => a.DisplayName.localeCompare(b.DisplayName))\r\n );\r\n\r\n ModelPortfolioInvestmentsGet.data.forEach((investment) =>\r\n investment.Investments.sort((a, b) => a.DisplayName.localeCompare(b.DisplayName))\r\n );\r\n\r\n OffPlatformInvestmentsGet.data.forEach((investment) =>\r\n investment.Investments.sort((a, b) => a.DisplayName.localeCompare(b.DisplayName))\r\n );\r\n const product: IProductTableData = {\r\n IndividualInvestments: IndividualInvestmentsGet,\r\n OffPlatformInvestments: OffPlatformInvestmentsGet,\r\n ModelPortfolioInvestments: ModelPortfolioInvestmentsGet,\r\n total: total,\r\n EditTreasureAssets: account.TreasuredAssets.concat(),\r\n TreasuredAssets: account.TreasuredAssets,\r\n RingfencedInstruments: account.RingfencedInstruments,\r\n ...rest,\r\n };\r\n data.data.push(product);\r\n data.total = _self.getTotal([data.total, total]);\r\n });\r\n data.data.sort((a, b) => a.ClAccountId.localeCompare(b.ClAccountId));\r\n data.data.push(\r\n data.data.splice(data.data.indexOf(data.data.filter((a) => a.ProductDisplayName == \"Wrap Cash\")[0]), 1)[0]\r\n );\r\n return data;\r\n }\r\n\r\n private static getHolding(data: InvestmentGroup[], weight: AssetClassInstrumentWeighting[]): IHoldingsData {\r\n const _self = this;\r\n const holding: IHoldingsData = {\r\n data: [],\r\n total: _self.initTotal(),\r\n };\r\n data.forEach((asset) => {\r\n const investments: IInvestmentGroup = {\r\n AssetClass: asset.AssetClass,\r\n Investments: _self.addToggle(asset.Investments, weight),\r\n total: _self.getTotal(asset.Investments),\r\n };\r\n holding.data.push(investments);\r\n holding.total = _self.getTotal([_self.getTotal(asset.Investments), holding.total]);\r\n });\r\n return holding;\r\n }\r\n\r\n private static addToggle(\r\n data: Investment[],\r\n InstrumentWeighting: AssetClassInstrumentWeighting[]\r\n ): IInvestmentWithToggle[] {\r\n return data.map((ele) => {\r\n const filterObj = InstrumentWeighting.filter((weight) => weight.InstrumentCode === ele.InstrumentCode);\r\n const weight = filterObj && filterObj.length > 0 ? filterObj[0].Weighting : 0;\r\n return { sub: null, ...ele, InstrumentWeighting: weight };\r\n });\r\n }\r\n\r\n private static initTotal() {\r\n return {\r\n Difference: { Amount: 0, Currency: CurrencyCode.GBP },\r\n Allocation: 0,\r\n TotalCost: { Amount: 0, Currency: CurrencyCode.GBP },\r\n MarketValue: { Amount: 0, Currency: CurrencyCode.GBP },\r\n InstrumentWeight: 0,\r\n };\r\n }\r\n\r\n private static getTotal(data: any[]) {\r\n const total = this.initTotal();\r\n data.forEach((ele) => {\r\n total.Difference.Amount += ele.Difference.Amount;\r\n total.Allocation += ele.Allocation;\r\n total.TotalCost.Amount += ele.TotalCost.Amount;\r\n total.MarketValue.Amount += ele.MarketValue.Amount;\r\n total.InstrumentWeight += ele.InstrumentWeight;\r\n });\r\n return total;\r\n }\r\n\r\n public static getInstrumentDetails(instrumentCode: string, callback: (val: Instrument) => void): void {\r\n const client = new InstrumentClient();\r\n const promise = client.get(instrumentCode);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getInstrumentDiscretePerformanceDetails(\r\n productId: number,\r\n callback: (val: Array) => void\r\n ): void {\r\n const client = new FundsDiscretePerformanceClient();\r\n const promise = client.get(productId);\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getConsumerFacingDisclosure(\r\n productId: number,\r\n callback: (val: SdrLabelModel[]) => void\r\n ): void {\r\n const client = new SDRLabelClient();\r\n const query: SDRLabelQuery = { instrumentIds: [productId] };\r\n const promise = client.post(query);\r\n \r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getSCFDUrl(\r\n productId: number,\r\n callback: (val: ScfdDocModel[]) => void\r\n ): void {\r\n const client = new SCFDDocClient();\r\n const query: SCFDDocQuery = { instrumentIds: [productId] };\r\n const promise = client.post(query);\r\n \r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getFinexDocument(citicode: string, callback?: (val: string) => void): void {\r\n const client = new FinexDocumentLocationClient();\r\n const promose = client.get(citicode);\r\n promose.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getInstrumentValuationDistribution(\r\n investmentCode: string,\r\n from: IJsonDate,\r\n to: IJsonDate,\r\n frequency: Frequency,\r\n currentpage: number,\r\n resultsPerpage: number,\r\n callback: (val: ValuationPoint[]) => void\r\n ): void {\r\n const client = new InstrumentValuationDistributionClient();\r\n const promise = client.get(investmentCode, from, to, frequency, currentpage, resultsPerpage);\r\n promise.onSuccess((result) => {\r\n callback(result.Results);\r\n });\r\n }\r\n\r\n public static setSubAccountTreasuredAssetsProductIds(\r\n hierarchyId: string,\r\n treasuredProductIds: Array,\r\n callBack?: () => void\r\n ): void {\r\n const client = new SubAccountTreasuredAssetsClient();\r\n const promise = client.put(hierarchyId, treasuredProductIds);\r\n\r\n TreasuredAssetsDispatcher.dispatch({ actionType: ActionType.Loading });\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack();\r\n }\r\n\r\n TreasuredAssetsDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: treasuredProductIds,\r\n });\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { UnmountClosed } from \"react-collapse\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { IJsonDate } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { InvestmentsColumns } from \"../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/InvestmentsColumns\";\r\nimport { Investment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { Permission } from \"../../../../../../Shared/Permission/Permission\";\r\nimport { InvestmentType } from \"../../Resource/Contents\";\r\nimport { InvestmentDetailsPopupModal } from \"../../../Common/InvestmentDetailsPopUp/InvestmentDetailsPopupModal\";\r\nimport { InvestmentsColConfigHelper } from \"../../../Common/InvestmentDetailsPopUp/InvestmentsColConfigHelper\";\r\nimport { IInvestmentGroup, IInvestmentWithToggle, IProductTableData, ITotal } from \"./Store/InvestmentsStatic\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { SubAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { TransactionEnum } from \"../Transactions/Resource/Contents\";\r\nimport { DepositProduct } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\nimport { DepositDetailsPopupModal } from \"../../../Common/DepositDetailsPopUp/DepositDetailsPopupModal\";\r\n\r\ninterface ICommonViewTbodyProps {\r\n item: IProductTableData;\r\n keyName: string;\r\n isAssetView?: boolean;\r\n assetClassType: AssetClassType;\r\n asAtDate: Date;\r\n cols: any[];\r\n stringHelper: any;\r\n isEditTreasure: boolean;\r\n onTreasuredAssetChange: (productId: number, value: boolean, subAccountId: string) => void;\r\n cashProducts: Record\r\n}\r\n\r\ninterface ICommonViewTbodyState {\r\n isShowDetailModal: boolean;\r\n instrumentCode: string;\r\n productId: number;\r\n instrumentName: string;\r\n asAt: IJsonDate;\r\n unitCost: Money;\r\n unitPrice: Money;\r\n marketValue: Money;\r\n securityType: ProductType;\r\n toggles: Map;\r\n}\r\n\r\nexport class CommonViewTbody extends BaseComponent {\r\n constructor(props: ICommonViewTbodyProps) {\r\n super(props);\r\n this.state =\r\n {\r\n isShowDetailModal: false,\r\n instrumentCode: null,\r\n productId: 0,\r\n instrumentName: null,\r\n asAt: null,\r\n unitCost: null,\r\n unitPrice: null,\r\n marketValue: null,\r\n securityType: null,\r\n toggles: new Map(),\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n private getMoneyFormat(val: Money, isShowCurrency?: boolean, decimalCount?: number): string {\r\n let formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(\r\n Math.abs(val.Amount),\r\n val.Currency,\r\n isShowCurrency,\r\n decimalCount\r\n );\r\n if (val.Amount < 0) {\r\n formatMoney = \"-\" + formatMoney;\r\n }\r\n return formatMoney;\r\n }\r\n\r\n private isCash(instrumentCode: string): boolean {\r\n return instrumentCode.toLowerCase().indexOf(\"cash\") > -1;\r\n }\r\n\r\n private isOpi(instrumentCode: string): boolean {\r\n return instrumentCode.toLowerCase().indexOf(\"pa_\") > -1;\r\n }\r\n\r\n private getQuantity(entry: Investment): string {\r\n return this.getMoneyFormat({ Amount: entry.Quantity, Currency: CurrencyCode.GBP }, false, 4);\r\n }\r\n\r\n private getUnitCost(entry: Investment): string {\r\n return this.isOpi(entry.InstrumentCode) ? \"-\" : this.getMoneyFormat(entry.UnitCost, false, 4);\r\n }\r\n\r\n private getUnitPrice(entry: Investment): string {\r\n return this.getMoneyFormat(entry.UnitPrice, false, 4);\r\n }\r\n\r\n private getDifferenceClass(val: number, isHeader: boolean): string {\r\n if (isHeader) {\r\n return val == 0\r\n ? \" cell-right text-highlight\"\r\n : val > 0\r\n ? \" cell-right text-nowrap text-positive \"\r\n : \" cell-right text-nowrap text-negative \";\r\n } else {\r\n return val == 0\r\n ? \" cell-right \"\r\n : val > 0\r\n ? \" cell-right text-nowrap text-positive \"\r\n : \" cell-right text-nowrap text-negative \";\r\n }\r\n }\r\n\r\n private renderRowForTotal(col: InvestmentsColumns, entry: ITotal, isHeader: boolean) {\r\n switch (col) {\r\n case InvestmentsColumns.Allocation:\r\n return
;\r\n case InvestmentsColumns.TotalCost:\r\n return ;\r\n case InvestmentsColumns.MarketValue:\r\n return ;\r\n case InvestmentsColumns.Difference:\r\n return (\r\n \r\n );\r\n case InvestmentsColumns.Quantity:\r\n case InvestmentsColumns.Location:\r\n case InvestmentsColumns.UnitCost:\r\n case InvestmentsColumns.UnitPrice:\r\n case InvestmentsColumns.FundCode:\r\n case InvestmentsColumns.TargetAllocation:\r\n return ;\r\n case InvestmentsColumns.TreasuredAsset:\r\n return ;\r\n }\r\n }\r\n\r\n private renderRowForManagedPortfolio(col: InvestmentsColumns, entry: IInvestmentWithToggle, isHeader: boolean) {\r\n switch (col) {\r\n case InvestmentsColumns.Allocation:\r\n return ;\r\n case InvestmentsColumns.TotalCost:\r\n return ;\r\n case InvestmentsColumns.MarketValue:\r\n return ;\r\n case InvestmentsColumns.Difference:\r\n return (\r\n \r\n );\r\n case InvestmentsColumns.Location:\r\n if (entry.Location != \"CTAIn\" && entry.Location != \"CATOut\") {\r\n return ;\r\n }\r\n case InvestmentsColumns.Quantity:\r\n case InvestmentsColumns.UnitCost:\r\n case InvestmentsColumns.UnitPrice:\r\n return ;\r\n case InvestmentsColumns.FundCode:\r\n return ;\r\n case InvestmentsColumns.TargetAllocation:\r\n return ;\r\n case InvestmentsColumns.TreasuredAsset:\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n let subAccount: SubAccount = null;\r\n let headAccount: ClientAccount = null;\r\n allAccounts.forEach((x) => {\r\n const _subAccount = x.SubAccounts.find((y) => y.ClAccountId == this.props.item.ClAccountId);\r\n if (_subAccount) {\r\n headAccount = x;\r\n subAccount = _subAccount;\r\n }\r\n });\r\n if (\r\n headAccount?.AccountServicePropositionId == ServiceProposition.Wrap &&\r\n !SubAccountTypeHelper.isLegacyProduct(subAccount.SubAccountType)\r\n ) {\r\n const isTreasuredAsset = (this.props.item?.EditTreasureAssets || []).includes(entry.ProductId);\r\n return (\r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n }\r\n }\r\n\r\n private renderRowForInvestment(\r\n col: InvestmentsColumns,\r\n entry: IInvestmentWithToggle,\r\n tdclass: string,\r\n hideTargetAllocation: boolean,\r\n index: number,\r\n isModel?: boolean\r\n ) {\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n let subAccount: SubAccount = null;\r\n let headAccount: ClientAccount = null;\r\n allAccounts.forEach((x) => {\r\n const _subAccount = x.SubAccounts.find((y) => y.ClAccountId == this.props.item.ClAccountId);\r\n if (_subAccount) {\r\n headAccount = x;\r\n subAccount = _subAccount;\r\n }\r\n });\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n switch (col) {\r\n case InvestmentsColumns.Allocation:\r\n return ;\r\n case InvestmentsColumns.TotalCost:\r\n return ;\r\n case InvestmentsColumns.MarketValue:\r\n return ;\r\n case InvestmentsColumns.Difference:\r\n return (\r\n \r\n );\r\n case InvestmentsColumns.Quantity:\r\n return (\r\n \r\n );\r\n case InvestmentsColumns.Location:\r\n if (entry.Location != \"CTAIn\" && entry.Location != \"CATOut\") {\r\n return ;\r\n }\r\n case InvestmentsColumns.UnitCost:\r\n return ;\r\n case InvestmentsColumns.UnitPrice:\r\n return ;\r\n case InvestmentsColumns.FundCode:\r\n return ;\r\n case InvestmentsColumns.TargetAllocation:\r\n return ;\r\n case InvestmentsColumns.TreasuredAsset:\r\n if (\r\n entry.InstrumentCode !== \"GBPCash\" &&\r\n headAccount.AccountServicePropositionId == ServiceProposition.Wrap &&\r\n !SubAccountTypeHelper.isLegacyProduct(subAccount.SubAccountType) &&\r\n !isModel\r\n ) {\r\n const isTreasuredAsset = (this.props.item?.EditTreasureAssets || []).includes(entry.ProductId);\r\n return (\r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n }\r\n }\r\n\r\n private renderProduct(): JSX.Element {\r\n const item = this.props.item;\r\n const subTotal = this.props.item.total;\r\n const _class = this.props.stringHelper.getDonutClass(item.WrapperType);\r\n\r\n return (\r\n \r\n \r\n {this.props.cols.map((col, index) => {\r\n if (col.Enabled) {\r\n return this.renderRowForTotal(col.Column, subTotal, false);\r\n }\r\n })}\r\n \r\n );\r\n }\r\n\r\n private renderProductHeader(config: { title: string; key: string }, subTotal: ITotal) {\r\n if (subTotal != null && subTotal.TotalCost.Amount == 0 && subTotal.MarketValue.Amount == 0) {\r\n return null;\r\n } else if (this.props.assetClassType === AssetClassType.NotSet) {\r\n return null;\r\n }\r\n const isheader = config.title != \"Investment holdings\";\r\n return (\r\n \r\n \r\n {this.props.cols.map((col, index) => {\r\n if (col.Enabled) {\r\n return this.renderRowForTotal(col.Column, subTotal, isheader);\r\n }\r\n })}\r\n \r\n );\r\n }\r\n\r\n private handleToggle(index: number) {\r\n const { toggles } = this.state;\r\n if (toggles.has(index)) {\r\n toggles.set(index, !toggles.get(index));\r\n this.setState({ toggles: toggles });\r\n }\r\n }\r\n\r\n private renderTotal(subTotal: ITotal, index: number, isModel: boolean) {\r\n const { keyName, cols } = this.props;\r\n const key = isModel ? `subTotal_${index}` : `${keyName}InvestmentGroups_${index}_SubTotal`;\r\n const subTotalClass = isModel ? \"subtotal-nested\" : \"sub-total\";\r\n return (\r\n \r\n \r\n {cols.map((col, index) => {\r\n if (col.Enabled) {\r\n return this.renderRowForTotal(col.Column, subTotal, false);\r\n }\r\n })}\r\n \r\n );\r\n }\r\n\r\n private renderManagedPortfolioRows(): JSX.Element[] {\r\n const { keyName, item, cols } = this.props;\r\n const { toggles } = this.state;\r\n const managedPortfolio = item.ModelPortfolioInvestments;\r\n if (managedPortfolio.data.length < 1) {return null;}\r\n const investments = managedPortfolio.data[0].Investments;\r\n let togglesUpdated = false;\r\n\r\n const trs: JSX.Element[] = [];\r\n\r\n investments.map((entry, i) => {\r\n if (!toggles.has(i)) {\r\n toggles.set(i, false);\r\n togglesUpdated = true;\r\n }\r\n\r\n const _btnClass = toggles.get(i) ? \"row-toggle expanded\" : \"row-toggle\";\r\n\r\n trs.push(\r\n \r\n \r\n {cols.map((col, index) => {\r\n if (col.Enabled) {\r\n return this.renderRowForManagedPortfolio(col.Column, entry, false);\r\n }\r\n })}\r\n \r\n );\r\n\r\n if(toggles.get(i)){\r\n trs.push(\r\n <> \r\n {this.renderRealExpendElement(entry.sub)}\r\n \r\n );\r\n }\r\n });\r\n\r\n if (togglesUpdated) {\r\n this.setState({ toggles: toggles });\r\n }\r\n return trs;\r\n }\r\n\r\n private renderInvestments(\r\n investments: IInvestmentWithToggle[],\r\n hasLink: (entry) => boolean,\r\n index: number,\r\n isModel: boolean\r\n ): JSX.Element[] {\r\n if (!investments) {return null;}\r\n return investments.map((entry, i) => {\r\n const isCash = this.isCash(entry.InstrumentCode);\r\n const investmentTdClass = !isModel ? \"\" : isCash ? \"\" : \"\";\r\n const othersTdClass = !isModel ? \"cell-right\" : isCash ? \"cell-right cell-10\" : \"cell-right\";\r\n const key = isModel ? \"rows_\" + index + \"_\" + i : \"InvestmentGroups_\" + index + \"_Contents_\" + i;\r\n const hideTargetAllocation = this.props.isAssetView || isModel;\r\n const firstTdContent = hasLink(entry) ? (\r\n entry.DisplayName\r\n ) : (\r\n {\r\n this.addEvent({\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"investment name\",\r\n },\r\n });\r\n this.setState(\r\n {\r\n isShowDetailModal: true,\r\n instrumentCode: entry.InstrumentCode,\r\n productId: entry.ProductId,\r\n instrumentName: entry.DisplayName,\r\n unitCost: entry.UnitCost,\r\n unitPrice: entry.UnitPrice,\r\n securityType: entry.Type,\r\n marketValue: entry.MarketValue\r\n });\r\n }}\r\n >\r\n {entry.DisplayName}\r\n \r\n );\r\n return (\r\n \r\n \r\n {this.props.cols.map((col, i) => {\r\n if (col.Enabled) {\r\n return this.renderRowForInvestment(\r\n col.Column,\r\n entry,\r\n othersTdClass,\r\n hideTargetAllocation,\r\n index,\r\n isModel\r\n );\r\n }\r\n })}\r\n \r\n );\r\n });\r\n }\r\n\r\n private renderInvesmentsWithHeaderAndTooter(\r\n data: IInvestmentGroup[],\r\n hasLink: (entry) => boolean,\r\n isModel: boolean\r\n ): JSX.Element[] {\r\n if (!data) {return null;}\r\n let trs: JSX.Element[] = [];\r\n const assetClassType = this.props.assetClassType;\r\n if (this.props.assetClassType === AssetClassType.NotSet) {\r\n let combinedData: IInvestmentWithToggle[] = [];\r\n data.forEach((investment) => {\r\n combinedData = combinedData.concat(investment.Investments);\r\n });\r\n if (combinedData.length > 0) {\r\n combinedData.sort((a, b) => a.DisplayName.localeCompare(b.DisplayName));\r\n combinedData.unshift(\r\n combinedData.splice(\r\n combinedData.findIndex((cash) => cash.InstrumentCode == \"GBPCash\"),\r\n 1\r\n )[0]\r\n );\r\n }\r\n return this.renderInvestments(combinedData, hasLink, 0, isModel);\r\n } else {\r\n data.forEach((item, index) => {\r\n //Header\r\n trs.push(\r\n \r\n \r\n \r\n );\r\n const contents: JSX.Element[] = this.renderInvestments(item.Investments, hasLink, index, isModel);\r\n trs = trs.concat(contents);\r\n\r\n //Footer\r\n const subTotal = item.total;\r\n trs.push(this.renderTotal(subTotal, index, isModel));\r\n });\r\n return trs;\r\n }\r\n }\r\n\r\n private renderInvestmentGroup(): JSX.Element[] {\r\n const data = this.props.item.IndividualInvestments?.data;\r\n const hasLink = (entry) => {\r\n return this.isCash(entry.InstrumentCode) || this.isOpi(entry.InstrumentCode);\r\n };\r\n return this.renderInvesmentsWithHeaderAndTooter(data, hasLink, false);\r\n }\r\n\r\n private renderOpiInvestmentGroup(): JSX.Element[] {\r\n const data = this.props.item.OffPlatformInvestments?.data;\r\n const hasLink = (entry) => {\r\n return this.isCash(entry.InstrumentCode);\r\n };\r\n return this.renderInvesmentsWithHeaderAndTooter(data, hasLink, false);\r\n }\r\n\r\n private renderEpendTrs(investmentGroups: IInvestmentGroup[]): JSX.Element[] {\r\n const hasLink = (entry) => {\r\n return this.isCash(entry.InstrumentCode);\r\n };\r\n return this.renderInvesmentsWithHeaderAndTooter(investmentGroups, hasLink, true);\r\n }\r\n\r\n private renderRealExpendElement(investmentGroups: IInvestmentGroup[]): JSX.Element {\r\n return (\r\n <>\r\n \r\n {this.props.cols.map((col, index) => {\r\n const tableHeaderCSS =\r\n col.Column == InvestmentsColumns.Investments ? \"first-cell\" : \"cell-right cell-10\";\r\n\r\n if (col.Enabled) {\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n \r\n {this.renderEpendTrs(investmentGroups)}\r\n \r\n );\r\n }\r\n\r\n private renderInvestmentDetailPopupModal(): JSX.Element {\r\n const {\r\n isShowDetailModal,\r\n instrumentCode,\r\n instrumentName,\r\n unitCost,\r\n unitPrice,\r\n securityType,\r\n productId,\r\n } = this.state;\r\n\r\n if (!isShowDetailModal)\r\n {\r\n return null;\r\n }\r\n\r\n if (securityType === ProductType.CashProduct)\r\n {\r\n const cashProduct: DepositProduct = this.props.cashProducts[productId];\r\n return (\r\n <>\r\n this.setState({ isShowDetailModal: false })}\r\n callerSource={\"Holdings\"}\r\n instrumentCode={instrumentCode}\r\n productId={productId}\r\n issuer={cashProduct?.Issuer}\r\n depositType={cashProduct?.DepositProductType}\r\n term={cashProduct?.Term}\r\n grossRate={cashProduct?.GrossInterestRate}\r\n aerRate={cashProduct?.AnnualEquivalentInterestRate}\r\n minimumInvestment={cashProduct?.MinimumInvestment}\r\n maximumInvestment={cashProduct?.MaximumInvestment}\r\n instrumentName={instrumentName}\r\n maturityDate={cashProduct?.MaturityDate}\r\n holdingValue={this.getMoneyFormat(this.state.marketValue)}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n this.setState({ isShowDetailModal: false });\r\n }}\r\n instrumentCode={instrumentCode}\r\n productId={productId}\r\n instrumentName={instrumentName}\r\n asAt={this.props.asAtDate}\r\n unitCost={unitCost}\r\n securityType={securityType}\r\n unitPrice={unitPrice}\r\n >\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { keyName, isAssetView, item, assetClassType } = this.props;\r\n return (\r\n \r\n {isAssetView ? null : this.renderProduct()}\r\n {this.renderProductHeader(InvestmentType.IndividualInvestments, item.IndividualInvestments.total)}\r\n {this.renderInvestmentGroup()}\r\n {this.renderProductHeader(\r\n InvestmentType.ModelPortfolioInvestments,\r\n item.ModelPortfolioInvestments.total\r\n )}\r\n {this.renderManagedPortfolioRows()}\r\n {this.renderProductHeader(InvestmentType.OffPlatformInvestments, item.OffPlatformInvestments.total)}\r\n {this.renderOpiInvestmentGroup()}\r\n {this.renderInvestmentDetailPopupModal()}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport TableFilterDropdown from \"../../../../../../../react-core/Html/Components/TableFilterDropdown\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ViewType } from \"../../../../../../../Wrap/Mapping/PortfolioAnalysis/Investment/Enum/ViewType\";\r\nimport { AssetClassInstrumentWeighting } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/AssetClassInstrumentWeighting\";\r\nimport { Investment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { ExcelExportAction } from \"../../../../../../Shared/ExcelExport/Actions/ExcelExportAction\";\r\nimport { ExcelExportButton } from \"../../../../../../Shared/ExcelExport/ExcelExportButton\";\r\nimport { LoadingSkeletonType } from \"../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { TableColSettingsAction } from \"../../../../../../Shared/TableColFilter/Action/Action\";\r\nimport { defaultTableColEditor, TableColSettingKeys } from \"../../../../../../Shared/TableColFilter/Resource/Content\";\r\nimport { TableColSettingsStore } from \"../../../../../../Shared/TableColFilter/Store/Variable\";\r\nimport { TableColEditor } from \"../../../../../../Shared/TableColFilter/TableColEditor\";\r\nimport { AsAtDatePicker } from \"../../../../../Common/AsAtDatePicker\";\r\nimport { InvestmentsAction } from \"./Action/InvestmentAction\";\r\nimport { InvestmentsColConfig } from \"./Resource/Contents\";\r\nimport { InvestmentsStore, ModelUnderlyingInvestmentsStore } from \"./Store/Variable\";\r\nimport { ViewTypeArray, ViewTypeMap, AssetClassTypeArray, AssetClassTypeMap } from \"../../Resource/Contents\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport { PresentationViewButton } from \"../Common/PresentationViewButton\";\r\nimport { InvestmentTable } from \"./InvestmentTable\";\r\nimport CoachMarker from \"../../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { InvestmentsColumns } from \"../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/InvestmentsColumns\";\r\nimport { InvestmentsColumnSetting } from \"../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/InvestmentsColumnSetting\";\r\nimport { selectedHeadAccounts } from \"../Common/PortfolioDashboardHelper\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport {IInvestmentTableData, IInvestmentWithToggle, IProductTableData, IInvestmentGroup} from \"./Store/InvestmentsStatic\";\r\nimport { DepositProduct } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { DepositProductsQuery } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProductsQuery\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { ResultPageModel } from \"../../../../../../../Wrap/Core/SortingAndPaging/Models/ResultPageModel\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\n\r\ninterface IPortfolioDashboardInvestmentState {\r\n userInfo: User;\r\n tier: AssetClassType;\r\n asAt: Date;\r\n view: ViewType;\r\n data: IInvestmentTableData;\r\n isLoading: boolean;\r\n isOpenFilter: boolean;\r\n toggleFilter: any;\r\n filter: { view: ViewType; tier: AssetClassType };\r\n colsettings?: InvestmentsColumnSetting[];\r\n accountViewSelected: string[];\r\n cashProducts: Record;\r\n}\r\n\r\ninterface IPortfolioDashboardInvestmentProps extends IPortfolioDashboardComponentProps {}\r\n\r\nexport class PortfolioDashboardInvestment extends PortfolioDashboardComponent<\r\n IPortfolioDashboardInvestmentProps,\r\n IPortfolioDashboardInvestmentState\r\n> {\r\n constructor(props: IPortfolioDashboardInvestmentProps) {\r\n super(props);\r\n this.subscribeToStore(InvestmentsStore, () => this.onInvestmentStoreChange());\r\n this.subscribeToStore(TableColSettingsStore, () => this.onTableColSettingsStoreChange());\r\n this.subscribeToStore(ModelUnderlyingInvestmentsStore, () => this.onModelUnderlyingInvestmentStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.Investments\r\n );\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Investments,\r\n this.props.isBtnPresentationClicked\r\n );\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .investments.getUrl(),\r\n pageTitle: `${document.title} - client - investments`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n onModelUnderlyingInvestmentStoreChange(): void {\r\n const investments = ModelUnderlyingInvestmentsStore.getData();\r\n const { data } = this.state;\r\n\r\n let updated = false;\r\n for (const [key, value] of investments.entries()) {\r\n const targetModelInvestment =\r\n data.data[value.product].ModelPortfolioInvestments.data[0].Investments[value.index];\r\n if (\r\n targetModelInvestment.InstrumentCode == key &&\r\n (!targetModelInvestment.sub || targetModelInvestment.sub.length == 0)\r\n ) {\r\n updated = true;\r\n targetModelInvestment.sub = value.underlyings.map((ele) => {\r\n return {\r\n AssetClass: ele.AssetClass,\r\n Investments: this.addToggle(ele.Investments, []),\r\n total: this.getTotal(ele.Investments),\r\n };\r\n });\r\n }\r\n if (updated) {\r\n this.setState({ data: data });\r\n }\r\n }\r\n }\r\n\r\n private initTotal() {\r\n return {\r\n Difference: { Amount: 0, Currency: CurrencyCode.GBP },\r\n Allocation: 0,\r\n TotalCost: { Amount: 0, Currency: CurrencyCode.GBP },\r\n MarketValue: { Amount: 0, Currency: CurrencyCode.GBP },\r\n InstrumentWeight: 0,\r\n };\r\n }\r\n\r\n private getTotal(data: any[]) {\r\n const total = this.initTotal();\r\n data.forEach((ele) => {\r\n total.Difference.Amount += ele.Difference.Amount;\r\n total.Allocation += ele.Allocation;\r\n total.TotalCost.Amount += ele.TotalCost.Amount;\r\n total.MarketValue.Amount += ele.MarketValue.Amount;\r\n total.InstrumentWeight += ele.InstrumentWeight;\r\n });\r\n return total;\r\n }\r\n\r\n private addToggle(\r\n data: Investment[],\r\n InstrumentWeighting: AssetClassInstrumentWeighting[]\r\n ): IInvestmentWithToggle[] {\r\n return data.map((ele) => {\r\n const filterObj = InstrumentWeighting.filter((weight) => weight.InstrumentCode === ele.InstrumentCode);\r\n const weight = filterObj && filterObj.length > 0 ? filterObj[0].Weighting : 0;\r\n return { isToggle: false, sub: null, ...ele, InstrumentWeighting: weight, isTreasuredAssets: false };\r\n });\r\n }\r\n\r\n onTableColSettingsStoreChange() {\r\n const data = TableColSettingsStore.getData();\r\n const colEditorKey = TableColSettingKeys.Investments;\r\n if (JSON.stringify(data) == \"{}\") {\r\n TableColSettingsAction.post(defaultTableColEditor);\r\n } else if (data[colEditorKey].length == 0) {\r\n TableColSettingsAction.post(defaultTableColEditor[colEditorKey], colEditorKey);\r\n } else {\r\n const allWrapAccount = selectedHeadAccounts(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData()\r\n )?.every((acc) => acc?.AccountServicePropositionId == ServiceProposition.Wrap);\r\n if (this.state.view == ViewType.Asset || !allWrapAccount) {\r\n data[colEditorKey] = data[colEditorKey].filter(\r\n (ele) => ele?.Column != InvestmentsColumns.TreasuredAsset\r\n );\r\n }\r\n if (!this.state.isLoading) {\r\n this.addEvent({\r\n event: \"investmenttab_tableEditor\",\r\n tableEditor: {\r\n targetAllocation: data[colEditorKey].some(\r\n (ele) => ele?.Column == InvestmentsColumns.TargetAllocation && ele.Enabled\r\n )\r\n ? \"yes\"\r\n : \"no\",\r\n fundCode: data[colEditorKey].some(\r\n (ele) => ele?.Column == InvestmentsColumns.FundCode && ele.Enabled\r\n )\r\n ? \"yes\"\r\n : \"no\",\r\n Location: data[colEditorKey].some(\r\n (ele) => ele?.Column == InvestmentsColumns.Location && ele.Enabled\r\n )\r\n ? \"yes\"\r\n : \"no\",\r\n protectAssets: data[colEditorKey].some(\r\n (ele) => ele?.Column == InvestmentsColumns.TreasuredAsset && ele.Enabled\r\n )\r\n ? \"yes\"\r\n : \"no\",\r\n },\r\n });\r\n }\r\n\r\n this.setState({ colsettings: data[colEditorKey] });\r\n }\r\n }\r\n\r\n onInvestmentStoreChange() {\r\n const data = InvestmentsStore.getData();\r\n data.data.map((x, product) =>\r\n x.ModelPortfolioInvestments.data.map((mpg) =>\r\n mpg.Investments.map((mp, index) =>\r\n this.getModel(\r\n mp.HubAccountIds.length == 0 ? [mp.InstrumentCode] : mp.HubAccountIds,\r\n index,\r\n product,\r\n mp.InstrumentCode\r\n )\r\n )\r\n )\r\n );\r\n if (data)\r\n {\r\n this.fetchCashProductDetails(data);\r\n this.setState({ data, isLoading: false });\r\n }\r\n }\r\n\r\n fetchCashProductDetails(data: IInvestmentTableData): void\r\n {\r\n const flatten = array =>\r\n array.reduce(\r\n (flattened, elem) =>\r\n flattened.concat(Array.isArray(elem) ? flatten(elem) : elem),\r\n []\r\n );\r\n\r\n const cashProductIds: number[] = Array.from(\r\n new Set(flatten(data\r\n .data\r\n .map(x => x.IndividualInvestments.data.map(x => x.Investments)))\r\n .filter(row => row.Type === ProductType.CashProduct)\r\n .map(row => row.ProductId))\r\n );\r\n\r\n if (cashProductIds.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n const accounts = PortfolioDashboardStore.getData();\r\n\r\n const servicePropositionId = accounts[0].AccountServicePropositionId;\r\n\r\n const query: DepositProductsQuery =\r\n {\r\n ProductIds: cashProductIds,\r\n ServiceProposition: servicePropositionId,\r\n ResultsPerPage: cashProductIds.length\r\n };\r\n\r\n InvestmentSelectionAction.searchDepositProducts(\r\n query,\r\n getQueryParameters()[\"hierarchyId\"],\r\n (data: ResultPageModel) =>\r\n {\r\n const cashProducts: Record = data.Results\r\n .reduce>(\r\n (acc, product) =>\r\n {\r\n acc[product.ProductId] = product;\r\n return acc;\r\n },\r\n {})\r\n\r\n this.setState({ cashProducts: cashProducts });\r\n },\r\n (err) =>\r\n {\r\n console.error(\"Failed to fetch deposit products:\", err);\r\n });\r\n }\r\n\r\n private defaultFilter() {\r\n return { view: ViewType.Product, tier: AssetClassType.Tier1 };\r\n }\r\n\r\n initState() {\r\n const now = new Date();\r\n this.state =\r\n {\r\n userInfo: UserStore.getUserInfo(),\r\n tier: AssetClassType.Tier1,\r\n asAt: new Date(now.getFullYear(), now.getMonth(), now.getDate()),\r\n view: ViewType.Product,\r\n data: null,\r\n isLoading: true,\r\n isOpenFilter: false,\r\n toggleFilter: new Object(),\r\n filter: this.defaultFilter(),\r\n colsettings: null,\r\n accountViewSelected: [],\r\n cashProducts: {}\r\n };\r\n }\r\n\r\n getData(selectedSubAccountHierarchyIds: string[]) {\r\n this.setState({\r\n accountViewSelected: selectedSubAccountHierarchyIds,\r\n });\r\n const colEditorKey = TableColSettingKeys.Investments;\r\n TableColSettingsAction.get(colEditorKey);\r\n\r\n const { asAt, tier, view } = this.state;\r\n this.setState({ isLoading: true });\r\n\r\n InvestmentsAction.getInvestments(\r\n selectedSubAccountHierarchyIds,\r\n JsonDateParser.toJsonDateNoOffset(asAt),\r\n tier,\r\n view\r\n );\r\n }\r\n\r\n private onApplyClick() {\r\n const { accountViewSelected } = this.state;\r\n this.state.toggleFilter(true);\r\n this.setState(\r\n (preState) => {\r\n return { tier: preState.filter.tier, view: preState.filter.view };\r\n },\r\n () => this.getData(accountViewSelected)\r\n );\r\n }\r\n\r\n private getModel(instrumentCode: Array, index: number, product: number, modelId: string) {\r\n const { asAt, tier } = this.state;\r\n InvestmentsAction.getInvestmentsModel(\r\n instrumentCode,\r\n JsonDateParser.toJsonDateNoOffset(asAt),\r\n tier,\r\n index,\r\n product,\r\n null,\r\n modelId\r\n );\r\n }\r\n\r\n renderTable() {\r\n const { data, isLoading, asAt, tier, view, colsettings } = this.state;\r\n return (\r\n \r\n this.setState({ data: data })}\r\n cashProducts={this.state.cashProducts}\r\n />\r\n \r\n );\r\n }\r\n\r\n private handleLaunchpadClick() {\r\n const context: Record = {};\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {context.customerId = customerHierarchyId;}\r\n\r\n (window as any).AppStore.open(context);\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n public render(): JSX.Element {\r\n const { data, asAt, filter, tier, view, accountViewSelected } = this.state;\r\n const { isPresentationView } = this.context;\r\n const drillDownModelList: Array = [];\r\n if (data) {\r\n data.data.map((product) => {\r\n product.ModelPortfolioInvestments.data.map((model) => {\r\n model.Investments.map((item) => {\r\n drillDownModelList.push(Number(item.InstrumentCode));\r\n });\r\n });\r\n });\r\n }\r\n\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.addEvent({\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"date widget\",\r\n },\r\n });\r\n this.setState({ asAt: d }, () => this.getData(accountViewSelected));\r\n }}\r\n cssWrapper=\"label-sr-only form-group\"\r\n />\r\n
\r\n {this.renderToolBar() ? (\r\n
\r\n
\r\n {!isPresentationView && (\r\n
\r\n {\r\n this.addEvent({\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"export to excel\",\r\n },\r\n });\r\n return ExcelExportAction.generateInvestmentReport(\r\n accountViewSelected,\r\n asAt,\r\n tier,\r\n view,\r\n drillDownModelList,\r\n Number(\r\n ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n )?.split(\"-\")[1]\r\n )\r\n );\r\n }}\r\n selectedAccount={null}\r\n >\r\n
\r\n )}\r\n
\r\n {/* */}\r\n this.setState({ toggleFilter: e })}\r\n title=\"Filter table\"\r\n event={{\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"filter click\",\r\n },\r\n }}\r\n >\r\n
\r\n {\r\n return ViewTypeMap[v];\r\n }}\r\n selected={filter.view}\r\n onChange={(v) =>\r\n this.setState((preState) => {\r\n return { filter: { tier: preState.filter.tier, view: v } };\r\n })\r\n }\r\n />\r\n {\r\n return AssetClassTypeMap[v];\r\n }}\r\n selected={filter.tier}\r\n onChange={(v) =>\r\n this.setState((preState) => {\r\n return { filter: { view: preState.filter.view, tier: v } };\r\n })\r\n }\r\n />\r\n
\r\n {\r\n this.setState({ filter: this.defaultFilter() });\r\n this.state.toggleFilter(true);\r\n }}\r\n >\r\n \r\n
\r\n {\r\n this.addEvent({\r\n event: \"investmentstab_tablefilter\",\r\n filter: {\r\n type: ViewTypeMap[\r\n this.state.filter.view\r\n ].toLowerCase(),\r\n tier: AssetClassTypeMap[\r\n this.state.filter.tier\r\n ].toLowerCase(),\r\n },\r\n });\r\n this.onApplyClick();\r\n }}\r\n >\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/* */}\r\n \r\n
\r\n
\r\n {\r\n this.addEvent({\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"presentation mode\",\r\n },\r\n });\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Investments,\r\n this.props.isBtnPresentationClicked\r\n );\r\n }}\r\n />\r\n
\r\n {isAppStoreEnabled && (\r\n
\r\n \r\n \r\n Applications pad\r\n \r\n
\r\n )}\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n
{this.renderTable()}
\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n private renderToolBar() {\r\n const { data } = this.state;\r\n if (!data || data.data.length == 0) {\r\n return false;\r\n } else {\r\n let sum = 0;\r\n data.data.map((product) => {\r\n sum = sum + product.total.Allocation;\r\n });\r\n\r\n if (sum == 0) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n}\r\nPortfolioDashboardInvestment.contextType = PresentationContext;\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { BaseComponent } from \"../../../../../../../react-core/Html/BaseComponent\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { InvestmentsColumns } from \"../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/InvestmentsColumns\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Contents } from \"../Insights/Resource/Contents\";\r\nimport { CommonViewTbody } from \"./CommonViewTbody\";\r\nimport { InvestmentsColConfigHelper } from \"../../../Common/InvestmentDetailsPopUp/InvestmentsColConfigHelper\";\r\nimport { IInvestmentTableData, ITotal } from \"./Store/InvestmentsStatic\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport CoachMarker from \"../../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { StringHelper } from \"../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { InvestmentsAction } from \"./Action/InvestmentAction\";\r\nimport { PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { SubAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { DepositProduct } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\n\r\ninterface IInvestmentTableProps {\r\n data: IInvestmentTableData;\r\n asAt: Date;\r\n isAssetView: boolean;\r\n assetClassType: AssetClassType;\r\n cols: any[];\r\n onChange: (data: IInvestmentTableData) => void;\r\n cashProducts: Record;\r\n}\r\n\r\ninterface IInvestmentTableState {\r\n isEditTreasure: boolean;\r\n}\r\n\r\nexport class InvestmentTable extends BaseComponent {\r\n constructor(props: IInvestmentTableProps) {\r\n super(props);\r\n this.state = {\r\n isEditTreasure: false,\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n private getMoneyFormat(val: Money, isShowCurrency?: boolean, decimalCount?: number): string {\r\n let formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(\r\n Math.abs(val.Amount),\r\n val.Currency,\r\n isShowCurrency,\r\n decimalCount\r\n );\r\n if (val.Amount < 0) {\r\n formatMoney = \"-\" + formatMoney;\r\n }\r\n return formatMoney;\r\n }\r\n\r\n private renderTfooter(): JSX.Element {\r\n const { total, data } = this.props.data;\r\n const { cols } = this.props;\r\n if (data && cols && total && data.length > 0) {\r\n return (\r\n
\r\n \r\n \r\n {cols.map((col, index) => {\r\n if (col.Enabled) {\r\n return this.renderTfooterRow(col.Column, total);\r\n }\r\n })}\r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private renderTfooterRow(col: InvestmentsColumns, total: ITotal) {\r\n switch (col) {\r\n case InvestmentsColumns.Allocation:\r\n return ;\r\n case InvestmentsColumns.TotalCost:\r\n return ;\r\n case InvestmentsColumns.MarketValue:\r\n return ;\r\n case InvestmentsColumns.Difference:\r\n const differenceColor =\r\n total.Difference.Amount == 0\r\n ? \" text-bold text-highlight \"\r\n : total.Difference.Amount > 0\r\n ? \" text-bold text-positive \"\r\n : \" text-bold text-negative \";\r\n return (\r\n \r\n );\r\n case InvestmentsColumns.Quantity:\r\n case InvestmentsColumns.Location:\r\n case InvestmentsColumns.UnitCost:\r\n case InvestmentsColumns.UnitPrice:\r\n case InvestmentsColumns.FundCode:\r\n case InvestmentsColumns.TargetAllocation:\r\n return ;\r\n case InvestmentsColumns.TreasuredAsset:\r\n return ;\r\n }\r\n }\r\n\r\n private renderTbody(): JSX.Element[] {\r\n let { data } = this.props.data;\r\n const { asAt, isAssetView, assetClassType, cols } = this.props;\r\n const stringHelper = new StringHelper();\r\n const tbodyElements: JSX.Element[] = [];\r\n if (data && data.length > 0) {\r\n if (!isAssetView) {\r\n const wrapcash = data.filter((o) => o.WrapperType === SubAccountType.WrapCash);\r\n if (wrapcash && wrapcash.length > 0) {\r\n const orderedDetails = data.filter((o) => o.WrapperType !== SubAccountType.WrapCash);\r\n orderedDetails.push(...wrapcash);\r\n data = orderedDetails;\r\n }\r\n }\r\n data.map((item, index) => {\r\n if (item.total.MarketValue?.Amount != 0 || (item.ClAccountId == \"\" && isAssetView)) {\r\n tbodyElements.push(\r\n {\r\n const findSubAccountIdData = this.props.data?.data?.find(\r\n (ele) => ele.ClAccountId == subAccountId\r\n );\r\n const data = findSubAccountIdData?.EditTreasureAssets;\r\n const modelModelPortfolioInvestments =\r\n findSubAccountIdData?.ModelPortfolioInvestments?.data;\r\n const modelInstrumentCode = modelModelPortfolioInvestments[0]?.Investments?.find(\r\n (f) => f.ProductId == productId\r\n )?.InstrumentCode;\r\n const findModelProductId = findSubAccountIdData?.InstrumentWeighting?.find(\r\n (f) => f.InstrumentCode == modelInstrumentCode\r\n )?.ProductId;\r\n\r\n if (value) {\r\n data.push(productId);\r\n if (findModelProductId) {data.push(findModelProductId);}\r\n } else {\r\n let newData = data.filter((item) => item != productId);\r\n if (findModelProductId)\r\n {newData = newData.filter((item) => item != findModelProductId);}\r\n this.props.data.data.find(\r\n (ele) => ele.ClAccountId == subAccountId\r\n ).EditTreasureAssets = newData;\r\n }\r\n this.props.onChange(this.props.data);\r\n }}\r\n cashProducts={this.props.cashProducts}\r\n />\r\n );\r\n }\r\n });\r\n }\r\n\r\n return tbodyElements;\r\n }\r\n\r\n private clearTreasureAssets = () => {\r\n this.props.data.data.forEach((ele) => {\r\n ele.EditTreasureAssets = ele.TreasuredAssets.concat();\r\n });\r\n this.props.onChange(this.props.data);\r\n };\r\n\r\n private setTreasureAssets = () => {\r\n this.props.data.data.forEach((ele) => {\r\n ele.TreasuredAssets = ele.EditTreasureAssets.concat();\r\n });\r\n this.props.onChange(this.props.data);\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, total } = this.props.data;\r\n const { cols } = this.props;\r\n if (!data || data.length == 0 || total.MarketValue.Amount == 0) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n
{(entry.Allocation * 100).toFixed(2)}%{this.getMoneyFormat(entry.TotalCost)}{this.getMoneyFormat(entry.MarketValue)}\r\n \r\n {this.getMoneyFormat(entry.Difference)}\r\n \r\n --{(entry.Allocation * 100).toFixed(2)}%{this.getMoneyFormat(entry.TotalCost)}{this.getMoneyFormat(entry.MarketValue)}\r\n \r\n {this.getMoneyFormat(entry.Difference)}\r\n \r\n {entry.Location}-{entry.InstrumentCode}{entry.InstrumentWeighting.toFixed(2)}\r\n \r\n this.props.onTreasuredAssetChange(entry.ProductId, v, subAccount.ClAccountId)\r\n }\r\n cssWrapper=\"square-checkbox mb-0\"\r\n disabled={\r\n (this.props.item?.RingfencedInstruments || []).includes(entry?.InstrumentCode) ||\r\n !this.props.isEditTreasure\r\n }\r\n />\r\n -{(entry.Allocation * 100).toFixed(2)}%{this.getMoneyFormat(entry.TotalCost)}{this.getMoneyFormat(entry.MarketValue)}\r\n \r\n {this.getMoneyFormat(entry.Difference)}\r\n \r\n \r\n {entry.Type == ProductType.Cash && (\r\n \r\n {\r\n this.addEvent({\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"quantity click\",\r\n },\r\n });\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({ hierarchyId: customerHierarchyId })\r\n .transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.cash,\r\n investmentinstrumentcode: entry.InstrumentCode,\r\n hierarchyid: subAccount ? subAccount.HierarchyId : \"\",\r\n },\r\n }\r\n );\r\n }}\r\n >\r\n {this.getQuantity(entry)}\r\n \r\n \r\n )}\r\n {entry.Type != ProductType.Cash && (\r\n \r\n {\r\n this.addEvent({\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"quantity click\",\r\n },\r\n });\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({ hierarchyId: customerHierarchyId })\r\n .transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.investments,\r\n investmentinstrumentcode: entry.InstrumentCode,\r\n hierarchyid: subAccount ? subAccount.HierarchyId : \"\",\r\n },\r\n }\r\n );\r\n }}\r\n >\r\n {this.getQuantity(entry)}\r\n \r\n \r\n )}\r\n {entry.Location}{this.getUnitCost(entry)}{this.getUnitPrice(entry)}{entry.InstrumentCode}{hideTargetAllocation ? \"-\" : entry.InstrumentWeighting.toFixed(2)}\r\n \r\n this.props.onTreasuredAssetChange(entry.ProductId, v, subAccount.ClAccountId)\r\n }\r\n cssWrapper=\"square-checkbox mb-0\"\r\n disabled={\r\n (this.props.item?.RingfencedInstruments || []).includes(entry?.InstrumentCode) ||\r\n !this.props.isEditTreasure\r\n }\r\n />\r\n -
\r\n \r\n {item.ProductDisplayName}\r\n {item.ClAccountId}\r\n
\r\n {config.title}\r\n
Sub total
this.handleToggle(i)}>\r\n
\r\n
\r\n \r\n
\r\n
{entry.DisplayName}
\r\n
\r\n
{firstTdContent}
\r\n {item.AssetClass}\r\n
\r\n
{InvestmentsColConfigHelper.getTitle(col.Column, () => {})}
\r\n
Total
{(total.Allocation * 100).toFixed(2)}%{this.getMoneyFormat(total.TotalCost)}{this.getMoneyFormat(total.MarketValue)}\r\n {this.getMoneyFormat(total.Difference)}\r\n -
\r\n \r\n \r\n \r\n {cols.map((col, index) => {\r\n const tableHeaderCSS =\r\n col.Column == InvestmentsColumns.Investments ? \"cell-30\" : \"cell-right cell-10\";\r\n if (col.Enabled) {\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n {this.renderTbody()}\r\n {this.renderTfooter()}\r\n
Investments
\r\n {col.Column == InvestmentsColumns.Investments && (\r\n \r\n )}\r\n {InvestmentsColConfigHelper.getTitle(col.Column, () => {\r\n if (this.state.isEditTreasure) {\r\n this.clearTreasureAssets();\r\n }\r\n this.addEvent({\r\n event: \"investmentstab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.investmentsTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"protect assets\",\r\n },\r\n });\r\n this.setState({ isEditTreasure: !this.state.isEditTreasure });\r\n })}\r\n
\r\n {this.state.isEditTreasure && (\r\n
\r\n
\r\n {\r\n this.props.data?.data.forEach((item) => {\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n let subAccount: SubAccount = null;\r\n\r\n allAccounts.forEach((x) => {\r\n const _subAccount = x.SubAccounts.find(\r\n (y) => y.ClAccountId == item.ClAccountId\r\n );\r\n if (_subAccount) {subAccount = _subAccount;}\r\n });\r\n InvestmentsAction.setSubAccountTreasuredAssetsProductIds(\r\n subAccount.HierarchyId,\r\n item.EditTreasureAssets\r\n );\r\n });\r\n this.setState({ isEditTreasure: false });\r\n this.setTreasureAssets();\r\n }}\r\n >\r\n Save\r\n \r\n {\r\n this.setState({ isEditTreasure: false });\r\n this.clearTreasureAssets();\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\nInvestmentTable.contextType = PresentationContext;\r\n","import { Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { InvestmentsColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/InvestmentsColumns\";\r\nimport { DiscretePerformanceType } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/DiscretePerformanceType\";\r\nimport { ITableConfig } from \"../../../../../../../Shared/Table/Table\";\r\nimport * as React from \"react\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\n\r\nexport class Contents {\r\n //Investment pop up model\r\n public static InvestmentInfoTitle = \"Investment information\";\r\n public static InvestmentPriceHistory = \"Price history\";\r\n public static Aims =\r\n \"The objective is to produce capital growth over the long term.The Sub-fund will invest principally in equities of companies which are listed, quoted, traded, incorporated, domiciled or conducting a significant portion of their business in the United States of America. Such investment may be direct or indirect and the portfolio will be concentrated.The Sub-fund may also invest in other equities, cash, and near cash. Up to (but no more than) 10% in value of the Sub-fund may be invested in each of the following: (1) collective investment schemes, including those managed or operated by the ACD and (2) deposits.The Sub-fund will be actively managed and investment may be made in any economic sector.\";\r\n public static CumulativePerformance = \"Cumulative performance\";\r\n public static DiscretePerformance = \"Discrete performance\";\r\n public static InvestmentUnitCost = \"Your average unit cost\";\r\n public static InvestmentUnitPriceAt = \"Unit price\";\r\n public static InvestmentUnitCostTooltip = \"This is a tooltip for average unit cost\";\r\n public static InvestmentUnitAsAt = \"as at \";\r\n public static InvestmentFactSheet = \"Fund Factsheet\";\r\n public static InvestmentKIDD = \"KID/KIID\";\r\n public static InvestmentSCFD = \"Consumer Facing Disclosure\";\r\n public static NoticeTopContent = \"Important Notice relating to investor information documents for MUTUAL FUNDS: \";\r\n public static NoticeContent =\r\n \"These documents are provided by third parties to inform investment decisions. Standard Life Aberdeen group is not responsible for these documents*, has not reviewed them and accepts no liability in connection width your use of them or any of their content.These documents display the fund manager's standard retail charges and please note that product charges may replace the charges displayed. For further information, please refer to the Investment Guide for the relevant product.\";\r\n public static NoticeBottomContent =\r\n \"*Excluding Aberdeen Standard Investments KIIDS/Fund Factsheets or any other Standard Life Aberdeen group produced investment documentation such as KIDs or SIDs.\";\r\n public static FactSheetUrl = \"https://webfund6.financialexpress.net/clients/standardlife/fundfactsheet.aspx?code=\";\r\n public static ErrorMessage_FileFailedToOpen = \"Failed to open KID/KIDD document\";\r\n public static NonUKDomicileWarning =\r\n \"The following disclosure is applied to all overseas domiciled products regardless of whether the product uses any sustainable related terms in it's name, marketing, product features or content - This product is based overseas and is not subject to UK sustainable investment labelling and disclosure requirements.\";\r\n public static NotUKDomicileWarning = \"This product is based overseas and is not subject to UK sustainable investment labelling and disclosure requirements\";\r\n}\r\nexport const DiscretePerforamnceTypeDic: Dictionary[] = [\r\n { key: DiscretePerformanceType.M1, value: \"1m\" },\r\n { key: DiscretePerformanceType.M3, value: \"3m\" },\r\n { key: DiscretePerformanceType.M6, value: \"6m\" },\r\n { key: DiscretePerformanceType.Y1, value: \"1y\" },\r\n { key: DiscretePerformanceType.Y3, value: \"3y\" },\r\n { key: DiscretePerformanceType.Y5, value: \"5y\" },\r\n];\r\n\r\nexport const InvestmentsColConfig = (onEditTreasure?: () => void): ITableConfig[] => {\r\n return [\r\n { title: \"Investments\", tableFilter: InvestmentsColumns.Investments, filterOption: { disableEdit: true } },\r\n { title: \"Allocation\", tableFilter: InvestmentsColumns.Allocation, filterOption: { disableEdit: true } },\r\n { title: \"Target allocation\", tableFilter: InvestmentsColumns.TargetAllocation },\r\n { title: \"Fund code\", tableFilter: InvestmentsColumns.FundCode },\r\n { title: \"Quantity\", tableFilter: InvestmentsColumns.Quantity, filterOption: { disableEdit: true } },\r\n { title: \"Location\", tableFilter: InvestmentsColumns.Location },\r\n { title: \"Unit cost\", tableFilter: InvestmentsColumns.UnitCost, filterOption: { disableEdit: true } },\r\n { title: \"Unit price\", tableFilter: InvestmentsColumns.UnitPrice, filterOption: { disableEdit: true } },\r\n { title: \"Total cost\", tableFilter: InvestmentsColumns.TotalCost, filterOption: { disableEdit: true } },\r\n { title: \"Market value\", tableFilter: InvestmentsColumns.MarketValue, filterOption: { disableEdit: true } },\r\n { title: \"Difference\", tableFilter: InvestmentsColumns.Difference, filterOption: { disableEdit: true } },\r\n {\r\n title: (\r\n

\r\n Protect\r\n {onEditTreasure && (\r\n \r\n onEditTreasure()}\r\n >\r\n \r\n Edit treasure assets\r\n \r\n \r\n )}\r\n

\r\n ),\r\n tableFilter: InvestmentsColumns.TreasuredAsset,\r\n filterOption: { disableEdit: false },\r\n },\r\n ];\r\n};\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../../../react-core/Flux/BaseStore\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { Money } from \"../../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { AssetClassInstrumentWeighting } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/AssetClassInstrumentWeighting\";\r\nimport { Investment } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { InvestmentsDispatcher, ModelUnderlyingInvestmentsDispatcher } from \"./Variable\";\r\n\r\nexport interface InvestmentsStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: IInvestmentTableData;\r\n}\r\n\r\nexport interface ITotal {\r\n Difference: Money;\r\n Allocation: number;\r\n TotalCost: Money;\r\n MarketValue: Money;\r\n InstrumentWeight: number;\r\n}\r\n\r\nexport interface IInvestmentTableData {\r\n total: ITotal; // total\r\n data: IProductTableData[];\r\n}\r\n\r\nexport interface IHoldingsData {\r\n data: IInvestmentGroup[];\r\n total: ITotal;\r\n}\r\n\r\nexport interface IInvestmentGroup {\r\n AssetClass?: string;\r\n Investments?: Array;\r\n total: ITotal;\r\n}\r\n\r\nexport interface IInvestmentWithToggle extends Investment {\r\n isToggle?: boolean;\r\n sub?: IInvestmentGroup[];\r\n InstrumentWeighting: number;\r\n}\r\n\r\nexport interface IProductTableData {\r\n ClAccountId?: string;\r\n WrapperType?: SubAccountType;\r\n ProductDisplayName?: string;\r\n ModelPortfolioInvestments?: IHoldingsData;\r\n OffPlatformInvestments?: IHoldingsData;\r\n InstrumentWeighting?: Array;\r\n IndividualInvestments: IHoldingsData;\r\n RingfencedInstruments: string[];\r\n TreasuredAssets: number[];\r\n EditTreasureAssets: number[];\r\n total: ITotal; // product total\r\n}\r\n\r\nexport interface IModelInvestment {\r\n instrumentCode: string;\r\n index: number;\r\n product: number;\r\n underlyings: IInvestmentGroup[];\r\n}\r\nexport interface IModelUnderlyingInvestmentData {\r\n investments: Map;\r\n isLoading: boolean;\r\n actionType: ActionType;\r\n}\r\n\r\nexport class ModelUnderlyingInvestmentsStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ModelUnderlyingInvestmentsDispatcher, (data) =>\r\n this.onModelUnderlyingInvestmentsStoreResponse(data)\r\n );\r\n }\r\n\r\n onModelUnderlyingInvestmentsStoreResponse(data): void {\r\n switch (data.actionType) {\r\n case ActionType.Success:\r\n if (data.payload && !CommonHelper.isNullOrEmpty(data.payload.instrumentCode)) {\r\n const { investments } = this.getState();\r\n investments.set(data.payload.instrumentCode, data.payload);\r\n this.setState({ investments: investments, isLoading: false, actionType: ActionType.Success });\r\n }\r\n }\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n public getData() {\r\n return this.getState().investments;\r\n }\r\n public resetData() {\r\n return this.resetState();\r\n }\r\n protected getDefaultState(): IModelUnderlyingInvestmentData {\r\n return {\r\n investments: new Map(),\r\n isLoading: true,\r\n actionType: ActionType.Loading,\r\n };\r\n }\r\n}\r\n\r\nexport class InvestmentsStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(InvestmentsDispatcher, (actionData) => this.onInvestmentsStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): InvestmentsStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): InvestmentsStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onInvestmentsStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { Dispatcher } from \"../../../../../../../../react-core/Flux/Dispatcher\";\r\nimport { FluxResponse } from \"../../../../../../../Shared/Stores/FluxResponse\";\r\nimport {\r\n IInvestmentTableData,\r\n IModelInvestment,\r\n InvestmentsStatic,\r\n ModelUnderlyingInvestmentsStatic,\r\n} from \"./InvestmentsStatic\";\r\n\r\nexport const InvestmentsDispatcher: Dispatcher> = new Dispatcher<\r\n FluxResponse\r\n>();\r\nexport const InvestmentsStore: InvestmentsStatic = new InvestmentsStatic();\r\n\r\nexport const ModelUnderlyingInvestmentsDispatcher: Dispatcher> = new Dispatcher<\r\n FluxResponse\r\n>();\r\nexport const ModelUnderlyingInvestmentsStore: ModelUnderlyingInvestmentsStatic = new ModelUnderlyingInvestmentsStatic();\r\n","import { LegadoClient } from \"../../../../../../../../Wrap/Api/Legado/Legado\";\r\nimport { LegadoConfigClient } from \"../../../../../../../../Wrap/Api/Legado/LegadoConfig\";\r\nimport { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { LegadoConfigDispatcher } from \"../../../Store/Variables\";\r\n\r\nexport class LegadoAction {\r\n public static get(\r\n hierarchyId: string[],\r\n callback?: (url: string) => any\r\n ): void {\r\n const client = new LegadoClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {\r\n if (callback) {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n console.error(err);\r\n });\r\n }\r\n \r\n public static isLegadoEnabled(\r\n callBack?: (flag: boolean) => void) {\r\n const configClient = new LegadoConfigClient();\r\n const promise = configClient.get();\r\n promise.onSuccess((result) => {\r\n LegadoConfigDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n}","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { ClientPerformanceDetailClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/ClientPerformanceDetail\";\r\nimport { ClientPerformanceIncomeClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/ClientPerformanceIncome\";\r\nimport { ClientPerformanceValuationGraphClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/ClientPerformanceValuationGraph\";\r\nimport { ClientRealisedGainLossClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/ClientRealisedGainLoss\";\r\nimport { ClientUnRealisedGainLossClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/ClientUnRealisedGainLoss\";\r\nimport { ModelPortfolioPerformanceDetailClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/ModelPortfolioPerformanceDetail\";\r\nimport { PerformanceIncomeDataView } from \"../../../../../../../../Wrap/Constants/Enums/Portfolio/Performance/PerformanceIncomeDataView\";\r\nimport {\r\n PortfolioDashboardPerformanceDetailDispatcher,\r\n PortfolioDashboardPerformanceDetailStore,\r\n PortfolioDashboardPerformanceGraphDispatcher,\r\n PortfolioDashboardPerformanceIncomeDispatcher,\r\n PortfolioDashboardPerformanceRealisedGainLossDispatcher,\r\n PortfolioDashboardPerformanceUnRealisedGainLossDisptcher,\r\n} from \"../Store/Variable\";\r\n\r\nexport class PortfolioDashboardPerformanceAction {\r\n public static getPerformanceRealisedGainLoss(selectedAccountHierarchies: string[], from, to, fromInception) {\r\n const client = new ClientRealisedGainLossClient();\r\n client.get(selectedAccountHierarchies, from, to, fromInception).onSuccess((data) => {\r\n PortfolioDashboardPerformanceRealisedGainLossDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n }\r\n\r\n public static getPerformanceUnRealisedGainLoss(selectedAccountHierarchies: string[], from, to, fromInception) {\r\n new ClientUnRealisedGainLossClient()\r\n .get(selectedAccountHierarchies, from, to, fromInception)\r\n .onSuccess((data) =>\r\n PortfolioDashboardPerformanceUnRealisedGainLossDisptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n })\r\n );\r\n }\r\n\r\n public static getPerformanceDetail(\r\n selectedHeadAccoutnHierarechies: string[],\r\n selectedAccountHierarchies: string[],\r\n from,\r\n to,\r\n performanceMethod,\r\n assetType,\r\n viewType,\r\n fromInception,\r\n callback?\r\n ) {\r\n const client = new ClientPerformanceDetailClient();\r\n const promise = client.get(\r\n selectedHeadAccoutnHierarechies,\r\n selectedAccountHierarchies,\r\n from,\r\n to,\r\n performanceMethod,\r\n assetType,\r\n fromInception,\r\n viewType\r\n );\r\n promise.onSuccess((result) => {\r\n const _result = result.map((data) => {\r\n const InvestmentHoldingsGroup = data.AssetPerformanceDetail.filter(\r\n (ele) => ele.AssetSubType !== \"Model\" && ele.AssetSubType !== \"Off-Platform Investments\"\r\n );\r\n const ModelProtofoiloGroup = data.AssetPerformanceDetail.filter((ele) => ele.AssetSubType == \"Model\");\r\n const OPIGroup = data.AssetPerformanceDetail.filter(\r\n (ele) => ele.AssetSubType == \"Off-Platform Investments\"\r\n );\r\n const _InvestmestHoldingsGroup = InvestmentHoldingsGroup.map((ele) => {\r\n const _items = ele.PerformanceDetails.map((p) => {\r\n return { isModel: false, ...p };\r\n });\r\n return { ...ele, PerformanceDetailsWithFlag: _items };\r\n });\r\n const _OPIGroup = OPIGroup.map((ele) => {\r\n const _items = ele.PerformanceDetails.map((p) => {\r\n return { isModel: false, ...p };\r\n });\r\n return { ...ele, PerformanceDetailsWithFlag: _items };\r\n });\r\n const _ModelProtofoiloGroup = ModelProtofoiloGroup.map((ele) => {\r\n const _items = ele.PerformanceDetails.map((p) => {\r\n return { underlyingModel: null, isModel: true, isToogle: false, ...p };\r\n });\r\n return { ...ele, PerformanceDetailsWithFlag: _items };\r\n });\r\n return {\r\n ...data,\r\n ModelAssetPerformanceDetail: _ModelProtofoiloGroup,\r\n NonModelAssetPerformanceDetail: _InvestmestHoldingsGroup,\r\n OPIAssetPerformanceDetail: _OPIGroup,\r\n };\r\n });\r\n if (callback) {callback();} \r\n PortfolioDashboardPerformanceDetailDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: _result,\r\n });\r\n });\r\n }\r\n\r\n public static getDetailMPDetail(\r\n isToogle,\r\n productIndex,\r\n from,\r\n to,\r\n performanceMethod,\r\n assetType,\r\n view,\r\n instrumentIds,\r\n callback?,\r\n modelId?\r\n ) {\r\n const data = PortfolioDashboardPerformanceDetailStore.getData();\r\n const _obj = data[productIndex].ModelAssetPerformanceDetail[0].PerformanceDetailsWithFlag.find(\r\n (ele) => ele.InstrumentCode == modelId\r\n );\r\n const _index = data[productIndex].ModelAssetPerformanceDetail[0].PerformanceDetailsWithFlag.findIndex(\r\n (ele) => ele.InstrumentCode == modelId\r\n );\r\n if (!isToogle || (isToogle && _obj.underlyingModel)) {\r\n data[productIndex].ModelAssetPerformanceDetail[0].PerformanceDetailsWithFlag[_index].isToogle = isToogle;\r\n callback(data);\r\n } else {\r\n const client = new ModelPortfolioPerformanceDetailClient();\r\n const promise = client.get(from, to, performanceMethod, assetType, instrumentIds, view);\r\n promise.onSuccess((models) => {\r\n data[productIndex].ModelAssetPerformanceDetail[0].PerformanceDetailsWithFlag[\r\n _index\r\n ].isToogle = isToogle;\r\n data[productIndex].ModelAssetPerformanceDetail[0].PerformanceDetailsWithFlag[\r\n _index\r\n ].underlyingModel = models;\r\n callback(data);\r\n });\r\n }\r\n }\r\n\r\n public static getPerformanceGraphData(\r\n selectedHeadAccoutnHierarechies: string[],\r\n selectedAccountHierarchies: string[],\r\n from,\r\n to,\r\n fromInception\r\n ): void {\r\n const client = new ClientPerformanceValuationGraphClient();\r\n client\r\n .get(from, to, fromInception, selectedAccountHierarchies, selectedHeadAccoutnHierarechies)\r\n .onSuccess((result) => {\r\n PortfolioDashboardPerformanceGraphDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n })\r\n .onError((err) =>\r\n PortfolioDashboardPerformanceGraphDispatcher.dispatch({ actionType: ActionType.Error, payload: err })\r\n );\r\n }\r\n\r\n public static getPerformanceIncomeData(\r\n selectedheadAccountHierarchies: string[],\r\n selectedAccountHierarchies: string[],\r\n from,\r\n to,\r\n selectedView: PerformanceIncomeDataView,\r\n fromInception\r\n ) {\r\n new ClientPerformanceIncomeClient()\r\n .get(selectedheadAccountHierarchies, selectedAccountHierarchies, from, to, fromInception, selectedView)\r\n .onSuccess((data) =>\r\n PortfolioDashboardPerformanceIncomeDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n })\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { PerformanceDataView } from \"../Resource/Contents\";\r\n\r\ninterface IPerformanceColumnExplainProps {\r\n dataView: PerformanceDataView;\r\n performanceMethod: PerformanceMethod;\r\n}\r\n\r\nconst Return = (props) => {\r\n return (\r\n <>\r\n {props.performanceMethod == PerformanceMethod.IRR && (\r\n

\r\n Return % (Internal rate of return calculation)\r\n
\r\n This is the percentage (%) measure to show how investments have performed over the set reporting period.  It's calculated by dividing the monetary change in value by the time and value of the transactions that took place over the period. This figure is non-annualised.\r\n

\r\n )}\r\n {props.performanceMethod == PerformanceMethod.Simple && (\r\n

\r\n Return % (Simple return calculation) \r\n
\r\n This is the percentage (%) measure to show how your investments have performed over the selected\r\n time period, without any adjustment for the date that each transaction occurred.It is calculated by\r\n dividing the change in value by the amount held invested over the time period.\r\n

\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst Summary = (props) => {\r\n return (\r\n
\r\n

\r\n Performance summary\r\n
\r\n This shows how investments have performed over the period selected.\r\n

\r\n\r\n

\r\n Product\r\n
\r\n This is the name of the product (also known as a tax wrapper) you hold.\r\n

\r\n\r\n

\r\n Opening value \r\n
\r\n This is the Sterling (GPB) value of your investments at the start of the selected time period.\r\n

\r\n\r\n

\r\n Money in\r\n
\r\n This is the Sterling (GBP) value of new contributions, whether cash or investments, added during the\r\n selected time period.\r\n

\r\n\r\n

\r\n Money out\r\n
\r\n This is the Sterling (GBP) value of withdrawals or transfers out to other providers during the selected\r\n time period.\r\n

\r\n\r\n

\r\n Account transfers\r\n
\r\n This is the Sterling (GBP) value of any transfers of cash between the products you might hold; such as\r\n money movements from a Personal Portfolio to an ISA.\r\n

\r\n\r\n

\r\n Change in value\r\n
\r\n This is the Sterling (GBP) change in value over the selected time period. It’s the difference between\r\n the closing and opening values, less any payments, charges and withdrawals in that period.\r\n

\r\n \r\n

\r\n Closing value\r\n
\r\n This is Sterling (GBP) value of your investments on the last date of the selected time period, using the\r\n most recent fund prices we hold at that time.\r\n

\r\n
\r\n );\r\n};\r\n\r\nconst Detail = (props) => {\r\n return (\r\n
\r\n

\r\n Performance detail help\r\n
\r\n An explanation of the information shown on the Performance Detail Page.\r\n

\r\n\r\n

\r\n Opening value\r\n
\r\n This is the value at the very start of the date range chosen.\r\n

\r\n\r\n

\r\n Buys\r\n
\r\n This is the total value of all buy trades (including conversions) during the period.\r\n

\r\n\r\n

\r\n Sells\r\n
\r\n This is the total value of all sell trades (including conversions) during the period.\r\n

\r\n\r\n

\r\n Realised gain/loss\r\n
\r\n This field shows the monetary value of any gains or losses in relation to investments sold during the\r\n period selected.\r\n
\r\n If the investments were held before the start of the period selected, the realised gain/loss is based on\r\n the difference between the opening value and the sale proceeds. If the investments were acquired during\r\n the period selected, the gain/loss is based on the difference between the purchase cost and the sale\r\n proceeds.\r\n

\r\n\r\n

\r\n Unrealised gain/loss\r\n
\r\n This field shows the monetary value of any gains or losses in relation to investments held at the end of\r\n the period selected.\r\n
\r\n If the investments were held before the start of the period selected, the unrealised gain/loss is based\r\n on the difference between the opening value and the closing value. If the investments were acquired\r\n during the period selected, the gain/loss is based on the difference between the purchase cost and the\r\n closing value. The actual gain or loss when the investment is sold will depend on the fund value at that\r\n time.\r\n
\r\n The Realised and Unrealised Gain/Loss calculations do not take into account CGT rules and therefore\r\n should not be used for CGT purposes.\r\n

\r\n\r\n

\r\n Income\r\n
\r\n The value of any cash distributions, dividends or interest applied during the date range selected.\r\n

\r\n\r\n

\r\n Gain/loss\r\n
\r\n This is the aggregate of the preceding Realised gain loss, unrealised gain loss and income figures\r\n

\r\n \r\n

\r\n Closing value\r\n
\r\n The value at the end date specified using the most recent fund prices held at that time.\r\n

\r\n
\r\n );\r\n};\r\n\r\nexport const ColumnExplain = (props: IPerformanceColumnExplainProps) => {\r\n const content = () => {\r\n switch (props.dataView) {\r\n case PerformanceDataView.Summary:\r\n return ;\r\n case PerformanceDataView.Detail:\r\n return ;\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return <>{content()};\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { StringHelper as StringHelperFunc } from \"../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { ViewType } from \"../../../../../../../../Wrap/Mapping/PortfolioAnalysis/Investment/Enum/ViewType\";\r\nimport { PerformanceDetailsModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PerformanceDetailsModel\";\r\nimport { TableHeader } from \"../../../../../../../Shared/Table/Components/TableHeader\";\r\nimport { TableRow } from \"../../../../../../../Shared/Table/Components/TableRow\";\r\nimport { ScrollTable } from \"../../../../../../../Shared/Table/ScrollTable\";\r\nimport { ITableConfig } from \"../../../../../../../Shared/Table/Table\";\r\nimport AriaTooltip from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { PerformanceDataView, returnTooltip } from \"../Resource/Contents\";\r\nimport { UnmountClosed } from \"react-collapse\";\r\nimport { PerformanceDetailsColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/PerformanceDetailsColumns\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Contents } from \"../../Insights/Resource/Contents\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { IProductPerformanceDetailModel, IPerformanceDetailsModel } from \"../Store/Variable\";\r\nimport { Spinner } from \"../../../../../../../../react-core/Html/Spinner\";\r\n\r\nexport enum PerformanceDetailRowType {\r\n productRow = \"product-heading\",\r\n subTotal = \"sub-total\",\r\n assertRow = \"sub-heading\",\r\n groupRow = \"sub-heading-main\",\r\n total = \"total\",\r\n investment = \"\",\r\n}\r\n\r\ninterface IDetailTableProps {\r\n data: IProductPerformanceDetailModel[];\r\n return: PerformanceMethod;\r\n view: ViewType;\r\n assetType: AssetClassType;\r\n getModel: (instrumentIds, isToogle, productIndex, modelId) => void;\r\n switchTab: (view: PerformanceDataView) => void;\r\n colSetting: any[];\r\n isLoading: boolean;\r\n}\r\n\r\nexport const getDetailsCol = (\r\n props: IDetailTableProps,\r\n type?: PerformanceDetailRowType,\r\n productIndex?,\r\n isUnderlying?: boolean\r\n): ITableConfig[] => {\r\n const { colSetting } = props;\r\n\r\n return [\r\n {\r\n title: \"Investment\",\r\n key: \"InstrumentName\",\r\n tableFilter: PerformanceDetailsColumns.Investment,\r\n render: (data, row, index) => {\r\n if (type == PerformanceDetailRowType.subTotal) {return \"Sub total\";}\r\n if (type == PerformanceDetailRowType.total) {return \"Total\";}\r\n if (type == PerformanceDetailRowType.groupRow)\r\n {return index === 0 ? (\r\n Investment holdings\r\n ) : index === 1 ? (\r\n Managed portfolios\r\n ) : (\r\n Off Platform Investments\r\n );}\r\n return row.FactSheetUrl ? (\r\n \r\n {data}\r\n \r\n ) : (\r\n data\r\n );\r\n },\r\n toogleOptions: (row) => {\r\n if (!row.isModel) {return { toogleable: false };}\r\n return {\r\n toogleable: true,\r\n isToogle: row.isToogle,\r\n onToogle: (isToogle) =>\r\n props.getModel(\r\n row.HubAccountIds && row.HubAccountIds?.length != 0\r\n ? row.HubAccountIds\r\n : [row.InstrumentCode],\r\n isToogle,\r\n productIndex,\r\n row.InstrumentCode\r\n ),\r\n };\r\n },\r\n filterOption: { disableEdit: false },\r\n },\r\n {\r\n title: \"Opening value\",\r\n key: \"OpeningValue\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n tableFilter: PerformanceDetailsColumns.OpeningValue,\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Buys\",\r\n key: \"Buys\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n tableFilter: PerformanceDetailsColumns.Buys,\r\n render: (data, row, index) => {\r\n if (row.InstrumentCode == \"GBPCash\") {return N/A;}\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Sells\",\r\n key: \"Sells\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n tableFilter: PerformanceDetailsColumns.Sells,\r\n render: (data, row, index) => {\r\n if (row.InstrumentCode == \"GBPCash\") {return N/A;}\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: (\r\n \r\n props.switchTab(PerformanceDataView.RealisedGainLoss)}>\r\n Realised gain/loss\r\n \r\n \r\n ),\r\n tableFilter: PerformanceDetailsColumns.RealisedGainLoss,\r\n key: \"RealisedGain\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n data.Amount = Math.round(data.Amount * 100) / 100;\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n filterTitle: \"Realised gain/loss\",\r\n filterOption: { disableEdit: false },\r\n },\r\n {\r\n title: (\r\n \r\n props.switchTab(PerformanceDataView.UnrealisedGainLoss)}>\r\n Unrealised gain/loss\r\n \r\n \r\n ),\r\n filterTitle: \"Unrealised gain/loss\",\r\n tableFilter: PerformanceDetailsColumns.UnRealisedGainLoss,\r\n key: \"UnRealisedGain\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n data.Amount = Math.round(data.Amount * 100) / 100;\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n filterOption: { disableEdit: false },\r\n },\r\n {\r\n title: (\r\n \r\n props.switchTab(PerformanceDataView.Income)}>\r\n Income\r\n \r\n \r\n ),\r\n filterTitle: \"Income\",\r\n tableFilter: PerformanceDetailsColumns.Income,\r\n key: \"Income\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n data.Amount = Math.round(data.Amount * 100) / 100;\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n filterOption: { disableEdit: false },\r\n },\r\n {\r\n title: \"Gain/loss\",\r\n key: \"GainLoss\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n tableFilter: PerformanceDetailsColumns.Gainloss,\r\n render: (data, row, index) => {\r\n const positive = data.Amount >= 0 ? \"text-positive\" : \"text-negative\";\r\n data.Amount = Math.round(data.Amount * 100) / 100;\r\n return {MoneyDisplayHelper.getMoneyFormat(data)};\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: (\r\n \r\n Return %\r\n \r\n {returnTooltip.title[props.return]} - {returnTooltip.content[props.return]}\r\n \r\n \r\n ),\r\n filterTitle: \"Return %\",\r\n key: \"Return\",\r\n tableFilter: PerformanceDetailsColumns.Return,\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n if (\r\n type == PerformanceDetailRowType.subTotal ||\r\n type == PerformanceDetailRowType.total ||\r\n type == PerformanceDetailRowType.groupRow\r\n )\r\n {return \" \";}\r\n if (row.InstrumentCode == \"GBPCash\") {return N/A;}\r\n return (\r\n = 0 ? \"text-positive\" : \"text-negative\"}>\r\n {Number(Math.round(data * 10000) / 100).toFixed(2) + \"%\"}\r\n \r\n );\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Closing value\",\r\n key: \"ClosingValue\",\r\n thCssWrapper: \"cell-10 cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n tableFilter: PerformanceDetailsColumns.ClosingValue,\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n ];\r\n};\r\n\r\nexport const DetailTable = (props: IDetailTableProps) => {\r\n if (!props.data || !props.colSetting || props.isLoading) {return (\r\n
\r\n

Performance details loading

\r\n

\r\n This may take a few moments. Please do not move away from this page.\r\n

\r\n \r\n
\r\n );}\r\n if (props.data.length == 0) {return ;}\r\n\r\n const StringHelper = new StringHelperFunc();\r\n const _col = (type?: PerformanceDetailRowType, productIndex?, isUnderlying?: boolean) =>\r\n getDetailsCol(props, type, productIndex, isUnderlying).filter((ele) =>\r\n props.colSetting.some((item) => item.Column == ele.tableFilter && item.Enabled)\r\n );\r\n\r\n const renderRow = (\r\n type: PerformanceDetailRowType,\r\n data: IPerformanceDetailsModel | PerformanceDetailsModel,\r\n index,\r\n productIndex?,\r\n isUnderlying?\r\n ) => {\r\n return (\r\n <>\r\n \r\n\r\n {(data as IPerformanceDetailsModel).underlyingModel ? (\r\n (data as IPerformanceDetailsModel).underlyingModel.map((group) =>\r\n renderInvestmentGroup(group, 0, -1, true)\r\n )\r\n ) : null}\r\n \r\n );\r\n };\r\n\r\n const renderHeader = () => {\r\n return ;\r\n };\r\n\r\n const renderNoDataRow = (type: PerformanceDetailRowType, row) => {\r\n if (type == PerformanceDetailRowType.productRow)\r\n {return (\r\n \r\n \r\n \r\n \r\n {row.ProductDisplayName}\r\n \r\n
\r\n {row.ClAccountId}\r\n \r\n \r\n );}\r\n return (\r\n \r\n \r\n {row}\r\n \r\n \r\n );\r\n };\r\n\r\n const renderInvestmentGroup = (groupData, index, productIndex?, isUnderlying?: boolean) => {\r\n const rows = groupData.PerformanceDetailsWithFlag || groupData.PerformanceDetails;\r\n return (\r\n <>\r\n {index === 0 && props.assetType !== AssetClassType.NotSet\r\n ? renderNoDataRow(PerformanceDetailRowType.assertRow, groupData.AssetSubType)\r\n : null}\r\n {rows.map((investment, index) => {\r\n return renderRow(\r\n PerformanceDetailRowType.investment,\r\n investment,\r\n index,\r\n productIndex,\r\n isUnderlying\r\n );\r\n })}\r\n {index === 0 && props.assetType !== AssetClassType.NotSet\r\n ? renderRow(PerformanceDetailRowType.subTotal, groupData, 0)\r\n : null}\r\n \r\n );\r\n };\r\n\r\n const renderSection = (subTotal, index, data, productIndex) => {\r\n if (!data || data.length == 0) {return null;}\r\n return (\r\n <>\r\n {props.assetType !== AssetClassType.NotSet &&\r\n renderRow(PerformanceDetailRowType.groupRow, subTotal, index)}\r\n {data.map((group) => renderInvestmentGroup(group, index, productIndex))}\r\n \r\n );\r\n };\r\n\r\n const renderTable = (data: IProductPerformanceDetailModel, productIndex) => {\r\n const InvestmentHoldings = data.NonModelSubTotal;\r\n const ModelProtofoilo = data.ModelSubTotal;\r\n\r\n return (\r\n \r\n {renderHeader()}\r\n \r\n {props.view == ViewType.Product && renderNoDataRow(PerformanceDetailRowType.productRow, data)}\r\n {renderSection(InvestmentHoldings, 0, data.NonModelAssetPerformanceDetail, productIndex)}\r\n {renderSection(ModelProtofoilo, 1, data.ModelAssetPerformanceDetail, productIndex)}\r\n {renderSection(data.OPIAssetPerformanceDetail[0], 2, data.OPIAssetPerformanceDetail, productIndex)}\r\n \r\n {renderRow(PerformanceDetailRowType.total, data, 0)}\r\n \r\n );\r\n };\r\n\r\n return <>{props.data.map((product, index) => renderTable(product, index))};\r\n};\r\n","import * as React from \"react\";\r\nimport { CurrencySymbolDictionary } from \"../../../../../../../../react-core/Enums/Dictionaries/CurrencySymbolDictionary\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PerformanceIncomeDataView } from \"../../../../../../../../Wrap/Constants/Enums/Portfolio/Performance/PerformanceIncomeDataView\";\r\nimport { Money } from \"../../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { PerformanceIncomeDividendColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/PerformanceIncomeDividendColumns\";\r\nimport { PerformanceIncomeInterestColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/PerformanceIncomeInterestColumns\";\r\nimport { PerformanceIncomeTaxColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/PerformanceIncomeTaxColumns\";\r\nimport { PerformanceIncomeModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PerformanceIncomeModel\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ITableConfig, Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { Contents } from \"../../Insights/Resource/Contents\";\r\n\r\ninterface IIncomeTableProps {\r\n data: PerformanceIncomeModel;\r\n tableView: PerformanceIncomeDataView;\r\n editorKey: string;\r\n}\r\nexport const getIncomeInterestCol = (currencyCode: string): ITableConfig[] => {\r\n return [\r\n {\r\n title: \"CCY\",\r\n key: \"BaseCcyAmount.Currency\",\r\n render: (data, row, index) => {\r\n return CurrencySymbolDictionary.getStringMap(data);\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.CCY,\r\n },\r\n {\r\n title: \"Date\",\r\n key: \"Date\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.Date,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Code\",\r\n key: \"FundCode\",\r\n tableFilter: PerformanceIncomeInterestColumns.Code,\r\n },\r\n {\r\n title: \"Description\",\r\n key: \"DisplayName\",\r\n tableFilter: PerformanceIncomeInterestColumns.Description,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Narration\",\r\n key: \"Narration\",\r\n tableFilter: PerformanceIncomeInterestColumns.Narration,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Gross\",\r\n key: \"Gross\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.Gross,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Equalisation\",\r\n key: \"Equalisation\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.Equalisation,\r\n },\r\n {\r\n title: \"RWT\",\r\n key: \"Rwt\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.RWT,\r\n },\r\n {\r\n title: \"NET\",\r\n key: \"Net\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.NET,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"FX\",\r\n key: \"FxRate\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.FX,\r\n },\r\n {\r\n title: `${currencyCode} amount`,\r\n key: \"BaseCcyAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeInterestColumns.GBPAmount,\r\n filterOption: { disableEdit: true },\r\n },\r\n ];\r\n};\r\n\r\nexport const getIncomeDividendCol = (currencyCode: string): ITableConfig[] => {\r\n return [\r\n {\r\n title: \"CCY\",\r\n key: \"BaseCcyAmount.Currency\",\r\n render: (data, row, index) => {\r\n return CurrencySymbolDictionary.getStringMap(data);\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.CCY,\r\n },\r\n {\r\n title: \"Date\",\r\n key: \"Date\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.Date,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Code\",\r\n key: \"FundCode\",\r\n tableFilter: PerformanceIncomeDividendColumns.Code,\r\n },\r\n {\r\n title: \"Description\",\r\n key: \"DisplayName\",\r\n tableFilter: PerformanceIncomeDividendColumns.Description,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Gross\",\r\n key: \"Gross\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.Gross,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Equalisation\",\r\n key: \"Equalisation\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.Equalisation,\r\n },\r\n {\r\n title: \"RWT\",\r\n key: \"Rwt\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.RWT,\r\n },\r\n {\r\n title: \"NET\",\r\n key: \"Net\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.NET,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"FX\",\r\n key: \"FxRate\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.FX,\r\n },\r\n {\r\n title: `${currencyCode} amount`,\r\n key: \"BaseCcyAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeDividendColumns.GBPAmount,\r\n filterOption: { disableEdit: true },\r\n },\r\n ];\r\n};\r\n\r\nexport const getIncomeTaxCol = (currencyCode: string): ITableConfig[] => {\r\n return [\r\n {\r\n title: \"CCY\",\r\n key: \"TaxInBaseCcy.Currency\",\r\n render: (data, row, index) => {\r\n return CurrencySymbolDictionary.getStringMap(data);\r\n },\r\n tableFilter: PerformanceIncomeTaxColumns.CCY,\r\n },\r\n {\r\n title: \"Date\",\r\n key: \"Date\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n tableFilter: PerformanceIncomeTaxColumns.Date,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Code\",\r\n key: \"FundCode\",\r\n tableFilter: PerformanceIncomeTaxColumns.Code,\r\n },\r\n {\r\n title: \"Description\",\r\n key: \"DisplayName\",\r\n tableFilter: PerformanceIncomeTaxColumns.Description,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Narration\",\r\n key: \"Narration\",\r\n tableFilter: PerformanceIncomeTaxColumns.Narration,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Tax\",\r\n key: \"Tax\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeTaxColumns.Tax,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"FX\",\r\n key: \"FxRate\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n tableFilter: PerformanceIncomeTaxColumns.FX,\r\n },\r\n {\r\n title: `Tax ${currencyCode}`,\r\n key: \"TaxInBaseCcy\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: Money, row, index) => {\r\n return CurrencySymbolDictionary.getSymbol(data.Currency) + data.Amount.toFixed(2);\r\n },\r\n tableFilter: PerformanceIncomeTaxColumns.TaxGBP,\r\n filterOption: { disableEdit: true },\r\n },\r\n ];\r\n};\r\nexport const IncomeTable = (props: IIncomeTableProps) => {\r\n if (!props.data) {return null;}\r\n if (props.data.details.length == 0)\r\n {return ;}\r\n\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n const [tableData, setTableData] = React.useState(props.data.details.slice(0, 49));\r\n\r\n const currencyCode = CurrencySymbolDictionary.getStringMap(props.data.BaseCcy);\r\n let tableColumns = [];\r\n switch (props.tableView) {\r\n case PerformanceIncomeDataView.Interest:\r\n case PerformanceIncomeDataView.AccumulationFundInterestNonCash:\r\n tableColumns = getIncomeInterestCol(currencyCode);\r\n break;\r\n case PerformanceIncomeDataView.Dividends:\r\n case PerformanceIncomeDataView.EquityDividends:\r\n case PerformanceIncomeDataView.AccumulationFundDistributionsNonCash:\r\n tableColumns = getIncomeDividendCol(currencyCode);\r\n break;\r\n case PerformanceIncomeDataView.Tax:\r\n tableColumns = getIncomeTaxCol(currencyCode);\r\n break;\r\n }\r\n\r\n return (\r\n {\r\n const max = pageIndex * pageSize - 1;\r\n const min = pageSize * (pageIndex - 1);\r\n setCurrentPage(pageIndex);\r\n setTableData(props.data.details.slice(min, max));\r\n },\r\n currentPage: currentPage,\r\n }}\r\n />\r\n );\r\n};\r\n","import * as HighStock from \"highcharts/highstock\";\r\nimport HighchartsReact from \"highcharts-react-official\";\r\nimport * as React from \"react\";\r\nimport { StringHelper } from \"../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { PerformanceGraphDataItemForDisplay } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PerformanceGraphDataItemForDisplay\";\r\nimport { ProductGraphData } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/ProductGraphData\";\r\nimport { subAccountTypeMap } from \"../Resource/Contents\";\r\nimport { LoadingSkeletonType } from \"../../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeleton } from \"../../../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { PresentationContext } from \"../../Common/PresentationViewWrapper\";\r\nimport CoachMarker from \"../../../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { getNoDataMsg } from \"../../Transactions/Resource/Contents\";\r\n\r\ninterface IPerformanceChartProps {\r\n data: ProductGraphData[];\r\n selectedProducts: string[];\r\n onClickGraghSeriesBtn: (clAccountId: string) => void;\r\n}\r\n\r\ninterface IPerformanceChartState {}\r\n\r\nexport class PerformanceChart extends FormComponent {\r\n constructor(props: IPerformanceChartProps) {\r\n super(props);\r\n }\r\n\r\n private settings = {};\r\n\r\n private getOptions(series: any[]): Highcharts.Options {\r\n return {\r\n series: series,\r\n navigator: {\r\n enabled: true,\r\n height: 58,\r\n maskFill: \"transparent\",\r\n\r\n xAxis: {\r\n type: \"datetime\",\r\n labels: {\r\n style: {\r\n color: \"var(--cta1)\",\r\n },\r\n enabled: true,\r\n formatter: function () {\r\n const date = new Date(this.value);\r\n const month = JsonDateParser.getMonthNameMapping((date.getMonth() + 1).toString(), true);\r\n const year = JsonDateParser.getFormatDate(JsonDateParser.toJsonDateNoOffset(date), \"yy\");\r\n\r\n const formatDate = month + \"'\" + year;\r\n return formatDate;\r\n },\r\n },\r\n },\r\n series: {\r\n type: \"areaspline\",\r\n color: \"#acbcc5\",\r\n },\r\n handles: {\r\n symbols: [\"doublearrow\", \"doublearrow\"],\r\n lineWidth: 1,\r\n width: 26,\r\n height: 26,\r\n backgroundColor: \"white\",\r\n borderColor: \"#4B4B4B\",\r\n },\r\n },\r\n rangeSelector: {\r\n selected: 1.5,\r\n },\r\n scrollbar: {\r\n enabled: true,\r\n barBackgroundColor: \"#d8d8d8\",\r\n barBorderRadius: 0,\r\n barBorderWidth: 0,\r\n barBorderColor: \"#979797\",\r\n buttonBackgroundColor: \"#d8d8d8\",\r\n buttonBorderColor: \"#a1a7ac\",\r\n buttonBorderWidth: 1,\r\n buttonArrowColor: \"#666666\",\r\n buttonBorderRadius: 0,\r\n rifleColor: \"#666666\",\r\n trackBackgroundColor: \"#ffffff\",\r\n trackBorderWidth: 1,\r\n trackBorderColor: \"#a1a7ac\",\r\n trackBorderRadius: 0,\r\n height: 20,\r\n },\r\n title: {\r\n text: \"\",\r\n },\r\n legend: {\r\n enabled: false,\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n chart: {\r\n type: \"line\",\r\n zoomType: \"xy\",\r\n backgroundColor: \"transparent\",\r\n height: 373,\r\n },\r\n plotOptions: {\r\n line: {\r\n marker: {\r\n enabled: false,\r\n },\r\n },\r\n },\r\n xAxis: {\r\n tickWidth: 0,\r\n type: \"datetime\",\r\n labels: {\r\n style: {\r\n color: \"var(--cta1)\",\r\n },\r\n align: \"center\",\r\n formatter: function () {\r\n const date = new Date(this.value);\r\n const month = JsonDateParser.getMonthNameMapping((date.getMonth() + 1).toString(), true);\r\n const year = JsonDateParser.getFormatDate(JsonDateParser.toJsonDateNoOffset(date), \"yy\");\r\n\r\n const formatDate = month + \"'\" + year;\r\n return formatDate;\r\n },\r\n },\r\n title: {\r\n text: \"\",\r\n },\r\n lineColor: \"transparent\",\r\n },\r\n yAxis: {\r\n labels: {\r\n style: {\r\n color: \"var(--cta1)\",\r\n },\r\n formatter: function () {\r\n return \"£\" + HighStock.numberFormat(this.value, 0, \".\", \",\");\r\n },\r\n },\r\n title: {\r\n text: \"\",\r\n },\r\n },\r\n tooltip: {\r\n backgroundColor: \"#ffffff\",\r\n formatter: function () {\r\n const color = this.y >= 0 ? \"#008616\" : \"#4b4b4b\";\r\n return (\r\n this.series.name +\r\n ':
£' +\r\n HighStock.numberFormat(this.y, 2, \".\", \",\") +\r\n \"
as at \" +\r\n HighStock.dateFormat(\"%d %b %Y\", this.x)\r\n );\r\n },\r\n },\r\n };\r\n }\r\n\r\n private GetGraphData(graphData: PerformanceGraphDataItemForDisplay[]) {\r\n const result = [];\r\n graphData.forEach((e) => {\r\n result.push([e.DateForChart, e.Value]);\r\n });\r\n return result;\r\n }\r\n\r\n private getCount = (type: SubAccountType) => {\r\n const preCount: number = this.settings?.[type] ? this.settings?.[type] : 0;\r\n const curCount = preCount + 1;\r\n this.settings[type] = curCount;\r\n return curCount;\r\n };\r\n\r\n private initialData(data: ProductGraphData[]) {\r\n const series = [];\r\n let count;\r\n data?.forEach((e) => {\r\n let color;\r\n switch (e.SubAccountType) {\r\n case SubAccountType.Pension:\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n count = this.getCount(SubAccountType.Npr);\r\n color = `var(--product-sipp-${count})`;\r\n break;\r\n case SubAccountType.StocksIsa:\r\n count = this.getCount(SubAccountType.StocksIsa);\r\n color = `var(--product-isa-${count})`;\r\n break;\r\n case SubAccountType.InvestmentAccount:\r\n count = this.getCount(SubAccountType.InvestmentAccount);\r\n color = `var(--product-pp-${count})`;\r\n break;\r\n case SubAccountType.CashAccount:\r\n case SubAccountType.WrapCash:\r\n count = this.getCount(SubAccountType.WrapCash);\r\n color = `var(--product-wrap-cash-${count})`;\r\n break;\r\n case SubAccountType.CashIsa:\r\n count = this.getCount(SubAccountType.CashIsa);\r\n color = `var(--product-cash-isa-${count})`;\r\n break;\r\n case SubAccountType.OffshoreBond:\r\n count = this.getCount(SubAccountType.OffshoreBond);\r\n color = `var(--product-offshore-bond-${count})`;\r\n break;\r\n case SubAccountType.OnshoreBond:\r\n count = this.getCount(SubAccountType.OnshoreBond);\r\n color = `var(--product-onshore-bond-${count})`;\r\n break;\r\n case SubAccountType.NotSpecified:\r\n color = \"#000\";\r\n break;\r\n default:\r\n color = \"#4b4b4b\";\r\n }\r\n series.push({\r\n type: \"line\",\r\n color: color,\r\n data: this.GetGraphData(e.GraphData),\r\n name: e.ClAccountId == \"\" ? \"All\" : e.ClAccountId,\r\n showInNavigator: true,\r\n });\r\n });\r\n return series;\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n public render(): JSX.Element {\r\n const { data, selectedProducts, onClickGraghSeriesBtn } = this.props;\r\n const { isPresentationView } = this.context;\r\n if (!data) {\r\n return ;\r\n }\r\n if (data.filter((x) => x.SubAccountType != SubAccountType.NotSpecified).length == 0) {\r\n return ;\r\n }\r\n const stringHelper = new StringHelper();\r\n this.settings = {};\r\n return (\r\n <>\r\n selectedProducts.some((product) => product == ele.ClAccountId)) || []\r\n )\r\n )}\r\n allowChartUpdate={true}\r\n />\r\n\r\n
\r\n \r\n {data.map((e) => {\r\n return (\r\n <>\r\n
\r\n
\r\n x == e.ClAccountId) ? \"true\" : \"false\"\r\n }\r\n className={\"chart-legend-toggle-button \"}\r\n onClick={() => {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"chart filter\",\r\n eventLabel: `${subAccountTypeMap[e.SubAccountType]} ${\r\n e.ClAccountId\r\n } - ${\r\n selectedProducts.some((x) => x == e.ClAccountId)\r\n ? \"no\"\r\n : \"yes\"\r\n }`,\r\n },\r\n });\r\n onClickGraghSeriesBtn(e.ClAccountId);\r\n }}\r\n >\r\n \r\n \r\n {subAccountTypeMap[e.SubAccountType] + \" \" + e.ClAccountId}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n \r\n );\r\n }\r\n}\r\nPerformanceChart.contextType = PresentationContext;\r\n","import * as React from \"react\";\r\nimport { CurrencySymbolDictionary } from \"../../../../../../../../react-core/Enums/Dictionaries/CurrencySymbolDictionary\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { RealisedGainLossColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/RealisedGainLossColumns\";\r\nimport { RealisedGainLossDetailModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/RealisedGainLossDetailModel\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ITableConfig, Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport AriaTooltip from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Contents } from \"../../Insights/Resource/Contents\";\r\nimport { StarTooltip } from \"../Resource/Contents\";\r\n\r\ninterface IRealisedGainLossTableProps {\r\n data: RealisedGainLossDetailModel[];\r\n}\r\n\r\nexport const getRealisedCol = (currencyCode: string): ITableConfig[] => {\r\n return [\r\n {\r\n title: \"As at\",\r\n key: \"AsAt\",\r\n tableFilter: RealisedGainLossColumns.AsAt,\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: (\r\n \r\n Code\r\n {StarTooltip}\r\n \r\n ),\r\n filterOption: { disableEdit: true },\r\n filterTitle: \"Code\",\r\n tableFilter: RealisedGainLossColumns.Code,\r\n key: \"InstrumentCode\",\r\n },\r\n {\r\n title: \"Description\",\r\n key: \"InstrumentName\",\r\n tableFilter: RealisedGainLossColumns.Description,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Qty sold\",\r\n key: \"QuantitySold\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n filterOption: { disableEdit: true },\r\n tableFilter: RealisedGainLossColumns.QtySold,\r\n },\r\n {\r\n title: \"Cost\",\r\n key: \"Cost\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n tableFilter: RealisedGainLossColumns.Cost,\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n },\r\n {\r\n title: `Cost ${currencyCode}`,\r\n key: \"CostInBaseCurrency\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return data.Amount.toFixed(4);\r\n },\r\n filterOption: { disableEdit: true },\r\n tableFilter: RealisedGainLossColumns.CostGBP,\r\n },\r\n {\r\n title: \"Sale price\",\r\n key: \"SalePrice\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n tableFilter: RealisedGainLossColumns.SalePrice,\r\n },\r\n {\r\n title: `Sale price ${currencyCode}`,\r\n key: \"SalePriceInBaseCurrency\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return data.Amount.toFixed(4);\r\n },\r\n filterOption: { disableEdit: true },\r\n tableFilter: RealisedGainLossColumns.SalePriceGBP,\r\n },\r\n {\r\n title: `Realised ${currencyCode}`,\r\n key: \"RealisedInBaseCurrency\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return data.Amount.toFixed(4);\r\n },\r\n filterOption: { disableEdit: true },\r\n tableFilter: RealisedGainLossColumns.RealisedGBP,\r\n },\r\n ];\r\n};\r\nexport const RealisedGainLossTable = (props: IRealisedGainLossTableProps) => {\r\n if (!props.data) {return null;}\r\n if (props.data.length == 0) {return ;}\r\n\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n const [tableData, setTableData] = React.useState(props.data.slice(0, 49));\r\n const currencyCode = CurrencySymbolDictionary.getStringMap(props.data[0].CostInBaseCurrency.Currency);\r\n return (\r\n sum + ele.RealisedInBaseCurrency.Amount, 0).toFixed(4),\r\n colIndex: 8,\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n needPagination={{\r\n pageSize: 50,\r\n totalNumOfResult: props.data.length,\r\n isShowPerPageOptions: true,\r\n onPaginationChange: (pageIndex, pageSize) => {\r\n const max = pageIndex * pageSize - 1;\r\n const min = pageSize * (pageIndex - 1);\r\n setCurrentPage(pageIndex);\r\n setTableData(props.data.slice(min, max));\r\n },\r\n currentPage: currentPage,\r\n }}\r\n />\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { StringHelper } from \"../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { CashTransactionTypes } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashTransactionTypes\";\r\nimport { PortfolioPerformanceSummaryModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PortfolioPerformanceSummaryModel\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { AriaTooltip } from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Contents } from \"../../Insights/Resource/Contents\";\r\nimport { tabContent } from \"../../../Resource/Contents\";\r\nimport { returnTooltip } from \"../Resource/Contents\";\r\nimport { TransactionEnum } from \"../../Transactions/Resource/Contents\";\r\nimport { Spinner } from \"../../../../../../../../react-core/Html/Spinner\";\r\n\r\ninterface ISummaryTableProps {\r\n data: PortfolioPerformanceSummaryModel;\r\n return: PerformanceMethod;\r\n isTableLoading: boolean;\r\n navigationToTab: (tab: string, transTypeSelect: TransactionEnum, cashTransactionTypes?) => void;\r\n from: string;\r\n to: string;\r\n claccountid: string;\r\n subaccountClaccountids: string[];\r\n selectedHeadClAccountIds: string[];\r\n}\r\n\r\nexport const SummaryTable = (props: ISummaryTableProps) => {\r\n if (props.isTableLoading) {\r\n return (\r\n
\r\n

Performance details loading

\r\n

\r\n This may take a few moments. Please do not move away from this page.\r\n

\r\n \r\n
\r\n );\r\n }\r\n if (!props.data) {return null;}\r\n if (props.data.ProductPerformanceSummary.length == 0 && !props.isTableLoading)\r\n {return ;}\r\n const stringHelper = new StringHelper();\r\n const { addEvent } = new AdviserSiteTagManager();\r\n const subaccountstring = props.subaccountClaccountids.join(',');\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n {row.ProductDisplayName}\r\n {data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Opening value\",\r\n key: \"OpeningValue\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n {\r\n title: (\r\n Money in}\r\n >\r\n {\r\n addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"money in\",\r\n },\r\n });\r\n props.navigationToTab(\r\n tabContent.Transactions,\r\n TransactionEnum.cash,\r\n CashTransactionTypes.CapitalIn\r\n );\r\n }}\r\n >\r\n Money in\r\n \r\n \r\n ),\r\n key: \"MoneyIn\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n {\r\n title: (\r\n Money out}\r\n >\r\n {\r\n addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"money out\",\r\n },\r\n });\r\n props.navigationToTab(\r\n tabContent.Transactions,\r\n TransactionEnum.cash,\r\n CashTransactionTypes.CapitalOut\r\n );\r\n }}\r\n >\r\n Money out\r\n \r\n \r\n ),\r\n key: \"MoneyOut\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n {\r\n title: (\r\n Account transfers}\r\n >\r\n {\r\n addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"account transfers\",\r\n },\r\n });\r\n props.navigationToTab(tabContent.Transactions, TransactionEnum.accountTransfers);\r\n }}\r\n >\r\n Account transfers\r\n \r\n \r\n ),\r\n key: \"AccountTransfer\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n {\r\n title: \"Change in value\",\r\n key: \"TotalGainLoss\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return (\r\n = 0 ? \"text-positive\" : \"text-negative\"}>\r\n {MoneyDisplayHelper.getMoneyFormat(data, true, 2)}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title:\r\n props.return == PerformanceMethod.IRR ? (\r\n Return %}\r\n >\r\n {\r\n addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventLabel: `Return %`,\r\n },\r\n });\r\n }}\r\n >\r\n \r\n Return %\r\n \r\n {returnTooltip.title[props.return]} -{\" \"}\r\n {returnTooltip.content[props.return]}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Return %\r\n \r\n {returnTooltip.title[props.return]} - {returnTooltip.content[props.return]}\r\n \r\n \r\n ),\r\n key: \"TotalGainLossPercentage\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n if (row.ProductType == \"CashAccount\" || row.ProductType == \"WrapCash\") {return N/A;}\r\n return (\r\n = 0 ? \"text-positive\" : \"text-negative\"}>\r\n {Number(data).toFixed(2) + \"%\"}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Closing value\",\r\n key: \"ClosingValue\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\" },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormat(props.data.OpeningValue),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormat(props.data.MoneyIn),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormat(props.data.MoneyOut),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormat(props.data.AccountTransfer),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: (\r\n = 0 ? \"text-positive\" : \"text-negative\"}>\r\n {MoneyDisplayHelper.getMoneyFormat(props.data.TotalGainLoss, true, 2)}\r\n \r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: (\r\n = 0 ? \"text-positive\" : \"text-negative\"}>\r\n {Number(props.data.TotalGainLossPercentage).toFixed(2) + \"%\"}\r\n \r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormat(props.data.ClosingValue),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n />\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CurrencySymbolDictionary } from \"../../../../../../../../react-core/Enums/Dictionaries/CurrencySymbolDictionary\";\r\nimport { UnRealisedGainLossColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/UnRealisedGainLossColumns\";\r\nimport { UnRealisedGainLossDetailModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/UnRealisedGainLossDetailModel\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ITableConfig, Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport AriaTooltip from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Contents } from \"../../Insights/Resource/Contents\";\r\nimport { StarTooltip } from \"../Resource/Contents\";\r\n\r\ninterface IUnrealisedGainLossTableProps {\r\n data: UnRealisedGainLossDetailModel[];\r\n}\r\nexport const getUnRealisedCol = (currencyCode: string): ITableConfig[] => {\r\n return [\r\n {\r\n title: (\r\n \r\n Code\r\n {StarTooltip}\r\n \r\n ),\r\n filterTitle: \"Code\",\r\n key: \"DisplayName\",\r\n tableFilter: UnRealisedGainLossColumns.Code,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Qty\",\r\n key: \"Quantity\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n tableFilter: UnRealisedGainLossColumns.Qty,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Cost\",\r\n key: \"Cost\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n tableFilter: UnRealisedGainLossColumns.Cost,\r\n },\r\n {\r\n title: `Cost ${currencyCode}`,\r\n key: \"CostInBaseCurrency\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return data.Amount.toFixed(4);\r\n },\r\n tableFilter: UnRealisedGainLossColumns.CostGBP,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Price\",\r\n key: \"Price\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data: number, row, index) => {\r\n return data.toFixed(4);\r\n },\r\n tableFilter: UnRealisedGainLossColumns.Price,\r\n },\r\n {\r\n title: `Price ${currencyCode}`,\r\n key: \"PriceInBaseCurrency\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return data.Amount.toFixed(4);\r\n },\r\n tableFilter: UnRealisedGainLossColumns.PriceGBP,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: `Unrealised gain/loss ${currencyCode}`,\r\n key: \"UnRealisedGainLossInBaseCurrency\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return data.Amount.toFixed(4);\r\n },\r\n tableFilter: UnRealisedGainLossColumns.UnRealisedGBP,\r\n filterOption: { disableEdit: true },\r\n },\r\n ];\r\n};\r\nexport const UnrealisedGainLossTable = (props: IUnrealisedGainLossTableProps) => {\r\n if (!props.data) {return null;}\r\n if (props.data.length == 0) {return ;}\r\n\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n const [tableData, setTableData] = React.useState(props.data.slice(0, 49));\r\n const currencyCode = CurrencySymbolDictionary.getStringMap(props.data[0].CostInBaseCurrency.Currency);\r\n return (\r\n sum + ele.UnRealisedGainLossInBaseCurrency.Amount, 0)\r\n .toFixed(4),\r\n colIndex: 6,\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n needPagination={{\r\n pageSize: 50,\r\n isShowPerPageOptions: true,\r\n totalNumOfResult: props.data.length,\r\n onPaginationChange: (pageIndex, pageSize) => {\r\n const max = pageIndex * pageSize - 1;\r\n const min = pageSize * (pageIndex - 1);\r\n setCurrentPage(pageIndex);\r\n setTableData(props.data.slice(min, max));\r\n },\r\n currentPage: currentPage,\r\n }}\r\n />\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CurrencySymbolDictionary } from \"../../../../../../../react-core/Enums/Dictionaries/CurrencySymbolDictionary\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport TableFilterDropdown from \"../../../../../../../react-core/Html/Components/TableFilterDropdown\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { ToggleButtonTwoOptions } from \"../../../../../../../react-core/Html/ToggleButtonTwoOptions\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PerformanceSummaryClient } from \"../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/PerformanceSummary\";\r\nimport { PortfolioPerformanceSimpleReturnAndIRRClient } from \"../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/PortfolioPerformanceSimpleReturnAndIRR\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { PerformanceMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { PerformanceIncomeDataView } from \"../../../../../../../Wrap/Constants/Enums/Portfolio/Performance/PerformanceIncomeDataView\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ViewType } from \"../../../../../../../Wrap/Mapping/PortfolioAnalysis/Investment/Enum/ViewType\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { CashTransactionTypes } from \"../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashTransactionTypes\";\r\nimport { PerformanceIncomeModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PerformanceIncomeModel\";\r\nimport { PortfolioPerformanceSummaryModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PortfolioPerformanceSummaryModel\";\r\nimport { ProductGraphData } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/ProductGraphData\";\r\nimport { ProductPerformanceModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/ProductPerformanceModel\";\r\nimport { RealisedGainLossDetailModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/RealisedGainLossDetailModel\";\r\nimport { UnRealisedGainLossDetailModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/UnRealisedGainLossDetailModel\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { MoneyHelper } from \"../../../../../../Shared/Common/MoneyHelper\";\r\nimport { DateRange } from \"../../../../../../Shared/Components/DateRange\";\r\nimport { ExcelExportAction } from \"../../../../../../Shared/ExcelExport/Actions/ExcelExportAction\";\r\nimport { ExcelExportButton } from \"../../../../../../Shared/ExcelExport/ExcelExportButton\";\r\nimport { LoadingSkeletonType } from \"../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeleton } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { PermissionAction } from \"../../../../../../Shared/Permission/Action/PermissionAction\";\r\nimport { Permission } from \"../../../../../../Shared/Permission/Permission\";\r\nimport { TableColSettingsAction } from \"../../../../../../Shared/TableColFilter/Action/Action\";\r\nimport { defaultTableColEditor, TableColSettingKeys } from \"../../../../../../Shared/TableColFilter/Resource/Content\";\r\nimport { TableColSettingsStore } from \"../../../../../../Shared/TableColFilter/Store/Variable\";\r\nimport { TableColEditor } from \"../../../../../../Shared/TableColFilter/TableColEditor\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { ColumnExplain } from \"./Components/ColumnExplain\";\r\nimport { getDetailsCol, DetailTable } from \"./Components/DetailTable\";\r\nimport { getIncomeInterestCol, getIncomeDividendCol, getIncomeTaxCol, IncomeTable } from \"./Components/IncomeTable\";\r\nimport { getRealisedCol, RealisedGainLossTable } from \"./Components/RealisedGainLossTable\";\r\nimport { SummaryTable } from \"./Components/SummaryTable\";\r\nimport { getUnRealisedCol, UnrealisedGainLossTable } from \"./Components/UnrealisedGainLossTable\";\r\nimport { PerformanceDataView, IncomeTableViewMap } from \"./Resource/Contents\";\r\nimport { ViewTypeArray, ViewTypeMap, AssetClassTypeArray, AssetClassTypeMap } from \"../../Resource/Contents\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { defaultAccountMinDate } from \"../../Resource/Content\";\r\nimport {\r\n ConsolidatedAccountStore,\r\n PortfolioDashboardMultiSelectionStore,\r\n PortfolioDashboardStore,\r\n} from \"../../Store/Variable\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { isConsolidate, selectedHeadAccounts } from \"../Common/PortfolioDashboardHelper\";\r\nimport { PresentationViewButton } from \"../Common/PresentationViewButton\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport { PortfolioDashboardPerformanceAction } from \"./Action/Action\";\r\nimport { PerformanceChart } from \"./Components/PerformanceChart\";\r\nimport {\r\n IProductPerformanceDetailModel,\r\n PortfolioDashboardPerformanceDetailStore,\r\n PortfolioDashboardPerformanceGraphStore,\r\n PortfolioDashboardPerformanceIncomeStore,\r\n PortfolioDashboardPerformanceRealisedGainLossStore,\r\n PortfolioDashboardPerformanceUnRealisedGainLossStore,\r\n} from \"./Store/Variable\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { DateOptions } from \"../../../../../../Shared/Components/Resource/Contents\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { Lightbox } from \"../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { TransactionEnum } from \"../Transactions/Resource/Contents\";\r\nimport { Money } from \"../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { Spinner } from \"../../../../../../../react-core/Html/Spinner\";\r\n\r\ninterface IPortfolioDashboardPerformanceState {\r\n userInfo: User;\r\n from: Date;\r\n to: Date;\r\n fromInception: boolean;\r\n dataView: PerformanceDataView;\r\n summaryData: Map;\r\n totalGainLossPercentage: number;\r\n closingValue: Money;\r\n realisedGainLossData: RealisedGainLossDetailModel[];\r\n unRealisedGainLossData: UnRealisedGainLossDetailModel[];\r\n performanceDetailsData: IProductPerformanceDetailModel[];\r\n graphData: ProductGraphData[];\r\n incomeData: PerformanceIncomeModel;\r\n tier: AssetClassType;\r\n view: ViewType;\r\n dateSelected: string;\r\n returnBasis: PerformanceMethod;\r\n isLoading: boolean;\r\n filter: { tier: AssetClassType; view: ViewType };\r\n isShowColExplain: boolean;\r\n incomeTableView: PerformanceIncomeDataView;\r\n colsettings: any[];\r\n subAccountsSelectedInGraph: string[];\r\n slideNumber: number;\r\n showReportPop: boolean;\r\n reportLinkAccount: ClientAccount;\r\n accountsForReport: ClientAccount[];\r\n isTableLoading: boolean;\r\n consolidateSimpleRetrunAndIRR: number;\r\n}\r\n\r\ninterface IPortfolioDashboardPerformanceProps extends IPortfolioDashboardComponentProps {}\r\n\r\nexport class PortfolioDashboardPerformance extends PortfolioDashboardComponent<\r\n IPortfolioDashboardPerformanceProps,\r\n IPortfolioDashboardPerformanceState\r\n> {\r\n constructor(props: IPortfolioDashboardPerformanceProps) {\r\n super(props);\r\n\r\n this.subscribeToStore(PortfolioDashboardPerformanceGraphStore, () => this.onPerformanceGraphStoreChange());\r\n this.subscribeToStore(PortfolioDashboardPerformanceDetailStore, () => this.onPerformanceDetailStoreChange());\r\n this.subscribeToStore(PortfolioDashboardPerformanceRealisedGainLossStore, () =>\r\n this.onPerformanceRealisedGainLossStoreChange()\r\n );\r\n this.subscribeToStore(PortfolioDashboardPerformanceUnRealisedGainLossStore, () =>\r\n this.onPerformanceUnRealisedGainLossStoreChange()\r\n );\r\n this.subscribeToStore(PortfolioDashboardPerformanceIncomeStore, () => this.onPerformanceIncomeStoreChange());\r\n this.subscribeToStore(TableColSettingsStore, () => this.ontableEditorStoreChange());\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n initState() {\r\n const initDateRange = DateRange.initializeDateRange(this.getSelectedAccountsInceptionDate());\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n from: initDateRange.from,\r\n to: initDateRange.to,\r\n isShowColExplain: false,\r\n dateSelected: initDateRange.dateSelected,\r\n fromInception: initDateRange.fromInception,\r\n tier: AssetClassType.Tier1,\r\n view: ViewType.Product,\r\n returnBasis: PerformanceMethod.Simple,\r\n dataView: PermissionAction.getPerformanceDropdownOptions()[0],\r\n isLoading: true,\r\n summaryData: new Map(),\r\n totalGainLossPercentage: 0,\r\n closingValue: MoneyHelper.getDefaultMoney(),\r\n realisedGainLossData: null,\r\n unRealisedGainLossData: null,\r\n performanceDetailsData: null,\r\n incomeData: null,\r\n graphData: null,\r\n filter: { tier: AssetClassType.Tier1, view: ViewType.Product },\r\n incomeTableView: PerformanceIncomeDataView.Interest,\r\n colsettings: null,\r\n subAccountsSelectedInGraph: [],\r\n slideNumber: 0,\r\n showReportPop: false,\r\n reportLinkAccount: null,\r\n accountsForReport: [],\r\n isTableLoading: true,\r\n consolidateSimpleRetrunAndIRR: 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.Performance\r\n );\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Performance,\r\n this.props.isBtnPresentationClicked\r\n );\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .performance.getUrl(),\r\n pageTitle: `${document.title} - client - performance`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n getDataBySelectionStore() {\r\n const selection = PortfolioDashboardMultiSelectionStore.getData();\r\n if (selection && selection.length > 0) {\r\n this.getData(selection, false);\r\n }\r\n }\r\n\r\n getData(selectedSubAccountHierarchyIds: string[], isSelectionChange = true) {\r\n const inceoptionDate = this.getSelectedAccountsInceptionDate();\r\n if (isSelectionChange) {\r\n const initDateRange = DateRange.initializeDateRange(inceoptionDate);\r\n this.setState({\r\n from: initDateRange.from,\r\n to: initDateRange.to,\r\n dateSelected: initDateRange.dateSelected,\r\n fromInception: initDateRange.fromInception,\r\n });\r\n }\r\n\r\n const { from, to, tier, dataView, returnBasis, view, fromInception } = this.state;\r\n const _from = JsonDateParser.toJsonDateNoOffset(from);\r\n const _to = JsonDateParser.toJsonDateNoOffset(to);\r\n\r\n const selectedHeadAccounts = this.getSelectedHeadAccountHierarchyIds();\r\n switch (dataView) {\r\n case PerformanceDataView.Summary:\r\n this.setState({\r\n isTableLoading: true,\r\n closingValue: MoneyHelper.getDefaultMoney(),\r\n summaryData: new Map(),\r\n });\r\n if (isConsolidate()) {\r\n const consolidatedAccountData = ConsolidatedAccountStore.getData();\r\n\r\n new PortfolioPerformanceSimpleReturnAndIRRClient()\r\n .get(\r\n consolidatedAccountData.HierarchyId,\r\n _from,\r\n JsonDateParser.toJsonDateNoOffset(new Date(to.getFullYear(), to.getMonth(), to.getDate())),\r\n returnBasis,\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n JsonDateParser.toJsonDateNoOffset(inceoptionDate),\r\n true\r\n )\r\n .onSuccess((v) =>\r\n this.setState({\r\n totalGainLossPercentage: v.SimpleRetrunOrIRR,\r\n consolidateSimpleRetrunAndIRR: v.SimpleRetrunOrIRR,\r\n })\r\n );\r\n }\r\n\r\n const performanceSummaryPromises = selectedHeadAccounts.map(\r\n (value) =>\r\n new Promise((resolve) => {\r\n new PerformanceSummaryClient()\r\n .get(\r\n value,\r\n _from,\r\n _to,\r\n fromInception,\r\n returnBasis,\r\n PortfolioDashboardMultiSelectionStore.getData()\r\n )\r\n .onSuccess((data) => {\r\n this.onPerformanceSummaryReturn(value, data, selectedHeadAccounts);\r\n resolve(data);\r\n });\r\n })\r\n );\r\n\r\n Promise.all(performanceSummaryPromises).then((results: PortfolioPerformanceSummaryModel[]) => {\r\n const closingValueTotal = results.reduce((total, current) => {\r\n if (current.ClosingValue && current.ClosingValue.Currency != 0) {\r\n return MoneyHelper.add(total, current.ClosingValue);\r\n } else {\r\n return total;\r\n }\r\n }, MoneyHelper.getDefaultMoney());\r\n\r\n this.setState({ closingValue: closingValueTotal });\r\n });\r\n\r\n PortfolioDashboardPerformanceAction.getPerformanceGraphData(\r\n selectedHeadAccounts,\r\n selectedSubAccountHierarchyIds,\r\n _from,\r\n _to,\r\n fromInception\r\n );\r\n\r\n break;\r\n case PerformanceDataView.Detail:\r\n return PortfolioDashboardPerformanceAction.getPerformanceDetail(\r\n selectedHeadAccounts,\r\n selectedSubAccountHierarchyIds,\r\n _from,\r\n _to,\r\n returnBasis,\r\n tier,\r\n view,\r\n fromInception,\r\n () => {\r\n this.setState({ isTableLoading: false });\r\n }\r\n );\r\n case PerformanceDataView.RealisedGainLoss:\r\n return PortfolioDashboardPerformanceAction.getPerformanceRealisedGainLoss(\r\n selectedSubAccountHierarchyIds,\r\n _from,\r\n _to,\r\n fromInception\r\n );\r\n case PerformanceDataView.UnrealisedGainLoss:\r\n return PortfolioDashboardPerformanceAction.getPerformanceUnRealisedGainLoss(\r\n selectedSubAccountHierarchyIds,\r\n _from,\r\n _to,\r\n fromInception\r\n );\r\n case PerformanceDataView.Income:\r\n return PortfolioDashboardPerformanceAction.getPerformanceIncomeData(\r\n selectedHeadAccounts,\r\n selectedSubAccountHierarchyIds,\r\n _from,\r\n _to,\r\n this.state.incomeTableView,\r\n fromInception\r\n );\r\n default:\r\n break;\r\n }\r\n }\r\n toggleFilter = null;\r\n\r\n private onPerformanceSummaryReturn(\r\n hierarchyId: string,\r\n data: PortfolioPerformanceSummaryModel,\r\n selectedHeadAccounts: string[]\r\n ) {\r\n const { summaryData, closingValue } = this.state;\r\n summaryData.set(hierarchyId, data.ProductPerformanceSummary);\r\n\r\n const uniqueSelectedHeadAccounts = new Set(selectedHeadAccounts);\r\n this.setState({\r\n summaryData: summaryData,\r\n isTableLoading: summaryData.size != uniqueSelectedHeadAccounts.size,\r\n totalGainLossPercentage: data.TotalGainLossPercentage,\r\n });\r\n }\r\n\r\n onPerformanceGraphStoreChange(): void {\r\n const data = PortfolioDashboardPerformanceGraphStore.getData();\r\n const subAccountsSelectedInGraph = data?.map((x) => {\r\n if (x.SubAccountType != SubAccountType.CashAccount && x.SubAccountType != SubAccountType.WrapCash) {\r\n return x.ClAccountId;\r\n }\r\n });\r\n this.setState({\r\n isLoading: false,\r\n graphData: data,\r\n subAccountsSelectedInGraph: subAccountsSelectedInGraph || [],\r\n });\r\n }\r\n\r\n onPerformanceDetailStoreChange(): void {\r\n this.setState({ isLoading: false, performanceDetailsData: PortfolioDashboardPerformanceDetailStore.getData() });\r\n }\r\n\r\n onPerformanceIncomeStoreChange(): void {\r\n this.setState({ isLoading: false, incomeData: PortfolioDashboardPerformanceIncomeStore.getData() });\r\n }\r\n onPerformanceUnRealisedGainLossStoreChange(): void {\r\n this.setState({\r\n isLoading: false,\r\n unRealisedGainLossData: PortfolioDashboardPerformanceUnRealisedGainLossStore.getData(),\r\n });\r\n }\r\n onPerformanceRealisedGainLossStoreChange(): void {\r\n this.setState({\r\n isLoading: false,\r\n realisedGainLossData: PortfolioDashboardPerformanceRealisedGainLossStore.getData(),\r\n });\r\n }\r\n private ontableEditorStoreChange() {\r\n const data = TableColSettingsStore.getData();\r\n const colEditorKey = this.GetTableColSettingKeys(this.state.dataView, this.state?.incomeTableView);\r\n if (JSON.stringify(data) == \"{}\") {\r\n TableColSettingsAction.post(defaultTableColEditor);\r\n } else if (data[colEditorKey].length == 0) {\r\n TableColSettingsAction.post(defaultTableColEditor[colEditorKey], colEditorKey);\r\n }\r\n this.setState({ colsettings: data[PerformanceDataView.Detail] });\r\n }\r\n\r\n getSettings() {\r\n const colEditorKey = TableColSettingKeys.PerformanceDetails;\r\n const _settings = JSON.parse(JSON.stringify(TableColSettingsStore.getData()));\r\n if (!_settings) {\r\n TableColSettingsAction.get(colEditorKey);\r\n } else if (JSON.stringify(_settings) == \"{}\") {\r\n TableColSettingsAction.post(defaultTableColEditor);\r\n } else if (_settings[colEditorKey] == []) {\r\n TableColSettingsAction.post(defaultTableColEditor[colEditorKey], colEditorKey);\r\n\r\n return defaultTableColEditor[colEditorKey];\r\n } else {\r\n return _settings[colEditorKey];\r\n }\r\n }\r\n\r\n initSetting() {\r\n if (this.state.dataView == PerformanceDataView.Summary) {\r\n return;\r\n }\r\n\r\n const colEditorKey = this.GetTableColSettingKeys(this.state.dataView, this.state?.incomeTableView);\r\n TableColSettingsAction.get(colEditorKey);\r\n }\r\n\r\n private getModel(ids, isToogle, productIndex, modelId) {\r\n const { from, to, tier, returnBasis, view } = this.state;\r\n const _from = JsonDateParser.toJsonDateNoOffset(from);\r\n const _to = JsonDateParser.toJsonDateNoOffset(to);\r\n PortfolioDashboardPerformanceAction.getDetailMPDetail(\r\n isToogle,\r\n productIndex,\r\n _from,\r\n _to,\r\n returnBasis,\r\n tier,\r\n view,\r\n ids,\r\n (data) => this.setState({ performanceDetailsData: data }),\r\n modelId\r\n );\r\n }\r\n\r\n private GetTableColSettingKeys(dataView: PerformanceDataView, incomeView?: PerformanceIncomeDataView): string {\r\n switch (dataView) {\r\n case PerformanceDataView.Detail:\r\n return TableColSettingKeys.PerformanceDetails;\r\n case PerformanceDataView.RealisedGainLoss:\r\n return TableColSettingKeys.RealisedGainLoss;\r\n case PerformanceDataView.UnrealisedGainLoss:\r\n return TableColSettingKeys.UnRealisedGainLoss;\r\n case PerformanceDataView.Income:\r\n switch (incomeView) {\r\n case PerformanceIncomeDataView.Interest:\r\n case PerformanceIncomeDataView.AccumulationFundInterestNonCash:\r\n return TableColSettingKeys.IncomeInterest;\r\n case PerformanceIncomeDataView.Dividends:\r\n case PerformanceIncomeDataView.AccumulationFundDistributionsNonCash:\r\n case PerformanceIncomeDataView.EquityDividends:\r\n return TableColSettingKeys.IncomeDividend;\r\n case PerformanceIncomeDataView.Tax:\r\n return TableColSettingKeys.IncomeTax;\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n private GetCol(): any[] {\r\n let currencyCode = \"\";\r\n switch (this.state.dataView) {\r\n case PerformanceDataView.Detail:\r\n return getDetailsCol(this.getDetailTableProps());\r\n\r\n case PerformanceDataView.RealisedGainLoss:\r\n currencyCode = CurrencySymbolDictionary.getStringMap(\r\n this.state.realisedGainLossData && this.state.realisedGainLossData.length > 0\r\n ? this.state.realisedGainLossData[0]?.CostInBaseCurrency.Currency\r\n : CurrencyCode.GBP\r\n );\r\n return getRealisedCol(currencyCode);\r\n case PerformanceDataView.UnrealisedGainLoss:\r\n currencyCode = CurrencySymbolDictionary.getStringMap(\r\n this.state.unRealisedGainLossData && this.state.unRealisedGainLossData.length > 0\r\n ? this.state.unRealisedGainLossData[0]?.CostInBaseCurrency.Currency\r\n : CurrencyCode.GBP\r\n );\r\n return getUnRealisedCol(currencyCode);\r\n\r\n case PerformanceDataView.Income:\r\n currencyCode = CurrencySymbolDictionary.getStringMap(\r\n this.state.incomeData != null ? this.state.incomeData.BaseCcy : CurrencyCode.GBP\r\n );\r\n switch (this.state.incomeTableView) {\r\n case PerformanceIncomeDataView.Interest:\r\n case PerformanceIncomeDataView.AccumulationFundInterestNonCash:\r\n return getIncomeInterestCol(currencyCode);\r\n case PerformanceIncomeDataView.Dividends:\r\n case PerformanceIncomeDataView.AccumulationFundDistributionsNonCash:\r\n case PerformanceIncomeDataView.EquityDividends:\r\n return getIncomeDividendCol(currencyCode);\r\n case PerformanceIncomeDataView.Tax:\r\n return getIncomeTaxCol(currencyCode);\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n private getDetailTableProps = () => {\r\n return {\r\n switchTab: (view) => this.setState({ dataView: view }, () => this.getDataBySelectionStore()),\r\n getModel: (instrumentIds, isToogle, productIndex, modelId) =>\r\n this.getModel(instrumentIds, isToogle, productIndex, modelId),\r\n data: this.state.performanceDetailsData,\r\n return: this.state.returnBasis,\r\n view: this.state.view,\r\n assetType: this.state.tier,\r\n colSetting: this.getSettings(),\r\n isLoading: this.state.isTableLoading,\r\n };\r\n };\r\n\r\n private showDataView() {\r\n switch (this.state.dataView) {\r\n case PerformanceDataView.Summary:\r\n const selection = this.getSelectedSubAccountIds();\r\n const summaryDataRebuilt: PortfolioPerformanceSummaryModel = {\r\n ProductPerformanceSummary: [],\r\n ClosingValue: MoneyHelper.getDefaultMoney(),\r\n OpeningValue: MoneyHelper.getDefaultMoney(),\r\n TotalGainLoss: MoneyHelper.getDefaultMoney(),\r\n MoneyIn: MoneyHelper.getDefaultMoney(),\r\n MoneyOut: MoneyHelper.getDefaultMoney(),\r\n AccountTransfer: MoneyHelper.getDefaultMoney(),\r\n TotalGainLossPercentage: 0,\r\n };\r\n const { summaryData } = this.state;\r\n summaryData.forEach((value, key) => {\r\n value.forEach((summary) => {\r\n if (selection.some((x) => x == summary.ClAccountId)) {\r\n summaryDataRebuilt.ProductPerformanceSummary.push(summary);\r\n summaryDataRebuilt.OpeningValue = MoneyHelper.add(\r\n summaryDataRebuilt.OpeningValue,\r\n MoneyHelper.getMoneyWithProperFormat(summary.OpeningValue)\r\n );\r\n summaryDataRebuilt.TotalGainLoss = MoneyHelper.add(\r\n summaryDataRebuilt.TotalGainLoss,\r\n MoneyHelper.getMoneyWithProperFormat(summary.TotalGainLoss)\r\n );\r\n summaryDataRebuilt.MoneyIn = MoneyHelper.add(\r\n summaryDataRebuilt.MoneyIn,\r\n MoneyHelper.getMoneyWithProperFormat(summary.MoneyIn)\r\n );\r\n summaryDataRebuilt.MoneyOut = MoneyHelper.add(\r\n summaryDataRebuilt.MoneyOut,\r\n MoneyHelper.getMoneyWithProperFormat(summary.MoneyOut)\r\n );\r\n summaryDataRebuilt.AccountTransfer = MoneyHelper.add(\r\n summaryDataRebuilt.AccountTransfer,\r\n MoneyHelper.getMoneyWithProperFormat(summary.AccountTransfer)\r\n );\r\n }\r\n });\r\n });\r\n\r\n summaryDataRebuilt.ClosingValue = MoneyHelper.getMoneyWithProperFormat(this.state.closingValue);\r\n summaryDataRebuilt.TotalGainLossPercentage = isConsolidate()\r\n ? this.state.consolidateSimpleRetrunAndIRR * 100\r\n : this.state.totalGainLossPercentage;\r\n\r\n return (\r\n \r\n {\r\n this.navigateToTransaction(tab, transTypeSelect, transactionType);\r\n }}\r\n data={summaryDataRebuilt}\r\n isTableLoading={this.state.isTableLoading}\r\n return={this.state.returnBasis}\r\n from={JsonDateParser.getFormatDateString(this.state.from, \"dd-MM-yyyy\", true, true)}\r\n to={JsonDateParser.getFormatDateString(this.state.to, \"dd-MM-yyyy\", true, true)}\r\n claccountid={this.getHeadClAccountId()}\r\n subaccountClaccountids={selection}\r\n selectedHeadClAccountIds={this.getSelectedHeadClAccountIds()}\r\n />\r\n \r\n );\r\n\r\n case PerformanceDataView.Detail:\r\n return (\r\n \r\n \r\n \r\n );\r\n case PerformanceDataView.RealisedGainLoss:\r\n return (\r\n \r\n \r\n \r\n );\r\n case PerformanceDataView.UnrealisedGainLoss:\r\n return (\r\n \r\n \r\n \r\n );\r\n case PerformanceDataView.Income:\r\n return (\r\n \r\n \r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private navigateToTransaction(tab, transTypeSelect: TransactionEnum, transactionType: CashTransactionTypes) {\r\n if (checkPermission(PermissionAction.getTransactionPermissionMap()[transTypeSelect])) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: transTypeSelect,\r\n from: this.state.from,\r\n to: this.state.to,\r\n dateSelected: this.state.dateSelected,\r\n fromInception: this.state.fromInception,\r\n cashTransactionType: transactionType,\r\n },\r\n }\r\n );\r\n }\r\n }\r\n\r\n private handleLaunchpadClick() {\r\n const context: Record = {};\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {\r\n context.customerId = customerHierarchyId;\r\n }\r\n\r\n (window as any).AppStore.open(context);\r\n }\r\n\r\n private getHeadClAccountId() {\r\n if (isConsolidate()) {\r\n return ConsolidatedAccountStore.getData().HeadClAccountId;\r\n } else {\r\n return this.getSelectedHeadClAccountIds()[0];\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { isLoading, from, to, dateSelected, dataView, returnBasis, userInfo } = this.state;\r\n const { isPresentationView } = this.context;\r\n const minDate = this.getSelectedAccountsInceptionDate();\r\n const isFundzoneOnly =\r\n userInfo?.ServiceProposition?.length == 1 &&\r\n userInfo?.ServiceProposition?.filter((x) => x == ServiceProposition.Fundzone)?.length != 0;\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"date range selector\",\r\n eventLabel: CommonHelper.getOptionsTxt(\r\n dateSelected,\r\n DateOptions\r\n ).toLowerCase(),\r\n },\r\n });\r\n this.setState(\r\n {\r\n from: fromDate,\r\n to: toDate,\r\n dateSelected: dateSelected,\r\n fromInception: fromInception,\r\n isLoading: true,\r\n closingValue: MoneyHelper.getDefaultMoney(),\r\n },\r\n () => this.getDataBySelectionStore()\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"create client portfolio report\",\r\n },\r\n });\r\n let headAccounts = selectedHeadAccounts(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData()\r\n );\r\n if (isConsolidate()) {\r\n headAccounts = [ConsolidatedAccountStore.getData()].concat(\r\n headAccounts\r\n );\r\n }\r\n if (headAccounts.length == 1) {\r\n if (\r\n checkPermission(\r\n UserClaim.AdviserPortalClientPortfolioReportReadWrite\r\n )\r\n ) {\r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n })\r\n .clientReport({\r\n headaccounthierarchyId:\r\n headAccounts[0]?.HierarchyId,\r\n }).clientReport\r\n );\r\n }\r\n } else {\r\n this.setState({\r\n showReportPop: true,\r\n accountsForReport: headAccounts,\r\n });\r\n }\r\n }}\r\n >\r\n Create client portfolio\r\n report\r\n \r\n
\r\n
\r\n\r\n
\r\n {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"presentation mode\",\r\n },\r\n });\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Performance,\r\n this.props.isBtnPresentationClicked\r\n );\r\n }}\r\n />\r\n
\r\n {isAppStoreEnabled && (\r\n
\r\n \r\n Applications pad\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n o}\r\n onChange={(e) => {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"data view selector\",\r\n eventLabel: e.toLowerCase(),\r\n },\r\n });\r\n if (e === PerformanceDataView.Charges) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.charges,\r\n },\r\n }\r\n );\r\n } else {\r\n this.setState({ dataView: e, isLoading: true }, () => {\r\n this.getDataBySelectionStore();\r\n this.initSetting();\r\n });\r\n }\r\n }}\r\n />\r\n
\r\n {(dataView == PerformanceDataView.Summary || dataView == PerformanceDataView.Detail) && (\r\n
\r\n {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"return basis\",\r\n eventLabel: v ? \"irr\" : \"simple\",\r\n },\r\n });\r\n this.setState(\r\n {\r\n returnBasis: v ? PerformanceMethod.IRR : PerformanceMethod.Simple,\r\n isTableLoading: true,\r\n },\r\n () => this.getDataBySelectionStore()\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n {dataView == PerformanceDataView.Income && (\r\n
\r\n Number(e))}\r\n getText={(v) => {\r\n return IncomeTableViewMap[v];\r\n }}\r\n label={\"Data table\"}\r\n selected={PerformanceIncomeDataView.Interest}\r\n onChange={(v) => {\r\n this.setState(\r\n {\r\n incomeTableView: v,\r\n isLoading: true,\r\n },\r\n () => {\r\n this.getDataBySelectionStore();\r\n this.initSetting();\r\n }\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {isLoading ? (\r\n
\r\n

Performance details loading

\r\n

This may take a few moments. Please do not move away from this page.

\r\n \r\n
\r\n ) : (\r\n
\r\n {dataView == PerformanceDataView.Summary && (\r\n
\r\n {\" \"}\r\n Valuation and Money Movements\r\n \r\n this.onClickGraghSeriesBtn(clAccountId)\r\n }\r\n />\r\n
\r\n )}\r\n
\r\n {dataView == PerformanceDataView.Summary || dataView == PerformanceDataView.Detail ? (\r\n <>\r\n {!isPresentationView && (\r\n
\r\n {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"columns explained\",\r\n },\r\n });\r\n this.setState({ isShowColExplain: true });\r\n }}\r\n >\r\n Columns explained\r\n \r\n
\r\n )}\r\n {this.state.summaryData &&\r\n dataView == PerformanceDataView.Summary &&\r\n this.state.summaryData?.size != 0 ? (\r\n
\r\n {\r\n this.addEvent({\r\n event: \"performancetab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.performanceTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"export to excel\",\r\n },\r\n });\r\n switch (dataView) {\r\n case PerformanceDataView.Summary:\r\n //TODO\r\n return ExcelExportAction.generatePerformanceSummaryReport(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n to,\r\n from,\r\n this.state.fromInception,\r\n returnBasis,\r\n this.props.customerid,\r\n HierarchyIdHelper.generateHierarchyId(\r\n ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n )\r\n ).hierarchyLevel == HierarchyLevelName.Customer\r\n ? \"\"\r\n : ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n )\r\n );\r\n }\r\n }}\r\n selectedAccount={null}\r\n >\r\n
\r\n ) : null}\r\n \r\n ) : null}\r\n {dataView === PerformanceDataView.Detail && (\r\n
\r\n (this.toggleFilter = e)}\r\n title=\"Filter table\"\r\n >\r\n
\r\n {\r\n return ViewTypeMap[v];\r\n }}\r\n selected={this.state.filter.view}\r\n onChange={(v) =>\r\n this.setState((preState) => {\r\n return {\r\n filter: { tier: preState.filter.tier, view: v },\r\n };\r\n })\r\n }\r\n />\r\n {\r\n return AssetClassTypeMap[v];\r\n }}\r\n selected={this.state.filter.tier}\r\n onChange={(v) =>\r\n this.setState((preState) => {\r\n return {\r\n filter: { tier: v, view: preState.filter.view },\r\n };\r\n })\r\n }\r\n />\r\n
\r\n {\r\n this.setState({\r\n filter: {\r\n tier: this.state.tier,\r\n view: this.state.view,\r\n },\r\n });\r\n this.toggleFilter(true);\r\n }}\r\n >\r\n \r\n
\r\n {\r\n this.toggleFilter(true);\r\n this.setState(\r\n {\r\n tier: this.state.filter.tier,\r\n view: this.state.filter.view,\r\n },\r\n () => this.getDataBySelectionStore()\r\n );\r\n }}\r\n >\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )}\r\n {dataView !== PerformanceDataView.Summary && (\r\n \r\n // \r\n )}\r\n
\r\n Performance\r\n {this.showDataView()}\r\n
\r\n )}\r\n {this.state.isShowColExplain && (\r\n this.setState({ isShowColExplain: false })}\r\n >\r\n \r\n \r\n )}\r\n {this.state.showReportPop && (\r\n this.setState({ showReportPop: false, reportLinkAccount: null })}\r\n >\r\n this.setState({ reportLinkAccount: v })}\r\n options={this.state.accountsForReport}\r\n placeholder=\"Please select\"\r\n selected={this.state.reportLinkAccount}\r\n cssWrapper={\"control-size-245\"}\r\n getText={(o) => o?.HeadClAccountId}\r\n />\r\n {checkPermission(UserClaim.AdviserPortalClientPortfolioReportReadWrite) && (\r\n \r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n })\r\n .clientReport({\r\n headaccounthierarchyId: this.state.reportLinkAccount.HierarchyId,\r\n }).clientReport\r\n )\r\n }\r\n >\r\n Create Client Portfolio Report\r\n \r\n )}\r\n \r\n )}\r\n
\r\n\r\n
\r\n {!isPresentationView && checkPermission(UserClaim.AdviserPortalPerformanceChargesCanView) && (\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.charges,\r\n },\r\n }\r\n );\r\n }}\r\n >\r\n View charges transactions\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n\r\n private GetPerformanceChartData(): ProductGraphData[] {\r\n if (!this.state.graphData) {\r\n return null;\r\n }\r\n const result = this.state.graphData?.filter((ele) => this.getSelectedSubAccountIds().includes(ele.ClAccountId));\r\n const { summaryData, to } = this.state;\r\n const today = new Date();\r\n if (today.toDateString() === to.toDateString()) {\r\n summaryData.forEach((value, key) => {\r\n value.forEach((summary) => {\r\n const index = result.findIndex(function (c) {\r\n return c.ClAccountId == summary.ClAccountId;\r\n });\r\n if (index > -1) {\r\n result[index].GraphData[result[index].GraphData.length - 1].Value = summary.ClosingValue.Amount;\r\n }\r\n });\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n onClickGraghSeriesBtn(clAccountId: string) {\r\n const { subAccountsSelectedInGraph } = this.state;\r\n if (subAccountsSelectedInGraph.some((x) => x == clAccountId)) {\r\n this.setState({ subAccountsSelectedInGraph: subAccountsSelectedInGraph.filter((x) => x != clAccountId) });\r\n } else {\r\n this.setState({ subAccountsSelectedInGraph: [...subAccountsSelectedInGraph, clAccountId] });\r\n }\r\n }\r\n}\r\nPortfolioDashboardPerformance.contextType = PresentationContext;\r\n","import { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { MPSType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/MPSType\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { PerformanceIncomeDataView } from \"../../../../../../../../Wrap/Constants/Enums/Portfolio/Performance/PerformanceIncomeDataView\";\r\n\r\nexport enum PerformanceDataView {\r\n Summary = \"Summary\",\r\n Detail = \"Detail\",\r\n RealisedGainLoss = \"Realised gain / loss\",\r\n UnrealisedGainLoss = \"Unrealised gain / loss\",\r\n Income = \"Income\",\r\n Charges = \"Charges\",\r\n}\r\n\r\nexport const subAccountTypeMap = {\r\n [SubAccountType.Sipp]: \"SIPP\",\r\n [SubAccountType.Npr]: \"SIPP\",\r\n [SubAccountType.CashIsa]: \"Cash ISA\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks & Shares\",\r\n [SubAccountType.InvestmentAccount]: \"Personal Portfolio\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Cash Account\",\r\n [SubAccountType.CashAccount]: \"Cash Account\",\r\n [SubAccountType.OffshoreBond]: \"Offshore Bond\",\r\n [SubAccountType.OnshoreBond]: \"Onshore Bond\",\r\n [SubAccountType.NotSpecified]: \"All\",\r\n};\r\n\r\nexport const IncomeTableViewMap = {\r\n [PerformanceIncomeDataView.Interest]: \"Interest\",\r\n [PerformanceIncomeDataView.AccumulationFundInterestNonCash]: \"Accumulation fund interest (non cash)\",\r\n [PerformanceIncomeDataView.Dividends]: \"Dividends\",\r\n [PerformanceIncomeDataView.AccumulationFundDistributionsNonCash]: \"Accumulation fund distributions (non cash)\",\r\n [PerformanceIncomeDataView.EquityDividends]: \"Equity dividends\",\r\n [PerformanceIncomeDataView.Tax]: \"Tax\",\r\n};\r\n\r\nexport const AssetClassTypeArray = [AssetClassType.Tier1, AssetClassType.Tier2, AssetClassType.NoAssetClass];\r\n\r\nexport const MPSTypeArray = [MPSType.MPSSummary, MPSType.MPSDetails];\r\n\r\nexport const AssetClassTypeMap = {\r\n [AssetClassType.Tier1]: \"Tier 1\",\r\n [AssetClassType.Tier2]: \"Tier 2\",\r\n [AssetClassType.NoAssetClass]: \"No tiers\",\r\n};\r\n\r\nexport const MPSTypeMap = {\r\n [MPSType.MPSSummary]: \"MPS Summary\",\r\n [MPSType.MPSDetails]: \"MPS Detail\",\r\n};\r\n\r\nexport const returnTooltip = {\r\n title: {\r\n [PerformanceMethod.Simple]: `Simple return`,\r\n [PerformanceMethod.IRR]: `Internal rate of return (\"IRR\")`,\r\n },\r\n content: {\r\n [PerformanceMethod.Simple]: `This is a non-weighted measure to show the change in value of the investment in percentage terms. The \"Change in Value\" is divided by the amount invested over the period – i.e. by the opening value plus any money added in the period.`,\r\n [PerformanceMethod.IRR]: `This is the percentage (%) measure to show how investments have performed over the set reporting period.  It's calculated by dividing the monetary change in value by the time and value of the transactions that took place over the period. This figure is non-annualised.`,\r\n },\r\n};\r\n\r\nexport const StarTooltip =\r\n \"* Denotes an investment asset that has been re-registered on to the wrap platform. Historical transactional data is not captured prior to re-registration; therefore the realised and unrealised gain/loss figures for this asset should not be relied upon for tax return purposes.\";\r\n","import { AssetPerformanceDetailModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/AssetPerformanceDetailModel\";\r\nimport { PerformanceDetailsModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PerformanceDetailsModel\";\r\nimport { PerformanceIncomeModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PerformanceIncomeModel\";\r\nimport { ProductGraphData } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/ProductGraphData\";\r\nimport { ProductPerformanceDetailModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/ProductPerformanceDetailModel\";\r\nimport { RealisedGainLossDetailModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/RealisedGainLossDetailModel\";\r\nimport { UnRealisedGainLossDetailModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/UnRealisedGainLossDetailModel\";\r\nimport { SingleDataStore } from \"../../../../../../../Shared/Stores/SingleDataStore\";\r\nimport { SingleDataStoreDispacher } from \"../../../../../../../Shared/Stores/SingleDataStoreDispacher\";\r\n\r\nexport const PortfolioDashboardPerformanceGraphDispatcher = new SingleDataStoreDispacher();\r\nexport const PortfolioDashboardPerformanceGraphStore = new SingleDataStore(\r\n PortfolioDashboardPerformanceGraphDispatcher\r\n);\r\n\r\nexport const PortfolioDashboardPerformanceDetailDispatcher = new SingleDataStoreDispacher<\r\n IProductPerformanceDetailModel[]\r\n>();\r\nexport const PortfolioDashboardPerformanceDetailStore = new SingleDataStore(\r\n PortfolioDashboardPerformanceDetailDispatcher\r\n);\r\n\r\nexport const PortfolioDashboardPerformanceRealisedGainLossDispatcher = new SingleDataStoreDispacher<\r\n RealisedGainLossDetailModel[]\r\n>();\r\nexport const PortfolioDashboardPerformanceRealisedGainLossStore = new SingleDataStore(\r\n PortfolioDashboardPerformanceRealisedGainLossDispatcher\r\n);\r\n\r\nexport const PortfolioDashboardPerformanceUnRealisedGainLossDisptcher = new SingleDataStoreDispacher<\r\n UnRealisedGainLossDetailModel[]\r\n>();\r\nexport const PortfolioDashboardPerformanceUnRealisedGainLossStore = new SingleDataStore<\r\n UnRealisedGainLossDetailModel[]\r\n>(PortfolioDashboardPerformanceUnRealisedGainLossDisptcher);\r\n\r\nexport const PortfolioDashboardPerformanceIncomeDispatcher = new SingleDataStoreDispacher();\r\nexport const PortfolioDashboardPerformanceIncomeStore = new SingleDataStore(\r\n PortfolioDashboardPerformanceIncomeDispatcher\r\n);\r\n\r\nexport interface IProductPerformanceDetailModel extends ProductPerformanceDetailModel {\r\n ModelAssetPerformanceDetail: IAssetPerformanceDetailModel[];\r\n OPIAssetPerformanceDetail: IAssetPerformanceDetailModel[];\r\n NonModelAssetPerformanceDetail: IAssetPerformanceDetailModel[];\r\n}\r\n\r\nexport interface IAssetPerformanceDetailModel extends AssetPerformanceDetailModel {\r\n PerformanceDetailsWithFlag: IPerformanceDetailsModel[];\r\n}\r\n\r\nexport interface IPerformanceDetailsModel extends PerformanceDetailsModel {\r\n isModel: boolean;\r\n isToogle?: boolean;\r\n underlyingModel?: AssetPerformanceDetailModel[];\r\n}\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../react-core/Flux/Variables\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { getEnumValues } from \"../../../../../../react-core/Utils/Enum\";\r\nimport { CustomerType } from \"../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Organisation } from \"../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { User } from \"../../../../../../Wrap/Models/Models/User/User\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Permission } from \"../../../../../Shared/Permission/Permission\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { ClientRecordAction } from \"../../ClientRecord/Action/ClientRecordAction\";\r\nimport { ClientRecordTab } from \"../../ClientRecord/Resource/Contents\";\r\nimport { ClientRecordStore } from \"../../ClientRecord/Store/Variable\";\r\nimport { PortfolioDashboardAction } from \"../Action/PortfolioDashboardAction\";\r\nimport {\r\n consolidatedAccountDashboardTabEnum,\r\n dashboardRelatedPageEnum,\r\n portfolioDashboardTabEnum,\r\n prospectDashboardTabEnum,\r\n} from \"../Resource/Content\";\r\nimport { PortfolioDashboardActivity } from \"./Activity/Activity\";\r\nimport { PortfolioDashboardHeader } from \"./Common/PortfolioDashboardHeader\";\r\nimport { isConsolidate, isTradingAccount } from \"./Common/PortfolioDashboardHelper\";\r\nimport { PortfolioDashboardDocuments } from \"./Document/Documents\";\r\nimport { PortfolioDashboardInsights } from \"./Insights/Insights\";\r\nimport { PortfolioDashboardInvestment } from \"./Investment/Investment\";\r\nimport { PortfolioDashboardPerformance } from \"./Performance/Performance\";\r\nimport { PortfolioDashboardRoles } from \"./Role/Roles\";\r\nimport { PortfolioDashboardSummary } from \"./Summary/Summary\";\r\nimport { PortfolioDashboardTransactions } from \"./Transactions/Transactions\";\r\nimport { ContextType } from \"../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { ClientReport } from \"./ClientReport/ClientReport\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { Action } from \"../../../../Actions/Action\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ProductOverview } from \"./ProductOverview/Component/ProductOverView\";\r\nimport { RestrictionReason } from \"../../../../../../Wrap/Models/Models/Account/Restrictions/RestrictionReason\";\r\nimport { RestrictionReasonAction } from \"../Action/RestrictionReasonAction\";\r\nimport { RestrictionReasonStore } from \"../Store/Variables\";\r\nimport { PresentationViewWrapper } from \"./Common/PresentationViewWrapper\";\r\nimport { CoachMarkerContext } from \"../../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { getSummaryCoachmarkerConfig } from \"./Summary/Resource/content\";\r\nimport { investmentCoachmarkerConfig } from \"./Investment/Resource/Content\";\r\nimport { performanceCoachmarkerConfig } from \"./Performance/Resource/Content\";\r\nimport { rolesCoachmarkerConfig } from \"./Role/Resource/Content\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { VulnerabilityDetail } from \"../../../../../../Wrap/Models/Models/Customer/VulnerabilityDetail\";\r\nimport { CookieHelper } from \"../../../../../../react-core/Helpers/CookieHelper\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { NoteType } from \"../../../../../../Wrap/Constants/Enums/Customer/NoteType\";\r\nimport { NoteDetailModel } from \"../../../../../../Wrap/Models/Models/Customer/NoteDetailModel\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { PermissionAction } from \"../../../../../Shared/Permission/Action/PermissionAction\";\r\nimport { PortfolioDashboardStore } from \"../Store/Variable\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { TitleMap } from \"../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { EsgAnalyser } from \"./EsgAnalyzer/EsgAnalyser\";\r\n\r\ninterface IPortfolioDashboardProps extends React.Props {}\r\n\r\ninterface IPortfolioDashboardState {\r\n data?: any;\r\n tabIndex:\r\n | portfolioDashboardTabEnum\r\n | dashboardRelatedPageEnum\r\n | prospectDashboardTabEnum\r\n | consolidatedAccountDashboardTabEnum;\r\n userInfo: User;\r\n isLoading: boolean;\r\n isProspect: boolean;\r\n isConsolidatedAccount: boolean;\r\n customerType: CustomerType;\r\n name: string;\r\n accountId: string;\r\n restrictionReasons: RestrictionReason[];\r\n showVulnerabilityPopUp: boolean;\r\n vulnerabilityDetail: VulnerabilityDetail[];\r\n isPresentationView: boolean;\r\n importantNotes: NoteDetailModel[];\r\n hasReadWriteAccessToAdviser: boolean;\r\n isPresentationClicked: boolean[];\r\n}\r\n\r\nexport class PortfolioDashboard extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n tabIndex: null,\r\n userInfo: UserStore.getUserInfo(),\r\n isLoading: true,\r\n isProspect: false,\r\n isConsolidatedAccount: false,\r\n customerType: null,\r\n name: \"\",\r\n accountId: \"\",\r\n restrictionReasons: [],\r\n showVulnerabilityPopUp: false,\r\n vulnerabilityDetail: null,\r\n isPresentationView: null,\r\n importantNotes: [],\r\n hasReadWriteAccessToAdviser: true,\r\n isPresentationClicked: Array(Object.keys(portfolioDashboardTabEnum).length).fill(false),\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onClientRecordStoreChange());\r\n this.subscribeToStore(RestrictionReasonStore, () => this.onRestrictionReasonStoreChange());\r\n this.setState = this.setState.bind(this);\r\n this.onPresentationStatusChange = this.onPresentationStatusChange.bind(this);\r\n }\r\n\r\n public componentDidMount() {\r\n this.getMultiSelection();\r\n const { entityId, hierarchyLevel } = this.getCusomterEntityId();\r\n if (hierarchyLevel == HierarchyLevelName.Customer) {\r\n ClientRecordAction.getPersonalDetail(entityId.toString());\r\n ClientRecordAction.getOrganisationDetail(entityId.toString());\r\n ClientRecordAction.getCompanyDetail(entityId.toString());\r\n RestrictionReasonAction.getAccountRestrictions(entityId);\r\n const settings = CookieHelper.getCookie(\"showVulnerabilityDetails\");\r\n ClientRecordAction.getCustomerVulnerabilityDetails(entityId, (val) => {\r\n if (\r\n val &&\r\n val.length > 0 &&\r\n val.some(\r\n (ele) =>\r\n JsonDateParser.toDate(ele.StartDate) <= new Date() &&\r\n (CommonHelper.isNullOrEmpty(ele.EndDate) ||\r\n JsonDateParser.toDate(ele.EndDate) >= new Date())\r\n )\r\n ) {\r\n this.setState({\r\n showVulnerabilityPopUp:\r\n CommonHelper.isNullOrEmpty(settings) || !JSON.parse(settings)?.[entityId] ? true : false,\r\n vulnerabilityDetail: val,\r\n });\r\n } else {\r\n this.closeVulnerabilityDetailPop();\r\n }\r\n });\r\n PermissionAction.checkUserHavePermissionForAdviserByActor(Number(entityId), (data) => {\r\n this.setState({ hasReadWriteAccessToAdviser: data?.IsReadOnly != true });\r\n });\r\n if (checkPermission(UserClaim.AdviserPortalCustomerFullyAccessCanView)) {\r\n ClientRecordAction.getCustomerNoteDetails(entityId, (val) => {\r\n const regNote = val.filter(\r\n (x) => x.NoteType == NoteType.RegulatoryCheck || x.NoteType == NoteType.RegulatoryCritical\r\n );\r\n this.setState({\r\n importantNotes: regNote,\r\n });\r\n });\r\n }\r\n } else {\r\n //consolidate account\r\n Action.getConsolidatedAccount(\r\n ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n (clientaccount: ClientAccount) => {\r\n this.setState({\r\n customerType: CustomerType.NotSpecified,\r\n name: clientaccount?.AccountName,\r\n accountId: clientaccount?.HeadClAccountId,\r\n isConsolidatedAccount: true,\r\n });\r\n }\r\n );\r\n PermissionAction.checkUserHavePermissionForAdviserByAccount(\r\n ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n (data) => {\r\n this.setState({ hasReadWriteAccessToAdviser: data?.IsReadOnly != true });\r\n }\r\n );\r\n }\r\n this.setState({ isPresentationClicked: Array(Object.keys(portfolioDashboardTabEnum).length).fill(false) });\r\n }\r\n\r\n public componentWillUnmount() {\r\n const { setPageConfig } = this.context;\r\n setPageConfig(null);\r\n PortfolioDashboardAction.resetMultiSelection();\r\n }\r\n\r\n componentWillReceiveProps() {\r\n const tab = this.getTabIndex(false);\r\n if (tab != this.state.tabIndex && tab != portfolioDashboardTabEnum.Performance) {\r\n this.setState({ tabIndex: tab });\r\n }\r\n }\r\n\r\n private setupCoachmarks(tabIndex) {\r\n const { setPageConfig, reset } = this.context;\r\n switch (tabIndex) {\r\n case portfolioDashboardTabEnum.Summary:\r\n //setPageConfig(getSummaryCoachmarkerConfig(this.state.userInfo?.IsAppStoreEnabledForUser));\r\n //reset();\r\n break;\r\n case portfolioDashboardTabEnum.Investments:\r\n //setPageConfig(investmentCoachmarkerConfig);\r\n // reset();\r\n break;\r\n case portfolioDashboardTabEnum.Performance:\r\n //setPageConfig(performanceCoachmarkerConfig);\r\n // reset();\r\n break;\r\n case portfolioDashboardTabEnum.Roles:\r\n //setPageConfig(rolesCoachmarkerConfig);\r\n // reset();\r\n break;\r\n default:\r\n setPageConfig(null);\r\n break;\r\n }\r\n }\r\n\r\n onPresentationStatusChange(tabIndex, isPresentationClickedPre): void {\r\n const index = Object.keys(portfolioDashboardTabEnum).indexOf(portfolioDashboardTabEnum[tabIndex]);\r\n this.setState({\r\n isPresentationClicked: isPresentationClickedPre.map((item, key) =>\r\n key === index ? !isPresentationClickedPre[key] : item\r\n ),\r\n });\r\n }\r\n\r\n private onRestrictionReasonStoreChange(): void {\r\n const data = RestrictionReasonStore.getData();\r\n this.setState({ restrictionReasons: data });\r\n }\r\n\r\n onClientRecordStoreChange(): void {\r\n const data = ClientRecordStore.getData();\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.PersonalDetail])) {\r\n this.setState({\r\n customerType: CustomerType.Individual,\r\n name: `${TitleMap.getString(data[ClientRecordTab.PersonalDetail]?.Title)} ${\r\n data[ClientRecordTab.PersonalDetail]?.GivenName\r\n } ${data[ClientRecordTab.PersonalDetail]?.FamilyName}`,\r\n });\r\n }\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.OrganisationDetails])) {\r\n const organisation: Organisation = data[ClientRecordTab.OrganisationDetails];\r\n if (organisation?.CustomerType && organisation?.CustomerType !== CustomerType.Company) {\r\n this.setState({\r\n customerType: organisation.CustomerType,\r\n name: data[ClientRecordTab.OrganisationDetails]?.Name,\r\n });\r\n } else {\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.CompanyDetails])) {\r\n this.setState({\r\n customerType: CustomerType.Company,\r\n name: data[ClientRecordTab.CompanyDetails]?.CompanyName,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getTabIndex(\r\n update: boolean\r\n ): portfolioDashboardTabEnum | dashboardRelatedPageEnum | prospectDashboardTabEnum {\r\n const i = window.location.pathname.lastIndexOf(\"/\");\r\n const path = window.location.pathname.substr(i + 1);\r\n if (CommonHelper.isNullOrEmpty(path)) {\r\n return this.state.isProspect\r\n ? prospectDashboardTabEnum.Activity\r\n : isTradingAccount(PortfolioDashboardStore.getData())\r\n ? portfolioDashboardTabEnum.Documents\r\n : portfolioDashboardTabEnum.Summary;\r\n }\r\n\r\n let tabIndex: portfolioDashboardTabEnum | dashboardRelatedPageEnum | prospectDashboardTabEnum = this.state\r\n .isProspect\r\n ? portfolioDashboardTabEnum.Summary\r\n : prospectDashboardTabEnum.Activity;\r\n const tabs = this.state.isProspect\r\n ? prospectDashboardTabEnum\r\n : this.state.isConsolidatedAccount\r\n ? consolidatedAccountDashboardTabEnum\r\n : portfolioDashboardTabEnum;\r\n getEnumValues(tabs).forEach((element: string) => {\r\n if (element.toLowerCase() === path.toLowerCase()) {\r\n tabIndex = element as portfolioDashboardTabEnum;\r\n }\r\n });\r\n if (dashboardRelatedPageEnum.ProductOverview.toLowerCase() === path.toLowerCase()) {\r\n tabIndex = dashboardRelatedPageEnum.ProductOverview;\r\n }\r\n if (dashboardRelatedPageEnum.ClientReport.toLowerCase() === path.toLowerCase()) {\r\n tabIndex = dashboardRelatedPageEnum.ClientReport;\r\n }\r\n if (update) {\r\n this.setupCoachmarks(tabIndex);\r\n }\r\n return tabIndex;\r\n }\r\n\r\n private onTabClick(tab) {\r\n if (tab === dashboardRelatedPageEnum.ClientReport || tab === dashboardRelatedPageEnum.ProductOverview) {\r\n return;\r\n }\r\n\r\n this.setupCoachmarks(tab);\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n })[tab.toString().toLowerCase()]\r\n );\r\n this.setState({ tabIndex: tab });\r\n }\r\n\r\n private getMultiSelection() {\r\n const customerId = this.getCusomterEntityId().entityId;\r\n const customerHierarchyId = this.getCusomterHierarchyId();\r\n if (isConsolidate()) {\r\n PortfolioDashboardAction.getAllAccountsByConsolidateAccountId(customerId, (accounts) => {\r\n PortfolioDashboardAction.getMultiSelection(customerHierarchyId, accounts, (selections) => {\r\n this.setState(\r\n {\r\n isProspect: false,\r\n },\r\n () => {\r\n const tabIndex = this.getTabIndex(true);\r\n this.setState({ isLoading: false, tabIndex });\r\n }\r\n );\r\n });\r\n });\r\n } else {\r\n PortfolioDashboardAction.getAllAccountsByCustomerId(customerId, (accounts) => {\r\n const _accounts = (accounts || []).filter((acc) => acc.AccountStatus != AccountStatus.InProgress);\r\n PortfolioDashboardAction.getMultiSelection(customerHierarchyId, _accounts, (selections) => {\r\n this.setState(\r\n {\r\n isProspect: (_accounts || []).length == 0,\r\n },\r\n () => {\r\n const tabIndex = this.getTabIndex(true);\r\n this.setState({ isLoading: false, tabIndex });\r\n }\r\n );\r\n });\r\n });\r\n }\r\n }\r\n\r\n private getCusomterEntityId() {\r\n const customerId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n return HierarchyIdHelper.generateHierarchyId(customerId);\r\n }\r\n private getCusomterHierarchyId() {\r\n return ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n }\r\n\r\n public getContent(\r\n tabIndex:\r\n | portfolioDashboardTabEnum\r\n | dashboardRelatedPageEnum\r\n | prospectDashboardTabEnum\r\n | consolidatedAccountDashboardTabEnum\r\n ) {\r\n let _content = null;\r\n const customerid = this.getCusomterEntityId().entityId;\r\n switch (tabIndex) {\r\n case portfolioDashboardTabEnum.Summary:\r\n _content = (\r\n \r\n {}}\r\n isBtnPresentationClicked={this.state.isPresentationClicked}\r\n onPresentationViewStatusChange={this.onPresentationStatusChange}\r\n />\r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.Investments:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.Performance:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.Insights:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.Transactions:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.Documents:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.Roles:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.Activity:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case portfolioDashboardTabEnum.ESG:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n case dashboardRelatedPageEnum.ProductOverview:\r\n _content = (\r\n \r\n );\r\n break;\r\n case dashboardRelatedPageEnum.ClientReport:\r\n _content = ;\r\n break;\r\n }\r\n\r\n return _content;\r\n }\r\n\r\n private closeVulnerabilityDetailPop() {\r\n const curSettings = CookieHelper.getCookie(\"showVulnerabilityDetails\");\r\n const settings = CommonHelper.isNullOrEmpty(curSettings) ? {} : JSON.parse(curSettings);\r\n const { entityId } = this.getCusomterEntityId();\r\n settings[entityId] = true;\r\n CookieHelper.setCookie(\"showVulnerabilityDetails\", JSON.stringify(settings), 0, \"/\");\r\n this.setState({ showVulnerabilityPopUp: false });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { tabIndex, isLoading, isProspect, name, isConsolidatedAccount, restrictionReasons } = this.state;\r\n if (isLoading || this.state.customerType == null) {\r\n return null;\r\n }\r\n\r\n let tabs = null;\r\n if (\r\n tabIndex !== dashboardRelatedPageEnum.ClientReport &&\r\n tabIndex !== dashboardRelatedPageEnum.ProductOverview\r\n ) {\r\n if (isProspect) {\r\n tabs = prospectDashboardTabEnum;\r\n } else if (isConsolidatedAccount) {\r\n tabs = consolidatedAccountDashboardTabEnum;\r\n } else {\r\n tabs = portfolioDashboardTabEnum;\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n }\r\n tabs={tabs}\r\n tabIndex={tabIndex}\r\n onTabClick={(tab) => this.onTabClick(tab)}\r\n >\r\n {this.getContent(tabIndex)}\r\n \r\n {this.state.showVulnerabilityPopUp &&\r\n this.state.userInfo?.IsAdmin &&\r\n checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView) && (\r\n this.closeVulnerabilityDetailPop()}\r\n type={LightboxType.Modal}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n {this.state.vulnerabilityDetail.some(\r\n (ele) =>\r\n !CommonHelper.isNullOrEmpty(ele.ReviewDate) &&\r\n CommonHelper.isNullOrEmpty(ele.EndDate) &&\r\n JsonDateParser.toDate(ele.ReviewDate) < new Date()\r\n ) &&

Vulnerability needs revalidated. Please review with customer.

}\r\n

\r\n {\r\n this.closeVulnerabilityDetailPop();\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n }).ContactDetail\r\n );\r\n }}\r\n >\r\n {\"View details >\"}\r\n \r\n

\r\n \r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\nPortfolioDashboard.contextType = CoachMarkerContext;\r\n","import { AccountAllowedStatusClient } from \"../../../../../../../../Wrap/Api/Account/AccountAllowedStatus\";\r\n\r\nexport class AccountAllowedStatusAction {\r\n public static getAccountAllowedStatus(hierarchyId: string, callback) {\r\n const client = new AccountAllowedStatusClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { IsaAllowanceOverviewClient } from \"../../../../../../../../Wrap/Api/ProductOverview/PaymentsIn/IsaAllowanceOverview\";\r\n\r\nexport class IsaAllowanceOverviewAction {\r\n public static getIsaAllowance(hierarchyId: string, callback) {\r\n const client = new IsaAllowanceOverviewClient();\r\n const promise = client.get(hierarchyId, 0);\r\n\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n promise.onError((err) => { });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { AccountDisinvestmentStrategyClient } from \"../../../../../../../../Wrap/Api/Account/AccountDisinvestmentStrategy\";\r\nimport { ProductOverviewClient } from \"../../../../../../../../Wrap/Api/ProductOverview/Charges/ProductOverview\";\r\nimport { AccountDisinvestmentStrategy } from \"../../../../../../../../Wrap/Models/Domains/Account/AccountDisinvestmentStrategy\";\r\nimport { ProductOverviewChargeDispatcher } from \"../Stores/Variable\";\r\n\r\nexport class ProductOverviewChargeAction {\r\n public static getCharge(hierarchyId: string) {\r\n const client = new ProductOverviewClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((data) => {\r\n ProductOverviewChargeDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getAccountDisinvestmentStrategy(\r\n hierarchyId: string,\r\n callBack?: (val: AccountDisinvestmentStrategy) => void\r\n ) {\r\n const client = new AccountDisinvestmentStrategyClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static updateAccountDisinvestmentStrategy(obj: AccountDisinvestmentStrategy, callBack?: (val) => void) {\r\n const client = new AccountDisinvestmentStrategyClient();\r\n const promise = client.put(obj);\r\n promise.onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { CancelRegularPaymentsInClient } from \"../../../../../../../../Wrap/Api/Payments/CancelRegularPaymentsIn\";\r\nimport { CompletedProductPaymentsInClient } from \"../../../../../../../../Wrap/Api/Payments/CompletedProductPaymentsIn\";\r\nimport { PendingProductPaymentsInClient } from \"../../../../../../../../Wrap/Api/Payments/PendingProductPaymentsIn\";\r\nimport { ProductTransfersInClient } from \"../../../../../../../../Wrap/Api/Transfer/ProductTransfersIn\";\r\nimport { IJsonDate } from \"../../../../../../../../Wrap/System/IJsonDate\";\r\n\r\nexport class ProductOverviewPaymentsInAction {\r\n public static getTransferInDetail(hierarchyId: string, callback) {\r\n const client = new ProductTransfersInClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n callback(data);\r\n })\r\n .onError(() => {});\r\n }\r\n\r\n public static getPendingProductPaymentsIn(hierarchyId: string, callback) {\r\n const client = new PendingProductPaymentsInClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n callback(data);\r\n })\r\n .onError(() => {});\r\n }\r\n\r\n public static getComletedProductPaymentsIn(hierarchyId: string, date: IJsonDate, fromInception: boolean, callback) {\r\n const client = new CompletedProductPaymentsInClient();\r\n const promise = client.get(hierarchyId, date, fromInception);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n callback(data);\r\n })\r\n .onError(() => {});\r\n }\r\n\r\n public static cancelRegularPaymentsIn(cashEntryId: number, hierarchyId: string, callback) {\r\n const client = new CancelRegularPaymentsInClient();\r\n const promise = client.post(cashEntryId, hierarchyId);\r\n\r\n promise\r\n .onSuccess((data) => {\r\n callback(data);\r\n })\r\n .onError(() => {});\r\n }\r\n}\r\n","import { ProductNameClient } from \"../../../../../../../../Wrap/Api/Account/ProductName\";\r\nimport { ProductOverviewClient } from \"../../../../../../../../Wrap/Api/Account/ProductOverview\";\r\nimport { AccountStatus } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\n\r\nexport class ProductOverviewProductInformationAction {\r\n public static getProductInformation(hierarchyId: string, callback) {\r\n const client = new ProductOverviewClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((data) => callback(data));\r\n\r\n promise.onError(() => {});\r\n }\r\n\r\n public static updateProductName(hierarchyid: string, name: string, callback) {\r\n const client = new ProductNameClient();\r\n const promise = client.put(hierarchyid, name);\r\n\r\n promise.onSuccess((data) => callback(data));\r\n\r\n promise.onError(() => {});\r\n }\r\n\r\n public static saveProductInformation(hierarchyId: string, name: string, accountStatus: AccountStatus, callback) {\r\n const client = new ProductOverviewClient();\r\n const promise = client.put(hierarchyId, name, accountStatus);\r\n\r\n promise.onSuccess((data) => callback(data));\r\n\r\n promise.onError(() => {});\r\n }\r\n}\r\n","import { WithdrawalsOverviewClient } from \"../../../../../../../../Wrap/Api/Payments/WithdrawalsOverview\";\r\nimport { WithdrawalOverviewModel } from \"../../../../../../../../Wrap/Models/Models/Payments/Withdrawals/WithdrawalOverviewModel\";\r\n\r\nexport class ProductOverviewWithdrawalAction {\r\n public static getWithdrawalDetails(hierarchyId: string, callback: (data: WithdrawalOverviewModel) => void) {\r\n const client = new WithdrawalsOverviewClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((data) => callback(data));\r\n\r\n promise.onError(() => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ChargeType } from \"../../../../../../../../Wrap/Constants/Enums/ProductOverview/Charges/ChargeType\";\r\nimport { ServiceProposition } from \"../../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ServiceValidationError } from \"../../../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { AccountDisinvestmentStrategy } from \"../../../../../../../../Wrap/Models/Domains/Account/AccountDisinvestmentStrategy\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { PortfolioManagerFee } from \"../../../../../../../../Wrap/Models/Domains/ProductOverview/Charges/PortfolioManagerFee\";\r\nimport { ProductCharge } from \"../../../../../../../../Wrap/Models/Domains/ProductOverview/Charges/ProductCharge\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport AriaTooltip from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Methods } from \"../../../../../../Common/CommonHelper\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { DisinvestmentStrategyTypeArray } from \"../../../../NewBusinessWizard/Resource/Contents\";\r\nimport { PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport { TransactionEnum } from \"../../Transactions/Resource/Contents\";\r\nimport { ProductOverviewChargeAction } from \"../Action/ProductOverviewChargeAction\";\r\nimport { DisinvestmentStrategyTypeMap, DisinvestmentTipMsg } from \"../Constant/Content\";\r\nimport { ProductOverviewChargeStore } from \"../Stores/Variable\";\r\n\r\nexport interface ChargesTableProps {\r\n subAccountHierarchyId?: string;\r\n selectedProduct?: SubAccountType;\r\n subClAccountId?: string;\r\n accountHierarchyId?: string;\r\n}\r\n\r\ninterface IChargesTableState {\r\n data: ProductCharge;\r\n isLoading: boolean;\r\n showAccountDisinvestmentStrategy: boolean;\r\n accountDisinvestmentStrategy: DisinvestmentStrategyType;\r\n tempDisinvestmentStrategy: DisinvestmentStrategyType;\r\n clientAccount: ClientAccount;\r\n}\r\n\r\nexport class ChargesTable extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n isLoading: true,\r\n showAccountDisinvestmentStrategy: false,\r\n accountDisinvestmentStrategy: DisinvestmentStrategyType.NotSpecified,\r\n tempDisinvestmentStrategy: DisinvestmentStrategyType.NotSpecified,\r\n clientAccount: PortfolioDashboardStore.getData()?.find(\r\n (ele) => ele.HierarchyId == props.accountHierarchyId\r\n ),\r\n };\r\n this.subscribeToStore(ProductOverviewChargeStore, () => this.onNChargeStoreChange());\r\n }\r\n\r\n private onNChargeStoreChange() {\r\n const data = ProductOverviewChargeStore.getData();\r\n this.setState({\r\n data: data,\r\n isLoading: false,\r\n });\r\n }\r\n\r\n public componentDidMount() {\r\n this.getData();\r\n this.getAccountDisinvestmentStrategy();\r\n }\r\n\r\n public componentDidUpdate(prevProps: ChargesTableProps): void {\r\n if (prevProps.selectedProduct != this.props.selectedProduct) {\r\n this.getData();\r\n }\r\n }\r\n private getData() {\r\n const { subAccountHierarchyId } = this.props;\r\n this.setState({ isLoading: true });\r\n ProductOverviewChargeAction.getCharge(subAccountHierarchyId);\r\n }\r\n\r\n private getAccountDisinvestmentStrategy() {\r\n const { accountHierarchyId } = this.props;\r\n ProductOverviewChargeAction.getAccountDisinvestmentStrategy(\r\n accountHierarchyId,\r\n (res: AccountDisinvestmentStrategy) => {\r\n this.setState({ accountDisinvestmentStrategy: res.DisinvestmentStrategyType });\r\n }\r\n );\r\n }\r\n\r\n private getChargePercentageFormat(val?: number): string {\r\n const value = val ? val.toFixed(2) : 0;\r\n return value + \"%\";\r\n }\r\n\r\n private renderPortfolioManagerFeeDom(PortfolioManagerFees: Array): JSX.Element[] {\r\n if (PortfolioManagerFees && PortfolioManagerFees.length > 0) {\r\n const products: JSX.Element[] = [];\r\n PortfolioManagerFees.forEach((item, index) => {\r\n const product: JSX.Element = (\r\n \r\n {item.PortfolioName}\r\n \r\n {this.getChargePercentageFormat(item.Percentage)} {\" \" + item.Frequency}\r\n \r\n \r\n );\r\n products.push(product);\r\n });\r\n return products;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private renderAccountDisinvestmentStrategyView() {\r\n return (\r\n {\r\n this.setState({ showAccountDisinvestmentStrategy: false });\r\n }}\r\n type={LightboxType.Modal}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n
\r\n DisinvestmentStrategyTypeMap[x]}\r\n onChange={(val) => {\r\n this.setState({ tempDisinvestmentStrategy: val });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n this.setState({ showAccountDisinvestmentStrategy: false })}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n private saveAccountDisinvestmentStrategy() {\r\n ProductOverviewChargeAction.updateAccountDisinvestmentStrategy(\r\n {\r\n HierarchyId: this.props.accountHierarchyId,\r\n DisinvestmentStrategyType: this.state.tempDisinvestmentStrategy,\r\n },\r\n (callBack: Array) => {\r\n this.setState({\r\n showAccountDisinvestmentStrategy: false,\r\n accountDisinvestmentStrategy: this.state.tempDisinvestmentStrategy,\r\n });\r\n }\r\n );\r\n }\r\n\r\n private isLegacyProduct(selectedProduct: SubAccountType): boolean {\r\n return (\r\n selectedProduct == SubAccountType.OffshoreBond ||\r\n selectedProduct == SubAccountType.OnshoreBond ||\r\n selectedProduct == SubAccountType.Sipp\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, isLoading, clientAccount } = this.state;\r\n const { selectedProduct, subClAccountId } = this.props;\r\n if (isLoading) {return ;}\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Charges

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data?.ProductAdministrationChargePercentage != null &&\r\n this.isLegacyProduct(selectedProduct) && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n Platform charge\r\n \r\n {\r\n \"This value is based on the most recent Platform Charge event. The next Platform charge amount may be vary from this value.\"\r\n }\r\n \r\n \r\n {this.getChargePercentageFormat(data?.PlatformChargePercentage)}\r\n
Next ongoing adviser charge due\r\n {data?.OngoingAdviserCharge != null\r\n ? JsonDateParser.getFormatDate(\r\n data?.OngoingAdviserCharge?.NextPaymentDate,\r\n \"dd/MM/yyyy\"\r\n )\r\n : \"N/A\"}\r\n
\r\n Ongoing adviser charge\r\n {checkPermission(UserClaim.AdviserPortalDluAdviserChargingCanView) && (\r\n \r\n \r\n Edit ongoing adviser charge\r\n \r\n )}\r\n \r\n {data?.OngoingAdviserCharge != null\r\n ? (data?.OngoingAdviserCharge?.ChargeType == ChargeType.Percentage\r\n ? this.getChargePercentageFormat(\r\n data?.OngoingAdviserCharge?.Value\r\n )\r\n : Methods.getMoneyFormat(\r\n {\r\n Amount: data?.OngoingAdviserCharge?.Value,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n true\r\n )) +\r\n (\" \" + data?.OngoingAdviserCharge?.Frequency)\r\n : \"N/A\"}\r\n
Product administration charge\r\n {this.getChargePercentageFormat(\r\n data?.ProductAdministrationChargePercentage\r\n )}\r\n
\r\n \r\n
\r\n \r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.charges,\r\n hierarchyid: this.props.subAccountHierarchyId,\r\n },\r\n }\r\n )\r\n }\r\n >\r\n View charges\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {data?.PortfolioManagerFees.length > 0 && (\r\n <>\r\n

Portfolio manager fee

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderPortfolioManagerFeeDom(data?.PortfolioManagerFees)}\r\n \r\n
Portfolio namePortfolio fee
\r\n
\r\n \r\n )}\r\n\r\n {clientAccount?.AccountServicePropositionId == ServiceProposition.Wrap &&\r\n clientAccount?.Company != \"SAVINGSDIRECT\" &&\r\n !this.isLegacyProduct(selectedProduct) && (\r\n <>\r\n

\r\n Auto-Disinvestment strategy\r\n \r\n {DisinvestmentTipMsg}\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Strategy\r\n \r\n this.setState({\r\n showAccountDisinvestmentStrategy: true,\r\n })\r\n }\r\n >\r\n \r\n \r\n Edit account disinvestment strategy\r\n \r\n \r\n \r\n {\r\n DisinvestmentStrategyTypeMap[\r\n this.state.accountDisinvestmentStrategy\r\n ]\r\n }\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {this.state.showAccountDisinvestmentStrategy && this.renderAccountDisinvestmentStrategyView()}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Money } from \"../../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { IsaAllowanceOverviewAction } from \"../Action/IsaAllowanceOverviewAction\";\r\nimport { IsaAllowanceOverviewChart } from \"./IsaAllowanceOverviewChart\";\r\n\r\ninterface IIsaAllowanceOverviewProps extends React.Props {\r\n headaccount: ClientAccount;\r\n}\r\n\r\ninterface IIsaAllowanceOverviewState {\r\n used: Money;\r\n expected: Money;\r\n remaining: Money;\r\n taxYearStartDate: Date;\r\n taxYearEndDate: Date;\r\n clAccountId: string;\r\n}\r\n\r\nexport class IsaAllowanceOverview extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n used: null,\r\n expected: null,\r\n remaining: null,\r\n taxYearStartDate: new Date(),\r\n taxYearEndDate: new Date(),\r\n clAccountId: null,\r\n };\r\n }\r\n public componentDidMount() {\r\n this.getData();\r\n }\r\n private getData() {\r\n IsaAllowanceOverviewAction.getIsaAllowance(this.props.headaccount?.HierarchyId, (isaAllowance: any) => {\r\n this.setState({\r\n used: isaAllowance?.Used,\r\n expected: isaAllowance?.Expected,\r\n remaining: isaAllowance?.Remaining,\r\n taxYearStartDate: isaAllowance?.TaxYear?.StartDate,\r\n taxYearEndDate: isaAllowance?.TaxYear?.EndDate,\r\n clAccountId: this.props.headaccount?.HeadClAccountId,\r\n });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { used, expected, remaining, taxYearStartDate, taxYearEndDate, clAccountId } = this.state;\r\n const startYear = JsonDateParser.getFormatDate(taxYearStartDate, \"yyyy\");\r\n const endYear = JsonDateParser.getFormatDate(taxYearEndDate, \"yyyy\");\r\n const today = JsonDateParser.getFormatDateString(new Date(), \"dd-MM-yyyy\", true, true);\r\n\r\n return (\r\n <>\r\n

ISA allowance

\r\n

\r\n Tax year {startYear}/{endYear}\r\n

\r\n
\r\n \r\n {checkPermission(UserClaim.AdviserPortalDluIsaSubscriptionsCanView) && (\r\n
\r\n \r\n View all ISA subscriptions\r\n \r\n
\r\n )}\r\n
\r\n\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Money } from \"../../../../../../../../Wrap/Core/DataTypes/Money\";\r\n\r\ninterface IIsaAllowanceOverviewChart {\r\n used?: Money;\r\n expected?: Money;\r\n remaining?: Money;\r\n}\r\n\r\nexport const IsaAllowanceOverviewChart = (props: IIsaAllowanceOverviewChart) => {\r\n let total = 0;\r\n let usedPercentage = 0;\r\n let expectedPercentage = 0;\r\n let remainingPercentage = 0;\r\n let liftExpected = false; //Segment \"Expected\" might collapse with surrounding labels\r\n if (props.used) {\r\n total += props.used.Amount;\r\n }\r\n if (props.expected) {\r\n total += props.expected.Amount;\r\n }\r\n if (props.remaining) {\r\n total += props.remaining.Amount;\r\n }\r\n if (props.used) {usedPercentage = (100 * props.used.Amount) / total;}\r\n if (props.expected) {expectedPercentage = (100 * props.expected.Amount) / total;}\r\n if (props.remaining) {remainingPercentage = (100 * props.remaining.Amount) / total;}\r\n if (usedPercentage < 12 && expectedPercentage < 12) {liftExpected = true;}\r\n if (remainingPercentage < 12 && expectedPercentage < 12) {liftExpected = true;}\r\n\r\n return (\r\n
\r\n
\r\n {usedPercentage > 0 && (\r\n
\r\n {usedPercentage.toFixed(2)}% Used\r\n \r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(props.used?.Amount, props.used?.Currency)}\r\n \r\n \r\n
\r\n )}\r\n {expectedPercentage > 0 && (\r\n \r\n {expectedPercentage.toFixed(2)}% Expected\r\n \r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(props.expected?.Amount, props.used?.Currency)}\r\n \r\n \r\n
\r\n )}\r\n
\r\n {remainingPercentage.toFixed(2)}% Remaining\r\n \r\n \r\n {MoneyDisplayHelper.FromatMoneyDisplay(props.remaining?.Amount, props.used?.Currency)}\r\n \r\n \r\n
\r\n
\r\n
\r\n 0%\r\n 25%\r\n 50%\r\n 75%\r\n 100%\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { groupBy } from \"lodash\";\r\nimport { PaymentType } from \"../../../../../../../../../Wrap/Constants/Enums/Apply/PaymentType\";\r\nimport { ProductOverviewPaymentsInAction } from \"../../Action/ProductOverviewPaymentsInAction\";\r\nimport { ClientAccount } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\nimport { PaymentPayer } from \"../../../../../../../../../Wrap/Constants/Enums/Payments/PaymentPayer\";\r\nimport AriaTooltip from \"../../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { PaymentPayerMapper, TransferStatusMapper } from \"../../Constant/Content\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { JsonDateParser } from \"../../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { SubAccountType } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { SubAccountTypeHelper } from \"../../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { Action } from \"../../../../../../../Actions/Action\";\r\nimport { CashPaymentTypeQuery } from \"../../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { CashPayment } from \"../../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { PaymentSource } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/PaymentSource\";\r\nimport { PaymentStatus } from \"../../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/PaymentStatus\";\r\nimport { InstructionType } from \"../../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/InstructionType\";\r\nimport { StaticUrls } from \"../../../../../../../Resoures/StaticUrls\";\r\nimport { SelectRegularPaymentPop } from \"../../../Common/SelectRegularPaymentPop\";\r\nimport { UserClaim } from \"../../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Permission } from \"../../../../../../../../Shared/Permission/Permission\";\r\nimport { InvestorType } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\n\r\ninterface IActiveInstructionsProps {\r\n subAccountHierarchyId: string;\r\n activeTransferIn: any;\r\n SubaccountType?: SubAccountType;\r\n headAccount: ClientAccount;\r\n}\r\n\r\nconst splitData = (data) => {\r\n const result = { single: null, regular: null };\r\n const groupedData = groupBy(data, \"Type\");\r\n Object.keys(groupedData).forEach((key) => {\r\n if (key === PaymentType.Single.toString()) {\r\n result.single = groupedData[key];\r\n } else if (key === PaymentType.Regular.toString()) {\r\n result.regular = groupedData[key];\r\n }\r\n });\r\n return result;\r\n};\r\n\r\nexport const ActiveInstructions = (props: IActiveInstructionsProps) => {\r\n const [regularPayment, setRegularPayment] = useState(null);\r\n const [singlePayment, setSinglePayment] = useState(null);\r\n const [selectClientRegular, setSelectClientRegular] = useState([]);\r\n const [lightBoxInfo, setLightBoxInfo] = useState({\r\n isShow: false,\r\n amount: null,\r\n frequency: null,\r\n bankAccount: null,\r\n nextPaymentDate: null,\r\n cashEntryId: null,\r\n });\r\n\r\n const editRegularLink = (cashEntryId: number) => {\r\n return StaticUrls.RegularPaymentUrl(\r\n props.SubaccountType.toString(),\r\n props.headAccount?.HeadClAccountId,\r\n props.headAccount?.HierarchyId,\r\n props.subAccountHierarchyId,\r\n \"edit\",\r\n cashEntryId\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n ProductOverviewPaymentsInAction.getPendingProductPaymentsIn(props.subAccountHierarchyId, (data) => {\r\n const splitDatum = splitData(data);\r\n setSinglePayment(splitDatum.single);\r\n setRegularPayment(splitDatum.regular);\r\n });\r\n }, [props.subAccountHierarchyId]);\r\n\r\n return (\r\n <>\r\n
\r\n

Payment in

\r\n

Active instructions

\r\n\r\n {!SubAccountTypeHelper.isBond(props.SubaccountType) && (\r\n
\r\n
\r\n
\r\n

Current regular payment instructions

\r\n
\r\n {regularPayment?.length > 0 &&\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n
\r\n {\r\n Action.getRegularPaymentCashEntry(\r\n props.subAccountHierarchyId,\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentFrequencyQuery.Regular,\r\n (result) => {\r\n const clientRegularPayment = result.filter(\r\n (cashEntry) =>\r\n (cashEntry.Source == PaymentSource.Employee ||\r\n cashEntry.Source == PaymentSource.NotSpecified) &&\r\n cashEntry.InstructionType == InstructionType.Standing &&\r\n cashEntry.Status == PaymentStatus.Authorised\r\n );\r\n if (clientRegularPayment.length > 1) {\r\n setSelectClientRegular(clientRegularPayment);\r\n } else {\r\n window.location.assign(\r\n editRegularLink(clientRegularPayment[0]?.BatchId)\r\n );\r\n }\r\n }\r\n );\r\n }}\r\n >\r\n \r\n Edit current regular payment instructions\r\n \r\n\r\n {/**/}\r\n
\r\n )}\r\n
\r\n {regularPayment?.length > 0 ? (\r\n
\r\n {\r\n if (\r\n data === null ||\r\n data === \"\" ||\r\n data === PaymentPayer.NotSpecified\r\n ) {\r\n return (\r\n \r\n We don’t have a record of the payee for this transaction\r\n \r\n );\r\n } else {\r\n return PaymentPayerMapper[data];\r\n }\r\n },\r\n },\r\n {\r\n title: \"Amount\",\r\n tdCssWrapper: \"cell-right\",\r\n thCssWrapper: \"cell-right\",\r\n key: \"Amount\",\r\n render: (data) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(\r\n data,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n );\r\n },\r\n },\r\n {\r\n title: \"Frequency\",\r\n key: \"Frequency\",\r\n },\r\n {\r\n title: \"Paid from\",\r\n key: \"PaidFrom\",\r\n },\r\n {\r\n title: \"Next Payment\",\r\n key: \"NextPaymentDate\",\r\n render: (data) => {\r\n return JsonDateParser.getFormatDate(data, \"yyyy-MM-dd\");\r\n },\r\n },\r\n {\r\n title: \"Investment allocation\",\r\n key: \"Id\",\r\n render: (data, row) => {\r\n return checkPermission(UserClaim.AdviserPortalDluOrdersCanView) ? (\r\n \r\n View\r\n \r\n ) : null;\r\n },\r\n },\r\n {\r\n title: \"\",\r\n key: \"Id\",\r\n render: (data, row) => {\r\n return (\r\n {\r\n setLightBoxInfo({\r\n isShow: true,\r\n amount: row.Amount,\r\n frequency: row.Frequency,\r\n bankAccount: row.PaidFrom,\r\n nextPaymentDate: row.NextPaymentDate,\r\n cashEntryId: row.CashEntryId,\r\n });\r\n }}\r\n >\r\n Cancel\r\n \r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n ) : (\r\n
\r\n No regular payment(s) currently set up for this client\r\n
\r\n )}\r\n
\r\n )}\r\n\r\n
\r\n
\r\n
\r\n

Expected single payments(s)

\r\n
\r\n
\r\n {singlePayment?.length > 0 ? (\r\n {\r\n if (\r\n data === null ||\r\n data === \"\" ||\r\n data === PaymentPayer.NotSpecified\r\n ) {\r\n return (\r\n \r\n We don’t have a record of the payee for this\r\n transaction\r\n \r\n );\r\n } else {\r\n return PaymentPayerMapper[data];\r\n }\r\n },\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n render: (data) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(\r\n data,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n );\r\n },\r\n },\r\n {\r\n title: \"Frequency\",\r\n key: \"Frequency\",\r\n },\r\n {\r\n title: \"Paid from\",\r\n key: \"PaidFrom\",\r\n },\r\n ]}\r\n />\r\n ) : (\r\n

\r\n No single payment(s) currently set up for this client\r\n

\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Transfers

\r\n
\r\n
\r\n {props.activeTransferIn?.length > 0 ? (\r\n {\r\n return TransferStatusMapper[data];\r\n },\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n render: (data) => {\r\n if (data === null) {\r\n return \"No amount recorded\";\r\n } else {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(\r\n data,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n );\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n ) : (\r\n

No transfer(s) currently set up for this client

\r\n )}\r\n\r\n {props.activeTransferIn?.length > 0 &&\r\n checkPermission(UserClaim.AdviserPortalDluReregistrationTransfersCanView) ? (\r\n \r\n {props.activeTransferIn?.length} pending transfer\r\n \r\n ) : (\r\n {props.activeTransferIn?.length} pending transfer\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {lightBoxInfo.isShow && (\r\n {\r\n setLightBoxInfo({\r\n isShow: false,\r\n amount: null,\r\n frequency: null,\r\n bankAccount: null,\r\n nextPaymentDate: null,\r\n cashEntryId: null,\r\n });\r\n }}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Amount\r\n {MoneyDisplayHelper.FromatMoneyDisplay(\r\n lightBoxInfo.amount,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n )}\r\n
Frequency{lightBoxInfo.frequency}
Bank account{lightBoxInfo.bankAccount}
Next payment{lightBoxInfo.nextPaymentDate}
\r\n
\r\n
\r\n {\r\n ProductOverviewPaymentsInAction.cancelRegularPaymentsIn(\r\n lightBoxInfo.cashEntryId,\r\n props.subAccountHierarchyId,\r\n (data) => {\r\n const splitDatum = splitData(data);\r\n setRegularPayment(splitDatum.regular);\r\n setLightBoxInfo({\r\n isShow: false,\r\n amount: null,\r\n frequency: null,\r\n bankAccount: null,\r\n nextPaymentDate: null,\r\n cashEntryId: null,\r\n });\r\n }\r\n );\r\n }}\r\n >\r\n Yes\r\n \r\n
\r\n
\r\n {\r\n setLightBoxInfo({\r\n isShow: false,\r\n amount: null,\r\n frequency: null,\r\n bankAccount: null,\r\n nextPaymentDate: null,\r\n cashEntryId: null,\r\n });\r\n }}\r\n >\r\n No\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n \r\n {\r\n setSelectClientRegular([]);\r\n }}\r\n onSelect={(id) => window.location.assign(editRegularLink(id))}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import HighchartsReact from \"highcharts-react-official\";\r\nimport { groupBy } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport * as Highcharts from \"highcharts/highstock\";\r\nimport { PaymentPayerMapper, PaymentTypeMapper } from \"../../Constant/Content\";\r\nimport { SubAccountType } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { JsonDateParser } from \"../../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PaymentPayer } from \"../../../../../../../../../Wrap/Constants/Enums/Payments/PaymentPayer\";\r\nimport AriaTooltip from \"../../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\nimport { addMonths, addYears } from \"../../../../../../../../../react-core/utils/date\";\r\nimport { ProductOverviewPaymentsInAction } from \"../../Action/ProductOverviewPaymentsInAction\";\r\nimport { SelectEditor } from \"../../../../../../../../../react-core/Html/SelectEditor\";\r\n\r\ninterface ICompletedInstructionsProps {\r\n subAccountHierarchyId: string;\r\n selectedProduct: SubAccountType;\r\n}\r\n\r\nconst options = (data: any): Highcharts.Options => {\r\n return {\r\n chart: {\r\n renderTo: \"container\",\r\n type: \"column\",\r\n style: {\r\n fontFamily: \"inherit\",\r\n },\r\n height: 250,\r\n backgroundColor: \"transparent\",\r\n className: \"instructions-column-chart-isa\",\r\n },\r\n title: {\r\n text: \"\",\r\n },\r\n credits: {\r\n enabled: false,\r\n },\r\n xAxis: {\r\n crosshair: true,\r\n lineColor: \"transparent\",\r\n tickWidth: 0,\r\n tickLength: 0,\r\n tickColor: \"#979797\",\r\n type: \"datetime\",\r\n showFirstLabel: true,\r\n showLastLabel: true,\r\n gridLineWidth: 0,\r\n labels: {\r\n useHTML: true,\r\n style: {\r\n color: \"#0a2f73\",\r\n },\r\n align: \"center\",\r\n enabled: true,\r\n step: 1,\r\n formatter: function () {\r\n const date = new Date(this.value);\r\n const month = JsonDateParser.getMonthNameMapping((date.getMonth() + 1).toString(), true);\r\n const year = JsonDateParser.getFormatDate(JsonDateParser.toJsonDateNoOffset(date), \"yy\");\r\n\r\n const formatDate = month + \" \" + year;\r\n return formatDate;\r\n },\r\n },\r\n title: {\r\n text: \"\",\r\n },\r\n minRange: 24 * 3600 * 1000 * 365,\r\n },\r\n yAxis: {\r\n maxPadding: 0,\r\n allowDecimals: false,\r\n gridLineWidth: 0,\r\n title: null,\r\n labels: {\r\n formatter: function () {\r\n return \"£\" + this.value;\r\n },\r\n style: {\r\n color: \"#0a2f73\",\r\n },\r\n step: 1,\r\n useHTML: true,\r\n },\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n return \"\" + this.series.name + \": £\" + this.y;\r\n },\r\n borderColor: \"transparent\",\r\n useHTML: true,\r\n },\r\n legend: {\r\n symbolHeight: 14,\r\n symbolWidth: 14,\r\n symbolRadius: 0,\r\n symbolPadding: 10,\r\n useHTML: true,\r\n itemStyle: { lineHeight: \"14px\" },\r\n },\r\n plotOptions: {\r\n column: {\r\n stacking: \"normal\",\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n states: {\r\n inactive: {\r\n opacity: 1,\r\n },\r\n },\r\n },\r\n },\r\n series: composeDataSeries(data),\r\n };\r\n};\r\n\r\nconst renderChartAndTable = (data: any, props) => {\r\n const tableData = composeTableData(data);\r\n let singleTotal = 0,\r\n regularTotal = 0;\r\n tableData.forEach((element) => {\r\n singleTotal += element[\"Single\"] || 0;\r\n regularTotal += element[\"Regular\"] || 0;\r\n });\r\n\r\n const cols = [\r\n {\r\n title: \"Payer\",\r\n key: \"Payer\",\r\n thInnerCss: \"sr-only\",\r\n render: (data) => {\r\n if (data === null || data === \"\" || data === PaymentPayer.NotSpecified) {\r\n return (\r\n \r\n We don’t have a record of the payee for this transaction\r\n \r\n );\r\n } else {\r\n return PaymentPayerMapper[data];\r\n }\r\n },\r\n },\r\n {\r\n title: \"Single payment\",\r\n key: \"Single\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data || 0, CurrencyCode.GBP, true, 2);\r\n },\r\n },\r\n ];\r\n\r\n const totalBody = [\r\n { data: \"Total\", colSpan: 1 },\r\n {\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(singleTotal, CurrencyCode.GBP, true, 2),\r\n colSpan: 1,\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ];\r\n if (props.SelectedProduct !== SubAccountType.OnshoreBond && props.SelectedProduct !== SubAccountType.OffshoreBond) {\r\n // Add regular payment\r\n cols.push({\r\n title: \"Regular payment\",\r\n key: \"Regular\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data || 0, CurrencyCode.GBP, true, 2);\r\n },\r\n });\r\n totalBody.push({\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(regularTotal, CurrencyCode.GBP, true, 2),\r\n colSpan: 1,\r\n tfTdCssWrapper: \"cell-right\",\r\n });\r\n }\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst composeTableData = (data: any) => {\r\n // Group by Payer first\r\n const groupByPayerData = groupBy(data, \"Payer\");\r\n const reducer = (accumulator, currentValue) => {\r\n return accumulator + currentValue.Amount;\r\n };\r\n return Object.keys(groupByPayerData).map((e) => {\r\n const tempObj = { Payer: e };\r\n // Group by Type and calculator total\r\n const restData = groupBy(groupByPayerData[e], \"Type\");\r\n\r\n Object.keys(restData).forEach((el) => {\r\n if (PaymentTypeMapper[el]) {\r\n const totalAmount = restData[el].reduce(reducer, 0);\r\n tempObj[PaymentTypeMapper[el]] = totalAmount;\r\n }\r\n });\r\n return tempObj;\r\n });\r\n};\r\n\r\nconst composeDataSeries = (data: any): Highcharts.SeriesOptionsType[] => {\r\n // Group by payer type first\r\n let dataSeries = [];\r\n const groupByPayerData = groupBy(data, \"Payer\");\r\n const reducer = (accumulator, currentValue) => {\r\n return currentValue.Amount + accumulator;\r\n };\r\n dataSeries = Object.keys(groupByPayerData).map((e) => {\r\n const tempObj = {\r\n type: \"column\",\r\n name: PaymentPayerMapper[e],\r\n pointPadding: 1,\r\n pointWidth: 5,\r\n borderWidth: 0,\r\n data: null,\r\n };\r\n\r\n // Handle date format\r\n groupByPayerData[e].forEach((e) => {\r\n e.DateCompleted = new Date(JsonDateParser.getFormatDate(new Date(e.DateCompleted), \"yyyy-MM\")).getTime();\r\n });\r\n\r\n // Compose the rest data\r\n const restData = groupBy(groupByPayerData[e], \"DateCompleted\");\r\n const data = Object.keys(restData).map((el) => {\r\n // calculate total amount\r\n const totalAmount = restData[el].reduce(reducer, 0);\r\n return { x: parseInt(el), y: totalAmount };\r\n });\r\n tempObj.data = data;\r\n return tempObj;\r\n });\r\n return dataSeries;\r\n};\r\n\r\nexport const CompletedInstructions = (props: ICompletedInstructionsProps) => {\r\n const [data, setData] = React.useState(null);\r\n const [period, setPeriod] = React.useState(\"From inception\");\r\n\r\n React.useEffect(() => {\r\n // Re-call the api and re-render the chart and table\r\n let date = JsonDateParser.toJsonDateNoOffset(addMonths(new Date(), -1)),\r\n fromInception = false;\r\n switch (period) {\r\n case \"From inception\":\r\n date = JsonDateParser.toJsonDateNoOffset(new Date());\r\n fromInception = true;\r\n break;\r\n case \"1 month\":\r\n date = JsonDateParser.toJsonDateNoOffset(addMonths(new Date(), -1));\r\n fromInception = false;\r\n break;\r\n case \"1 year\":\r\n date = JsonDateParser.toJsonDateNoOffset(addYears(new Date(), -1));\r\n fromInception = false;\r\n break;\r\n }\r\n ProductOverviewPaymentsInAction.getComletedProductPaymentsIn(\r\n props.subAccountHierarchyId,\r\n date,\r\n fromInception,\r\n (data) => {\r\n setData(data);\r\n }\r\n );\r\n }, [period, props.subAccountHierarchyId]);\r\n return (\r\n <>\r\n

Completed instructions

\r\n {\r\n return v;\r\n }}\r\n selected={period}\r\n onChange={(v) => {\r\n setPeriod(v);\r\n }}\r\n label=\"Date\"\r\n />\r\n {data?.length > 0 ? (\r\n renderChartAndTable(data, props)\r\n ) : (\r\n
No payments in over the date range selected
\r\n )}\r\n \r\n );\r\n};\r\n","import { groupBy } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { SubAccountType } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { TransferStatus } from \"../../../../../../../../../Wrap/Constants/Enums/Transfer/TransferStatus\";\r\nimport { UserClaim } from \"../../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { Permission } from \"../../../../../../../../Shared/Permission/Permission\";\r\nimport { Navigator } from \"../../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../../../../Urls\";\r\nimport { TransactionEnum } from \"../../../Transactions/Resource/Contents\";\r\nimport { ProductOverviewPaymentsInAction } from \"../../Action/ProductOverviewPaymentsInAction\";\r\nimport { IsaAllowanceOverview } from \"../IsaAllowanceOverview\";\r\nimport { ActiveInstructions } from \"./ActiveInstructions\";\r\nimport { CompletedInstructions } from \"./CompletedInstructions\";\r\nimport { Transfers } from \"./Transfers\";\r\n\r\ninterface IProductOverviewPaymentsInProps {\r\n selectedProduct?: SubAccountType;\r\n subAccountHierarchyId: string;\r\n headaccount: ClientAccount;\r\n}\r\n\r\nexport const ProductOverviewPaymentsIn = (props: IProductOverviewPaymentsInProps) => {\r\n const [activeTransferIn, setActiveTransferIn] = React.useState([]);\r\n const [completeTransferIn, setCompleteTransferIn] = React.useState([]);\r\n React.useEffect(() => {\r\n ProductOverviewPaymentsInAction.getTransferInDetail(props.subAccountHierarchyId, (data) => {\r\n setActiveTransferIn([]);\r\n setCompleteTransferIn([]);\r\n // group by status\r\n const groupedData = groupBy(data, \"Status\");\r\n Object.keys(groupedData).forEach((key) => {\r\n if (key === TransferStatus.Pending.toString()) {\r\n setActiveTransferIn(groupedData[key]);\r\n } else if (key === TransferStatus.Completed.toString()) {\r\n setCompleteTransferIn(groupedData[key]);\r\n }\r\n });\r\n });\r\n }, [props.subAccountHierarchyId]);\r\n\r\n return (\r\n <>\r\n {props.selectedProduct == SubAccountType.StocksIsa && (\r\n \r\n )}\r\n \r\n \r\n {(props.selectedProduct == SubAccountType.StocksIsa ||\r\n props.selectedProduct == SubAccountType.InvestmentAccount) && (\r\n \r\n )}\r\n\r\n \r\n
\r\n

\r\n To view all payments (including cancelled instructions){\" \"}\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.paymentsWithdrawals,\r\n hierarchyid: props.subAccountHierarchyId,\r\n },\r\n }\r\n );\r\n }}\r\n >\r\n click here.\r\n \r\n

\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { UserClaim } from \"../../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { TransferModel } from \"../../../../../../../../../Wrap/Models/Models/Transfer/TransferModel\";\r\nimport { checkPermission } from \"../../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\nimport { TransferStatusMapper } from \"../../Constant/Content\";\r\n\r\ninterface ITransfers {\r\n completedTransferIn: TransferModel[];\r\n headaccount: ClientAccount;\r\n}\r\n\r\nconst renderCompleteTransfers = (data: TransferModel[], claccountId: string) => {\r\n // calculate Total amount\r\n const reducer = (accumulator, currentvalue) => {\r\n return accumulator + currentvalue.Amount;\r\n };\r\n const totalAmount = data.reduce(reducer, 0);\r\n return (\r\n <>\r\n {\r\n return JsonDateParser.getFormatDate(data, \"yyyy-MM-dd\");\r\n },\r\n },\r\n { title: \"Ceding providers\", key: \"Provider\" },\r\n {\r\n title: \"Status\",\r\n key: \"Status\",\r\n render: (data) => {\r\n return {TransferStatusMapper[data]};\r\n },\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n tdCssWrapper: \"cell-right\",\r\n thCssWrapper: \"cell-right\",\r\n render: (data) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2);\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 3 },\r\n {\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(totalAmount, CurrencyCode.GBP, true, 2),\r\n colSpan: 1,\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n />\r\n {checkPermission(UserClaim.AdviserPortalDluReregistrationTransfersCanView) && (\r\n \r\n View completed transfers\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport const Transfers = (props: ITransfers) => {\r\n return (\r\n <>\r\n

Transfers

\r\n {props.completedTransferIn?.length > 0 ? (\r\n
\r\n {renderCompleteTransfers(props.completedTransferIn, props.headaccount?.HeadClAccountId)}\r\n
\r\n ) : (\r\n
No transfer(s) currently set up for this client
\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { ContextActions } from \"../../../../../../../../react-core/Flux/ContextActions\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { SubAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport AdviserSiteTagManager from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { StaticUrls } from \"../../../../../../Resoures/StaticUrls\";\r\nimport { UserStore } from \"../../../../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { subAccountTypeMap } from \"../../Performance/Resource/Contents\";\r\nimport {\r\n PortfolioDashboardMultiSelectionDisaptcher,\r\n PortfolioDashboardMultiSelectionStore,\r\n PortfolioDashboardStore,\r\n} from \"../../../Store/Variable\";\r\nimport {\r\n IPortfolioDashboardComponentProps,\r\n PortfolioDashboardComponent,\r\n} from \"../../Common/PortfolioDashboardComponent\";\r\nimport { ChargesTable } from \"./ChargesTable\";\r\nimport { ProductOverviewPaymentsIn } from \"./PaymentsIn/ProductOverviewPaymentsIn\";\r\nimport { ProductOverviewProductInformation } from \"./ProductOverviewProductInformation\";\r\nimport { ProductOverviewWithdrawal } from \"./ProductOverviewWithdrawal\";\r\n\r\ninterface IProductOverviewProps extends IPortfolioDashboardComponentProps {}\r\n\r\ninterface IProductOverviewState {\r\n content: JSX.Element;\r\n tabIndex: ProductOverViewTabContent;\r\n isLoading: boolean;\r\n selectedAccount: SubAccount;\r\n dropdownList: SubAccount[];\r\n headAccount: ClientAccount;\r\n}\r\n\r\nexport enum ProductOverViewTabContent {\r\n PaymentsIn = \"Payment in\",\r\n Withdrawls = \"Withdrawals\",\r\n Charges = \"Charges\",\r\n ProductInformation = \"Product information\",\r\n}\r\n\r\nexport class ProductOverview extends PortfolioDashboardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(ContextStore, () => {\r\n if (\r\n ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount) &&\r\n ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount) !== this.state.selectedAccount?.HierarchyId\r\n ) {\r\n this.initUrlSubAccount(ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount));\r\n this.getDropdownList(PortfolioDashboardMultiSelectionStore.getData());\r\n }\r\n });\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n content: null,\r\n tabIndex: ProductOverViewTabContent.PaymentsIn,\r\n isLoading: true,\r\n selectedAccount: null,\r\n dropdownList: [],\r\n headAccount: null,\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount(): void {\r\n const subAccountHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount);\r\n const curSelection = PortfolioDashboardMultiSelectionStore.getData();\r\n let newSelection = curSelection;\r\n if (!curSelection.includes(ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount))) {\r\n const { headAccount } = this.getSubAccountDetail(subAccountHierarchyId);\r\n newSelection = curSelection.concat((headAccount?.SubAccounts || []).map((sub) => sub.HierarchyId));\r\n PortfolioDashboardMultiSelectionDisaptcher.dispatch({\r\n payload: newSelection,\r\n actionType: ActionType.Success,\r\n });\r\n }\r\n this.initUrlSubAccount(subAccountHierarchyId);\r\n this.getDropdownList(newSelection);\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .productOverView({\r\n subaccounthierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount),\r\n })\r\n .productOverView.getUrl(),\r\n pageTitle: `${document.title} - client - transactions`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n initUrlSubAccount = (subAccountHierarchyId: string) => {\r\n if (subAccountHierarchyId !== this.state.selectedAccount?.HierarchyId) {\r\n this.setState({ isLoading: true });\r\n const { subAccount, headAccount } = this.getSubAccountDetail(subAccountHierarchyId);\r\n this.setState({ selectedAccount: subAccount, headAccount: headAccount }, () => {\r\n this.getContent(ProductOverViewTabContent.PaymentsIn);\r\n });\r\n }\r\n };\r\n\r\n private getSubAccountDetail = (subaccount: string) => {\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n let selectedSubAccount: SubAccount = null;\r\n let headAccount: ClientAccount = null;\r\n allAccounts.forEach((account) => {\r\n (account.SubAccounts || []).forEach((sub) => {\r\n if (sub.HierarchyId === subaccount) {\r\n selectedSubAccount = sub;\r\n headAccount = account;\r\n }\r\n });\r\n });\r\n return { subAccount: selectedSubAccount, headAccount: headAccount };\r\n };\r\n\r\n getData(multiselection: string[]) {\r\n if (multiselection.includes(ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount))) {\r\n this.getDropdownList(multiselection);\r\n } else {\r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n })\r\n .productOverView({ subaccounthierarchyId: multiselection[0] }).productOverView\r\n );\r\n }\r\n }\r\n\r\n private getDropdownList = (multiselection: string[]) => {\r\n if (!multiselection) {return [];}\r\n const list: SubAccount[] = [];\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n\r\n (allAccounts || []).forEach((account) => {\r\n (account?.SubAccounts || []).forEach((sub) => {\r\n if (multiselection.includes(sub?.HierarchyId)) {\r\n list.push(sub);\r\n }\r\n });\r\n });\r\n\r\n this.setState({ dropdownList: list, isLoading: false });\r\n };\r\n\r\n public getContent(key: ProductOverViewTabContent) {\r\n let _content = null;\r\n const { selectedAccount, headAccount } = this.state;\r\n switch (key) {\r\n case ProductOverViewTabContent.PaymentsIn:\r\n _content = (\r\n \r\n );\r\n break;\r\n case ProductOverViewTabContent.Withdrawls:\r\n _content = (\r\n \r\n );\r\n break;\r\n case ProductOverViewTabContent.Charges:\r\n _content = (\r\n \r\n );\r\n break;\r\n case ProductOverViewTabContent.ProductInformation:\r\n _content = (\r\n \r\n );\r\n break;\r\n }\r\n this.setState({ content: _content, tabIndex: key, isLoading: false });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { tabIndex, isLoading } = this.state;\r\n if (isLoading) {return ;}\r\n const tabs = [];\r\n for (const key in ProductOverViewTabContent) {\r\n tabs.push(\r\n this.getContent(ProductOverViewTabContent[key])}\r\n >\r\n {ProductOverViewTabContent[key]}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {\r\n ContextActions.setContext(null, ContextType.SubAccount);\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).summary\r\n );\r\n }}\r\n className=\"hyperlink-previous\"\r\n >\r\n \r\n Back to summary\r\n \r\n
\r\n
\r\n item.HierarchyId)}\r\n getText={(o) => {\r\n const selected = this.state.dropdownList.find((ele) => ele.HierarchyId == o);\r\n return `${subAccountTypeMap[selected?.SubAccountType]} - ${selected?.ClAccountId}`;\r\n }}\r\n onChange={(k) => {\r\n const selected = this.state.dropdownList.find((ele) => ele.HierarchyId == k);\r\n if (selected?.SubAccountType == SubAccountType.Sipp) {\r\n window.location.assign(StaticUrls.SippDetail(selected?.ClAccountId));\r\n } else {\r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n })\r\n .productOverView({ subaccounthierarchyId: k }).productOverView\r\n );\r\n }\r\n }}\r\n selected={this.state.selectedAccount?.HierarchyId}\r\n />\r\n
\r\n \r\n
{this.state.content}
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { Lightbox } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { SelectEditor } from \"../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { AlphanumericWithSpace } from \"../../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { setActionMenuParams } from \"../../../../../../../DLU/DLUHelper\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { ValidatorContents } from \"../../../../../../Common/ValidatorHelper\";\r\nimport { SubaccountSideMenuMap } from \"../../../../../CustomNavigation/Entities/SubaccountSideMenuMap\";\r\nimport { accountStatusMap } from \"../../../../ClientSearch/Resource/Content\";\r\nimport { Contents } from \"../../Transactions/Resource/Contents\";\r\nimport { AccountAllowedStatusAction } from \"../Action/AccountAllowedStatusAction\";\r\nimport { ProductOverviewProductInformationAction } from \"../Action/ProductOverviewProductInformationAction\";\r\n\r\ninterface IProductOverviewProductInformationProps {\r\n subAccountHierarchyId: string;\r\n selectedProduct?: SubAccountType;\r\n headaccount: ClientAccount;\r\n}\r\n\r\nexport const ProductOverviewProductInformation = (props: IProductOverviewProductInformationProps) => {\r\n const subAccount = props.headaccount.SubAccounts.find((ele) => ele.HierarchyId == props.subAccountHierarchyId);\r\n const [data, setData] = useState(null);\r\n const [name, setName] = useState(\r\n subAccount?.ProductDisplayName.startsWith(\"PP - \")\r\n ? subAccount?.ProductDisplayName?.replace(\"PP - \", \"\")\r\n : subAccount?.ProductDisplayName\r\n );\r\n const [allowedStatus, setAllowedStatus] = useState([]);\r\n const [selectedStatus, setSelectedStatus] = useState(null);\r\n const [isValid, setIsValid] = useState(true);\r\n const [isShowEditLightbox, setIsShowEditLightbox] = useState(false);\r\n const customerid = HierarchyIdHelper.generateHierarchyId(ContextStore.getUrlParamsHierarchyId(ContextType.Customer))\r\n .entityId;\r\n useEffect(() => {\r\n ProductOverviewProductInformationAction.getProductInformation(props.subAccountHierarchyId, (data) => {\r\n setData(data);\r\n });\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Product information

\r\n
\r\n\r\n
\r\n \r\n {\r\n AccountAllowedStatusAction.getAccountAllowedStatus(\r\n props.subAccountHierarchyId,\r\n (result) => {\r\n setAllowedStatus(result);\r\n setIsShowEditLightbox(true);\r\n }\r\n );\r\n }}\r\n >\r\n \r\n Edit product name\r\n \r\n \r\n {isShowEditLightbox && (\r\n setIsShowEditLightbox(false)}\r\n title=\"Edit product information\"\r\n >\r\n {props.selectedProduct == SubAccountType.InvestmentAccount && (\r\n setName(v)}\r\n required={\"Please enter a name\"}\r\n cssWrapper=\"control-size-430 mb-10\"\r\n regex={{\r\n errorMessage: ValidatorContents.AlphaNumericWithSpace,\r\n value: AlphanumericWithSpace,\r\n }}\r\n onValidationResultChange={(isValid: boolean) => {\r\n setIsValid(isValid);\r\n }}\r\n maxLength={30}\r\n />\r\n )}\r\n\r\n {\r\n return accountStatusMap[v];\r\n }}\r\n placeholder={\"Please select status\"}\r\n selected={selectedStatus}\r\n onChange={(v) => setSelectedStatus(v)}\r\n />\r\n {\r\n if (props.selectedProduct == SubAccountType.InvestmentAccount) {\r\n setName(\r\n props.headaccount.SubAccounts.find(\r\n (ele) => ele.HierarchyId == props.subAccountHierarchyId\r\n )?.ProductDisplayName\r\n );\r\n }\r\n setSelectedStatus(null);\r\n setIsShowEditLightbox(false);\r\n setIsValid(true);\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n if (isValid) {\r\n if (props.selectedProduct == SubAccountType.InvestmentAccount) {\r\n props.headaccount.SubAccounts.find(\r\n (ele) => ele.HierarchyId == props.subAccountHierarchyId\r\n ).ProductDisplayName = \"PP - \" + name;\r\n }\r\n\r\n setIsValid(true);\r\n const hierarchyid = props.headaccount.SubAccounts.find(\r\n (ele) => ele.HierarchyId == props.subAccountHierarchyId\r\n )?.HierarchyId;\r\n\r\n ProductOverviewProductInformationAction.saveProductInformation(\r\n hierarchyid,\r\n name,\r\n selectedStatus,\r\n () => {\r\n setIsShowEditLightbox(false);\r\n setSelectedStatus(null);\r\n ProductOverviewProductInformationAction.getProductInformation(\r\n props.subAccountHierarchyId,\r\n (data) => {\r\n setData(data);\r\n }\r\n );\r\n }\r\n );\r\n // ProductOverviewProductInformationAction.updateProductName(\r\n // hierarchyid,\r\n // name,\r\n // () => {\r\n // setIsShowEditLightbox(false);\r\n // }\r\n // );\r\n }\r\n }}\r\n >\r\n Apply\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n
\r\n {\r\n \r\n \r\n {props.selectedProduct == SubAccountType.InvestmentAccount && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(props.selectedProduct == SubAccountType.OffshoreBond ||\r\n props.selectedProduct == SubAccountType.OnshoreBond) && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data?.CommissionPaying == false && (\r\n \r\n \r\n \r\n \r\n )}\r\n {props.selectedProduct == SubAccountType.StocksIsa &&\r\n data?.FormerProductType !== \"\" && (\r\n \r\n \r\n \r\n \r\n )}\r\n {props.selectedProduct == SubAccountType.OffshoreBond && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
Name{subAccount?.ProductDisplayName}
Status{data?.Status}
Date of closure\r\n {data?.ClosedDate && data?.ClosedDate + \"\" != Contents.InvalidateDate\r\n ? JsonDateParser.getFormatDateString(\r\n new Date(data?.ClosedDate),\r\n \"dd/MM/yyyy\"\r\n )\r\n : \"N/A\"}\r\n
Policy number\r\n {data?.PolicyNumber && data?.PolicyNumber.length > 0\r\n ? data?.PolicyNumber\r\n : \"N/A\"}\r\n
Inception date\r\n {data?.InceptionTime &&\r\n data?.InceptionTime + \"\" != Contents.InvalidateDate\r\n ? JsonDateParser.getFormatDateString(\r\n new Date(data?.InceptionTime),\r\n \"dd/MM/yyyy\"\r\n )\r\n : \"N/A\"}\r\n
Commission paying{data?.CommissionPaying ? \"Yes\" : \"No\"}
Date commission stopped being paid\r\n {data?.DateStoppedCommissionPaying &&\r\n data?.DateStoppedCommissionPaying + \"\" != Contents.InvalidateDate\r\n ? JsonDateParser.getFormatDateString(\r\n new Date(data?.DateStoppedCommissionPaying),\r\n \"dd/MM/yyyy\"\r\n )\r\n : \"N/A\"}\r\n
Former product type\r\n {data?.FormerProductType && data?.FormerProductType.length > 0\r\n ? data?.FormerProductType\r\n : \"N/A\"}\r\n
Number of segments\r\n {data?.NumberOfSegments && data?.NumberOfSegments >= 0\r\n ? data?.NumberOfSegments\r\n : \"N/A\"}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {(props.selectedProduct == SubAccountType.InvestmentAccount ||\r\n props.selectedProduct == SubAccountType.StocksIsa) && (\r\n <>\r\n

\r\n Manage income\r\n {/* \r\n \r\n Edit Ongoing Adviser Charge\r\n */}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Instruction for income funds{data?.IncomeOption}
\r\n {checkPermission(UserClaim.AdviserPortalDluManageIncomeCanView) && (\r\n
\r\n {\r\n setActionMenuParams({\r\n headaccounthierarchyId: props.headaccount?.HierarchyId,\r\n subaccountHierarchyId: subAccount?.HierarchyId,\r\n levelHierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n customerid\r\n ),\r\n SideMenu: SubaccountSideMenuMap.getSubMenuBySubAccountType(\r\n subAccount?.SubAccountType\r\n ),\r\n });\r\n }}\r\n >\r\n View or edit income\r\n \r\n
\r\n )}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n {(props.selectedProduct == SubAccountType.OnshoreBond ||\r\n props.selectedProduct == SubAccountType.OffshoreBond) && (\r\n
\r\n
\r\n
\r\n

Lives Assured

 \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { WithdrawalStatus } from \"../../../../../../../../Wrap/Constants/Enums/Domain/WithdrawalStatus\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { RegularWithdrawalModel } from \"../../../../../../../../Wrap/Models/Models/Payments/Withdrawals/RegularWithdrawalModel\";\r\nimport { WithdrawalOverviewModel } from \"../../../../../../../../Wrap/Models/Models/Payments/Withdrawals/WithdrawalOverviewModel\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Methods } from \"../../../../../../Common/CommonHelper\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { BondRegularPaymentAction } from \"../../Transactions/Actions/BondRegularPaymentAction\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { TransactionEnum } from \"../../Transactions/Resource/Contents\";\r\nimport { ProductOverviewWithdrawalAction } from \"../Action/ProductOverviewWithdrawalAction\";\r\n\r\ninterface IProductOverviewWithdrawalProps {\r\n subAccountHierarchyId: string;\r\n subClAccountId: string;\r\n selectedProduct: SubAccountType;\r\n headaccount: ClientAccount;\r\n}\r\n\r\nexport const ProductOverviewWithdrawal = (props: IProductOverviewWithdrawalProps) => {\r\n const [data, setData] = useState(null);\r\n const [bondData, setBondData] = useState(null);\r\n\r\n useEffect(() => {\r\n ProductOverviewWithdrawalAction.getWithdrawalDetails(props.subAccountHierarchyId, (data) => {\r\n setData(data);\r\n });\r\n if (SubAccountTypeHelper.isBond(props.selectedProduct)) {\r\n BondRegularPaymentAction.getBondRegularPayment(props.subAccountHierarchyId, (data) => {\r\n setBondData(data.find((x: any) => x.ClAccountId == props.subClAccountId));\r\n });\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n

Withdrawals

\r\n

Active instructions

\r\n\r\n {(props.selectedProduct == SubAccountType.OnshoreBond ||\r\n props.selectedProduct == SubAccountType.OffshoreBond) && (\r\n

If you need to make any changes to these payments please email wrap_money_out@abrdn.com

\r\n )}\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Current regular withdrawal instructions

\r\n
\r\n\r\n {data?.RegularWithdrawals?.length > 0 && (\r\n \r\n
\r\n \r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.paymentsWithdrawals,\r\n hierarchyid: props.subAccountHierarchyId,\r\n },\r\n }\r\n )\r\n }\r\n >\r\n \r\n Edit\r\n \r\n
\r\n
\r\n )}\r\n
\r\n {data?.RegularWithdrawals?.length > 0 && (\r\n
\r\n {\r\n if (row.Amount == null) {\r\n return `${row.Percentage.toFixed(2)}%`;\r\n }\r\n\r\n return MoneyDisplayHelper.FromatMoneyDisplay(\r\n data,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n );\r\n },\r\n },\r\n {\r\n title: \"Frequency\",\r\n key: \"Frequency\",\r\n render: (data, row) => {\r\n return Methods.getFormatFrequencyType(data);\r\n },\r\n },\r\n {\r\n title: \"Payer\",\r\n key: \"PayeeReference\",\r\n render: (data, row) => {\r\n return Methods.getPayeeReference(data);\r\n },\r\n },\r\n\r\n {\r\n title: \"Next withdrawal\",\r\n key: \"NextPaymentDate\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n )}\r\n {!(\r\n data?.RegularWithdrawals?.length > 0 ||\r\n ((props.selectedProduct == SubAccountType.OnshoreBond ||\r\n props.selectedProduct == SubAccountType.OffshoreBond) &&\r\n bondData?.Payments?.filter(\r\n (x) =>\r\n (x.CurrentStatus == WithdrawalStatus.Active &&\r\n !JsonDateParser.isToday(x.FinalDate)) ||\r\n x.CurrentStatus == WithdrawalStatus.FutureDated\r\n ).length > 0)\r\n ) && (\r\n
\r\n No regular withdrawal(s) currently set up for this client\r\n
\r\n )}\r\n {(props.selectedProduct == SubAccountType.OnshoreBond ||\r\n props.selectedProduct == SubAccountType.OffshoreBond) &&\r\n bondData?.Payments?.filter(\r\n (x) =>\r\n (x.CurrentStatus == WithdrawalStatus.Active &&\r\n !JsonDateParser.isToday(x.FinalDate)) ||\r\n x.CurrentStatus == WithdrawalStatus.FutureDated\r\n ).length > 0 && (\r\n
\r\n \r\n (x.CurrentStatus == WithdrawalStatus.Active &&\r\n !JsonDateParser.isToday(x.FinalDate)) ||\r\n x.CurrentStatus == WithdrawalStatus.FutureDated\r\n )}\r\n col={[\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n render: (data, row) =>\r\n MoneyDisplayHelper.FromatMoneyDisplay(\r\n data,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n ),\r\n },\r\n {\r\n title: \"Frequency\",\r\n key: \"Frequency\",\r\n render: (data, row) => {\r\n return Methods.getFormatFrequencyType(data);\r\n },\r\n },\r\n {\r\n title: \"Payer\",\r\n key: \"CombinedBankDetails\",\r\n render: (data, row) => {\r\n return row.AccountName + \" | \" + data;\r\n },\r\n },\r\n {\r\n title: \"Next withdrawal\",\r\n key: \"NextDate\",\r\n },\r\n ]}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n

Expected single withdrawal

\r\n\r\n {data?.SingleWithdrawals?.length > 0 ? (\r\n
\r\n \r\n MoneyDisplayHelper.FromatMoneyDisplay(\r\n data,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n ),\r\n },\r\n {\r\n title: \"Payer\",\r\n key: \"PayeeReference\",\r\n render: (data, row) => {\r\n return Methods.getPayeeReference(data);\r\n },\r\n },\r\n ]}\r\n />\r\n
\r\n ) : (\r\n
\r\n No single withdrawal(s) currently set up for this client\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Completed instructions

\r\n\r\n {data?.CompletedWithdrawalOverview?.CompletedWithdrawalsByPayee?.length > 0 ? (\r\n
\r\n
\r\n
\r\n {\r\n return Methods.getPayeeReference(data);\r\n },\r\n },\r\n {\r\n title: \"Regular withdrawal\",\r\n key: \"RegularWithdrawal\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row) =>\r\n MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2),\r\n },\r\n {\r\n title: \"Single withdrawal\",\r\n key: \"SingleWithdrawal\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row) =>\r\n MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2),\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 1 },\r\n {\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.CompletedWithdrawalOverview?.RegularWithdrawalTotal,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(\r\n data?.CompletedWithdrawalOverview?.SingleWithdrawalTotal,\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n ),\r\n\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n />\r\n
\r\n
\r\n
\r\n ) : null}\r\n\r\n \r\n

\r\n To view all withdrawals{\" \"}\r\n \r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.paymentsWithdrawals,\r\n hierarchyid: props.subAccountHierarchyId,\r\n },\r\n }\r\n )\r\n }\r\n >\r\n click here\r\n \r\n .\r\n

\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { PaymentType } from \"../../../../../../../../Wrap/Constants/Enums/Apply/PaymentType\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { PaymentPayer } from \"../../../../../../../../Wrap/Constants/Enums/Payments/PaymentPayer\";\r\nimport { TransferStatus } from \"../../../../../../../../Wrap/Constants/Enums/Transfer/TransferStatus\";\r\n\r\nexport const DisinvestmentTipMsg =\r\n \"Editing Auto-disinvestment strategy here, will apply these changes at account level.\";\r\n\r\nexport const PaymentPayerMapper = {\r\n [PaymentPayer.NotSpecified]: \"Not Specified\",\r\n [PaymentPayer.Client]: \"Client\",\r\n [PaymentPayer.ThirdParty]: \"Third Party\",\r\n [PaymentPayer.Employer]: \"Employer\",\r\n};\r\n\r\nexport const PaymentTypeMapper = {\r\n [PaymentType.Single]: \"Single\",\r\n [PaymentType.Regular]: \"Regular\",\r\n};\r\n\r\nexport const TransferStatusMapper = {\r\n [TransferStatus.NotSpecified]: \"Not Specified\",\r\n [TransferStatus.Pending]: \"Pending\",\r\n [TransferStatus.Completed]: \"Completed\",\r\n};\r\n\r\nexport const DisinvestmentStrategyTypeMap = {\r\n [DisinvestmentStrategyType.LVS]: \"Least Volatile Stock (LVS)\",\r\n [DisinvestmentStrategyType.Lifo]: \"Last In, First Out (LiFo)\",\r\n [DisinvestmentStrategyType.Proportional]: \"Proportional\",\r\n};\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../../../react-core/Flux/BaseStore\";\r\nimport { ProductCharge } from \"../../../../../../../../Wrap/Models/Domains/ProductOverview/Charges/ProductCharge\";\r\nimport { ProductOverviewChargeDispatcher } from \"./Variable\";\r\n\r\nexport interface ProductOverviewChargeStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: ProductCharge;\r\n}\r\n\r\nexport class ProductOverviewChargeStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ProductOverviewChargeDispatcher, (actionData) =>\r\n this.onProductOverviewChargeStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): ProductOverviewChargeStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ProductOverviewChargeStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onProductOverviewChargeStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../../../react-core/Flux/Dispatcher\";\r\nimport { ProductOverviewChargeStatic } from \"./ProductOverviewChargeStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const ProductOverviewChargeDispatcher: Dispatcher = new Dispatcher();\r\nexport const ProductOverviewChargeStore: ProductOverviewChargeStatic = new ProductOverviewChargeStatic();\r\nexport const ProductOverviewProductInformationDispatcher: Dispatcher = new Dispatcher();\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { ClientAccountClient } from \"../../../../../../../../Wrap/Api/Account/ClientAccount\";\r\nimport { ClientRDRClient } from \"../../../../../../../../Wrap/Api/Account/ClientRDR\";\r\nimport { CorrespondenceRecipientClient } from \"../../../../../../../../Wrap/Api/Account/CorrespondenceRecipient\";\r\nimport { MailingPreferenceHistoryClient } from \"../../../../../../../../Wrap/Api/Account/MailingPreferenceHistory\";\r\nimport { AccountRolesClient } from \"../../../../../../../../Wrap/Api/Customer/AccountRoles\";\r\nimport { AvailableAccountRoleClient } from \"../../../../../../../../Wrap/Api/Customer/AvailableAccountRole\";\r\nimport { InterestedPartyClient } from \"../../../../../../../../Wrap/Api/Customer/InterestedParty\";\r\nimport { OrganisationClient } from \"../../../../../../../../Wrap/Api/Customer/Organisation\";\r\nimport { CustomerRegulationComplianceClient } from \"../../../../../../../../Wrap/Api/Regulations/CustomerRegulationCompliance\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { ControllingPersonType } from \"../../../../../../../../Wrap/Constants/Enums/Customer/ControllingPersonType\";\r\nimport { RoleType } from \"../../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountRole } from \"../../../../../../../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { CorrespondenceRecipient } from \"../../../../../../../../Wrap/Models/Domains/Account/CorrespondenceRecipient\";\r\nimport { MailingPreferenceHistoryCollection } from \"../../../../../../../../Wrap/Models/Domains/Account/MailingPreferenceHistoryCollection\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { CustomerCompliance } from \"../../../../../../../../Wrap/Models/Domains/Regulations/CustomerCompliance\";\r\nimport { FullClientDetailModel } from \"../../../../../../../../Wrap/Models/Models/Customer/FullClientDetailModel\";\r\nimport { PostProspectResponse } from \"../../../../../../../../Wrap/Models/Models/Customer/PostProspectResponse\";\r\nimport { ClientAccountDispatcher } from \"../../../../../../Stroes/Variable\";\r\n\r\nexport class AccountInfoAction {\r\n public static getAccountRoles(hierarchyId: string, callBack: (data: Array) => void): void {\r\n const client = new AccountRolesClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getClientAccount(hierarchyId: string, callBack?: (val: ClientAccount) => void): void {\r\n const client = new ClientAccountClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n ClientAccountDispatcher.dispatch({ payload: result, actionType: ActionType.Success });\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getClientRDR(accountId: string, callBack?: (val: ClientAccount) => void): void {\r\n const client = new ClientRDRClient();\r\n const promise = client.get(accountId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getPaperlessChangeHistory(\r\n hierarchyId: string,\r\n minrow: number,\r\n maxrow: number,\r\n callBack?: (val: MailingPreferenceHistoryCollection) => void\r\n ): void {\r\n const client = new MailingPreferenceHistoryClient();\r\n const promise = client.get(hierarchyId, minrow, maxrow);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getCustomerRegulationCompliance(\r\n customerId: number,\r\n callBack?: (val: Array) => void\r\n ): void {\r\n const client = new CustomerRegulationComplianceClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static updateCustomerRegulationCompliance(\r\n command: CustomerCompliance,\r\n callBack?: (val: PostProspectResponse) => void\r\n ): void {\r\n const client = new CustomerRegulationComplianceClient();\r\n const promise = client.put(command);\r\n promise.onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static createCustomerRegulationCompliance(\r\n command: CustomerCompliance,\r\n callBack?: (val: PostProspectResponse) => void\r\n ): void {\r\n const client = new CustomerRegulationComplianceClient();\r\n const promise = client.post(command);\r\n promise.onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getAvailableAccountRoleTypes(\r\n investorTypes: number[],\r\n customerId: string,\r\n hierarchyIds: string[],\r\n callback\r\n ) {\r\n const client = new AvailableAccountRoleClient();\r\n const promise = client.get(investorTypes, Number(customerId), hierarchyIds);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static createInterestedParty(\r\n actorCategory: AccountRoleActorCategory,\r\n hierarchyIds: string[],\r\n roleType: RoleType,\r\n clientPortalAccess: boolean,\r\n data: FullClientDetailModel,\r\n controllingpersonType: ControllingPersonType,\r\n callback\r\n ) {\r\n const client = new InterestedPartyClient();\r\n const promise = client.post(\r\n actorCategory,\r\n hierarchyIds,\r\n roleType,\r\n clientPortalAccess,\r\n data,\r\n controllingpersonType\r\n );\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static updateAccountRole(\r\n hierarchyId: string,\r\n roleType: RoleType,\r\n clientPortalAccess: boolean,\r\n data: FullClientDetailModel,\r\n controllingpersonType: ControllingPersonType,\r\n callback\r\n ) {\r\n const client = new InterestedPartyClient();\r\n const promise = client.put(hierarchyId, roleType, clientPortalAccess, data, controllingpersonType);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static deleteInterestedParty = (\r\n actorId: string,\r\n accountHierarchyId: string,\r\n roleType: RoleType,\r\n callback\r\n ) => {\r\n const client = new InterestedPartyClient();\r\n const promise = client.delete(Number(actorId), accountHierarchyId, roleType);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n };\r\n\r\n public static getOrganisationDetail(id: number, hierarchyId: string, callBack) {\r\n const client = new OrganisationClient();\r\n const promise = client.get(id, hierarchyId);\r\n promise.onSuccess((data) => {\r\n if (callBack) {\r\n callBack(data);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getCorrespondenceRecipient(hierarchyId: string, callBack?: (val: CorrespondenceRecipient) => void) {\r\n const client = new CorrespondenceRecipientClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n }\r\n\r\n public static putCorrespondenceRecipient(recipient: CorrespondenceRecipient, callBack: () => void) {\r\n const client = new CorrespondenceRecipientClient();\r\n const promise = client.put(recipient);\r\n\r\n promise.onSuccess(() => {\r\n if (callBack) {\r\n callBack();\r\n }\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ClientAccountClient } from \"../../../../../../../../Wrap/Api/Account/ClientAccount\";\r\nimport { InterestedPartiesClient } from \"../../../../../../../../Wrap/Api/Account/InterestedParties\";\r\nimport { ClientAccessClient } from \"../../../../../../../../Wrap/Api/Customer/ClientAccess\";\r\nimport { ClientAccessesClient } from \"../../../../../../../../Wrap/Api/Customer/ClientAccesses\";\r\nimport { InterestedPartiesByCustomerClient } from \"../../../../../../../../Wrap/Api/Customer/InterestedPartiesByCustomer\";\r\nimport { ReportOptOutSettingsClient } from \"../../../../../../../../Wrap/Api/Reports/Settings/ReportOptOutSettings\";\r\nimport { RoleType } from \"../../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { ClientAccessModel } from \"../../../../../../../../Wrap/Models/Models/Customer/ClientAccessModel\";\r\nimport { OrganisationMember } from \"../../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { PortfolioDashboardDisaptcher, PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport { updateAccountInfo } from \"../../Common/PortfolioDashboardHelper\";\r\n\r\nexport class portfolioDashboardRolesAction {\r\n public static getInterestedParties(hierarchyIds: Array, callback) {\r\n const client = new InterestedPartiesClient();\r\n const promise = client.get(hierarchyIds);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static getInterestedPartiesByCustomer(customerId: number, callback) {\r\n const client = new InterestedPartiesByCustomerClient();\r\n const promise = client.get(customerId);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static getReportOptOutSetting(clAccountId: string, callback) {\r\n const client = new ReportOptOutSettingsClient();\r\n const promise = client.get(clAccountId);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static getClientAccess(customerId: number, clAccountId: string, roleType: RoleType, callback) {\r\n const client = new ClientAccessClient();\r\n const promise = client.get(customerId, clAccountId, roleType);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static updateClientAccess(model: ClientAccessModel, callback?) {\r\n const client = new ClientAccessClient();\r\n const promise = client.put(model);\r\n promise.onSuccess((data) => {\r\n if (callback) {callback(data);}\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static updateClientAccesses(model: OrganisationMember[], hierarchyId: string, callback) {\r\n const client = new ClientAccessesClient();\r\n const promise = client.put(model, hierarchyId);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static updateReportOptOutSetting(clAccountId: string, optOutContractNote: boolean, callback) {\r\n const client = new ReportOptOutSettingsClient();\r\n const promise = client.put(clAccountId, optOutContractNote);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static updateClientAccountDetails(\r\n updatedAccount: ClientAccount,\r\n dateOfDeath: Date,\r\n dateOffNotification: Date,\r\n callback\r\n ) {\r\n const client = new ClientAccountClient();\r\n const promise = client.put(\r\n updatedAccount,\r\n JsonDateParser.toJsonDateNoOffset(dateOfDeath),\r\n JsonDateParser.toJsonDateNoOffset(dateOffNotification)\r\n );\r\n\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((err) => console.error(err));\r\n }\r\n\r\n public static updateClientAccountDetailsToStore(updatedAccount: ClientAccount) {\r\n const newAccounts = updateAccountInfo(updatedAccount, PortfolioDashboardStore.getData());\r\n PortfolioDashboardDisaptcher.dispatch({ payload: newAccounts, actionType: ActionType.Success });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { FormComponent } from \"../../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Name50 } from \"../../../../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { JsonDateParser } from \"../../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { UserClaim } from \"../../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AccountStatus } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { ClientAccount } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { InvestorType } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { DeathDetails } from \"../../../../../../../../../Wrap/Models/Models/Customer/DeathDetails\";\r\nimport {\r\n ContentDatePicker,\r\n ACCEPT_DATE_FORMATS,\r\n} from \"../../../../../../../../Shared/Entities/Constants/DateConstants\";\r\nimport { checkPermission } from \"../../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { ValidatorContents } from \"../../../../../../../Common/ValidatorHelper\";\r\nimport { AccountInfoAction } from \"../../Action/AccountInfoAction\";\r\nimport { investorTypeMap } from \"../../Resource/Contents\";\r\nimport { RestrictionReasonAction } from \"../../../../Action/RestrictionReasonAction\";\r\nimport { ClientRecordAction } from \"../../../../../ClientRecord/Action/ClientRecordAction\";\r\nimport { accountStatusMap } from \"../../../../../ClientRecord/Resource/Contents\";\r\nimport { ClientRecordStore } from \"../../../../../ClientRecord/Store/Variable\";\r\nimport { portfolioDashboardRolesAction } from \"../../Action/Action\";\r\nimport { RDRClient } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/RDRClient\";\r\n\r\ninterface IAccountDetailsProps {\r\n accountHierarchyId: string;\r\n customerId: number;\r\n}\r\n\r\ninterface IAccountDetailsState {\r\n clientAccount: ClientAccount;\r\n originalClientAccount: ClientAccount;\r\n isEdit: boolean;\r\n deathDetail: DeathDetails;\r\n dateOfDeath: Date;\r\n dateOfNotification: Date;\r\n clientRDR: RDRClient;\r\n}\r\n\r\nexport class AccountDetails extends FormComponent {\r\n constructor(props: IAccountDetailsProps) {\r\n super(props);\r\n this.state = {\r\n clientAccount: null,\r\n originalClientAccount: null,\r\n isEdit: false,\r\n dateOfDeath: null,\r\n dateOfNotification: null,\r\n deathDetail: null,\r\n clientRDR: null,\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n const data = ClientRecordStore.getData();\r\n\r\n if (data.DeathDetail) {\r\n this.setState({\r\n dateOfDeath: JsonDateParser.toDate(data.DeathDetail.DateOfDeath),\r\n dateOfNotification: JsonDateParser.toDate(data.DeathDetail.NotificationDate),\r\n deathDetail: data.DeathDetail,\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n AccountInfoAction.getClientAccount(this.props.accountHierarchyId, (result) => {\r\n this.setState({ clientAccount: result, originalClientAccount: { ...result } });\r\n if ([AccountStatus.Deceased, AccountStatus.DeceasedClosed].includes(result.AccountStatus)) {\r\n ClientRecordAction.getDeathDetail(this.props.customerId.toString());\r\n }\r\n AccountInfoAction.getClientRDR(result.HeadClAccountId, (data) => {\r\n this.setState({ clientRDR: data });\r\n });\r\n });\r\n }\r\n\r\n private datePickerOptions = (hasValidate: boolean, particularDate?: Date, particularMessage?: string) => {\r\n return {\r\n showYearDropdown: true,\r\n todayButton: ContentDatePicker.Today,\r\n isClearable: true,\r\n atMost: hasValidate\r\n ? {\r\n value: particularDate != null ? particularDate : new Date(),\r\n errorMessage: particularMessage != null ? particularMessage : \"Date can not be in the future\",\r\n }\r\n : null,\r\n lessThan: null,\r\n dateFormat: ContentDatePicker.DateFormat,\r\n acceptDateFormats: ACCEPT_DATE_FORMATS,\r\n formGroupCssWrapper: \"control-size-300\",\r\n };\r\n };\r\n\r\n private futerDatePickerOptions = (hasValidate: boolean, particularDate?: Date, particularMessage?: string) => {\r\n return {\r\n showYearDropdown: true,\r\n todayButton: ContentDatePicker.Today,\r\n isClearable: true,\r\n atLeast:\r\n hasValidate && particularDate != null\r\n ? {\r\n value: particularDate != null ? particularDate : new Date(\"0001-01-01\"),\r\n errorMessage: particularDate != null ? particularMessage : \"Date input is invalid\",\r\n }\r\n : null,\r\n dateFormat: ContentDatePicker.DateFormat,\r\n acceptDateFormats: ACCEPT_DATE_FORMATS,\r\n formGroupCssWrapper: \"control-size-300\",\r\n };\r\n };\r\n\r\n private saveData() {\r\n if (this.isValid()){\r\n this.setState({ isEdit: false });\r\n portfolioDashboardRolesAction.updateClientAccountDetails(\r\n this.state.clientAccount,\r\n this.state.dateOfDeath,\r\n this.state.dateOfNotification,\r\n (result) => {\r\n this.getData();\r\n RestrictionReasonAction.getAccountRestrictions(this.props.customerId);\r\n portfolioDashboardRolesAction.updateClientAccountDetailsToStore(this.state.clientAccount);\r\n }\r\n );\r\n }\r\n }\r\n\r\n private isPreDR = (feeStructure: string): boolean => {\r\n return feeStructure === \"Commission\";\r\n };\r\n\r\n render() {\r\n const { clientAccount, originalClientAccount, isEdit } = this.state;\r\n if (!clientAccount) {\r\n return ;\r\n }\r\n const canEditAccountInfo = checkPermission(UserClaim.AdviserPortalPortfolioViewRolesReadWrite);\r\n\r\n return (\r\n <>\r\n

Account information

\r\n {!isEdit && (\r\n
\r\n
Account name
\r\n
{clientAccount.AccountName}
\r\n
Account type
\r\n
\r\n {clientAccount.InvestorType == InvestorType.JointIndividual\r\n ? \"Joint\"\r\n : investorTypeMap[clientAccount.InvestorType]}\r\n
\r\n
Adviser name
\r\n
{clientAccount.AdviserName}
\r\n
Adviser code
\r\n
{clientAccount.AdviserCode}
\r\n
Agency code
\r\n
{clientAccount.CompanyAdvCode}
\r\n
Company name
\r\n
{clientAccount.CompanyName}
\r\n
Advice type
\r\n
{clientAccount.Discretionary ? \"Discretionary\" : \"Non-discretionary\"}
\r\n
Account status
\r\n
{accountStatusMap[clientAccount.AccountStatus]}
\r\n
Date of closure
\r\n
\r\n {JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(clientAccount.ClosedDate),\r\n \"dd-MM-yyyy\",\r\n false\r\n )}\r\n
\r\n
Inception Date
\r\n
\r\n {JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(clientAccount.InceptionDate),\r\n \"dd-MM-yyyy\",\r\n false\r\n )}\r\n
\r\n
Commission Paying
\r\n
{this.isPreDR(this.state.clientRDR?.FeeStructure) ? \"Yes\" : \"No\"}
\r\n
Date commission stopped being paid
\r\n
\r\n {this.state.clientRDR?.SwitchDate\r\n ? JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(this.state.clientRDR?.SwitchDate),\r\n \"dd-MM-yyyy\",\r\n false\r\n )\r\n : \"N/A\"}\r\n
\r\n
Hold Execution of Orders For SIPP
\r\n
{clientAccount.RestrictActivities ? \"Yes\" : \"No\"}
\r\n
\r\n )}\r\n {isEdit && (\r\n <>\r\n {\r\n clientAccount.AccountName = v;\r\n this.setState({ clientAccount: clientAccount });\r\n }}\r\n cssWrapper={\"control-size-245\"}\r\n />\r\n {\r\n return accountStatusMap[v];\r\n }}\r\n selected={clientAccount.AccountStatus}\r\n onChange={(v) => {\r\n clientAccount.AccountStatus = v;\r\n this.setState({\r\n clientAccount: clientAccount,\r\n dateOfDeath: JsonDateParser.toDate(this.state.deathDetail?.DateOfDeath),\r\n dateOfNotification: JsonDateParser.toDate(this.state.deathDetail?.NotificationDate),\r\n });\r\n }}\r\n disabled={!canEditAccountInfo}\r\n label=\"Account Status\"\r\n options={Object.keys(accountStatusMap).map((ele) => Number(ele))}\r\n cssWrapper={\"control-size-245\"}\r\n />\r\n {[AccountStatus.Deceased, AccountStatus.DeceasedClosed].includes(\r\n clientAccount.AccountStatus\r\n ) && (\r\n <>\r\n {\r\n this.setState({ dateOfNotification: v });\r\n }}\r\n {...this.futerDatePickerOptions(\r\n true,\r\n JsonDateParser.toDateNoOffset(this.state.dateOfDeath),\r\n \"Death notification date cannot be smaller than death date of \" +\r\n JsonDateParser.toDateNoOffset(this.state.dateOfDeath)?.toDateString()\r\n )}\r\n />\r\n {\r\n this.setState({ dateOfDeath: v });\r\n }}\r\n {...this.datePickerOptions(\r\n true,\r\n JsonDateParser.toDateNoOffset(this.state.dateOfNotification),\r\n \"Date of death must be the same day or before the notification date\" +\r\n JsonDateParser.toDateNoOffset(this.state.dateOfNotification)?.toDateString()\r\n )}\r\n />\r\n \r\n )}\r\n {\r\n return v ? \"Discretionary\" : \"Non-discretionary\";\r\n }}\r\n selected={clientAccount.Discretionary}\r\n onChange={(v) => {\r\n clientAccount.Discretionary = v;\r\n this.setState({ clientAccount: clientAccount });\r\n }}\r\n disabled={!canEditAccountInfo}\r\n label=\"Advice type\"\r\n options={[true, false]}\r\n cssWrapper={\"control-size-245\"}\r\n />\r\n \r\n )}\r\n {canEditAccountInfo && (\r\n
\r\n
\r\n {!isEdit && (\r\n
\r\n this.setState({ isEdit: true })}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n )}\r\n {isEdit && (\r\n
\r\n {\r\n this.setState({\r\n isEdit: false,\r\n clientAccount: { ...originalClientAccount },\r\n dateOfDeath: JsonDateParser.toDate(this.state.deathDetail?.DateOfDeath),\r\n dateOfNotification: JsonDateParser.toDate(\r\n this.state.deathDetail?.NotificationDate\r\n ),\r\n });\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n )}\r\n {isEdit && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../../../react-core/Html/FormComponent\";\r\nimport { AccountDetails } from \"./AccountDetails\";\r\nimport { ClientAccess } from \"./ClientAccess\";\r\nimport { PaperlessPerference } from \"./PaperlessPerference\";\r\nimport { ReportOptOut } from \"./ReportOptOut\";\r\n\r\ninterface IAccountInformationProps {\r\n selectedAccount: any;\r\n customerId: number;\r\n}\r\n\r\ninterface IAccountInformationState {}\r\n\r\nexport class AccountInformation extends FormComponent {\r\n constructor(props: IAccountInformationProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n

\r\n Customer's information - {this.props.selectedAccount?.customerName}\r\n

\r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../../react-core/Html/PartLoading\";\r\nimport { RoleType } from \"../../../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { UserClaim } from \"../../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Permission } from \"../../../../../../../../Shared/Permission/Permission\";\r\nimport { portfolioDashboardRolesAction } from \"../../Action/Action\";\r\nimport { PermissionType } from \"../../../../../../../../../Wrap/Constants/Enums/Apply/PermissionType\";\r\n\r\ninterface IClientAccessProps {\r\n customerId: number;\r\n clAccountId: string;\r\n hierarchyId: string;\r\n roleType: RoleType;\r\n}\r\n\r\ninterface IClientAccessState {\r\n isClientAccess: boolean;\r\n originalClientAccess: boolean;\r\n isEdit: boolean;\r\n isClientUserExist: boolean;\r\n PermissionType: PermissionType;\r\n}\r\n\r\nexport class ClientAccess extends FormComponent {\r\n constructor(props: IClientAccessProps) {\r\n super(props);\r\n this.state = {\r\n isClientAccess: null,\r\n originalClientAccess: null,\r\n isEdit: false,\r\n isClientUserExist: null,\r\n PermissionType: PermissionType.NotSpecified\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n const { customerId, clAccountId, roleType } = this.props;\r\n portfolioDashboardRolesAction.getClientAccess(customerId, clAccountId, roleType, (result) => {\r\n this.setState({\r\n isClientAccess: result.IsClientAccess,\r\n originalClientAccess: result.IsClientAccess,\r\n isClientUserExist: result.ClientUserId > 0,\r\n PermissionType: result.PermissionType\r\n });\r\n });\r\n }\r\n\r\n private saveSetting() {\r\n const { customerId, hierarchyId, roleType } = this.props;\r\n // if (this.state.isClientUserExist) return;\r\n this.setState({ isClientAccess: null, isEdit: false });\r\n portfolioDashboardRolesAction.updateClientAccess(\r\n {\r\n CustomerId: customerId,\r\n HierarchyId: hierarchyId,\r\n RoleType: roleType,\r\n IsClientAccess: this.state.isClientAccess,\r\n PermissionType: this.state.PermissionType\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { isClientAccess, isEdit, originalClientAccess, isClientUserExist } = this.state;\r\n if (isClientAccess == null) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n

Client portal access

\r\n {!isEdit && (\r\n
\r\n
Read only access
\r\n
{isClientAccess == true ? \"Yes\" : \"No\"}
\r\n
\r\n )}\r\n {isEdit && (\r\n this.setState({ isClientAccess: v, PermissionType: v ? PermissionType.ReadOnly : PermissionType.ReadWrite })}\r\n disabled={!isEdit}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n {!isEdit && (\r\n
\r\n this.setState({ isEdit: true })}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n )}\r\n {isEdit && (\r\n
\r\n \r\n this.setState({ isEdit: false, isClientAccess: originalClientAccess })\r\n }\r\n >\r\n Cancel\r\n \r\n
\r\n )}\r\n {isEdit && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { JsonDateParser } from \"../../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ServiceProposition } from \"../../../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { UserClaim } from \"../../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { MailingPreferenceHistory } from \"../../../../../../../../../Wrap/Models/Domains/Account/MailingPreferenceHistory\";\r\nimport { MailingPreferenceHistoryCollection } from \"../../../../../../../../../Wrap/Models/Domains/Account/MailingPreferenceHistoryCollection\";\r\nimport { ClientAccount } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { checkPermission } from \"../../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\nimport { ClientAccountStore } from \"../../../../../../../Stroes/Variable\";\r\nimport { AccountInfoAction } from \"../../Action/AccountInfoAction\";\r\nimport { portfolioDashboardRolesAction } from \"../../Action/Action\";\r\n\r\ninterface IPaperlessPerferenceProps {\r\n accountHierarchyId: string;\r\n customerId: number;\r\n}\r\n\r\ninterface IPaperlessPerferenceState {\r\n clientAccount: ClientAccount;\r\n isEdit: boolean;\r\n termsConfirmed: boolean;\r\n paperless: boolean;\r\n history: MailingPreferenceHistoryCollection;\r\n curPage: number;\r\n}\r\n\r\nexport class PaperlessPerference extends FormComponent {\r\n constructor(props: IPaperlessPerferenceProps) {\r\n super(props);\r\n this.state = {\r\n clientAccount: null,\r\n isEdit: false,\r\n termsConfirmed: false,\r\n paperless: null,\r\n history: null,\r\n curPage: 1,\r\n };\r\n this.subscribeToStore(ClientAccountStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n const data = ClientAccountStore.getClientAccountInfo();\r\n\r\n this.setState(\r\n {\r\n clientAccount: data,\r\n paperless: data?.GoPaperless,\r\n termsConfirmed: data?.GoPaperless == true,\r\n },\r\n () => {\r\n this.getData(1, 10);\r\n }\r\n );\r\n }\r\n\r\n getData(minrow: number, maxrow: number) {\r\n AccountInfoAction.getPaperlessChangeHistory(this.state.clientAccount?.HierarchyId, minrow, maxrow, (result) => {\r\n this.setState({ history: result });\r\n });\r\n }\r\n\r\n private saveData() {\r\n if (this.isValid()) {\r\n this.state.clientAccount.GoPaperless = this.state.paperless;\r\n this.setState({ paperless: null, isEdit: false, clientAccount: this.state.clientAccount });\r\n portfolioDashboardRolesAction.updateClientAccountDetails(this.state.clientAccount, null, null, () => {\r\n this.getData(1, 10);\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { clientAccount, isEdit } = this.state;\r\n if (!clientAccount) {\r\n return (\r\n <>\r\n

Paperless Preference

\r\n \r\n \r\n );\r\n }\r\n\r\n const canEditPaperlessPermission = checkPermission(UserClaim.AdviserPortalAccountPaperlessReadWrite);\r\n const canEditPaperlessCompany = ![\r\n \"NonAdvisedCOMP\",\r\n \"ORPHANCOMP\",\r\n \"SAVINGSDIRECT\",\r\n \"SLIFEDIRECT\",\r\n \"RBSG\",\r\n ].includes(this.state.clientAccount?.Company);\r\n const canEditPaperlessServiceProposition = [\r\n ServiceProposition.Fundzone,\r\n ServiceProposition.Wrap,\r\n ServiceProposition.NonWrapEnabled,\r\n ].includes(this.state.clientAccount?.AccountServicePropositionId);\r\n const canEditPaperlessOption =\r\n canEditPaperlessCompany && canEditPaperlessPermission && canEditPaperlessServiceProposition;\r\n return (\r\n <>\r\n

Paperless Preference

\r\n {!isEdit && (\r\n <>\r\n
\r\n
Go paperless option
\r\n
{clientAccount.GoPaperless && canEditPaperlessOption ? \"Yes\" : \"No\"}
\r\n
\r\n {canEditPaperlessOption && (\r\n
\r\n
\r\n this.setState({ isEdit: true })}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n {isEdit && (\r\n <>\r\n

\r\n Please note that there are certain documents which for legal or regulatory reasons must\r\n still be sent directly to the customer. For details of which documents we are referring to\r\n please see our Adviser website. Please note that all documents can be accessed from the\r\n client’s Document Library\r\n

\r\n {\r\n return v ? \"Yes\" : \"No\";\r\n }}\r\n selected={clientAccount.GoPaperless}\r\n onChange={(v) => {\r\n this.setState({ paperless: v });\r\n }}\r\n label=\"Go Paperless\"\r\n options={[true, false]}\r\n cssWrapper={\"control-size-245\"}\r\n />\r\n {this.state.paperless && (\r\n {\r\n this.setState({ termsConfirmed: v });\r\n }}\r\n value={this.state.termsConfirmed}\r\n />\r\n )}\r\n
\r\n
\r\n {\r\n this.setState({\r\n isEdit: false,\r\n });\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n )}\r\n

Change History

\r\n {\r\n return row?.NewValue ? \"Yes\" : \"No\";\r\n },\r\n },\r\n {\r\n title: \"Date\",\r\n key: \"Name\",\r\n render: (data, row: MailingPreferenceHistory) => {\r\n return JsonDateParser.getFormatDate(row?.Date, \"dd/MM/yyyy hh:mm:ss\");\r\n },\r\n },\r\n {\r\n title: \"Change Level\",\r\n key: \"ChangeLevel\",\r\n render: (data, row: MailingPreferenceHistory) => {\r\n return row?.ChangeLevel ? \"Adviser\" : \"Individual\";\r\n },\r\n },\r\n ]}\r\n isLoading={this.state.history == null}\r\n needPagination={{\r\n totalNumOfResult: this.state.history?.TotalNumberOfResults,\r\n onPaginationChange: (pageIndex, pageSize) => {\r\n this.setState({ curPage: pageIndex });\r\n this.getData(pageIndex * pageSize + 1, pageSize * (pageIndex + 1));\r\n },\r\n pageSize: 10,\r\n currentPage: this.state.curPage,\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../../react-core/Html/PartLoading\";\r\nimport { UserClaim } from \"../../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientAccount } from \"../../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { Permission } from \"../../../../../../../../Shared/Permission/Permission\";\r\nimport { portfolioDashboardRolesAction } from \"../../Action/Action\";\r\n\r\ninterface IReportOptOutProps {\r\n clAccountId: string;\r\n}\r\n\r\ninterface IReportOptOutState {\r\n isOptOut: boolean;\r\n OriginalIsOptOut: boolean;\r\n isEdit: boolean;\r\n}\r\n\r\nexport class ReportOptOut extends FormComponent {\r\n constructor(props: IReportOptOutProps) {\r\n super(props);\r\n this.state = {\r\n isOptOut: null,\r\n OriginalIsOptOut: null,\r\n isEdit: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n portfolioDashboardRolesAction.getReportOptOutSetting(this.props.clAccountId, (result) => {\r\n this.setState({ isOptOut: result.IsOptOut, OriginalIsOptOut: result.IsOptOut });\r\n });\r\n }\r\n\r\n private saveSetting() {\r\n this.setState({ isOptOut: null, isEdit: false });\r\n portfolioDashboardRolesAction.updateReportOptOutSetting(\r\n this.props.clAccountId,\r\n this.state.isOptOut,\r\n (result) => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const { isOptOut, OriginalIsOptOut, isEdit } = this.state;\r\n\r\n if (isOptOut == null) {\r\n return ;\r\n }\r\n return (\r\n <>\r\n

Client has opt out of receiving

\r\n {!isEdit && (\r\n
\r\n
Contract note
\r\n
{isOptOut == true ? \"Yes\" : \"No\"}
\r\n
\r\n )}\r\n {isEdit && (\r\n this.setState({ isOptOut: v })}\r\n disabled={!isEdit}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n {!isEdit && (\r\n
\r\n this.setState({ isEdit: true })}\r\n >\r\n \r\n Edit\r\n \r\n
\r\n )}\r\n {isEdit && (\r\n
\r\n this.setState({ isEdit: false, isOptOut: OriginalIsOptOut })}\r\n >\r\n Cancel\r\n \r\n
\r\n )}\r\n {isEdit && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { AddressDisplay } from \"../../../../../../../../react-core/Html/Address/AddressDisplay\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PhysicalAddressType } from \"../../../../../../../../Wrap/Constants/Enums/Customer/PhysicalAddressType\";\r\nimport { RoleType } from \"../../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { CorrespondenceRecipient } from \"../../../../../../../../Wrap/Models/Domains/Account/CorrespondenceRecipient\";\r\nimport { AddressDetailModel } from \"../../../../../../../../Wrap/Models/Models/Customer/AddressDetailModel\";\r\nimport { OrganisationMember } from \"../../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { Lightbox, Lightbox as LightBoxContainer } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { CheckboxEditor } from \"../../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { RelationshipType } from \"../../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\n\r\ninterface ICorrespondenceLightboxProps {\r\n data: Array;\r\n headAccountHierarchyId: string;\r\n correspondenceRecipient: CorrespondenceRecipient;\r\n onClose: () => void;\r\n onCorrespondenceRecipientChange: (val: CorrespondenceRecipient) => void;\r\n}\r\n\r\ninterface ICorrespondenceLightboxState {\r\n isEdit: boolean;\r\n showCancel: boolean;\r\n showLightbox: boolean;\r\n updatedRecipient: CorrespondenceRecipient;\r\n showErrorMsg: boolean;\r\n}\r\n\r\nexport class CorrespondenceLightbox extends FormComponent {\r\n constructor(props: ICorrespondenceLightboxProps) {\r\n super(props);\r\n this.state = {\r\n isEdit: false,\r\n showCancel: false,\r\n showLightbox: true,\r\n updatedRecipient: null,\r\n showErrorMsg: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ updatedRecipient: this.props.correspondenceRecipient });\r\n }\r\n\r\n private renderOptions(): JSX.Element[] {\r\n const { data, correspondenceRecipient } = this.props;\r\n const { isEdit, updatedRecipient } = this.state;\r\n const members = JSON.parse(JSON.stringify(data));\r\n if (correspondenceRecipient && correspondenceRecipient?.ActorId) {\r\n members.unshift(\r\n members.splice(\r\n members.indexOf(members.filter((x) => x.CustomerId == correspondenceRecipient.ActorId)[0]),\r\n 1\r\n )[0]\r\n );\r\n }\r\n const options = [];\r\n members.forEach((member: OrganisationMember) => {\r\n if (member.Company != null) {\r\n options.push(\r\n <>\r\n

{member?.Company?.CompanyName}

\r\n {\r\n if (v) {\r\n this.setState({\r\n showErrorMsg: false,\r\n updatedRecipient: {\r\n HeadAccountHierarchyId: this.props.headAccountHierarchyId,\r\n ActorId: member.CustomerId,\r\n RoleType: this.getAccountRoleType(member),\r\n },\r\n });\r\n } else {\r\n this.setState({ updatedRecipient: null });\r\n }\r\n }}\r\n disabled={!isEdit}\r\n />\r\n {this.renderAddress(member?.Company?.AddressDetails)}\r\n
\r\n \r\n );\r\n } else {\r\n options.push(\r\n <>\r\n

\r\n {member?.Individual?.PersonalDetails?.GivenName +\r\n \" \" +\r\n member?.Individual?.PersonalDetails?.FamilyName}\r\n

\r\n\r\n {\r\n if (v) {\r\n this.setState({\r\n showErrorMsg: false,\r\n updatedRecipient: {\r\n HeadAccountHierarchyId: this.props.headAccountHierarchyId,\r\n ActorId: member.CustomerId,\r\n RoleType: this.getAccountRoleType(member),\r\n },\r\n });\r\n } else {\r\n this.setState({ updatedRecipient: null });\r\n }\r\n }}\r\n disabled={!isEdit}\r\n />\r\n {this.renderAddress(member?.Individual?.AddressDetails)}\r\n
\r\n \r\n );\r\n }\r\n });\r\n return options;\r\n }\r\n\r\n private getAccountRoleType(member: OrganisationMember) {\r\n if (\r\n member?.Relationships.includes(RelationshipType.IndividualTrustee) ||\r\n member?.Relationships.includes(RelationshipType.CorporateTrustee)\r\n ) {\r\n return RoleType.Trustee;\r\n } else if (member?.Relationships.includes(RelationshipType.Settlor)) {\r\n return RoleType.Settlor;\r\n } else if (member?.Relationships.includes(RelationshipType.Beneficiary)) {\r\n if (member?.Individual?.ActorCategory == AccountRoleActorCategory.Customer) {\r\n return RoleType.Beneficiary;\r\n }\r\n return RoleType.AdditionalBeneficiary;\r\n } else {\r\n return RoleType.Trustee;\r\n }\r\n }\r\n\r\n private renderAddress(addressDetails: AddressDetailModel[]) {\r\n const postalAddress = addressDetails.filter((x) => x.PhysicalAddressType == PhysicalAddressType.Postal)[0];\r\n if (postalAddress) {\r\n return ;\r\n } else if (!CommonHelper.isNullOrEmpty(addressDetails)) {\r\n return ;\r\n }\r\n return No address record found;\r\n }\r\n\r\n render() {\r\n const { isEdit, showCancel, updatedRecipient, showLightbox, showErrorMsg } = this.state;\r\n return (\r\n <>\r\n {showLightbox && (\r\n {\r\n if (isEdit) {\r\n this.setState({ showCancel: true });\r\n } else {\r\n this.setState({ showLightbox: false });\r\n this.props.onClose();\r\n }\r\n }}\r\n show={true}\r\n title={\"Receives correspondence\"}\r\n >\r\n {showErrorMsg && (\r\n \r\n )}\r\n\r\n {this.renderOptions()}\r\n {!isEdit && (\r\n {\r\n this.setState({ isEdit: true });\r\n }}\r\n >\r\n Edit\r\n \r\n )}\r\n {isEdit && (\r\n <>\r\n
\r\n {\r\n if (isEdit) {\r\n this.setState({ showCancel: true });\r\n }\r\n }}\r\n >\r\n Cancel\r\n \r\n {\r\n if (updatedRecipient == null) {\r\n this.setState({ showErrorMsg: true });\r\n } else {\r\n this.props.onCorrespondenceRecipientChange(updatedRecipient);\r\n this.setState({ isEdit: false });\r\n }\r\n }}\r\n >\r\n Save\r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n {showCancel && (\r\n {\r\n this.setState({ showCancel: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

Are you sure you wish to cancel?

\r\n {\r\n this.setState({\r\n showCancel: false,\r\n isEdit: false,\r\n updatedRecipient: this.props.correspondenceRecipient,\r\n });\r\n }}\r\n >\r\n Yes\r\n \r\n {\r\n this.setState({ showCancel: false });\r\n }}\r\n >\r\n No\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { Lightbox } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { ToggleButtonTwoOptions } from \"../../../../../../../../react-core/Html/ToggleButtonTwoOptions\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { HierarchyLevelName } from \"../../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { RoleStatus } from \"../../../../../../../../Wrap/Constants/Enums/RoleStatus\";\r\nimport { RoleType } from \"../../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AccountRole } from \"../../../../../../../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { InterestedParty } from \"../../../../../../../../Wrap/Models/Models/Customer/InterestedParty\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport AriaTooltip from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Action } from \"../../../../../../Actions/Action\";\r\nimport { UserStore } from \"../../../../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { AccountInfoAction } from \"../Action/AccountInfoAction\";\r\nimport { roleTypeMap } from \"../../../../ClientRecord/Resource/Contents\";\r\nimport { PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport { portfolioDashboardRolesAction } from \"../Action/Action\";\r\n\r\ninterface IInterestedPartiesProps {\r\n customerId: number;\r\n hierarchyIds: Array;\r\n isOrganisation: boolean;\r\n userIsAdviser?: boolean;\r\n clAccountId: string;\r\n showAddInterestedParty: boolean;\r\n hasReadWriteAccessToAdviser: boolean;\r\n}\r\n\r\nexport const InterestedParties = (props: IInterestedPartiesProps) => {\r\n const [data, setData] = React.useState(null);\r\n const [roles, setRoles] = React.useState([]);\r\n const [showDeleteLightBox, setShowDeleteLightBox] = React.useState(false);\r\n const [deleteInterestedParty, setDeleteInterestedParty] = React.useState({\r\n actorId: null,\r\n accountHierarchyId: null,\r\n roleType: null,\r\n });\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [isEditOnlineAccess, setIsEditOnlineAccess] = React.useState(false);\r\n const [onlineAccessData, setOnlineAccessData] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n setData(null);\r\n if (props?.hierarchyIds && props?.hierarchyIds.length > 0) {\r\n setIsLoading(true);\r\n portfolioDashboardRolesAction.getInterestedPartiesByCustomer(props.customerId, (res) => {\r\n const interestedParties = props.userIsAdviser\r\n ? res.filter(\r\n (x) => x.AccountRoleType != RoleType.LetterOfAuthority && x?.ActorId != props.customerId\r\n )\r\n : res.filter((x) => x?.ActorId != props.customerId);\r\n setData(interestedParties);\r\n setIsLoading(false);\r\n });\r\n }\r\n }, [props.hierarchyIds]);\r\n\r\n React.useEffect(() => {\r\n if (props?.hierarchyIds?.length > 0) {\r\n props.hierarchyIds.forEach((hierarchyId) => {\r\n Action.getAccountRoles(hierarchyId, (res: AccountRole[]) => {\r\n setRoles(\r\n res.filter(\r\n (ele) => ele.Role == RoleType.AdditionalBeneficiary && ele.RoleStatus == RoleStatus.Active\r\n )\r\n );\r\n });\r\n });\r\n }\r\n }, []);\r\n\r\n const mapBenificiaryToInterestedParty = (member: AccountRole): InterestedParty => {\r\n return {\r\n GivenName: member?.Customer?.PersonalDetails?.Name?.Given,\r\n FamilyName: member?.Customer?.PersonalDetails?.Name?.Family,\r\n ClAccountId: props.clAccountId,\r\n AccountRoleType: member.Role,\r\n ClientPortalAccess: null,\r\n ActorCategory: AccountRoleActorCategory.Associate,\r\n };\r\n };\r\n\r\n const beneficiaries = (roles || []).map((ele) => {\r\n return mapBenificiaryToInterestedParty(ele);\r\n });\r\n\r\n const doDelete = (data: any) => {\r\n setIsLoading(true);\r\n AccountInfoAction.deleteInterestedParty(data?.actorId, data?.accountHierarchyId, data?.roleType, (res) => {\r\n portfolioDashboardRolesAction.getInterestedPartiesByCustomer(props.customerId, (res) => {\r\n const interestedParties = props.userIsAdviser\r\n ? res.filter(\r\n (x) => x.AccountRoleType != RoleType.LetterOfAuthority && x?.ActorId != props.customerId\r\n )\r\n : res.filter((x) => x?.ActorId != props.customerId);\r\n setData(interestedParties);\r\n setIsLoading(false);\r\n });\r\n });\r\n };\r\n\r\n const renderTable = () => {\r\n if (isLoading) {\r\n return ;\r\n } else {\r\n return (\r\n {\r\n return row?.GivenName + \" \" + row?.FamilyName;\r\n },\r\n },\r\n {\r\n title: \"Account number\",\r\n key: \"ClAccountId\",\r\n },\r\n {\r\n title: \"Account role\",\r\n key: \"AccountRoleType\",\r\n render: (data) => {\r\n return roleTypeMap[data];\r\n },\r\n },\r\n {\r\n title:\r\n !UserStore.getUserInfo()?.IsReadOnly && props.hasReadWriteAccessToAdviser == true ? (\r\n

\r\n Online access\r\n \r\n {\r\n setIsEditOnlineAccess(!isEditOnlineAccess);\r\n setOnlineAccessData(\r\n !isEditOnlineAccess\r\n ? JSON.parse(\r\n JSON.stringify((data || []).concat(beneficiaries))\r\n )\r\n : null\r\n );\r\n }}\r\n >\r\n \r\n Edit online access\r\n \r\n \r\n

\r\n ) : (\r\n

Online access

\r\n ),\r\n key: \"ClientPortalAccess\",\r\n render: (data, row: InterestedParty, index) => {\r\n if (\r\n row.ActorCategory == AccountRoleActorCategory.Associate ||\r\n row.AccountRoleType == RoleType.ThirdPartyPayer ||\r\n row.AccountRoleType == RoleType.LifeAssured\r\n )\r\n {return \"\";}\r\n if (isEditOnlineAccess) {\r\n return (\r\n {\r\n const _data = onlineAccessData?.concat();\r\n _data[index].ClientPortalAccess = v;\r\n setOnlineAccessData(_data);\r\n }}\r\n />\r\n );\r\n }\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n !UserStore.getUserInfo()?.IsReadOnly && props.hasReadWriteAccessToAdviser == true\r\n ? {\r\n title: \"Edit\",\r\n key: \"\",\r\n render: (data, row: InterestedParty) => {\r\n if (\r\n !ContextStore.getContext()?.isAdminUser &&\r\n ![\r\n RoleType.Beneficiary,\r\n RoleType.AccountAccess,\r\n RoleType.AccountAccessLegacy,\r\n RoleType.AdditionalBeneficiary,\r\n ].includes(row.AccountRoleType)\r\n ) {\r\n return null;\r\n }\r\n return (\r\n {\r\n if (row?.AccountRoleType == RoleType.AdditionalBeneficiary) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n props.customerId\r\n ),\r\n }).TrustServicing\r\n );\r\n } else if (row?.ActorCategory == AccountRoleActorCategory.Customer) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row?.ActorId\r\n ),\r\n }).personalDetail\r\n );\r\n } else {\r\n Navigator.navigateTo(Urls.get().InterestedParties, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n customerid: props.customerId,\r\n ipid: row?.ActorId,\r\n accountrole: row?.AccountRoleType,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n \r\n \r\n );\r\n },\r\n }\r\n : null,\r\n !UserStore.getUserInfo()?.IsReadOnly && props.hasReadWriteAccessToAdviser == true\r\n ? {\r\n title: \"Remove\",\r\n key: \"\",\r\n render: (item, row: InterestedParty) => {\r\n if (\r\n !ContextStore.getContext()?.isAdminUser &&\r\n ![\r\n RoleType.Beneficiary,\r\n RoleType.AccountAccess,\r\n RoleType.AccountAccessLegacy,\r\n RoleType.AdditionalBeneficiary,\r\n ].includes(row.AccountRoleType)\r\n ) {\r\n return null;\r\n } else if (\r\n row.AccountRoleType == RoleType.ControllingPerson &&\r\n data.filter((x) => x.AccountRoleType == RoleType.ControllingPerson)?.length ==\r\n 1\r\n ) {\r\n return null;\r\n } else\r\n {return (\r\n {\r\n if (row?.AccountRoleType == RoleType.AdditionalBeneficiary) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n props.customerId\r\n ),\r\n }).TrustServicing\r\n );\r\n } else {\r\n setShowDeleteLightBox(true);\r\n setDeleteInterestedParty({\r\n actorId: row?.ActorId,\r\n accountHierarchyId: row?.HierarchyId,\r\n roleType: row?.AccountRoleType,\r\n });\r\n }\r\n }}\r\n >\r\n \r\n \r\n );}\r\n },\r\n }\r\n : null,\r\n ].filter((x) => x != null)}\r\n showEmptyMsg\r\n />\r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Interested parties

\r\n {props.isOrganisation && (\r\n \r\n Beneficiary only role will display in this table.\r\n \r\n )}\r\n \r\n Please note this doesn't include consolidated accounts, those will need to be searched for\r\n separately\r\n \r\n
\r\n {renderTable()}\r\n {isEditOnlineAccess && (\r\n
\r\n
\r\n {\r\n onlineAccessData.forEach((member) => {\r\n const notNeedUpdate =\r\n member.ActorCategory == AccountRoleActorCategory.Associate ||\r\n member.AccountRoleType == RoleType.ThirdPartyPayer ||\r\n member.AccountRoleType == RoleType.LifeAssured;\r\n if (!notNeedUpdate) {\r\n portfolioDashboardRolesAction.updateClientAccess({\r\n CustomerId: member.ActorId,\r\n HierarchyId: PortfolioDashboardStore.getData()?.find(\r\n (acc) => acc.HeadClAccountId == member.ClAccountId\r\n )?.HierarchyId,\r\n RoleType: member.AccountRoleType,\r\n IsClientAccess: member.ClientPortalAccess,\r\n });\r\n }\r\n });\r\n setIsEditOnlineAccess(false);\r\n setData(\r\n onlineAccessData.filter(\r\n (ele) => ele.AccountRoleType != RoleType.AdditionalBeneficiary\r\n )\r\n );\r\n }}\r\n >\r\n Save\r\n \r\n {\r\n setIsEditOnlineAccess(false);\r\n setOnlineAccessData(null);\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n )}\r\n {checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView) &&\r\n props.hasReadWriteAccessToAdviser == true &&\r\n !UserStore.getUserInfo()?.IsReadOnly && (\r\n
\r\n
\r\n {props.showAddInterestedParty && (\r\n {\r\n Navigator.navigateTo(Urls.get().InterestedParties, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n customerid: props.customerId,\r\n },\r\n });\r\n }}\r\n >\r\n Add interested party\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n\r\n To check all of the access levels of your clients, use the \r\n {!checkPermission(UserClaim.AdviserPortalDluFindUsersCanView) ? (\r\n window.location.assign(`/admin/users/findusers.aspx`)}\r\n >\r\n Find User\r\n \r\n ) : (\r\n Find User\r\n )}\r\n page\r\n {showDeleteLightBox && (\r\n setShowDeleteLightBox(false)}\r\n title=\"Delete filter\"\r\n >\r\n                

Are you sure you want to delete?

\r\n                \r\n
\r\n           \r\n
\r\n setShowDeleteLightBox(false)}\r\n >\r\n Cancel\r\n \r\n                    \r\n
\r\n
\r\n                        \r\n {\r\n doDelete(deleteInterestedParty);\r\n setShowDeleteLightBox(false);\r\n }}\r\n >\r\n Delete\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { RoleType } from \"../../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { roleTypeMap } from \"../../../../ClientRecord/Resource/Contents\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { EyeIcon } from \"../../../../../../../Shared/Process/Process/EyeIcon\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { AccountInformation } from \"./AccountInfoPopUp/AccountInformation\";\r\nimport { Lightbox } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport CoachMarker from \"../../../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AccountInfoAction } from \"../Action/AccountInfoAction\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { StaticUrls } from \"../../../../../../Resoures/StaticUrls\";\r\nimport { setActionMenuParams } from \"../../../../../../../DLU/DLUHelper\";\r\nimport { SideMenu } from \"../../../../../../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\n\r\nexport const PortfolioClientRoleDiagram = (props: any) => {\r\n //processedHoldings- always keep the order individualHolding,jointHoldings,otherHoldings\r\n const isShowPopAccount = getQueryParameters()[\"showaccountinfo\"];\r\n const isShowPop = !CommonHelper.isNullOrEmpty(isShowPopAccount);\r\n const defaultAccount = isShowPop\r\n ? props.roleDiagramConfig.holdings.find((ele) => ele.hierarchyId == isShowPopAccount)\r\n : null;\r\n\r\n const [lightbox, setLightbox] = useState(isShowPop);\r\n const [selectedAccount, setSelectedAccount] = useState(defaultAccount);\r\n\r\n const processedHoldings = [];\r\n const jointHoldings: any[] = [];\r\n const otherHoldings = [];\r\n const individualHolding = [];\r\n\r\n for (const holding of props.roleDiagramConfig.holdings) {\r\n if (holding.type == roleTypeMap[RoleType.IndividualAccountHolder]) {\r\n individualHolding.push(holding);\r\n } else if (holding.type == roleTypeMap[RoleType.JointAccountHolder]) {\r\n jointHoldings.push(holding);\r\n } else {\r\n otherHoldings.push(holding);\r\n }\r\n }\r\n\r\n if (individualHolding.length) {processedHoldings.push(...individualHolding);}\r\n if (jointHoldings.length) {processedHoldings.push(...jointHoldings);}\r\n if (otherHoldings.length) {processedHoldings.push(...otherHoldings);}\r\n\r\n const navigateToClientRecord = (customerId: number, isTrustEntity: boolean) => {\r\n if (isTrustEntity) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n }).OrganisationDetails\r\n );\r\n } else {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId),\r\n }).personalDetail\r\n );\r\n }\r\n };\r\n\r\n const checkCustomerIdAndNavigate = (holding: any, product: any) => {\r\n if (![RoleType.IndividualAccountHolder, RoleType.JointAccountHolder].includes(holding.roleTypeId)) {\r\n AccountInfoAction.getAccountRoles(holding.hierarchyId, (roles) => {\r\n const customer = (roles || []).find((role) => role.IsPrimary);\r\n if (customer) {\r\n navigateToProductOverview(\r\n customer.Customer?.HierarchyId,\r\n product.hierarchyid,\r\n product.type,\r\n product.id\r\n );\r\n }\r\n });\r\n } else {\r\n navigateToProductOverview(\r\n ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n product.hierarchyid,\r\n product.type,\r\n product.id\r\n );\r\n }\r\n };\r\n\r\n const navigateToProductOverview = (\r\n customerHierarchyid: string,\r\n subAccountHierarchyId: string,\r\n subAccountType: SubAccountType,\r\n clAccountId: string\r\n ) => {\r\n if (checkPermission(UserClaim.AdviserPortalClientInvestmentsCanView)) {\r\n if (subAccountType == SubAccountType.Sipp) {\r\n setActionMenuParams({\r\n SideMenu: SideMenu.OldSipp,\r\n subaccountHierarchyId: subAccountHierarchyId,\r\n headaccounthierarchyId: null,\r\n levelHierarchyId: customerHierarchyid,\r\n });\r\n window.location.assign(StaticUrls.SippDetail(clAccountId));\r\n } else {\r\n window.location.assign(\r\n `/wpadviser/en-gb/dashboard/home/main/customer/${customerHierarchyid}/subaccount/${subAccountHierarchyId}/productoverview`\r\n );\r\n }\r\n }\r\n };\r\n\r\n const holdingsList = processedHoldings.map((holding: any, index) => (\r\n
  • \r\n {jointHoldings.length && individualHolding == holding && holding != undefined ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {holding.type}\r\n

    \r\n {holding.type !== \"Joint account holder\" ? (\r\n holding.customerName\r\n ) : checkPermission(UserClaim.AdviserPortalClientSummaryCanView) ? (\r\n \r\n window.open(\r\n `/wpadviser/en-gb/dashboard/home/main/customer/${HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n holding.otherCustomerId\r\n )}/summary`\r\n )\r\n }\r\n >\r\n {holding.customerName}\r\n \r\n ) : (\r\n {holding.customerName}\r\n )}\r\n

    \r\n
    \r\n
    \r\n \r\n {holding.id}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setLightbox(true);\r\n setSelectedAccount(holding);\r\n }}\r\n className=\"eye-button\"\r\n >\r\n \r\n View account information\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {holding.type}\r\n

    \r\n {holding.type !== \"Joint account holder\" ? (\r\n holding.customerName\r\n ) : checkPermission(UserClaim.AdviserPortalClientSummaryCanView) ? (\r\n \r\n window.open(\r\n `/wpadviser/en-gb/dashboard/home/main/customer/${HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n holding.otherCustomerId\r\n )}/summary`\r\n )\r\n }\r\n >\r\n {holding.customerName}\r\n \r\n ) : (\r\n {holding.customerName}\r\n )}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n if (\r\n holding.roleTypeId == RoleType.IndividualAccountHolder ||\r\n holding.roleTypeId == RoleType.JointAccountHolder\r\n ) {\r\n setLightbox(true);\r\n setSelectedAccount(holding);\r\n } else if (checkPermission(UserClaim.AdviserPortalAccountInfoCanView)) {\r\n window.location.assign(\r\n `/clients/clientdetails/clientdetails-accountinfo.aspx?claccountid=${holding.id}`\r\n );\r\n }\r\n }}\r\n className=\"eye-button\"\r\n >\r\n \r\n View account information\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n\r\n
      \r\n
    • \r\n \r\n
      \r\n {holding.accountName}\r\n
      \r\n {holding.id}\r\n
      \r\n
      \r\n
    • \r\n {holding.products.map((product: any) => (\r\n
    • \r\n \r\n checkPermission(UserClaim.AdviserPortalClientInvestmentsCanView)\r\n ? checkCustomerIdAndNavigate(holding, product)\r\n : null\r\n }\r\n >\r\n
      \r\n {product.name}\r\n
      \r\n {product.id}\r\n
      \r\n \r\n
    • \r\n ))}\r\n
    \r\n
  • \r\n ));\r\n\r\n return (\r\n <>\r\n {checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView) && (\r\n
    \r\n
      \r\n
    • \r\n
      \r\n {\r\n navigateToClientRecord(\r\n props.roleDiagramConfig.id,\r\n props.roleDiagramConfig.isTrustEntity\r\n );\r\n }}\r\n >\r\n \r\n \r\n
      {props.roleDiagramConfig.subject}
      \r\n
      Client ID: {props.roleDiagramConfig.id}
      \r\n \r\n
      \r\n
        {holdingsList}
      \r\n
    • \r\n
    \r\n
    \r\n )}\r\n {lightbox && (\r\n setLightbox(false)}\r\n title=\"Account information\"\r\n >\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { RelationshipType } from \"../../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { OrganisationMember } from \"../../../../../../../../Wrap/Models/Models/Customer/OrganisationMember\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { RelationshipTypeMap } from \"../../../../AddClient/Resource/Contents\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { CorrespondenceLightbox } from \"./CorrespondenceLightbox\";\r\nimport { AccountInfoAction } from \"../Action/AccountInfoAction\";\r\nimport { CorrespondenceRecipient } from \"../../../../../../../../Wrap/Models/Domains/Account/CorrespondenceRecipient\";\r\nimport { Lightbox } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { HierarchyIdHelper } from \"../../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { UserStore } from \"../../../../../../Stroes/Variable\";\r\nimport { ToggleButtonTwoOptions } from \"../../../../../../../../react-core/Html/ToggleButtonTwoOptions\";\r\nimport { portfolioDashboardRolesAction } from \"../Action/Action\";\r\nimport { PortfolioDashboardStore } from \"../../../Store/Variable\";\r\n\r\ninterface ITrustTableProps {\r\n trustEntityCustomerId: number;\r\n data: Array;\r\n headAccountHierarchyId: string;\r\n clAccountId: string;\r\n trustCategory: string;\r\n hasReadWriteAccessToAdviser: boolean;\r\n onUpdateClientAccess: VoidFunction;\r\n}\r\n\r\ninterface ITrustTableState {\r\n correspondenceRecipient: CorrespondenceRecipient;\r\n showCorrespondenceLightbox: boolean;\r\n showErrorMsgLightbox: boolean;\r\n isEditOnlineAccess: boolean;\r\n onlineAccessData: OrganisationMember[];\r\n isLoading: boolean;\r\n}\r\n\r\nexport class TrustTable extends FormComponent {\r\n constructor(props: ITrustTableProps) {\r\n super(props);\r\n this.state = {\r\n showCorrespondenceLightbox: false,\r\n correspondenceRecipient: null,\r\n showErrorMsgLightbox: false,\r\n isEditOnlineAccess: false,\r\n onlineAccessData: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getCorrespondenceRecipient();\r\n }\r\n\r\n private updateCorrespondenceRecipient(recipient: CorrespondenceRecipient) {\r\n AccountInfoAction.putCorrespondenceRecipient(recipient, () => {\r\n this.getCorrespondenceRecipient();\r\n });\r\n }\r\n\r\n getCorrespondenceRecipient() {\r\n AccountInfoAction.getCorrespondenceRecipient(this.props.headAccountHierarchyId, (result) => {\r\n this.setState({ correspondenceRecipient: result });\r\n });\r\n }\r\n\r\n private getHierarchyId(customerId) {\r\n return HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Customer, customerId);\r\n }\r\n\r\n render() {\r\n const { data, headAccountHierarchyId } = this.props;\r\n const { showCorrespondenceLightbox, correspondenceRecipient, showErrorMsgLightbox } = this.state;\r\n const canEdit = !UserStore.getUserInfo()?.IsReadOnly && this.props.hasReadWriteAccessToAdviser == true;\r\n if (CommonHelper.isNullOrEmpty(data)) {\r\n return <>;\r\n }\r\n return (\r\n <>\r\n {showCorrespondenceLightbox && (\r\n \r\n x.Relationships.includes(RelationshipType.IndividualTrustee) ||\r\n x.Relationships.includes(RelationshipType.CorporateTrustee)\r\n )}\r\n correspondenceRecipient={correspondenceRecipient}\r\n headAccountHierarchyId={headAccountHierarchyId}\r\n onClose={() => this.setState({ showCorrespondenceLightbox: false })}\r\n onCorrespondenceRecipientChange={(val) => this.updateCorrespondenceRecipient(val)}\r\n />\r\n )}\r\n

    Trust members

    \r\n {\r\n if (row?.Relationships.includes(RelationshipType.CorporateTrustee)) {\r\n return row?.Company?.CompanyName;\r\n } else {\r\n return (\r\n row?.Individual?.PersonalDetails?.GivenName +\r\n \" \" +\r\n row?.Individual?.PersonalDetails?.FamilyName\r\n );\r\n }\r\n },\r\n },\r\n {\r\n title: \"Account number\",\r\n key: \"d\",\r\n render: (data, row, index) => {\r\n return this.props.clAccountId;\r\n },\r\n },\r\n\r\n {\r\n title: \"Account role\",\r\n key: \"Relationships\",\r\n render: (data) => {\r\n return (data || []).map((role) => RelationshipTypeMap[role]).join(\" & \");\r\n },\r\n },\r\n {\r\n title:\r\n !UserStore.getUserInfo()?.IsReadOnly &&\r\n this.props.hasReadWriteAccessToAdviser == true ? (\r\n {\r\n this.setState({ showCorrespondenceLightbox: true });\r\n }}\r\n >\r\n Receives correspondence\r\n \r\n ) : (\r\n \"Receives correspondence\"\r\n ),\r\n key: \"CustomerId\",\r\n render: (data) => {\r\n return data == this.state.correspondenceRecipient?.ActorId ? \"Yes\" : \"No\";\r\n },\r\n },\r\n {\r\n title:\r\n !UserStore.getUserInfo()?.IsReadOnly &&\r\n this.props.hasReadWriteAccessToAdviser == true ? (\r\n

    \r\n Online access\r\n \r\n {\r\n this.setState({\r\n isEditOnlineAccess: !this.state.isEditOnlineAccess,\r\n onlineAccessData: !this.state.isEditOnlineAccess\r\n ? JSON.parse(JSON.stringify(this.props.data))\r\n : null,\r\n });\r\n }}\r\n >\r\n \r\n Edit online access\r\n \r\n \r\n

    \r\n ) : (\r\n

    Online access

    \r\n ),\r\n key: \"ClientAccess\",\r\n render: (data, row, index) => {\r\n if (this.state.isEditOnlineAccess) {\r\n return (\r\n {\r\n const _data = JSON.parse(JSON.stringify(this.state.onlineAccessData));\r\n _data[index].ClientAccess = v;\r\n this.setState({ onlineAccessData: _data });\r\n }}\r\n />\r\n );\r\n }\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n !UserStore.getUserInfo()?.IsReadOnly && this.props.hasReadWriteAccessToAdviser == true\r\n ? {\r\n title: \"Edit\",\r\n key: \"CustomerId\",\r\n render: (data, row: OrganisationMember) => {\r\n return (\r\n {\r\n if (row?.Company != null) {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: this.getHierarchyId(data),\r\n }).OrganisationDetails\r\n );\r\n } else {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: this.getHierarchyId(data),\r\n }).personalDetail\r\n );\r\n }\r\n }}\r\n >\r\n \r\n \r\n );\r\n },\r\n }\r\n : null,\r\n !UserStore.getUserInfo()?.IsReadOnly && this.props.hasReadWriteAccessToAdviser == true\r\n ? {\r\n title: \"Remove\",\r\n key: \"CustomerId\",\r\n render: (data, row: OrganisationMember) => {\r\n if (\r\n row?.Relationships.includes(RelationshipType.Settlor) &&\r\n row?.Relationships.length == 1\r\n ) {\r\n return null;\r\n }\r\n if (\r\n row?.Relationships.includes(RelationshipType.IndividualTrustee) &&\r\n row?.Relationships.includes(RelationshipType.Beneficiary) &&\r\n this.props.trustCategory == \"Absolute\"\r\n ) {\r\n return null;\r\n }\r\n return (\r\n {\r\n if (data == this.state.correspondenceRecipient?.ActorId) {\r\n this.setState({ showErrorMsgLightbox: true });\r\n } else {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.trustEntityCustomerId\r\n ),\r\n }).TrustServicing\r\n );\r\n }\r\n }}\r\n >\r\n \r\n \r\n );\r\n },\r\n }\r\n : null,\r\n ].filter((x) => x != null)}\r\n showEmptyMsg\r\n />\r\n\r\n {this.state.isEditOnlineAccess && (\r\n
    \r\n
    \r\n {\r\n portfolioDashboardRolesAction.updateClientAccesses(\r\n this.state.onlineAccessData,\r\n PortfolioDashboardStore.getData()?.[0]?.HierarchyId,\r\n () => {\r\n this.props.onUpdateClientAccess();\r\n this.setState({ isEditOnlineAccess: false, onlineAccessData: null });\r\n }\r\n );\r\n }}\r\n >\r\n Save\r\n \r\n {\r\n this.setState({ isEditOnlineAccess: false, onlineAccessData: null });\r\n }}\r\n >\r\n Cancel\r\n \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n {canEdit && {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.trustEntityCustomerId\r\n ),\r\n }).TrustServicing\r\n );\r\n }}\r\n >\r\n Add trust member\r\n \r\n }\r\n
    \r\n
    \r\n {showErrorMsgLightbox && (\r\n {\r\n this.setState({ showErrorMsgLightbox: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

    You must add a new trustee before removing sole Trustee.

    \r\n

    \r\n Before you remove this Trustee, you must select another address for correspondence to go to.\r\n

    \r\n {\r\n this.setState({ showErrorMsgLightbox: false });\r\n }}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { ControllingPersonType } from \"../../../../../../../../Wrap/Constants/Enums/Customer/ControllingPersonType\";\r\nimport { EligibilityStatus } from \"../../../../../../../../Wrap/Constants/Enums/Domain/EligibilityStatus\";\r\nimport { InvestorType } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\n\r\nexport const EligibilityStatusOptions: Dictionary[] = [\r\n { key: EligibilityStatus.NotApplicable + \"\", value: \"Not Applicable\" },\r\n { key: EligibilityStatus.UnableToBeCured + \"\", value: \"Reportable\" },\r\n { key: EligibilityStatus.Cured + \"\", value: \"Not Reportable\" },\r\n { key: EligibilityStatus.NeedsReview + \"\", value: \"Needs Review\" },\r\n];\r\n\r\nexport const investorTypeMap = {\r\n [InvestorType.Consolidated]: \"Consolidated\",\r\n [InvestorType.FundManager]: \"Fund manager\",\r\n [InvestorType.Trust]: \"Trust\",\r\n [InvestorType.Individual]: \"Individual\",\r\n [InvestorType.Individ]: \"Individ\",\r\n [InvestorType.Joint]: \"Joint\",\r\n [InvestorType.JointIndividual]: \"Joint individual\",\r\n};\r\n\r\nexport const EligibilityStatusMap = {\r\n [EligibilityStatus.NotApplicable]: \"Not Applicable\",\r\n [EligibilityStatus.UnableToBeCured]: \"Reportable\",\r\n [EligibilityStatus.Cured]: \"Not Reportable\",\r\n [EligibilityStatus.NeedsReview]: \"Needs Review\",\r\n};\r\n\r\nexport const InterestedPartySteppers = {\r\n clientDetails: \"Client details\",\r\n};\r\nexport const ControllingPersonTypeArray = [\r\n ControllingPersonType.NotSpecified,\r\n ControllingPersonType.ControlLegalPersonByOwnership,\r\n ControllingPersonType.ControlLegalPersonByOtherMeans,\r\n ControllingPersonType.ControlLegalPersonBySeniorManger,\r\n ControllingPersonType.ControlTrustBySettlor,\r\n ControllingPersonType.ControlTrustByTrustee,\r\n ControllingPersonType.ControlTrustByProtector,\r\n ControllingPersonType.ControlTrustByBeneficiary,\r\n ControllingPersonType.ControlTrustByOther,\r\n ControllingPersonType.ControlNonTrustBySettlor,\r\n ControllingPersonType.ControlNonTrustByTrustee,\r\n ControllingPersonType.ControlNonTrustByProtector,\r\n ControllingPersonType.ControlNonTrustByBeneficiary,\r\n ControllingPersonType.ControlNonTrustByOther,\r\n];\r\nexport const ControllingPersonTypeMap = {\r\n [ControllingPersonType.NotSpecified]: \"Not Specified\",\r\n [ControllingPersonType.ControlLegalPersonByOwnership]:\r\n \"Controlling Person of a legal person - control by ownership\",\r\n [ControllingPersonType.ControlLegalPersonByOtherMeans]:\r\n \"Controlling Person of a legal person - control by other means\",\r\n [ControllingPersonType.ControlLegalPersonBySeniorManger]:\r\n \"Controlling Person of a legal person - control by senior managing official\",\r\n [ControllingPersonType.ControlTrustBySettlor]: \"Controlling Person of a trust - settlor\",\r\n [ControllingPersonType.ControlTrustByTrustee]: \"Controlling Person of a trust - trustee\",\r\n [ControllingPersonType.ControlTrustByProtector]: \"Controlling Person of a trust - protector\",\r\n [ControllingPersonType.ControlTrustByBeneficiary]: \"Controlling Person of a trust - beneficiary\",\r\n [ControllingPersonType.ControlTrustByOther]: \"Controlling Person of a trust - other\",\r\n [ControllingPersonType.ControlNonTrustBySettlor]:\r\n \"Controlling Person of a legal arrangement(non-trust) - settlor-equivalent\",\r\n [ControllingPersonType.ControlNonTrustByTrustee]:\r\n \"Controlling Person of a legal arrangement(non-trust) - trustee-equivalent\",\r\n [ControllingPersonType.ControlNonTrustByProtector]:\r\n \"Controlling Person of a legal arrangement(non-trust) - protector-equivalent\",\r\n [ControllingPersonType.ControlNonTrustByBeneficiary]:\r\n \"Controlling Person of a legal arrangement(non-trust) - beneficiary-equivalent\",\r\n [ControllingPersonType.ControlNonTrustByOther]:\r\n \"Controlling Person of a legal arrangement(non-trust) - other-equivalent\",\r\n};\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { AccountRoleActorCategory } from \"../../../../../../../Wrap/Constants/Enums/AccountRoleActorCategory\";\r\nimport { CustomerType } from \"../../../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { RelationshipType } from \"../../../../../../../Wrap/Constants/Enums/Customer/RelationshipType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { RoleType } from \"../../../../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { AccountRoleByActorDetails } from \"../../../../../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { SubAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport { TrustDetail } from \"../../../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { AccountRoleWithAccountDetails } from \"../../../../../../../Wrap/Models/Domains/Customers/AccountRoleWithAccountDetails\";\r\nimport { Organisation } from \"../../../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { AccountInfoAction } from \"./Action/AccountInfoAction\";\r\nimport { TrustTable } from \"./Components/TrustTable\";\r\nimport { ClientRecordAction } from \"../../../ClientRecord/Action/ClientRecordAction\";\r\nimport { ClientRecordTab, roleTypeMap } from \"../../../ClientRecord/Resource/Contents\";\r\nimport { ClientRecordStore } from \"../../../ClientRecord/Store/Variable\";\r\nimport { PortfolioDashboardAction } from \"../../Action/PortfolioDashboardAction\";\r\nimport { PortfolioDashboardAccountRolesStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { PresentationViewButton } from \"../Common/PresentationViewButton\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport { InterestedParties } from \"./Components/InterestedParties\";\r\nimport { PortfolioClientRoleDiagram } from \"./Components/PortfolioClientRoleDiagram\";\r\nimport { RoleStatus } from \"../../../../../../../Wrap/Constants/Enums/RoleStatus\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { PermissionAction } from \"../../../../../../Shared/Permission/Action/PermissionAction\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport {\r\n consolidatedAccountDashboardTabEnum,\r\n dashboardRelatedPageEnum,\r\n portfolioDashboardTabEnum,\r\n prospectDashboardTabEnum,\r\n} from \"../../Resource/Content\";\r\n\r\ninterface IPortfolioDashboardRolesState {\r\n accountRoleDetails: AccountRoleWithAccountDetails;\r\n roleDiagramConfig: any;\r\n trustDetail: TrustDetail;\r\n isLoading: boolean;\r\n trustAccountHolder: Organisation;\r\n slideNumber: number;\r\n userInfo: User;\r\n canAccessNewUserPage: boolean;\r\n}\r\n\r\ninterface IPortfolioDashboardRolesProps extends IPortfolioDashboardComponentProps {\r\n customerType: CustomerType;\r\n}\r\n\r\nexport class PortfolioDashboardRoles extends PortfolioDashboardComponent<\r\n IPortfolioDashboardRolesProps,\r\n IPortfolioDashboardRolesState\r\n> {\r\n constructor(props: IPortfolioDashboardRolesProps) {\r\n super(props);\r\n this.initState();\r\n this.subscribeToStore(PortfolioDashboardAccountRolesStore, () => this.onStoreChange());\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n accountRoleDetails: null,\r\n roleDiagramConfig: null,\r\n trustDetail: null,\r\n isLoading: false,\r\n trustAccountHolder: null,\r\n slideNumber: 0,\r\n userInfo: UserStore.getUserInfo(),\r\n canAccessNewUserPage: false,\r\n };\r\n }\r\n\r\n getData(selectedSubAccountHierarchyIds: string[]) {}\r\n\r\n private getNewUserPermission() {\r\n PermissionAction.getPermissionForASPXPage(\"/Admin/Users/NewUser.aspx\", (res) => {\r\n this.setState({ canAccessNewUserPage: res.HasPermission });\r\n });\r\n }\r\n private onStoreChange() {\r\n this.getRoleDiagram();\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {\r\n this.getNewUserPermission();\r\n this.setState({ isLoading: true });\r\n PortfolioDashboardAction.getAccountRoleWithAccountDetails(this.props.customerid);\r\n const indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.Roles\r\n );\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Roles,\r\n this.props.isBtnPresentationClicked\r\n );\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .roles.getUrl(),\r\n pageTitle: `${document.title} - client - roles`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n private getRoleDiagram() {\r\n const result = PortfolioDashboardAccountRolesStore.getData();\r\n const activeAccountRoles = result.AccountRoles.filter(\r\n (x) =>\r\n x.AccountRoleStatus == RoleStatus.Active &&\r\n x.AccountRoleType != RoleType.LifeAssured &&\r\n x.AccountStatus.toLowerCase() != \"inprogress\"\r\n );\r\n result.AccountRoles = activeAccountRoles;\r\n this.setState({ accountRoleDetails: result });\r\n if (\r\n (result && CommonHelper.isNullOrEmpty(result?.AccountRoles)) ||\r\n CommonHelper.isNullOrEmpty(activeAccountRoles)\r\n ) {\r\n this.setState({ isLoading: false });\r\n } else if (\r\n this.props.customerType == CustomerType.Company ||\r\n this.props.customerType == CustomerType.CorporateTrust ||\r\n this.props.customerType == CustomerType.Trust\r\n ) {\r\n ClientRecordAction.getTrustDetails(this.getHierarchyId(result.AccountRoles[0].AccountId), (detail) => {\r\n this.setState({ trustDetail: detail });\r\n this.getOrganisationRoleDiagramConfifg(result);\r\n this.getOrganisationData();\r\n });\r\n } else {\r\n this.getIndividualRoleDiagramConfig(result);\r\n }\r\n }\r\n\r\n private getOrganisationData() {\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n if (allAccounts && allAccounts.length > 0) {\r\n AccountInfoAction.getOrganisationDetail(\r\n this.props.customerid,\r\n allAccounts[0].HierarchyId,\r\n (organisation) => {\r\n this.setState({ trustAccountHolder: organisation, isLoading: false });\r\n }\r\n );\r\n } else {\r\n this.setState({ isLoading: false });\r\n }\r\n }\r\n\r\n private getOrganisationRoleDiagramConfifg(accountRoleDetails: AccountRoleWithAccountDetails) {\r\n const data = ClientRecordStore.getData();\r\n if (!CommonHelper.isNullOrEmpty(data[ClientRecordTab.OrganisationDetails])) {\r\n const organisation: Organisation = data[ClientRecordTab.OrganisationDetails];\r\n const roleDiagramConfig = {\r\n subject: organisation.Name,\r\n id: this.props.customerid,\r\n isTrustEntity: true,\r\n url: \"\",\r\n holdings: this.getHoldingsConfig(\r\n accountRoleDetails.AccountRoles,\r\n accountRoleDetails.SubAccountInfos,\r\n organisation.CustomerType,\r\n organisation.Name,\r\n true\r\n ),\r\n };\r\n this.setState({ roleDiagramConfig: roleDiagramConfig });\r\n }\r\n }\r\n\r\n private getIndividualRoleDiagramConfig(accountRoleDetails: AccountRoleWithAccountDetails) {\r\n if (accountRoleDetails?.AccountRoles && accountRoleDetails?.AccountRoles.length > 0) {\r\n const name =\r\n accountRoleDetails.PersonalDetails.GivenName + \" \" + accountRoleDetails.PersonalDetails.FamilyName;\r\n const roleDiagramConfig = {\r\n subject: name,\r\n id: this.props.customerid,\r\n isTrustEntity: false,\r\n url: \"\",\r\n holdings: this.getHoldingsConfig(\r\n accountRoleDetails.AccountRoles,\r\n accountRoleDetails.SubAccountInfos,\r\n CustomerType.Individual,\r\n name,\r\n false\r\n ),\r\n };\r\n this.setState({ roleDiagramConfig: roleDiagramConfig, isLoading: false });\r\n }\r\n }\r\n\r\n private getHoldingsConfig(\r\n accountRoles: Array,\r\n subAccounts: Array,\r\n customerType: CustomerType,\r\n clientName: string,\r\n isTrustAccountHolder: boolean\r\n ) {\r\n const holdings = [];\r\n accountRoles.forEach((role) => {\r\n const detail = this.state.trustDetail;\r\n holdings.push({\r\n type: roleTypeMap[role.AccountRoleType],\r\n roleTypeId: role.AccountRoleType,\r\n accountName: role.AccountName,\r\n id: role.ClAccountId,\r\n hierarchyId: this.getHierarchyId(role.AccountId),\r\n isTrustAccount: isTrustAccountHolder,\r\n products: this.getProductsConfig(\r\n role.ClAccountId,\r\n subAccounts,\r\n this.displayWrapCashSubAccount(role, detail, customerType)\r\n ),\r\n customerName:\r\n role.AccountRoleType == RoleType.JointAccountHolder ? role.OtherJointHolderName : clientName,\r\n otherCustomerId: role.OtherJointHolderCustomerId,\r\n });\r\n });\r\n return holdings;\r\n }\r\n\r\n private displayWrapCashSubAccount(\r\n accountRole: AccountRoleByActorDetails,\r\n trustDetail: TrustDetail,\r\n customerType: CustomerType\r\n ) {\r\n if (customerType == CustomerType.Individual || customerType == CustomerType.CorporateTrust) {\r\n return true;\r\n }\r\n if (trustDetail?.NewOrExistingTrust == \"EXISTING\") {\r\n return true;\r\n }\r\n if (trustDetail?.NewOrExistingTrust == \"NEW\" && trustDetail?.TrustType == \"GIFTPLAN\") {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private getHierarchyId(accountId: number) {\r\n return HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Account, accountId);\r\n }\r\n\r\n private getProductsConfig(headClAccountId: string, allSubAccounts: Array, displayWrapCash: boolean) {\r\n const products = [];\r\n const subAccounts = allSubAccounts.filter(\r\n (subAccount) => subAccount.ClAccountId.split(\"-\")[0] == headClAccountId\r\n );\r\n subAccounts.sort((a, b) => a.ClAccountId.localeCompare(b.ClAccountId));\r\n if (subAccounts && subAccounts.length > 0)\r\n {subAccounts.push(\r\n subAccounts.splice(\r\n subAccounts.indexOf(subAccounts.filter((a) => a.SubAccountType == SubAccountType.WrapCash)[0]),\r\n 1\r\n )[0]\r\n );}\r\n subAccounts.forEach((subAccount) => {\r\n if (subAccount.SubAccountType != SubAccountType.WrapCash || displayWrapCash == true) {\r\n products.push({\r\n name: subAccount.ProductDisplayName,\r\n id: subAccount.ClAccountId,\r\n hierarchyid: subAccount.HierarchyId,\r\n type: subAccount?.SubAccountType,\r\n });\r\n }\r\n });\r\n return products;\r\n }\r\n\r\n private handleLaunchpadClick() {\r\n const context: Record = {};\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {context.customerId = customerHierarchyId;}\r\n\r\n (window as any).AppStore.open(context);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const allAccounts = PortfolioDashboardStore.getData();\r\n const { trustAccountHolder, trustDetail, isLoading, accountRoleDetails } = this.state;\r\n const { isPresentationView } = this.context;\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n const result = PortfolioDashboardAccountRolesStore.getData();\r\n if (this.state.roleDiagramConfig != null) {\r\n const distinctAccountIds = [...new Set(accountRoleDetails.AccountRoles.map((x) => x.AccountId))];\r\n const hierarchyIds = distinctAccountIds.map((x) =>\r\n HierarchyIdHelper.toHierarchyIdString(HierarchyLevelName.Account, x)\r\n );\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n this.addEvent({\r\n event: \"roletab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.documentTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"presentation mode\",\r\n },\r\n });\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Roles,\r\n this.props.isBtnPresentationClicked\r\n );\r\n }}\r\n />\r\n {isAppStoreEnabled && (\r\n \r\n Applications pad\r\n \r\n \r\n )}\r\n
    \r\n \r\n {(this.props.customerType == CustomerType.CorporateTrust ||\r\n this.props.customerType == CustomerType.Trust) && (\r\n \r\n x?.Individual?.ActorCategory == AccountRoleActorCategory.Customer ||\r\n x?.Relationships.includes(RelationshipType.CorporateTrustee)\r\n )}\r\n headAccountHierarchyId={\r\n allAccounts[0] != null\r\n ? allAccounts[0]?.HierarchyId\r\n : ContextStore.getUrlParamsHierarchyId(ContextType.Customer)\r\n }\r\n trustEntityCustomerId={this.props.customerid}\r\n clAccountId={trustDetail?.ClAccountId}\r\n trustCategory={trustDetail?.TrustCategory}\r\n hasReadWriteAccessToAdviser={this.props.hasReadWriteAccessToAdviser}\r\n onUpdateClientAccess={() => this.getOrganisationData()}\r\n />\r\n )}\r\n\r\n {!isPresentationView && (\r\n x?.AccountRoleType == RoleType.Trustee\r\n )?.ClAccountId\r\n }\r\n hierarchyIds={hierarchyIds}\r\n customerId={this.props.customerid}\r\n isOrganisation={trustAccountHolder != null}\r\n userIsAdviser={this.state.userInfo.IsAdviser}\r\n showAddInterestedParty={\r\n accountRoleDetails?.AccountRoles?.some(\r\n (x) =>\r\n x?.AccountRoleType == RoleType.IndividualAccountHolder ||\r\n x?.AccountRoleType == RoleType.JointAccountHolder ||\r\n x?.AccountRoleType == RoleType.TrustAccountHolder\r\n ) &&\r\n (this.state.userInfo.IsAdviser != true || this.state.canAccessNewUserPage)\r\n }\r\n hasReadWriteAccessToAdviser={this.props.hasReadWriteAccessToAdviser}\r\n />\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (this.state.isLoading == false) {\r\n return (\r\n

    \r\n Client roles will appear here once the account set up has been completed.\r\n

    \r\n );\r\n }\r\n return <>;\r\n }\r\n}\r\nPortfolioDashboardRoles.contextType = PresentationContext;\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { TrustDetailsClient } from \"../../../../../../../../Wrap/Api/Account/TrustDetails\";\r\nimport { AdviserBridgePermissionCheckClient } from \"../../../../../../../../Wrap/Api/Customer/AdviserBridgePermissionCheck\";\r\nimport { CheckAdviserBridgeAccountPermissionsClient } from \"../../../../../../../../Wrap/Api/Customer/CheckAdviserBridgeAccountPermissions\";\r\nimport { SippIncomeClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Investment/SippIncome\";\r\nimport { PerformanceSummaryClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Performance/PerformanceSummary\";\r\nimport { NewPortfolioValuationSummaryClient } from \"../../../../../../../../Wrap/Api/Transformation/NewPortfolioValuationSummary\";\r\nimport { NewProductsValuationDetailSummaryClient } from \"../../../../../../../../Wrap/Api/Transformation/NewProductsValuationDetailSummary\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { DateFromType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Transformation/Valuation/DateFromType\";\r\nimport { PortfolioValuationSummary } from \"../../../../../../../../Wrap/Models/Domains/Valuation/PortfolioValuationSummary\";\r\nimport { ProductsValuationDetailSummary } from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductsValuationDetailSummary\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Models/Models/Transformation/Performance/PerformanceMethod\";\r\nimport { IJsonDate } from \"../../../../../../../../Wrap/System/IJsonDate\";\r\nimport { PortfolioDashboardMultiSelectionStore } from \"../../../Store/Variable\";\r\nimport {\r\n PortfolioPerformanceSimpleReturnAndIRRDispatcher,\r\n PortfolioPerformanceSummaryDispatcher,\r\n PortfolioPerformanceSummaryQuery,\r\n ProductsValuationDetailSummaryDispatcher,\r\n ProductsValuationDetailSummaryQuery,\r\n SippIncomeDispatcher,\r\n SummaryTrustDetailsDisaptcher,\r\n} from \"../Store/Variable\";\r\n\r\nexport class PortfolioDashboardSummaryAction {\r\n public static getPortfolioValuationSummary(\r\n headAccountHierarchyIds: Array,\r\n subAccountHierarchyIds: Array,\r\n assetClassType: AssetClassType,\r\n performanceMethod: PerformanceMethod,\r\n asAt: IJsonDate,\r\n dateFromType: DateFromType,\r\n callBack?: (val: PortfolioValuationSummary) => void\r\n ) {\r\n assetClassType = AssetClassType.Tier1;\r\n performanceMethod = PerformanceMethod.Simple;\r\n dateFromType = 1;\r\n\r\n const client = new NewPortfolioValuationSummaryClient();\r\n const promise = client.post(\r\n headAccountHierarchyIds,\r\n subAccountHierarchyIds,\r\n assetClassType,\r\n performanceMethod,\r\n asAt,\r\n dateFromType\r\n );\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n public static getPerformanceSummary(query: PortfolioPerformanceSummaryQuery) {\r\n const client = new PerformanceSummaryClient();\r\n const promise = client.get(\r\n query.hierarchyId,\r\n query.fromDateTime,\r\n query.toDateTime,\r\n query.fromInception,\r\n query.performanceMethod,\r\n PortfolioDashboardMultiSelectionStore.getData()\r\n );\r\n\r\n PortfolioPerformanceSummaryDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n query: query,\r\n });\r\n\r\n promise.onSuccess((res) => {\r\n PortfolioPerformanceSummaryDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: res,\r\n query: query,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n PortfolioPerformanceSummaryDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n query: query,\r\n });\r\n });\r\n }\r\n\r\n public static getProductsValuationDetailSummary(query: ProductsValuationDetailSummaryQuery) {\r\n const client = new NewProductsValuationDetailSummaryClient();\r\n const promise = client.get(\r\n query.headAccountHierarchyIds,\r\n query.subAccountHierarchyIds,\r\n query.assetClassType,\r\n query.asAt\r\n );\r\n\r\n ProductsValuationDetailSummaryDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n query: query,\r\n });\r\n\r\n promise.onSuccess((res) => {\r\n ProductsValuationDetailSummaryDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: res,\r\n query: query,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n ProductsValuationDetailSummaryDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n query: query,\r\n });\r\n });\r\n }\r\n\r\n public static getSippIncome(hierarchyId: string) {\r\n const client = new SippIncomeClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n SippIncomeDispatcher.dispatch({\r\n actionType: ActionType.Loading,\r\n query: hierarchyId,\r\n });\r\n\r\n promise.onSuccess((res) => {\r\n SippIncomeDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: res,\r\n query: hierarchyId,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n SippIncomeDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n query: hierarchyId,\r\n });\r\n });\r\n }\r\n\r\n public static getTrustDetails(hierarchyIds: string[]) {\r\n const client = new TrustDetailsClient();\r\n const promise = client.get(hierarchyIds);\r\n\r\n promise.onSuccess((res) => {\r\n SummaryTrustDetailsDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: res,\r\n query: hierarchyIds,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n SummaryTrustDetailsDisaptcher.dispatch({\r\n actionType: ActionType.Error,\r\n query: hierarchyIds,\r\n });\r\n });\r\n }\r\n\r\n public static getClientDetails(actorId: number, callback) {\r\n const client = new AdviserBridgePermissionCheckClient();\r\n const promise = client.get(actorId);\r\n\r\n promise.onSuccess((res) => {\r\n callback(res);\r\n });\r\n\r\n promise.onError((err) => {\r\n console.error(err);\r\n });\r\n }\r\n public static checkAdviserBridgeAccountPermission(actorId: number, callback) {\r\n const client = new CheckAdviserBridgeAccountPermissionsClient();\r\n const promise = client.get(actorId);\r\n promise.onSuccess((res) => {\r\n callback(res);\r\n });\r\n\r\n promise.onError((err) => {\r\n console.error(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ProductValuationDetailSummary } from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductValuationDetailSummary\";\r\nimport { Methods } from \"../../../../../../Common/CommonHelper\";\r\nimport { RegularPaymentIn } from \"../../../../../../../../Wrap/Models/Domains/Valuation/RegularPaymentIn\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { Guid } from \"../../../../../../../../react-core/Utils/Guid\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Money } from \"../../../../../../../../Wrap/Core/DataTypes/Money\";\r\nimport { RegularPaymentType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/RegularPaymentType\";\r\nimport { FrequencyType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/FrequencyType\";\r\nimport { RegularWithdraw } from \"../../../../../../../../Wrap/Models/Domains/Valuation/RegularWithdraw\";\r\nimport { DashboardContents } from \"../../../../../../Resoures/DashboardContents\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { StaticUrls } from \"../../../../../../Resoures/StaticUrls\";\r\nimport { ClientAccountStore, UserStore } from \"../../../../../../Stroes/Variable\";\r\nimport { CashPopupView } from \"./CashPopupView\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { accountStatusMap } from \"../../../../ClientRecord/Resource/Contents\";\r\nimport { InvalidateDate } from \"../../../../../../../../react-core/Datepicker/Resources/ContentContent\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { ThreeDotsDrodpwn } from \"./ThreeDotsDropdown\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { PresentationContext } from \"../../Common/PresentationViewWrapper\";\r\nimport { SippIncomeClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Investment/SippIncome\";\r\nimport { SippIncome } from \"../../../../../../../../Wrap/Models/Domains/Valuation/SippIncome\";\r\nimport { MoneyHelper } from \"../../../../../../../Shared/Common/MoneyHelper\";\r\nimport { Frequency } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport CoachMarker from \"../../../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { User } from \"../../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { BaseComponent } from \"../../../../../../../../react-core/Html/BaseComponent\";\r\nimport { SippIncomeDispatcher, SippIncomeStore, SummaryTrustDetailsStore } from \"../Store/Variable\";\r\nimport { TrustDetail } from \"../../../../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { AccountStatus } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { PortfolioDashboardSummaryAction } from \"../Action/Action\";\r\nimport { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\n\r\ninterface IAccountCardProps extends React.Props {\r\n index: number;\r\n product: ProductValuationDetailSummary;\r\n stringHelper: any;\r\n hasReadWriteAccessToAdviser: boolean;\r\n}\r\n\r\ninterface IAccountCardState {\r\n userInfo?: User;\r\n hierarchyId: string;\r\n isShowCashModal: boolean;\r\n showLightbox: boolean;\r\n showWithDrawlRestrictionLightbox: boolean;\r\n sippIncome: SippIncome;\r\n sippDrawdownServiceFailure: boolean;\r\n trustDetail: TrustDetail[];\r\n}\r\n\r\nexport class AccountCard extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n hierarchyId: \"\",\r\n isShowCashModal: false,\r\n showLightbox: false,\r\n showWithDrawlRestrictionLightbox: false,\r\n sippIncome: {\r\n CurrentIncome: MoneyHelper.getDefaultMoney(),\r\n IncomeFrequency: Frequency.NotSpecified,\r\n TaxCode: \"\",\r\n TaxRegime: \"\",\r\n },\r\n trustDetail: [],\r\n sippDrawdownServiceFailure: false,\r\n };\r\n this.subscribeToStore(SummaryTrustDetailsStore, () => this.onTrustDetailChange());\r\n this.subscribeToStore(SippIncomeStore, () => this.onSippIncomeChange());\r\n }\r\n\r\n private onSippIncomeChange(): void {\r\n const query = this.props.product.HeadAccountHierarchyId;\r\n const data = SippIncomeStore.getPayload(query);\r\n\r\n if (data != null && !SippIncomeStore.isLoadingForQuery(query)) {\r\n if (SippIncomeStore.isErrorForQuery(query)) {\r\n this.setState({ sippDrawdownServiceFailure: true });\r\n } else {\r\n this.setState({ sippIncome: data, sippDrawdownServiceFailure: false });\r\n }\r\n }\r\n }\r\n\r\n private onTrustDetailChange(): void {\r\n const result: TrustDetail[] = [];\r\n\r\n SummaryTrustDetailsStore.getAllPayload().forEach((item) => {\r\n result.concat(item.payload || []);\r\n });\r\n\r\n this.setState({ trustDetail: result });\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {\r\n const { product } = this.props;\r\n if (product?.ProductType == SubAccountType.Sipp) {\r\n if (SippIncomeStore.isEmptyForQuery(product.HeadAccountHierarchyId)) {\r\n PortfolioDashboardSummaryAction.getSippIncome(product.HeadAccountHierarchyId);\r\n } else {\r\n SippIncomeDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: SippIncomeStore.getPayload(product.HeadAccountHierarchyId),\r\n query: product.HeadAccountHierarchyId,\r\n });\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { product, index } = this.props;\r\n const { isPresentationView } = this.context;\r\n const accountTypeClass = this.props.stringHelper.getDonutClass(product.ProductType);\r\n const accountCardClass = \"account-card d\" + (index + 3);\r\n const containerClass = isPresentationView\r\n ? \"center-text pl-60 pr-60 ml-60 mr-60\"\r\n : \"col-12 col-md-6 col-equalise\";\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {index === 0 && }\r\n \r\n {product.ProductType != SubAccountType.Sipp && (\r\n {product.ProductDisplayName}\r\n }\r\n >\r\n {\r\n this.addEvent({\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"product details\",\r\n eventLabel: product.ProductDisplayName,\r\n },\r\n event: \"summarytab_interaction\",\r\n });\r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n })\r\n .productOverView({\r\n subaccounthierarchyId: product.SubAccountHierarchyId,\r\n }).productOverView\r\n );\r\n }}\r\n >\r\n {product.ProductDisplayName}\r\n \r\n \r\n )}\r\n\r\n {product.ProductType == SubAccountType.Sipp && (\r\n {product.ProductDisplayName}\r\n }\r\n >\r\n {\r\n this.addEvent({\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"product details\",\r\n eventLabel: product.ProductDisplayName,\r\n },\r\n event: \"summarytab_interaction\",\r\n });\r\n window.location.assign(StaticUrls.SippDetail(product.ClAccountId));\r\n }}\r\n >\r\n {product.ProductDisplayName}\r\n \r\n \r\n )}\r\n {product.ClAccountId}\r\n
    \r\n {this.renderDotsDropdown(product)}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderTableBody(product)}\r\n
    Value\r\n {Methods.getMoneyFormat(\r\n product.TotalValue.Currency == CurrencyCode.NotSpecified &&\r\n product.TotalValue.Amount == 0\r\n ? { Amount: 0, Currency: CurrencyCode.GBP }\r\n : product.TotalValue\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.renderInvestmentDetailPopupModal(product.ProductDisplayName)}\r\n {this.state.showLightbox && (\r\n this.setState({ showLightbox: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

    If you wish to take a withdrawal from a bond, please contact the Wrap Customer Centre.

    \r\n \r\n \r\n )}\r\n {this.state.showWithDrawlRestrictionLightbox && (\r\n this.setState({ showWithDrawlRestrictionLightbox: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

    {\"An account with suspended or restricted activities cannot setup withdrawals.\"}

    \r\n this.setState({ showWithDrawlRestrictionLightbox: false })}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private getWithDrawalRestrictionActive(valuation: ProductValuationDetailSummary): boolean {\r\n return false;\r\n }\r\n\r\n private renderDotsDropdown(product: ProductValuationDetailSummary) {\r\n const clAccountId = product.ClAccountId;\r\n const subAccount = (ClientAccountStore.getClientAccountInfo()?.SubAccounts || []).filter(\r\n (ele) => ele.ClAccountId == clAccountId\r\n );\r\n const subAccountHierarchyId = CommonHelper.isNullOrEmpty(product.SubAccountHierarchyId)\r\n ? subAccount.length > 0\r\n ? subAccount[0].HierarchyId\r\n : \"\"\r\n : product.SubAccountHierarchyId;\r\n const headAccountHierarchyId = CommonHelper.isNullOrEmpty(product.HeadAccountHierarchyId)\r\n ? getQueryParameters()[\"hierarchyid\"]\r\n : product.HeadAccountHierarchyId;\r\n\r\n return (\r\n
    \r\n {this.props.index === 0 && }\r\n
    \r\n {!UserStore.getUserInfo()?.IsReadOnly && this.props.hasReadWriteAccessToAdviser == true && (\r\n 0}\r\n isWithDrawalRestriction={this.getWithDrawalRestrictionActive(product)}\r\n restrictWithdrawal={() => this.setState({ showWithDrawlRestrictionLightbox: true })}\r\n prohibitedWithdrawal={() => this.setState({ showLightbox: true })}\r\n trustDetail={this.state.trustDetail.find(\r\n (ele) => ele.ClAccountId == this.props.product?.ClAccountId.split(\"-\")[0]\r\n )}\r\n buttonTitle={\"Account quick action menu\"}\r\n />\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private getLatestPaymentsIn = (source: string, data: RegularPaymentIn[]) => {\r\n if (!data) {return null;}\r\n const paymentsIn = data.filter((ele) => ele.Source?.toLowerCase() == source);\r\n if (paymentsIn.length == 0) {return null;}\r\n if (paymentsIn.length == 1) {return paymentsIn;}\r\n paymentsIn.sort((a, b) => (JsonDateParser.toDate(a.FirstDate) > JsonDateParser.toDate(b.FirstDate) ? -1 : 1));\r\n return paymentsIn;\r\n };\r\n\r\n private renderTableBody(product: ProductValuationDetailSummary): JSX.Element[] {\r\n let element: JSX.Element[] = [];\r\n const { sippDrawdownServiceFailure, sippIncome } = this.state;\r\n const payment: Array = product.RegularPaymentIns;\r\n const clientRegularPayment = this.getLatestPaymentsIn(\"individual\", payment);\r\n const thirdPartyRegularPayment = this.getLatestPaymentsIn(\"3rdparty\", payment);\r\n const employerRegularPayment = this.getLatestPaymentsIn(\"employer\", payment);\r\n const salaryRegularPayment = this.getLatestPaymentsIn(\"individual salary deduction\", payment);\r\n const isaAllowance = product.AllowanceRemaining;\r\n const withdrawal = product.RegularWithdraws;\r\n const isOnPlatformPension = SubAccountTypeHelper.isOnPlatformPension(product.ProductType);\r\n const isISAStock = product.ProductType === SubAccountType.StocksIsa;\r\n const isSIPP = SubAccountTypeHelper.isSIPP(product.ProductType);\r\n const isOffPlatformPension = SubAccountTypeHelper.isOffPlatformPension(product.ProductType);\r\n const isBond =\r\n product.ProductType === SubAccountType.OnshoreBond || product.ProductType === SubAccountType.OffshoreBond;\r\n let isRenderWithDraw = false;\r\n\r\n if (!isBond && !isOffPlatformPension && !isOnPlatformPension) {\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n clientRegularPayment,\r\n DashboardContents.ClientRegularPaymentIn,\r\n true\r\n );\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n thirdPartyRegularPayment,\r\n DashboardContents.ThirdPartyRegularPaymentIn\r\n );\r\n }\r\n if (isBond) {\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n clientRegularPayment,\r\n DashboardContents.ClientRegularPaymentIn,\r\n true\r\n );\r\n }\r\n if (isISAStock) {\r\n element = this.RenderRegularWithdraw(element, withdrawal);\r\n isRenderWithDraw = true;\r\n\r\n element.push(\r\n this.renderTableCol(\r\n DashboardContents.ISAAllowanceRemaining,\r\n DashboardContents.ISAAllowanceRemaining,\r\n this.getValue(isaAllowance.Amount, \"allowance\"),\r\n DashboardContents.zeroValue\r\n )\r\n );\r\n }\r\n if (isOnPlatformPension) {\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n clientRegularPayment,\r\n DashboardContents.ClientRegularPaymentIn,\r\n true\r\n );\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n employerRegularPayment,\r\n DashboardContents.EmployerRegularPaymentIn\r\n );\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n thirdPartyRegularPayment,\r\n DashboardContents.ThirdPartyRegularPaymentIn\r\n );\r\n\r\n element = this.RenderRegularWithdraw(element, withdrawal);\r\n isRenderWithDraw = true;\r\n }\r\n //sipp\r\n if (isOffPlatformPension) {\r\n const incomeValue = sippDrawdownServiceFailure\r\n ? DashboardContents.ServiceDown\r\n : this.getValue(sippIncome?.CurrentIncome, \"income\");\r\n const incomeFrequency = sippDrawdownServiceFailure\r\n ? null\r\n : this.getFrequency(sippIncome?.IncomeFrequency, \"income\");\r\n\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n clientRegularPayment,\r\n DashboardContents.ClientRegularPaymentIn,\r\n true\r\n );\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n employerRegularPayment,\r\n DashboardContents.EmployerRegularPaymentIn\r\n );\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n thirdPartyRegularPayment,\r\n DashboardContents.ThirdPartyRegularPaymentIn\r\n );\r\n element = this.RenderRegularPaymentIn(\r\n element,\r\n salaryRegularPayment,\r\n DashboardContents.IndividualSDRegularPaymentIn\r\n );\r\n\r\n element.push(\r\n this.renderTableCol(\r\n DashboardContents.nextRegularIncomePayment,\r\n DashboardContents.IncomePayment,\r\n incomeValue,\r\n DashboardContents.None,\r\n incomeFrequency\r\n )\r\n );\r\n }\r\n\r\n if (!isRenderWithDraw && !isSIPP) {\r\n element = this.RenderRegularWithdraw(element, withdrawal);\r\n }\r\n\r\n if (isOffPlatformPension || isBond) {\r\n const headAccount = PortfolioDashboardStore.getData().find((ele) => ele.HierarchyId == product.HeadAccountHierarchyId)\r\n const subAccount = (headAccount?.SubAccounts || []).find(\r\n (ele) => ele.ClAccountId == product.ClAccountId\r\n );\r\n let status = subAccount?.Status;\r\n if (isBond && !status) {\r\n status = product.IsAvailable ? AccountStatus.Active : AccountStatus.InActive;\r\n }\r\n element.push(\r\n \r\n Status\r\n {accountStatusMap[status]?.split(\": \")[1]}\r\n \r\n );\r\n let inceptionDate =\r\n subAccount?.InceptionDate?.toString() == InvalidateDate\r\n ? ClientAccountStore.getClientAccountInfo()?.InceptionDate\r\n : subAccount?.InceptionDate;\r\n if (isBond && !inceptionDate) {\r\n inceptionDate = product.InceptionDate;\r\n }\r\n element.push(\r\n \r\n Inception Date\r\n \r\n {JsonDateParser.getFormatDate(inceptionDate, \"dd/MM/yyyy\")}\r\n \r\n \r\n );\r\n }\r\n\r\n let availableValue = 0;\r\n if (product.PortfolioCashDetail.length > 0) {\r\n const availableGBP = product.PortfolioCashDetail.filter((x) => x.CurrencyCode === CurrencyCode.GBP);\r\n if (availableGBP) {\r\n availableValue = availableGBP[0].AvailBalance;\r\n }\r\n }\r\n\r\n element.push(\r\n \r\n Cash available\r\n \r\n {\r\n this.addEvent({\r\n event: \"summarytab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"cash available\",\r\n eventLabel: product.ProductDisplayName,\r\n },\r\n });\r\n this.popupCashView(product.ClAccountId, availableValue, product.SubAccountHierarchyId);\r\n }}\r\n >\r\n {availableValue == 0\r\n ? DashboardContents.None\r\n : Methods.getMoneyFormat({ Amount: availableValue, Currency: CurrencyCode.GBP }, false)}\r\n \r\n \r\n \r\n );\r\n\r\n return element;\r\n }\r\n\r\n private RenderRegularPaymentIn(element, regularPaymentIn, dashboardContents, renderNone = false) {\r\n if (regularPaymentIn?.length > 0) {\r\n regularPaymentIn?.forEach((ele) =>\r\n element.push(\r\n this.renderTableCol(\r\n dashboardContents,\r\n dashboardContents,\r\n this.getValue(ele, \"paymentin\"),\r\n DashboardContents.None,\r\n this.getFrequency(ele, \"paymentin\")\r\n )\r\n )\r\n );\r\n } else {\r\n if (renderNone) {\r\n element.push(this.renderTableCol(dashboardContents, dashboardContents, null, DashboardContents.None));\r\n }\r\n }\r\n\r\n return element;\r\n }\r\n private RenderRegularWithdraw(element, withdrawal) {\r\n if (withdrawal.InternalMessages.length > 0) {\r\n element = element.concat(\r\n this.renderTableColSet(\r\n null,\r\n DashboardContents.nextRegularWithdrawal,\r\n DashboardContents.ServiceDown,\r\n true,\r\n \"withdrawal\"\r\n )\r\n );\r\n } else {\r\n element = element.concat(\r\n this.renderTableColSet(\r\n withdrawal.RegularWithdraws,\r\n DashboardContents.nextRegularWithdrawal,\r\n DashboardContents.None,\r\n true,\r\n \"withdrawal\"\r\n )\r\n );\r\n }\r\n return element;\r\n }\r\n\r\n private renderTableColSet(\r\n data: Array,\r\n title: string,\r\n noneContent: string,\r\n needFrequency: boolean,\r\n type: string\r\n ): JSX.Element[] {\r\n const elements = [];\r\n if (data && data.length > 0) {\r\n data.forEach((el, index) => {\r\n const value = this.getValue(el, type);\r\n const key = title + index;\r\n const frequency = needFrequency ? this.getFrequency(el, type) : null;\r\n elements.push(this.renderTableCol(key, title, value, noneContent, frequency));\r\n });\r\n } else {\r\n elements.push(\r\n \r\n {title}\r\n {noneContent}\r\n \r\n );\r\n }\r\n return elements;\r\n }\r\n\r\n private renderTableCol(\r\n key: string,\r\n title: string,\r\n value: string,\r\n noneContent: string,\r\n frequency?: string\r\n ): JSX.Element {\r\n let valueContent = null;\r\n if (!value) {\r\n valueContent = noneContent;\r\n } else {\r\n valueContent = frequency ? (\r\n \r\n {value}\r\n  \r\n {frequency}\r\n \r\n ) : (\r\n value\r\n );\r\n }\r\n return (\r\n \r\n {title}\r\n {valueContent}\r\n \r\n );\r\n }\r\n\r\n private renderInvestmentDetailPopupModal(productName: string): JSX.Element {\r\n const { isShowCashModal, hierarchyId } = this.state;\r\n\r\n if (isShowCashModal) {\r\n return (\r\n {\r\n this.setState({ isShowCashModal: false });\r\n }}\r\n productName={productName}\r\n accountSelectValue={hierarchyId}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private getValue(data: any, type: string): string {\r\n if (!data) {return null;}\r\n if (type.toLowerCase() == \"allowance\") {\r\n if (data && data >= 0) {\r\n return Methods.getMoneyFormat({ Amount: data as number, Currency: CurrencyCode.GBP });\r\n }\r\n return Methods.getMoneyFormat({ Amount: 0, Currency: CurrencyCode.GBP });\r\n }\r\n if (type.toLowerCase() == \"income\") {\r\n if (data && data.Amount != 0) {\r\n return Methods.getMoneyFormat(data as Money);\r\n }\r\n return null;\r\n }\r\n if (type.toLowerCase() == \"paymentin\") {\r\n return (data as RegularPaymentIn).RegularPaymentType === RegularPaymentType.Amount\r\n ? Methods.getMoneyFormat({ Amount: data.Amount, Currency: CurrencyCode.GBP }, false)\r\n : Methods.getPercentageFormat(data.Percentage);\r\n }\r\n if (type.toLowerCase() == \"withdrawal\") {\r\n return (data as RegularWithdraw).RegularPaymentType === RegularPaymentType.Amount\r\n ? Methods.getMoneyFormat({ Amount: data.Amount, Currency: CurrencyCode.GBP }, false)\r\n : Methods.getPercentageFormat(data.Percentage);\r\n }\r\n }\r\n\r\n private getFrequency(data: any, type: string): string {\r\n if (type.toLocaleLowerCase() === \"income\") {\r\n return Methods.getFormatFrequencyType(data as FrequencyType);\r\n }\r\n if (type.toLowerCase() == \"paymentin\") {\r\n return Methods.getFormatFrequencyType((data as RegularPaymentIn).Frequency);\r\n }\r\n if (type.toLowerCase() == \"withdrawal\") {\r\n return Methods.getFormatFrequencyType((data as RegularPaymentIn).Frequency);\r\n }\r\n }\r\n\r\n private popupCashView(clAccountId: string, availableValue: number, hierarchyId: string) {\r\n const clientAccountInfo = ClientAccountStore.getClientAccountInfo();\r\n const subAccountHierarchyId = CommonHelper.isNullOrEmpty(hierarchyId)\r\n ? clientAccountInfo.SubAccounts.filter((x) => x.ClAccountId == clAccountId)[0].HierarchyId\r\n : hierarchyId;\r\n this.setState({\r\n hierarchyId: subAccountHierarchyId,\r\n isShowCashModal: true,\r\n });\r\n }\r\n}\r\nAccountCard.contextType = PresentationContext;\r\n","import * as React from \"react\";\r\nimport { ProductsValuationDetailSummary } from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductsValuationDetailSummary\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { BaseComponent } from \"../../../../../../../../react-core/Html/BaseComponent\";\r\nimport { ProductValuationDetailSummary } from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductValuationDetailSummary\";\r\nimport { AccountCard } from \"./AccountCard\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { LoadingSkeleton } from \"../../../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { LoadingSkeletonType } from \"../../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { PresentationContext } from \"../../Common/PresentationViewWrapper\";\r\nimport { groupProductDetail } from \"../../Common/PortfolioDashboardHelper\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport { StringHelper } from \"../../../../../../../../react-core/Helpers/StringHelper\";\r\n\r\ninterface IAccountCardsProps extends React.Props {\r\n data?: ProductsValuationDetailSummary;\r\n isLoading?: boolean;\r\n slideNumber: number;\r\n hasReadWriteAccessToAdviser: boolean;\r\n}\r\n\r\ninterface IAccountCardsState {\r\n productType: SubAccountType;\r\n}\r\n\r\nexport class AccountCards extends BaseComponent {\r\n constructor(props: IAccountCardsProps) {\r\n super(props);\r\n this.state = {\r\n productType: SubAccountType.NotSpecified,\r\n };\r\n }\r\n\r\n private renderRealElement(): JSX.Element {\r\n const { data } = this.props;\r\n const { isPresentationView } = this.context;\r\n\r\n return (\r\n <>\r\n {isPresentationView &&
    {data ? this.renderProductDetail() : null}
    }\r\n {!isPresentationView && <>{data ? this.renderProductDetail() : null}}\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { isLoading } = this.props;\r\n return (\r\n <>\r\n {isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n this.renderRealElement()\r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderProductDetail(): JSX.Element[] {\r\n const { data, slideNumber } = this.props;\r\n const { isPresentationView } = this.context;\r\n const products: Array = data ? data.Products : [];\r\n if (!products) {return null;}\r\n const stringHelper = new StringHelper();\r\n const productElement: JSX.Element[] = [];\r\n if (isPresentationView) {\r\n const tempList = products.filter((x) => SubAccountTypeHelper.isWrapCash(x.ProductType));\r\n\r\n if (tempList.length > 0) {\r\n const wrapCash = tempList[0];\r\n const index = products.indexOf(wrapCash, 0);\r\n products.splice(index, 1);\r\n products.push(wrapCash);\r\n }\r\n\r\n const index = slideNumber - 1;\r\n const productDom: JSX.Element = (\r\n \r\n );\r\n productElement.push(productDom);\r\n } else {\r\n const groupsProducts = groupProductDetail(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData(),\r\n products,\r\n \"ClAccountId\"\r\n );\r\n let index = 0;\r\n Object.keys(groupsProducts).forEach((key) => {\r\n if (groupsProducts[key]?.length > 0) {\r\n productElement.push(

    {key} account

    );\r\n }\r\n productElement.push(\r\n
    \r\n <>\r\n {groupsProducts[key].map((product) => {\r\n const productDom: JSX.Element = (\r\n \r\n );\r\n index = index + 1;\r\n return productDom;\r\n })}\r\n \r\n
    \r\n );\r\n });\r\n productElement.push(
    );\r\n }\r\n\r\n return productElement;\r\n }\r\n}\r\nAccountCards.contextType = PresentationContext;\r\n","import * as React from \"react\";\r\nimport { SelectEditor } from \"../../../../../../../../react-core/Html/SelectEditor\";\r\nimport { ClientAccount } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { isConsolidate, selectedHeadAccounts } from \"../../Common/PortfolioDashboardHelper\";\r\nimport { PresentationContext } from \"../../Common/PresentationViewWrapper\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Methods } from \"../../../../../../Common/CommonHelper\";\r\nimport { StaticUrls } from \"../../../../../../Resoures/StaticUrls\";\r\nimport { DashboardContents } from \"../../../../../../Resoures/DashboardContents\";\r\nimport { AriaTooltip } from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { AsAtDatePicker } from \"../../../../../../Common/AsAtDatePicker\";\r\nimport { getQueryParameters } from \"../../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { UserStore } from \"../../../../../../Stroes/Variable\";\r\nimport { User } from \"../../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../../Shared/Common/UserMessages\";\r\nimport { Urls } from \"../../../../../../Urls\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { CommonHelper } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { ThreeDotsDrodpwn } from \"./ThreeDotsDropdown\";\r\nimport { Navigator } from \"../../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { PresentationViewButton } from \"../../Common/PresentationViewButton\";\r\nimport { ProductPerformanceModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/ProductPerformanceModel\";\r\nimport { groupProductDetail } from \"../../Common/PortfolioDashboardHelper\";\r\nimport {\r\n ConsolidatedAccountStore,\r\n PortfolioDashboardMultiSelectionStore,\r\n PortfolioDashboardStore,\r\n} from \"../../../Store/Variable\";\r\nimport CoachMarker from \"../../../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { StringHelper } from \"../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { TrustDetail } from \"../../../../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { SummaryTrustDetailsStore } from \"../Store/Variable\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { portfolioDashboardTabEnum } from \"../../../Resource/Content\";\r\nimport {\r\n ProductValuationDetailSummary\r\n} from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductValuationDetailSummary\";\r\nimport { AccountStatus } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\n\r\ninterface IAccountsSummaryTableProps {\r\n onDateChange: (val: Date) => void;\r\n detailsSummary?: ProductValuationDetailSummary[];\r\n dateSelect?: Date;\r\n hierarchyId?: string;\r\n cssWrapper?: string;\r\n subAccountData?: any[];\r\n productPerformanceList: ProductPerformanceModel[];\r\n hasReadWriteAccessToAdviser: boolean;\r\n isPresentationClicked: boolean[];\r\n onPresentationStatusChange: (tabIndex: portfolioDashboardTabEnum, isPresentationClickedPre: boolean[]) => void;\r\n}\r\n\r\ninterface IAccountsSummaryTableState {\r\n showLightbox: boolean;\r\n showWithDrawlRestrictionLightbox: boolean;\r\n userInfo: User;\r\n trustDetails: TrustDetail[];\r\n showReportPop: boolean;\r\n reportLinkAccount: ClientAccount;\r\n accountsForReport: ClientAccount[];\r\n}\r\n\r\nexport class AccountsSummaryTable extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n showLightbox: false,\r\n showWithDrawlRestrictionLightbox: false,\r\n trustDetails: [],\r\n showReportPop: false,\r\n reportLinkAccount: null,\r\n accountsForReport: [],\r\n };\r\n this.subscribeToStore(SummaryTrustDetailsStore, () => this.onTrustDetailChange());\r\n }\r\n\r\n private onTrustDetailChange(): void {\r\n const result: TrustDetail[] = [];\r\n\r\n SummaryTrustDetailsStore.getAllPayload().forEach((item) => {\r\n result.concat(item.payload || []);\r\n });\r\n\r\n this.setState({ trustDetails: result });\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {}\r\n\r\n private stringHelper = new StringHelper();\r\n\r\n private onDateChange(val: Date) {\r\n this.props.onDateChange(val);\r\n }\r\n\r\n private getProductTotalGainLoss(valuation: ProductValuationDetailSummary): number {\r\n const { productPerformanceList } = this.props;\r\n\r\n const performance = productPerformanceList?.find((x) => x.ClAccountId == valuation.ClAccountId);\r\n\r\n return performance ? performance.TotalGainLoss.Amount : 0;\r\n }\r\n\r\n private static getWithdrawalRestrictionActive(valuation: ProductValuationDetailSummary): boolean {\r\n return valuation.IsRetrictionActive;\r\n }\r\n\r\n private renderProductDetailsDom(\r\n detailsSummary: ProductValuationDetailSummary[]\r\n ): JSX.Element[] {\r\n if (detailsSummary && detailsSummary.length > 0) {\r\n const products: JSX.Element[] = [];\r\n const groupsProducts = groupProductDetail(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData(),\r\n detailsSummary,\r\n \"ClAccountId\"\r\n );\r\n let index = 0;\r\n Object.keys(groupsProducts).forEach((key) => {\r\n if (groupsProducts[key]?.length > 0) {\r\n products.push(\r\n \r\n \r\n {key} account\r\n \r\n \r\n );\r\n products.push(\r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n groupsProducts[key].forEach((item: ProductValuationDetailSummary) => {\r\n const totalGainLoss = MoneyDisplayHelper.getMoneyFormatNoSymbol(this.getProductTotalGainLoss(item));\r\n const isWithdrawalRestriction = AccountsSummaryTable.getWithdrawalRestrictionActive(item);\r\n let totalGainLossClass = \"cell-right \";\r\n const accountTypeClass = `account-legend ${this.stringHelper.getDonutClass(item.ProductType)}`;\r\n const details = (detailsSummary || []).find((details) => {\r\n return details.ClAccountId === item.ClAccountId;\r\n });\r\n\r\n const regularPaymentsIn: boolean = details?.RegularPaymentIns?.length > 0;\r\n\r\n let iconStyle: JSX.Element;\r\n iconStyle = ;\r\n\r\n totalGainLossClass += totalGainLoss >= 0 ? \"text-positive\" : \"text-negative\";\r\n const product: JSX.Element = (\r\n <>\r\n \r\n \r\n {iconStyle}\r\n \r\n {item.ProductType != SubAccountType.Sipp && (\r\n {item.ProductDisplayName}}\r\n >\r\n {\r\n this.addEvent({\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"summary table\",\r\n eventLabel: item.ProductDisplayName,\r\n },\r\n event: \"summarytab_interaction\",\r\n });\r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(\r\n ContextType.Customer\r\n ),\r\n })\r\n .productOverView({\r\n subaccounthierarchyId: item.SubAccountHierarchyId,\r\n }).productOverView\r\n );\r\n }}\r\n >\r\n {item.ProductDisplayName}\r\n \r\n \r\n )}\r\n {item.ProductType == SubAccountType.Sipp && (\r\n {item.ProductDisplayName}}\r\n >\r\n {\r\n this.addEvent({\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"summary table\",\r\n eventLabel: item.ProductDisplayName,\r\n },\r\n event: \"summarytab_interaction\",\r\n });\r\n window.location.assign(StaticUrls.SippDetail(item.ClAccountId));\r\n }}\r\n >\r\n {item.ProductDisplayName}\r\n \r\n \r\n )}\r\n \r\n \r\n {item.ClAccountId}\r\n {Methods.getPercentageFormat(item.Allocation * 100)}\r\n \r\n {Methods.getMoneyFormat(\r\n { Amount: totalGainLoss, Currency: CurrencyCode.GBP },\r\n true\r\n )}\r\n \r\n \r\n {Methods.getMoneyFormat({ Amount: item.TotalValue.Amount, Currency: CurrencyCode.GBP }, false)}\r\n \r\n\r\n {this.renderDotsDropdown(item, regularPaymentsIn, isWithdrawalRestriction)}\r\n \r\n {item?.JointAccountHolderNames?.length > 0 && (\r\n \r\n \r\n {AccountsSummaryTable.renderJointAccountHolderName(item?.JointAccountHolderNames)}\r\n \r\n \r\n )}\r\n \r\n );\r\n index = index + 1;\r\n products.push(product);\r\n });\r\n });\r\n\r\n return products;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private getTotalValue(productValuationList: Array): number {\r\n let totalValue = 0;\r\n productValuationList.forEach((item) => {\r\n totalValue += Math.round(item.TotalValue.Amount * 10000) / 10000;\r\n });\r\n return totalValue;\r\n }\r\n\r\n private static renderJointAccountHolderName(arr: Array) {\r\n return arr[0] + (arr[1] ? ` & ${arr[1]}` : \"\");\r\n }\r\n\r\n private renderDotsDropdown(item: ProductValuationDetailSummary, RegularPaymentsIn: boolean, isWithdrawalRestriction: boolean) {\r\n // let textLinks = [];\r\n const subAccount = this.props.subAccountData?.filter((v) => {\r\n return v.ClAccountId === item.ClAccountId;\r\n });\r\n const subAccountHierarchyId = CommonHelper.isNullOrEmpty(item.SubAccountHierarchyId)\r\n ? subAccount.length > 0\r\n ? subAccount[0].HierarchyId\r\n : \"\"\r\n : item.SubAccountHierarchyId;\r\n const headAccountHierarchyId = CommonHelper.isNullOrEmpty(item.HeadAccountHierarchyId)\r\n ? getQueryParameters()[\"hierarchyid\"]\r\n : item.HeadAccountHierarchyId;\r\n\r\n var isClosingAccount = subAccount && subAccount[0] && subAccount[0].Status == AccountStatus.Closing\r\n\r\n return (\r\n !UserStore.getUserInfo()?.IsReadOnly &&\r\n this.props.hasReadWriteAccessToAdviser == true && !isClosingAccount && (\r\n this.setState({ showWithDrawlRestrictionLightbox: true })}\r\n prohibitedWithdrawal={() => this.setState({ showLightbox: true })}\r\n trustDetail={this.state.trustDetails.find(\r\n (ele) => ele.ClAccountId == item.ClAccountId.split(\"-\")[0]\r\n )}\r\n buttonTitle=\"Quick actions menu\"\r\n />\r\n )\r\n );\r\n }\r\n\r\n private static handleLaunchpadClick() {\r\n const context: Record = {};\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {context.customerId = customerHierarchyId;}\r\n\r\n (window as any).AppStore.open(context);\r\n }\r\n\r\n private handleCreateClientPortfolioReportClick() {\r\n let accounts = selectedHeadAccounts(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData()\r\n );\r\n if (isConsolidate()) {\r\n accounts = [ConsolidatedAccountStore.getData()].concat(accounts);\r\n }\r\n if (accounts.length == 1) {\r\n if (checkPermission(UserClaim.AdviserPortalClientPortfolioReportReadWrite))\r\n {Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n })\r\n .clientReport({\r\n headaccounthierarchyId: accounts[0].HierarchyId,\r\n }).clientReport\r\n );}\r\n } else {\r\n this.setState({ showReportPop: true, accountsForReport: accounts });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { detailsSummary, dateSelect, hierarchyId, productPerformanceList } = this.props;\r\n const { isPresentationView } = this.context;\r\n let totalGain = 0;\r\n productPerformanceList\r\n .filter((p) => detailsSummary.some((x) => x.ClAccountId == p.ClAccountId))\r\n .map((value) => (totalGain = totalGain + value.TotalGainLoss.Amount));\r\n let totalColor = totalGain < 0 ? \"color-11\" : \"color-20\";\r\n totalColor = \"cell-right \" + totalColor;\r\n this.stringHelper = new StringHelper();\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup withdrawals.\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {\r\n this.addEvent({\r\n event: \"summarytab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"date widget\",\r\n },\r\n });\r\n this.onDateChange(d);\r\n }}\r\n cssWrapper=\"label-sr-only\"\r\n />\r\n
    \r\n
    \r\n
    \r\n {!isPresentationView && (\r\n \r\n
    \r\n {\r\n this.addEvent({\r\n event: \"summarytab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"create client portfolio report\",\r\n },\r\n });\r\n this.handleCreateClientPortfolioReportClick();\r\n }}\r\n >\r\n Create client portfolio\r\n report\r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {\r\n this.addEvent({\r\n event: \"summarytab_interaction\",\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: \"interactions\",\r\n eventLabel: \"presentation mode\",\r\n },\r\n });\r\n this.props.onPresentationStatusChange(\r\n portfolioDashboardTabEnum.Summary,\r\n this.props.isPresentationClicked\r\n );\r\n }}\r\n />\r\n \r\n {isAppStoreEnabled && (\r\n <>\r\n
    \r\n \r\n Applications pad\r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderProductDetailsDom(detailsSummary)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ProductAccount numberAllocation\r\n Change £\r\n \r\n
    {DashboardContents.ChangeInValueTooltip1}
    \r\n
    \r\n
    {DashboardContents.ChangeInValueTooltip2}
    \r\n \r\n
    Value\r\n More options\r\n
    Total{detailsSummary ? Methods.getPercentageFormat(100) : null}\r\n {detailsSummary\r\n ? Methods.getMoneyFormat({ Amount: totalGain, Currency: CurrencyCode.GBP }, true)\r\n : null}\r\n \r\n {detailsSummary\r\n ? Methods.getMoneyFormat(\r\n {\r\n Amount: this.getTotalValue(detailsSummary),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n false\r\n )\r\n : null}\r\n
    \r\n {this.state.showLightbox && (\r\n this.setState({ showLightbox: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

    If you wish to take a withdrawal from a bond, please contact the Wrap Customer Centre.

    \r\n \r\n \r\n )}\r\n {this.state.showWithDrawlRestrictionLightbox && (\r\n this.setState({ showWithDrawlRestrictionLightbox: false })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

    {restrictedMessage}

    \r\n this.setState({ showWithDrawlRestrictionLightbox: false })}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n\r\n {!isPresentationView && this.state.showReportPop && (\r\n this.setState({ showReportPop: false, reportLinkAccount: null })}\r\n >\r\n this.setState({ reportLinkAccount: v })}\r\n options={this.state.accountsForReport}\r\n placeholder=\"Please select\"\r\n selected={this.state.reportLinkAccount}\r\n cssWrapper={\"control-size-245\"}\r\n getText={(o) => o?.HeadClAccountId}\r\n />\r\n {checkPermission(UserClaim.AdviserPortalClientPortfolioReportReadWrite) && (\r\n \r\n Navigator.navigateTo(\r\n Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n })\r\n .clientReport({\r\n headaccounthierarchyId: this.state.reportLinkAccount.HierarchyId,\r\n }).clientReport\r\n )\r\n }\r\n >\r\n Create Client Portfolio Report\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nAccountsSummaryTable.contextType = PresentationContext;\r\n","import * as React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PortfolioCashDetail } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Cash/PortfolioCashDetail\";\r\nimport { AriaTooltip } from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Action } from \"../../../../../../Actions/Action\";\r\nimport { AsAtDatePicker } from \"../../../../../../Common/AsAtDatePicker\";\r\nimport { Methods } from \"../../../../../../Common/CommonHelper\";\r\n\r\ninterface ICashPopupViewProps {\r\n showBox: boolean;\r\n accountSelectValue: string;\r\n productName: string;\r\n onChange: (val: boolean) => void;\r\n}\r\n\r\ninterface ICashPopupViewState {\r\n isLoading?: boolean;\r\n startDate: Date;\r\n data: Array;\r\n}\r\n\r\nexport class CashPopupView extends React.Component {\r\n constructor(props: ICashPopupViewProps) {\r\n super(props);\r\n this.state = {\r\n isLoading: true,\r\n startDate: new Date(),\r\n data: null,\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.props.showBox ? this.renderModal() : null};\r\n }\r\n\r\n private getData() {\r\n const { accountSelectValue } = this.props;\r\n const startDate = JsonDateParser.toJsonDateNoOffset(this.state.startDate);\r\n Action.getPortfolioCash(accountSelectValue, startDate, (cashDetails: Array) => {\r\n this.setState({\r\n data: cashDetails,\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n return (\r\n this.props.onChange(false)}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n {this.getModalBody()}\r\n \r\n );\r\n }\r\n\r\n private renderLoading() {\r\n return ;\r\n }\r\n\r\n private changeDate() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n\r\n this.getData();\r\n }\r\n\r\n private getModalBody(): JSX.Element {\r\n const { isLoading, startDate } = this.state;\r\n const { accountSelectValue } = this.props;\r\n let elementRender: JSX.Element = this.renderLoading();\r\n\r\n if (!isLoading) {\r\n elementRender =
    {this.renderTable()}
    ;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n this.setState({ startDate: d }, () => this.changeDate())}\r\n />\r\n
    \r\n
    \r\n {elementRender}\r\n
    \r\n );\r\n }\r\n\r\n private renderTable(): JSX.Element {\r\n const { data } = this.state;\r\n let portfolioCash: PortfolioCashDetail;\r\n if (data.length > 0) {\r\n const availableGBP = data.filter((x) => x.CurrencyCode === CurrencyCode.GBP);\r\n if (availableGBP) {\r\n portfolioCash = availableGBP[0];\r\n }\r\n }\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Portfolio\r\n {(portfolioCash != null ? portfolioCash.PortfolioWeight * 100 : 0).toFixed(2)}%\r\n
    \r\n Currently available local  \r\n \r\n {this.renderToolTip(portfolioCash)}\r\n \r\n \r\n {Methods.getMoneyFormat(\r\n {\r\n Amount: portfolioCash != null ? portfolioCash.AvailBalance : 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n false\r\n )}\r\n
    Balance GBP\r\n {Methods.getMoneyFormat(\r\n {\r\n Amount: portfolioCash != null ? portfolioCash.BalanceGBP : 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n false\r\n )}\r\n
    Accrued interest\r\n {Methods.getMoneyFormat(\r\n {\r\n Amount: Number(portfolioCash != null ? portfolioCash.AccruedInterest : 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n false\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n private renderToolTip(portfolioCash: PortfolioCashDetail): JSX.Element {\r\n return (\r\n \r\n \r\n {this.getContent(portfolioCash != null ? portfolioCash.LedgerAvailableCash : 0, \"+ Ledger balance\")}\r\n \r\n \r\n \r\n \r\n {this.getContent(portfolioCash != null ? portfolioCash.CmtAvailableCash : 0, \"+ Call balance\")}\r\n {this.getContent(\r\n portfolioCash != null ? portfolioCash.BuyOrdersAvailableCash : 0,\r\n \"- Buy order commitments\"\r\n )}\r\n {this.getContent(portfolioCash != null ? portfolioCash.FeeCommitments : 0, \"- Charge commitments\")}\r\n {this.getContent(\r\n portfolioCash != null ? portfolioCash.CashWithdrawalsAvailableCash : 0,\r\n \"- Withdrawal commitments\"\r\n )}\r\n {this.getContent(\r\n portfolioCash != null ? portfolioCash.UnclearedDepositsAvailableCash : 0,\r\n \"+ Uncleared deposits\"\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
    {portfolioCash != null && portfolioCash.UnsettledCash > 0 ? \"- \" : \"+ \"} Unsettled\r\n {Methods.getMoneyFormat(\r\n {\r\n Amount: portfolioCash != null ? portfolioCash.UnsettledCash : 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n false\r\n )}\r\n
    Total\r\n {Methods.getMoneyFormat(\r\n {\r\n Amount: portfolioCash != null ? portfolioCash.AvailBalance : 0,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n false\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private getContent(value: number | string, title: string): JSX.Element {\r\n const amount = Number(value);\r\n return (\r\n \r\n {title}\r\n \r\n {Methods.getMoneyFormat({ Amount: amount, Currency: CurrencyCode.GBP }, false)}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as $ from \"jquery\";\r\nimport * as Highcharts from \"highcharts\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { groupProductDetail } from \"../../Common/PortfolioDashboardHelper\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport {\r\n ProductValuationDetailSummary\r\n} from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductValuationDetailSummary\";\r\nimport { ObjectComparer } from \"../../../../../../../../react-core/Utils/ObjectComparer\"\r\n\r\n\r\ninterface ICircleChartProps {\r\n chartData?: ProductValuationDetailSummary[];\r\n chartId?: string;\r\n chartType?: string;\r\n}\r\n\r\ninterface ICircleChartState {\r\n chart?: Highcharts.Chart;\r\n}\r\nexport class CircleChart extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n private settings = {};\r\n\r\n public componentDidMount() {\r\n const { chartData } = this.props;\r\n\r\n if (chartData && chartData.length > 0) {\r\n setTimeout(() => {\r\n this.initChart(this.props.chartId, this.props.chartType, this.props.chartData);\r\n }, 100);\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: Readonly): void {\r\n if(!ObjectComparer.isSame(prevProps, this.props)) {\r\n this.state.chart.update({series: [this.getSeriesData(this.props.chartData)]});\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private initChart(chartId: string, chartType: string, chartData: Array): any {\r\n const newChart = Highcharts.chart(chartId, {\r\n chart: {\r\n plotBackgroundColor: null,\r\n plotBorderWidth: null,\r\n plotShadow: false,\r\n type: chartType,\r\n width: 220,\r\n height: 220,\r\n margin: [0, 0, 0, 0],\r\n backgroundColor: \"rgba(255,255,255,0)\",\r\n plotBorderColor: null,\r\n plotBackgroundImage: null,\r\n },\r\n legend: {\r\n backgroundColor: \"white\",\r\n },\r\n title: { text: \"\" },\r\n subtitle: { text: \"\" },\r\n credits: {\r\n enabled: false,\r\n },\r\n tooltip: {\r\n enabled: true,\r\n formatter: function () {\r\n return (\r\n \"\" +\r\n this.point.name +\r\n \"\" +\r\n \"
    \" +\r\n this.point.x +\r\n \"
    \" +\r\n \"\" +\r\n Highcharts.numberFormat(this.point.percentage, 2, \".\") +\r\n \"%\" +\r\n \"\"\r\n );\r\n },\r\n },\r\n plotOptions: {\r\n pie: {\r\n allowPointSelect: false,\r\n cursor: \"pointer\",\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n borderWidth: 1,\r\n innerSize: \"92%\",\r\n showInLegend: false,\r\n borderColor: \"white\",\r\n point: {\r\n events: {\r\n mouseOver: function () {\r\n $(\r\n '[data-valuation-summary-legend]:not([data-valuation-summary-legend=\"' +\r\n this.x +\r\n '\"]) > td'\r\n ).attr(\"class\", \"row-is-muted\");\r\n $('[data-valuation-summary-legend=\"' + this.x + '\"] > td').attr(\r\n \"class\",\r\n \"row-is-highlighted\"\r\n );\r\n },\r\n mouseOut: function () {\r\n $(\"[data-valuation-summary-legend] > td\").attr(\"class\", \"row-is-highlighted\");\r\n },\r\n },\r\n },\r\n },\r\n },\r\n series: [this.getSeriesData(chartData)],\r\n });\r\n this.setState({chart: newChart });\r\n }\r\n\r\n private getCount = (type: SubAccountType) => {\r\n const preCount: number = this.settings?.[type] ? this.settings?.[type] : -1;\r\n const curCount = preCount + 1;\r\n this.settings[type] = curCount;\r\n return curCount;\r\n };\r\n\r\n private getColor = (e: ProductValuationDetailSummary) => {\r\n let color;\r\n let count;\r\n let colorCount;\r\n switch (e.ProductType) {\r\n case SubAccountType.Pension:\r\n case SubAccountType.Sipp:\r\n case SubAccountType.Npr:\r\n count = this.getCount(SubAccountType.Npr);\r\n colorCount = count % 3;\r\n color = `var(--product-sipp-${colorCount + 1})`;\r\n break;\r\n case SubAccountType.StocksIsa:\r\n count = this.getCount(SubAccountType.StocksIsa);\r\n colorCount = count % 3;\r\n color = `var(--product-isa-${colorCount + 1})`;\r\n break;\r\n case SubAccountType.InvestmentAccount:\r\n count = this.getCount(SubAccountType.InvestmentAccount);\r\n colorCount = count % 3;\r\n color = `var(--product-pp-${colorCount + 1})`;\r\n break;\r\n case SubAccountType.CashAccount:\r\n case SubAccountType.WrapCash:\r\n count = this.getCount(SubAccountType.WrapCash);\r\n colorCount = count % 3;\r\n color = `var(--product-wrap-cash-${colorCount + 1})`;\r\n break;\r\n case SubAccountType.CashIsa:\r\n count = this.getCount(SubAccountType.CashIsa);\r\n colorCount = count % 3;\r\n color = `var(--product-cash-isa-${colorCount + 1})`;\r\n break;\r\n case SubAccountType.OffshoreBond:\r\n count = this.getCount(SubAccountType.OffshoreBond);\r\n colorCount = count % 3;\r\n color = `var(--product-offshore-bond-${colorCount + 1})`;\r\n break;\r\n case SubAccountType.OnshoreBond:\r\n count = this.getCount(SubAccountType.OnshoreBond);\r\n colorCount = count % 3;\r\n color = `var(--product-onshore-bond-${colorCount + 1})`;\r\n break;\r\n case SubAccountType.NotSpecified:\r\n color = \"#000\";\r\n break;\r\n default:\r\n color = \"#4b4b4b\";\r\n }\r\n return color;\r\n };\r\n\r\n private getSeriesData(chartData: Array): any {\r\n const groupsProducts = groupProductDetail(\r\n PortfolioDashboardMultiSelectionStore.getData(),\r\n PortfolioDashboardStore.getData(),\r\n chartData,\r\n \"ClAccountId\"\r\n );\r\n const _data: ProductValuationDetailSummary[] = groupsProducts.Individual.concat(groupsProducts.Joint).concat(groupsProducts.Trust);\r\n this.settings = {};\r\n const series = {\r\n name: \"pieChart\",\r\n colorByPoint: true,\r\n data: [],\r\n };\r\n\r\n let sum = 0;\r\n\r\n // has positive and negative values, only display positive values\r\n if (_data.some((item) => item.TotalValue.Amount > 0) && _data.some((item) => item.TotalValue.Amount < 0)) {\r\n _data.forEach((product) => {\r\n if (product.TotalValue.Amount > 0) {\r\n sum += product.TotalValue.Amount;\r\n }\r\n });\r\n } else {\r\n _data.forEach((product) => {\r\n sum += product.TotalValue.Amount;\r\n });\r\n }\r\n _data.forEach((product, index) => {\r\n const assetWeight = sum == 0 ? 0 : parseFloat((product.TotalValue.Amount / sum).toFixed(4));\r\n if (assetWeight > 0) {\r\n series.data.push(\r\n CircleChart.getDataPoint(\r\n product.ProductDisplayName,\r\n product.ClAccountId,\r\n product.Allocation,\r\n this.getColor(product),\r\n index\r\n )\r\n );\r\n } else {\r\n this.getColor(product);\r\n }\r\n });\r\n return series;\r\n }\r\n\r\n private static getDataPoint(\r\n dataLabel: string,\r\n clAccountId: string,\r\n dataNumber: number,\r\n color: string,\r\n index: number\r\n ): any {\r\n return {\r\n name: dataLabel,\r\n y: dataNumber * 100,\r\n x: clAccountId,\r\n color: color,\r\n index: index,\r\n };\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { ContextStore } from \"../../../../../../../../react-core/Flux/Variables\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { IsaAllowanceOverviewClient } from \"../../../../../../../../Wrap/Api/ProductOverview/PaymentsIn/IsaAllowanceOverview\";\r\nimport { ContextType } from \"../../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { PaymentSource } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PaymentSource\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { InvestorType } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { TrustDetail } from \"../../../../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { IsaAllowance } from \"../../../../../../../../Wrap/Models/Domains/IsaAllowance/IsaAllowance\";\r\nimport { ProductValuation } from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductValuation\";\r\nimport { ProductValuationDetailSummary } from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductValuationDetailSummary\";\r\nimport { PaymentStatus } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/PaymentStatus\";\r\nimport { CashPayment } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { CashPaymentTypeQuery } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\nimport { InstructionType } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/InstructionType\";\r\nimport { TextAndDots } from \"../../../../../../../Shared/Dropdown/TextAndDots\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Action } from \"../../../../../../Actions/Action\";\r\nimport { StaticUrls } from \"../../../../../../Resoures/StaticUrls\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { WizardLinkRestriction } from \"../../../../Common/Restrictions/WizardLinkRestriction\";\r\nimport { findHeadAccount } from \"../../Common/PortfolioDashboardHelper\";\r\nimport { PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport { SelectRegularPaymentPop } from \"../../Common/SelectRegularPaymentPop\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CompanyWizardAction } from \"../../../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { FsaPermission } from \"../../../../../../../../Wrap/Models/Models/Company/FsaPermission\";\r\nimport {\r\n CompanyFsaPermissionsStore,\r\n CompanyWizardStore,\r\n} from \"../../../../../../../Admin/Company/CompanyWizard/Stores/Variable\";\r\nimport { useSubscribeToStore } from \"../../../../../../../../react-core/Flux/Hooks/useSubscribeToStore\";\r\n\r\ninterface IThreeDotsDropdownProps {\r\n isAppStoreEnabled: boolean;\r\n data: ProductValuation | ProductValuationDetailSummary;\r\n headAccountHierarchyId: string;\r\n subAccountHierarchyId: string;\r\n regularPaymentsIn: boolean;\r\n isWithDrawalRestriction: boolean;\r\n trustDetail: TrustDetail;\r\n buttonTitle?: string;\r\n restrictWithdrawal: () => void; // callback for restricted account to withdrawal, (ISA, PP, NPR)\r\n prohibitedWithdrawal: () => void; // callback for prohibited account (onshore/offshore bond)\r\n}\r\n\r\nexport const ThreeDotsDrodpwn = (props: IThreeDotsDropdownProps) => {\r\n const textLinks = [];\r\n const item = props.data;\r\n const {\r\n isAppStoreEnabled,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId,\r\n regularPaymentsIn,\r\n isWithDrawalRestriction,\r\n } = props;\r\n const [currentYearIsaAllowance, setCurrentYearIsaAllowance] = useState(null);\r\n const [lastYearIsaAllowance, setLastYearIsaAllowance] = useState(null);\r\n const [currentYearIsaAllowanceLoading, setCurrentYearUsaAllowanceLoading] = useState(false);\r\n const [lastYearIsaAllowanceLoading, setLastYearUsaAllowanceLoading] = useState(false);\r\n const [showErrorMsg, setShowErrorMsg] = useState(false);\r\n const [multiPaymentType, setMutiPaymentType] = useState(null);\r\n const [companyProductPermission, setCompanyProductPermission] = useState([]);\r\n const [selectClientRegular, setSelectClientRegular] = useState([]);\r\n const componentRef = React.createRef();\r\n\r\n const headAccount = findHeadAccount(\r\n PortfolioDashboardStore.getData(),\r\n props.headAccountHierarchyId || props.subAccountHierarchyId\r\n );\r\n\r\n const headAccountCompany = headAccount.Company;\r\n\r\n const onCompanyFsaPermissionsChange = useCallback(() => {\r\n const isLoading = CompanyFsaPermissionsStore.isLoadingForQuery(headAccountCompany);\r\n const data = CompanyFsaPermissionsStore.getPayload(headAccountCompany);\r\n\r\n if (isLoading || data == null) {\r\n return;\r\n }\r\n\r\n setCompanyProductPermission(data);\r\n }, [headAccountCompany, setCompanyProductPermission]);\r\n\r\n useSubscribeToStore(CompanyFsaPermissionsStore, onCompanyFsaPermissionsChange);\r\n\r\n React.useEffect(() => {\r\n if (SubAccountTypeHelper.isLegacyProduct(item.ProductType)) {\r\n const isLoading = CompanyFsaPermissionsStore.isLoadingForQuery(headAccountCompany);\r\n const data = CompanyFsaPermissionsStore.getPayload(headAccountCompany);\r\n\r\n if (isLoading) {\r\n return;\r\n }\r\n\r\n if (data != null) {\r\n onCompanyFsaPermissionsChange();\r\n return;\r\n }\r\n\r\n CompanyWizardAction.getCompanyFsaPermissionDetail(headAccountCompany);\r\n }\r\n }, [headAccountCompany, onCompanyFsaPermissionsChange]);\r\n\r\n React.useEffect(() => {\r\n if (item.ProductType == SubAccountType.CashIsa) {\r\n if (!currentYearIsaAllowance && !currentYearIsaAllowanceLoading) {\r\n setCurrentYearUsaAllowanceLoading(true);\r\n new IsaAllowanceOverviewClient().get(headAccountHierarchyId, 0).onSuccess((x) => {\r\n setCurrentYearIsaAllowance(x);\r\n setCurrentYearUsaAllowanceLoading(false);\r\n });\r\n }\r\n if (!lastYearIsaAllowance && !lastYearIsaAllowanceLoading) {\r\n setLastYearUsaAllowanceLoading(true);\r\n new IsaAllowanceOverviewClient().get(headAccountHierarchyId, 1).onSuccess((x) => {\r\n setLastYearIsaAllowance(x);\r\n setLastYearUsaAllowanceLoading(false);\r\n });\r\n }\r\n }\r\n }, [headAccountHierarchyId]);\r\n\r\n const handleLaunchpadClick = React.useCallback(() => {\r\n const context: Record = {};\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {\r\n context.customerId = customerHierarchyId;\r\n }\r\n if (headAccountHierarchyId) {\r\n context.accountGroupId = headAccountHierarchyId;\r\n }\r\n if (subAccountHierarchyId) {\r\n context.accountId = subAccountHierarchyId;\r\n }\r\n\r\n (window as any).AppStore.open(context);\r\n }, [headAccountHierarchyId, subAccountHierarchyId]);\r\n\r\n const { addEvent } = new AdviserSiteTagManager();\r\n\r\n const checkShowPopMsg = (processType: ProcessType): boolean => {\r\n return WizardLinkRestriction(headAccount, props.subAccountHierarchyId, processType);\r\n };\r\n\r\n const editRegularLink = (cashEntryId: number) => {\r\n return StaticUrls.RegularPaymentUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId,\r\n \"edit\",\r\n cashEntryId\r\n );\r\n };\r\n\r\n const editWhatIfToolLink = (cashEntryId: number) => {\r\n return StaticUrls.WhatIfToolUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId,\r\n cashEntryId,\r\n false\r\n );\r\n };\r\n\r\n const isTrust = headAccount?.InvestorType == InvestorType.Trust;\r\n let blockTrustTopupAndWithdrawal = false;\r\n if (isTrust) {\r\n blockTrustTopupAndWithdrawal = [\"loanplan\", \"discountedgiftplan\"].includes(\r\n (props.trustDetail?.TrustType || \"\").toLowerCase()\r\n );\r\n }\r\n const disableAllProductByFsa = !companyProductPermission.some(\r\n (ele) =>\r\n ele?.FsaRegulatedActivity?.Name?.toLowerCase() == \"AdviseInvestments\".toLowerCase() &&\r\n ele.IsInclude &&\r\n ele.IsPermit\r\n );\r\n\r\n const addGTMEvent = (actionType: string) => {\r\n addEvent({\r\n eventParameters: {\r\n eventCategory: eventCategoryForGTM.summaryTab,\r\n eventAction: props.buttonTitle == \"Quick actions menu\" ? \"summary table\" : \"product details\",\r\n eventLabel: `${item.ProductDisplayName}|${actionType}`,\r\n },\r\n event: \"summarytab_interaction\",\r\n });\r\n };\r\n const clickFunc = (show: boolean, actionType: string, onClick?: VoidFunction): VoidFunction => {\r\n return show\r\n ? () => setShowErrorMsg(true)\r\n : onClick\r\n ? () => {\r\n addGTMEvent(actionType);\r\n onClick();\r\n }\r\n : () => {\r\n addGTMEvent(actionType);\r\n };\r\n };\r\n\r\n if (item.ProductType == SubAccountType.CashIsa) {\r\n if (\r\n (currentYearIsaAllowance?.Expected.Amount > 0 ||\r\n currentYearIsaAllowance?.Used.Amount > 0 ||\r\n lastYearIsaAllowance?.Expected.Amount > 0 ||\r\n lastYearIsaAllowance?.Used.Amount > 0) &&\r\n JsonDateParser.toDate(currentYearIsaAllowance?.StopIsaCashDate) >= new Date() &&\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ) {\r\n const showErrorMsgSPT = checkShowPopMsg(ProcessType.SinglePayment);\r\n textLinks.push({\r\n title: StaticUrls.SinglePayment,\r\n url: showErrorMsgSPT\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.SinglePaymentUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n ),\r\n clickFunction: clickFunc(showErrorMsgSPT, StaticUrls.SinglePayment),\r\n });\r\n if (regularPaymentsIn) {\r\n const showErrorMsgEditRegular = checkShowPopMsg(ProcessType.EditRegular);\r\n textLinks.push({\r\n title: StaticUrls.RegularPaymentEdit,\r\n url: \"javascript:void(0);\",\r\n clickFunction: clickFunc(showErrorMsgEditRegular, StaticUrls.RegularPaymentEdit, () => {\r\n Action.getRegularPaymentCashEntry(\r\n item.SubAccountHierarchyId,\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentFrequencyQuery.Regular,\r\n (result: CashPayment[]) => {\r\n const clientRegularPayment = result.filter(\r\n (cashEntry) =>\r\n (cashEntry.Source == PaymentSource.Employee ||\r\n cashEntry.Source == PaymentSource.NotSpecified) &&\r\n cashEntry.InstructionType == InstructionType.Standing &&\r\n cashEntry.Status == PaymentStatus.Authorised\r\n );\r\n if (clientRegularPayment.length > 1) {\r\n setSelectClientRegular(clientRegularPayment);\r\n } else {\r\n window.location.assign(editRegularLink(clientRegularPayment[0]?.BatchId));\r\n }\r\n }\r\n );\r\n }),\r\n });\r\n } else {\r\n const showErrorMsgAddRegular = checkShowPopMsg(ProcessType.AddRegular);\r\n textLinks.push({\r\n title: StaticUrls.RegularPayment,\r\n url: showErrorMsgAddRegular\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.RegularPaymentUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId,\r\n \"add\"\r\n ),\r\n clickFunction: clickFunc(showErrorMsgAddRegular, StaticUrls.RegularPayment),\r\n });\r\n }\r\n }\r\n }\r\n // top up wizard\r\n if (\r\n [\r\n SubAccountType.InvestmentAccount,\r\n SubAccountType.StocksIsa,\r\n SubAccountType.WrapCash,\r\n SubAccountType.Npr,\r\n ].includes(item.ProductType)\r\n ) {\r\n const showErrorMsgSPT = checkShowPopMsg(ProcessType.SinglePayment);\r\n const showErrorMsgEditRegular = checkShowPopMsg(\r\n regularPaymentsIn ? ProcessType.EditRegular : ProcessType.AddRegular\r\n );\r\n if (isTrust) {\r\n if (checkPermission(UserClaim.AdviserPortalDluNbecCanView)) {\r\n textLinks.push({\r\n title: StaticUrls.SinglePayment,\r\n url:\r\n showErrorMsgSPT || blockTrustTopupAndWithdrawal\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.NBEC(item.ClAccountId, SubAccountTypeHelper.isLegacyProduct(item.ProductType)),\r\n clickFunction: clickFunc(showErrorMsgSPT || blockTrustTopupAndWithdrawal, StaticUrls.SinglePayment),\r\n });\r\n textLinks.push({\r\n title: regularPaymentsIn ? StaticUrls.RegularPaymentEdit : StaticUrls.RegularPayment,\r\n url:\r\n showErrorMsgSPT || blockTrustTopupAndWithdrawal\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.NBEC(item.ClAccountId, SubAccountTypeHelper.isLegacyProduct(item.ProductType)),\r\n clickFunction: clickFunc(\r\n showErrorMsgSPT || blockTrustTopupAndWithdrawal,\r\n regularPaymentsIn ? StaticUrls.RegularPaymentEdit : StaticUrls.RegularPayment\r\n ),\r\n });\r\n }\r\n } else {\r\n if (checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)) {\r\n textLinks.push({\r\n title: StaticUrls.SinglePayment,\r\n url: showErrorMsgSPT\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.SinglePaymentUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n ),\r\n clickFunction: clickFunc(showErrorMsgSPT, StaticUrls.SinglePayment),\r\n });\r\n if (regularPaymentsIn) {\r\n const showErrorMsgEditRegular = checkShowPopMsg(ProcessType.EditRegular);\r\n textLinks.push({\r\n title: StaticUrls.RegularPaymentEdit,\r\n url: \"javascript:void(0);\",\r\n clickFunction: clickFunc(showErrorMsgEditRegular, StaticUrls.RegularPaymentEdit, () => {\r\n Action.getRegularPaymentCashEntry(\r\n item.SubAccountHierarchyId,\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentFrequencyQuery.Regular,\r\n (result: CashPayment[]) => {\r\n const clientRegularPayment = result.filter(\r\n (cashEntry) =>\r\n (cashEntry.Source == PaymentSource.Employee ||\r\n cashEntry.Source == PaymentSource.NotSpecified) &&\r\n cashEntry.InstructionType == InstructionType.Standing &&\r\n cashEntry.Status == PaymentStatus.Authorised\r\n );\r\n if (clientRegularPayment.length > 1) {\r\n setSelectClientRegular(clientRegularPayment);\r\n setMutiPaymentType(ProcessType.EditRegular);\r\n } else {\r\n window.location.assign(editRegularLink(clientRegularPayment[0]?.BatchId));\r\n }\r\n }\r\n );\r\n }),\r\n });\r\n } else {\r\n const showErrorMsgAddRegular = checkShowPopMsg(ProcessType.AddRegular);\r\n textLinks.push({\r\n title: StaticUrls.RegularPayment,\r\n url: showErrorMsgAddRegular\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.RegularPaymentUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId,\r\n \"add\"\r\n ),\r\n clickFunction: clickFunc(showErrorMsgAddRegular, StaticUrls.RegularPayment),\r\n });\r\n }\r\n }\r\n }\r\n }\r\n // buy sell switch\r\n if (\r\n [SubAccountType.InvestmentAccount, SubAccountType.StocksIsa, SubAccountType.Npr].includes(item.ProductType) &&\r\n checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite)\r\n ) {\r\n const showErrorMsgBuy = checkShowPopMsg(ProcessType.Buy);\r\n const showErrorMsgSell = checkShowPopMsg(ProcessType.Sell);\r\n const showErrorMsgSwitch = checkShowPopMsg(ProcessType.Switch);\r\n if (isTrust) {\r\n textLinks.push({\r\n title: StaticUrls.Buy,\r\n url: showErrorMsgBuy ? \"javascript:void(0);\" : StaticUrls.CreateOrder(item.ClAccountId),\r\n clickFunction: clickFunc(showErrorMsgBuy, StaticUrls.Buy),\r\n });\r\n textLinks.push({\r\n title: StaticUrls.Sell,\r\n url: showErrorMsgSell ? \"javascript:void(0);\" : StaticUrls.CreateOrder(item.ClAccountId),\r\n clickFunction: clickFunc(showErrorMsgSell, StaticUrls.Sell),\r\n });\r\n textLinks.push({\r\n title: StaticUrls.Switch,\r\n url: showErrorMsgSwitch ? \"javascript:void(0);\" : StaticUrls.CreateOrder(item.ClAccountId),\r\n clickFunction: clickFunc(showErrorMsgSwitch, StaticUrls.Switch),\r\n });\r\n } else {\r\n textLinks.push({\r\n title: StaticUrls.Buy,\r\n url: showErrorMsgBuy\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.BuyUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n ),\r\n clickFunction: clickFunc(showErrorMsgBuy, StaticUrls.Buy),\r\n });\r\n\r\n textLinks.push({\r\n title: StaticUrls.Sell,\r\n url: showErrorMsgSell\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.SellUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n ),\r\n clickFunction: clickFunc(showErrorMsgSell, StaticUrls.Sell),\r\n });\r\n\r\n textLinks.push({\r\n title: StaticUrls.Switch,\r\n url: showErrorMsgSwitch\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.SwitchUrl(\r\n item.ProductType?.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n ),\r\n clickFunction: clickFunc(showErrorMsgSwitch, StaticUrls.Switch),\r\n });\r\n }\r\n\r\n if (item.ProductType == SubAccountType.Npr) {\r\n textLinks.push({\r\n title: StaticUrls.IncomePaymentOneOff,\r\n url: StaticUrls.IncomePaymentOneOffUrl(\r\n item.ProductType.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n ),\r\n clickFunction: clickFunc(false, StaticUrls.IncomePaymentOneOff),\r\n });\r\n textLinks.push({\r\n title: StaticUrls.UpdateLifetimeAllowance,\r\n url: StaticUrls.UpdateLifetimeAllowanceUrl(headAccountHierarchyId, subAccountHierarchyId),\r\n clickFunction: clickFunc(false, StaticUrls.UpdateLifetimeAllowance),\r\n });\r\n }\r\n }\r\n const showErrorMsgWithdrawal = checkShowPopMsg(ProcessType.Withdrawal);\r\n if (\r\n [\r\n SubAccountType.InvestmentAccount,\r\n SubAccountType.StocksIsa,\r\n SubAccountType.WrapCash,\r\n SubAccountType.CashIsa,\r\n ].includes(item.ProductType) &&\r\n checkPermission(UserClaim.AdviserPortalDluWithdrawalCanView)\r\n ) {\r\n textLinks.push({\r\n title: StaticUrls.Withdraw,\r\n url: \"javascript:void(0);\",\r\n clickFunction: () => {\r\n if (showErrorMsgWithdrawal || blockTrustTopupAndWithdrawal) {\r\n setShowErrorMsg(true);\r\n } else if (isWithDrawalRestriction) {\r\n props.restrictWithdrawal();\r\n } else {\r\n addGTMEvent(StaticUrls.Withdraw);\r\n window.location.assign(StaticUrls.WithdrawUrl(item.ClAccountId));\r\n }\r\n },\r\n });\r\n }\r\n if ([SubAccountType.InvestmentAccount, SubAccountType.StocksIsa].includes(item.ProductType)) {\r\n const showErrorMsgWhatIf = checkShowPopMsg(ProcessType.WhatIf);\r\n if (checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)) {\r\n if (!isTrust) {\r\n textLinks.push({\r\n title: StaticUrls.WhatIfTool,\r\n url: \"javascript:void(0);\",\r\n clickFunction: clickFunc(showErrorMsgWhatIf, StaticUrls.WhatIfTool, () => {\r\n Action.getRegularPaymentCashEntry(\r\n item.SubAccountHierarchyId,\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentFrequencyQuery.Regular,\r\n (result: CashPayment[]) => {\r\n const clientRegularPayment = result.filter(\r\n (cashEntry) =>\r\n (cashEntry.Source == PaymentSource.Employee ||\r\n cashEntry.Source == PaymentSource.NotSpecified) &&\r\n cashEntry.InstructionType == InstructionType.Standing &&\r\n cashEntry.Status == PaymentStatus.Authorised\r\n );\r\n if (clientRegularPayment.length > 1) {\r\n setSelectClientRegular(clientRegularPayment);\r\n setMutiPaymentType(ProcessType.WhatIf);\r\n } else {\r\n window.location.assign(editWhatIfToolLink(clientRegularPayment[0]?.BatchId));\r\n }\r\n }\r\n );\r\n }),\r\n });\r\n }\r\n textLinks.push({\r\n title: StaticUrls.NoChangeTool,\r\n url: showErrorMsgWhatIf\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.NoChangeToolUrl(\r\n item.ProductType.toString(),\r\n item.ClAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n ),\r\n clickFunction: clickFunc(showErrorMsgWhatIf, StaticUrls.NoChangeTool),\r\n });\r\n }\r\n }\r\n if ([SubAccountType.Sipp, SubAccountType.OnshoreBond, SubAccountType.OffshoreBond].includes(item.ProductType)) {\r\n const showErrorMsgSPT = checkShowPopMsg(ProcessType.SinglePayment);\r\n if (checkPermission(UserClaim.AdviserPortalDluNbecCanView)) {\r\n textLinks.push({\r\n title: StaticUrls.SinglePayment,\r\n url:\r\n showErrorMsgSPT || blockTrustTopupAndWithdrawal || disableAllProductByFsa\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.NBEC(item.ClAccountId, SubAccountTypeHelper.isBond(item.ProductType)),\r\n clickFunction: clickFunc(\r\n showErrorMsgSPT || blockTrustTopupAndWithdrawal || disableAllProductByFsa,\r\n StaticUrls.SinglePayment\r\n ),\r\n });\r\n }\r\n }\r\n if (item.ProductType == SubAccountType.Sipp) {\r\n const showErrorMsgRegular = checkShowPopMsg(ProcessType.AddRegular);\r\n if (checkPermission(UserClaim.AdviserPortalDluNbecCanView)) {\r\n textLinks.push({\r\n title: regularPaymentsIn ? StaticUrls.RegularPaymentEdit : StaticUrls.RegularPayment,\r\n url:\r\n showErrorMsgRegular || blockTrustTopupAndWithdrawal || disableAllProductByFsa\r\n ? \"javascript:void(0);\"\r\n : StaticUrls.NBEC(item.ClAccountId),\r\n clickFunction: clickFunc(\r\n showErrorMsgRegular || blockTrustTopupAndWithdrawal || disableAllProductByFsa,\r\n regularPaymentsIn ? StaticUrls.RegularPaymentEdit : StaticUrls.RegularPayment\r\n ),\r\n });\r\n }\r\n }\r\n if (\r\n [SubAccountType.Sipp, SubAccountType.OffshoreBond].includes(item.ProductType) &&\r\n checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite)\r\n ) {\r\n const showErrorMsgBuy = checkShowPopMsg(ProcessType.Buy);\r\n const showErrorMsgSell = checkShowPopMsg(ProcessType.Sell);\r\n\r\n textLinks.push({\r\n title: StaticUrls.Buy,\r\n url: showErrorMsgBuy ? \"javascript:void(0);\" : StaticUrls.CreateOrder(item.ClAccountId),\r\n clickFunction: clickFunc(showErrorMsgBuy, StaticUrls.Buy),\r\n });\r\n textLinks.push({\r\n title: StaticUrls.Sell,\r\n url: showErrorMsgSell ? \"javascript:void(0);\" : StaticUrls.CreateOrder(item.ClAccountId),\r\n clickFunction: clickFunc(showErrorMsgSell, StaticUrls.Sell),\r\n });\r\n }\r\n if (\r\n [SubAccountType.Sipp, SubAccountType.OnshoreBond, SubAccountType.OffshoreBond].includes(item.ProductType) &&\r\n checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite)\r\n ) {\r\n const showErrorMsgSwitch = checkShowPopMsg(ProcessType.Switch);\r\n textLinks.push({\r\n title: StaticUrls.Switch,\r\n url: showErrorMsgSwitch ? \"javascript:void(0);\" : StaticUrls.CreateOrder(item.ClAccountId),\r\n clickFunction: clickFunc(showErrorMsgSwitch, StaticUrls.Switch),\r\n });\r\n }\r\n if (\r\n [SubAccountType.OnshoreBond, SubAccountType.OffshoreBond].includes(item.ProductType) &&\r\n checkPermission(UserClaim.AdviserPortalDluWithdrawalCanView)\r\n ) {\r\n const showErrorMsgWithdrawal = checkShowPopMsg(ProcessType.Withdrawal);\r\n textLinks.push({\r\n title: StaticUrls.Withdraw,\r\n url: \"javascript:void(0);\",\r\n clickFunction: () => {\r\n if (showErrorMsgWithdrawal || blockTrustTopupAndWithdrawal) {\r\n setShowErrorMsg(true);\r\n } else {\r\n addGTMEvent(StaticUrls.Withdraw);\r\n props.prohibitedWithdrawal();\r\n }\r\n },\r\n });\r\n }\r\n if (isAppStoreEnabled) {\r\n textLinks.push({ title: StaticUrls.LaunchApps, clickFunction: handleLaunchpadClick });\r\n }\r\n if (textLinks.filter((ele) => ele != null).length == 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n {textLinks?.length > 0 && }\r\n {showErrorMsg && (\r\n setShowErrorMsg(false)}\r\n type={LightboxType.Modal}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n

    \r\n {blockTrustTopupAndWithdrawal\r\n ? \"This journey is not available for this type of Trust.\"\r\n : disableAllProductByFsa && SubAccountTypeHelper.isLegacyProduct(item.ProductType)\r\n ? \"FCA Permissions prevents the following action.\"\r\n : \"You cannot process this action until the account is active\"}\r\n

    \r\n \r\n \r\n )}\r\n {checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n {\r\n setSelectClientRegular([]);\r\n }}\r\n onSelect={(id) =>\r\n window.location.assign(\r\n multiPaymentType == ProcessType.EditRegular ? editRegularLink(id) : editWhatIfToolLink(id)\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import {\r\n CacheablePayloadStore,\r\n ICacheablePayloadAction,\r\n} from \"../../../../../../../../react-core/Flux/CacheablePayloadStore\";\r\nimport { Dispatcher } from \"../../../../../../../../react-core/Flux/Dispatcher\";\r\nimport { AssetClassType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { PerformanceMethod } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { TrustDetail } from \"../../../../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { ProductsValuationDetailSummary } from \"../../../../../../../../Wrap/Models/Domains/Valuation/ProductsValuationDetailSummary\";\r\nimport { SippIncome } from \"../../../../../../../../Wrap/Models/Domains/Valuation/SippIncome\";\r\nimport { PortfolioPerformanceSummaryModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PortfolioPerformanceSummaryModel\";\r\nimport { PortfolioPerformanceSimpleReturnAndIRRModel } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PortfolioPerformanceSimpleReturnAndIRRModel\";\r\nimport { IJsonDate } from \"../../../../../../../../Wrap/System/IJsonDate\";\r\nimport { SingleDataStore } from \"../../../../../../../Shared/Stores/SingleDataStore\";\r\nimport { SingleDataStoreDispacher } from \"../../../../../../../Shared/Stores/SingleDataStoreDispacher\";\r\n\r\nexport const PortfolioDashboardSummaryDisaptcher: SingleDataStoreDispacher = new SingleDataStoreDispacher<\r\n any\r\n>();\r\nexport const PortfolioDashboardSummaryStore: SingleDataStore = new SingleDataStore(\r\n PortfolioDashboardSummaryDisaptcher\r\n);\r\n\r\nexport interface ProductsValuationDetailSummaryQuery {\r\n headAccountHierarchyIds: Array;\r\n subAccountHierarchyIds: Array;\r\n assetClassType: AssetClassType;\r\n asAt: IJsonDate;\r\n}\r\n\r\nexport interface PortfolioPerformanceSummaryQuery {\r\n hierarchyId: string;\r\n fromDateTime: IJsonDate;\r\n toDateTime: IJsonDate;\r\n fromInception: boolean;\r\n performanceMethod: PerformanceMethod;\r\n}\r\n\r\nexport interface PortfolioPerformancesimplereturnAndIrrQuery {\r\n hierarchyId: string;\r\n fromDateTime: IJsonDate;\r\n toDateTime: IJsonDate;\r\n performanceMethod: PerformanceMethod;\r\n}\r\n\r\nexport const SummaryTrustDetailsDisaptcher = new Dispatcher>();\r\nexport const SummaryTrustDetailsStore = new CacheablePayloadStore(SummaryTrustDetailsDisaptcher);\r\n\r\nexport const ProductsValuationDetailSummaryDispatcher = new Dispatcher<\r\n ICacheablePayloadAction\r\n>();\r\nexport const ProductsValuationDetailSummaryStore = new CacheablePayloadStore(ProductsValuationDetailSummaryDispatcher);\r\n\r\nexport const PortfolioPerformanceSummaryDispatcher = new Dispatcher<\r\n ICacheablePayloadAction\r\n>();\r\nexport const PortfolioPerformanceSummaryStore = new CacheablePayloadStore(PortfolioPerformanceSummaryDispatcher);\r\n\r\nexport const PortfolioPerformanceSimpleReturnAndIRRDispatcher = new Dispatcher<\r\n ICacheablePayloadAction\r\n>();\r\nexport const PortfolioPerformanceSimpleReturnAndIRRStore = new CacheablePayloadStore(\r\n PortfolioPerformanceSimpleReturnAndIRRDispatcher\r\n);\r\n\r\nexport const SippIncomeDispatcher = new Dispatcher>();\r\nexport const SippIncomeStore = new CacheablePayloadStore(SippIncomeDispatcher);\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PerformanceMethod } from \"../../../../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { ProductsValuationDetailSummary } from \"../../../../../../../Wrap/Models/Domains/Valuation/ProductsValuationDetailSummary\";\r\nimport { PortfolioPerformanceSummaryModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/PortfolioPerformanceSummaryModel\";\r\nimport { ProductPerformanceModel } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Performance/ProductPerformanceModel\";\r\nimport { LoadingSkeletonType } from \"../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeleton } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { AccountsSummaryTable } from \"./Components/AccountsSummaryTable\";\r\nimport { CircleChart } from \"./Components/CircleChart\";\r\nimport { AccountCards } from \"./Components/AccountCards\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { getSelectedHeadAccount } from \"../Common/PortfolioDashboardHelper\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport { PortfolioDashboardSummaryAction } from \"./Action/Action\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { DateRange } from \"../../../../../../Shared/Components/DateRange\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport AdviserSiteTagManager from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { TransactionEnum } from \"../Transactions/Resource/Contents\";\r\nimport {\r\n PortfolioPerformanceSummaryDispatcher,\r\n PortfolioPerformanceSummaryQuery,\r\n PortfolioPerformanceSummaryStore,\r\n ProductsValuationDetailSummaryDispatcher,\r\n ProductsValuationDetailSummaryQuery,\r\n ProductsValuationDetailSummaryStore,\r\n SummaryTrustDetailsDisaptcher,\r\n SummaryTrustDetailsStore,\r\n} from \"./Store/Variable\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ActionType } from \"../../../../../../../react-core/Flux/ActionType\";\r\nimport { stripToDay } from \"../../../../../../../react-core/utils/date\";\r\n\r\ninterface IPortfolioDashboardSummaryState {\r\n dateSelect?: Date;\r\n isProductValuationLoading?: boolean;\r\n detailsSummary?: ProductsValuationDetailSummary;\r\n slideNumber: number;\r\n portfolioPerformanceSummaries?: Map;\r\n}\r\n\r\ninterface IPortfolioDashboardSummaryProps extends IPortfolioDashboardComponentProps {\r\n ProductOverviewNavigate: (SubClAccountId: string) => void;\r\n}\r\n\r\nexport class PortfolioDashboardSummary extends PortfolioDashboardComponent<\r\n IPortfolioDashboardSummaryProps,\r\n IPortfolioDashboardSummaryState\r\n> {\r\n constructor(props: IPortfolioDashboardSummaryProps) {\r\n super(props);\r\n\r\n this.subscribeToStore(ProductsValuationDetailSummaryStore, () =>\r\n this.onProductsValuationDetailSummaryChanged()\r\n );\r\n this.subscribeToStore(PortfolioPerformanceSummaryStore, () => this.onPortfolioPerformanceSummaryChanged());\r\n }\r\n\r\n private onPortfolioPerformanceSummaryChanged() {\r\n const selectedSubAccountHierarchyIds = PortfolioDashboardMultiSelectionStore.getData() || [];\r\n const allAccounts: ClientAccount[] = PortfolioDashboardStore.getData() || [];\r\n const selectedHeadAccount = getSelectedHeadAccount(selectedSubAccountHierarchyIds, allAccounts);\r\n\r\n const { portfolioPerformanceSummaries } = this.state;\r\n\r\n selectedHeadAccount.forEach((headAccount) => {\r\n const query = this.getPortfolioPerformanceSummaryQuery(headAccount);\r\n const data = PortfolioPerformanceSummaryStore.getPayload(query);\r\n\r\n if (data != null && !portfolioPerformanceSummaries.has(headAccount)) {\r\n portfolioPerformanceSummaries.set(headAccount, data);\r\n }\r\n });\r\n\r\n this.setState({ portfolioPerformanceSummaries: portfolioPerformanceSummaries });\r\n }\r\n\r\n private onProductsValuationDetailSummaryChanged() {\r\n const query: ProductsValuationDetailSummaryQuery = this.getProductsValuationDetailSummaryQuery();\r\n const data: ProductsValuationDetailSummary = ProductsValuationDetailSummaryStore.getPayload(query);\r\n\r\n if (ProductsValuationDetailSummaryStore.isLoadingForQuery(query) || data == null) {\r\n this.setState({ isProductValuationLoading: true });\r\n } else {\r\n this.setState({ detailsSummary: data, isProductValuationLoading: false });\r\n }\r\n }\r\n\r\n initState() {\r\n this.state = {\r\n dateSelect: new Date(),\r\n isProductValuationLoading: true,\r\n detailsSummary: null,\r\n slideNumber: 0,\r\n portfolioPerformanceSummaries: new Map(),\r\n };\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.Summary\r\n );\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Summary,\r\n this.props.isBtnPresentationClicked\r\n );\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .summary.getUrl(),\r\n pageTitle: `${document.title} - client - summary`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n private getProductsValuationDetailSummaryQuery(): ProductsValuationDetailSummaryQuery {\r\n const { dateSelect } = this.state;\r\n const selectedSubAccountHierarchyIds = PortfolioDashboardMultiSelectionStore.getData() || [];\r\n const allAccounts: ClientAccount[] = PortfolioDashboardStore.getData() || [];\r\n const _date = JsonDateParser.toJsonDateNoOffset(new Date(dateSelect.getFullYear(), dateSelect.getMonth(), dateSelect.getDate())) as any;\r\n const selectedHeadAccount = getSelectedHeadAccount(selectedSubAccountHierarchyIds, allAccounts);\r\n\r\n const query: ProductsValuationDetailSummaryQuery = {\r\n subAccountHierarchyIds: [...selectedSubAccountHierarchyIds].sort(),\r\n headAccountHierarchyIds: [...selectedHeadAccount].sort(),\r\n asAt: _date,\r\n assetClassType: AssetClassType.Tier1,\r\n };\r\n\r\n return query;\r\n }\r\n\r\n private getPortfolioPerformanceSummaryQuery(headAccount: string): PortfolioPerformanceSummaryQuery {\r\n let now = new Date();\r\n now = new Date(now.getFullYear(), now.getMonth(), now.getDate())\r\n const lastYear = new Date(now.getFullYear() - 1, now.getMonth(), now.getDate() + 1);\r\n\r\n return {\r\n hierarchyId: headAccount,\r\n fromDateTime: JsonDateParser.toJsonDateNoOffset(lastYear),\r\n toDateTime: JsonDateParser.toJsonDateNoOffset(now),\r\n fromInception: false,\r\n performanceMethod: PerformanceMethod.Simple,\r\n };\r\n }\r\n\r\n getData() {\r\n const query = this.getProductsValuationDetailSummaryQuery();\r\n\r\n const allAccounts: ClientAccount[] = PortfolioDashboardStore.getData() || [];\r\n\r\n const trustSelectedHeadAccount = allAccounts\r\n .filter(\r\n (ele) =>\r\n query.headAccountHierarchyIds.includes(ele.HierarchyId) && ele.InvestorType == InvestorType.Trust\r\n )\r\n .map((ele) => ele.HierarchyId)\r\n .sort();\r\n\r\n if (trustSelectedHeadAccount.length > 0) {\r\n if (SummaryTrustDetailsStore.isEmptyForQuery(trustSelectedHeadAccount)) {\r\n PortfolioDashboardSummaryAction.getTrustDetails(trustSelectedHeadAccount);\r\n } else {\r\n SummaryTrustDetailsDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: SummaryTrustDetailsStore.getPayload(trustSelectedHeadAccount),\r\n query: trustSelectedHeadAccount,\r\n });\r\n }\r\n }\r\n\r\n if (ProductsValuationDetailSummaryStore.isEmptyForQuery(query)) {\r\n PortfolioDashboardSummaryAction.getProductsValuationDetailSummary(query);\r\n } else {\r\n ProductsValuationDetailSummaryDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: ProductsValuationDetailSummaryStore.getPayload(query),\r\n query: query,\r\n });\r\n }\r\n\r\n query.headAccountHierarchyIds.forEach((headAccount) => {\r\n const query = this.getPortfolioPerformanceSummaryQuery(headAccount);\r\n\r\n if (PortfolioPerformanceSummaryStore.isEmptyForQuery(query)) {\r\n PortfolioDashboardSummaryAction.getPerformanceSummary(query);\r\n } else {\r\n PortfolioPerformanceSummaryDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: PortfolioPerformanceSummaryStore.getPayload(query),\r\n query: query,\r\n });\r\n }\r\n });\r\n }\r\n\r\n private renderPieChartAndAccountTable(): JSX.Element {\r\n const { detailsSummary, isProductValuationLoading } = this.state;\r\n if (isProductValuationLoading) {return ;}\r\n\r\n const pieChart = (\r\n \r\n );\r\n return (\r\n
    \r\n {pieChart.props.chartData && pieChart.props.chartData.length ? (\r\n
    \r\n
    {pieChart}
    \r\n
    \r\n ) : null}\r\n
    {this.renderAccountTable()}
    \r\n
    \r\n );\r\n }\r\n\r\n private renderAccountTable(): JSX.Element {\r\n const { detailsSummary, dateSelect, portfolioPerformanceSummaries } = this.state;\r\n const productPerformanceSummaries: ProductPerformanceModel[] = [];\r\n portfolioPerformanceSummaries.forEach((value, key) =>\r\n value.ProductPerformanceSummary.forEach((summary) => productPerformanceSummaries.push(summary))\r\n );\r\n const allAccounts: ClientAccount[] = PortfolioDashboardStore.getData() || [];\r\n var subAccounts = allAccounts[0]?.SubAccounts\r\n\r\n return (\r\n {\r\n this.setState({ dateSelect: val}, () => {\r\n this.getData();\r\n });\r\n }}\r\n productPerformanceList={productPerformanceSummaries}\r\n hasReadWriteAccessToAdviser={this.props.hasReadWriteAccessToAdviser}\r\n isPresentationClicked={this.props.isBtnPresentationClicked}\r\n onPresentationStatusChange={this.props.onPresentationViewStatusChange}\r\n subAccountData={subAccounts}\r\n />\r\n );\r\n }\r\n\r\n render() {\r\n const { detailsSummary, isProductValuationLoading, slideNumber } = this.state;\r\n const { isPresentationView } = this.context;\r\n return (\r\n \r\n
    \r\n {this.renderPieChartAndAccountTable()}\r\n
    \r\n {!isPresentationView && (\r\n \r\n )}\r\n {!isPresentationView && checkPermission(UserClaim.AdviserPortalPerformanceChargesCanView) && (\r\n {\r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: ContextStore.getUrlParamsHierarchyId(ContextType.Customer),\r\n }).transactions,\r\n {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n transtypeselect: TransactionEnum.charges,\r\n },\r\n }\r\n );\r\n }}\r\n >\r\n View charges transactions\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\nPortfolioDashboardSummary.contextType = PresentationContext;\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { AccountTransfersCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/AccountTransfers/AccountTransfersCollection\";\r\nimport { AccountTransfersSort } from \"../../../../../../../../Wrap/Models/Domains/Transactions/AccountTransfers/AccountTransfersSort\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { sortDirection, Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { Contents } from \"../../Insights/Resource/Contents\";\r\n\r\ninterface IAccountTransfersProps {\r\n data: AccountTransfersCollection;\r\n onTableChange: (sortBy, orderByAESC, minrow, maxrow) => void;\r\n}\r\n\r\nexport const AccountTransfers = (props: IAccountTransfersProps) => {\r\n if (!props.data) {return null;}\r\n\r\n const [sortBy, setSortBy] = useState(AccountTransfersSort.Date);\r\n const [dateOrderByAESC, setDateOrder] = useState(false);\r\n const [amountOrderByAESC, setAmountOrder] = useState(false);\r\n const [currentPage, setCurPage] = useState(1);\r\n\r\n const getData = (currentPage, sortBy, orderByAESC) => {\r\n const minrow = (currentPage - 1) * 10 + 1;\r\n const maxrow = currentPage * 10;\r\n props.onTableChange(sortBy, orderByAESC, minrow, maxrow);\r\n };\r\n\r\n const getMoneyFormat = (val: number): string => {\r\n let formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(val), CurrencyCode.GBP);\r\n if (val < 0) {\r\n formatMoney = \"-\" + formatMoney;\r\n }\r\n return formatMoney;\r\n };\r\n\r\n return props.data && props.data.Items.length < 1 ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n sorter: () => {\r\n if (sortBy !== AccountTransfersSort.Date) {\r\n setSortBy(AccountTransfersSort.Date);\r\n }\r\n setDateOrder(!dateOrderByAESC);\r\n getData(currentPage, AccountTransfersSort.Date, !dateOrderByAESC);\r\n },\r\n sortDirection: dateOrderByAESC ? sortDirection.ASC : sortDirection.DESC,\r\n },\r\n {\r\n title: \"Product\",\r\n key: \"ProductDisplayName\",\r\n },\r\n {\r\n title: \"Narrative\",\r\n key: \"Narrative\",\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n thCssWrapper: \"ctable-sort cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return getMoneyFormat(data);\r\n },\r\n sorter: () => {\r\n if (sortBy !== AccountTransfersSort.Amount) {\r\n setSortBy(AccountTransfersSort.Amount);\r\n }\r\n setAmountOrder(!amountOrderByAESC);\r\n getData(currentPage, AccountTransfersSort.Amount, !amountOrderByAESC);\r\n },\r\n sortDirection: amountOrderByAESC ? sortDirection.ASC : sortDirection.DESC,\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 3 },\r\n {\r\n data: getMoneyFormat(\r\n props.data.Items.reduce((total, ele) => {\r\n return total + ele.Amount;\r\n }, 0)\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n needPagination={{\r\n totalNumOfResult: props.data.TotalRows,\r\n currentPage: currentPage,\r\n onPaginationChange: (pageIndex, pageSize) => {\r\n setCurPage(pageIndex);\r\n getData(\r\n pageIndex,\r\n sortBy,\r\n sortBy == AccountTransfersSort.Amount ? amountOrderByAESC : dateOrderByAESC\r\n );\r\n },\r\n }}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { AccountModelViewClient } from \"../../../../../../../../Wrap/Api/Transaction/AccountModelView\";\r\nimport { AccountModelPortfolioDispatcher } from \"../Store/Variable\";\r\n\r\nexport class AccountModelPortfolioAction {\r\n public static getAccountModelPortfolio(hierarchyId: string, cashSpecific: boolean): void {\r\n const client = new AccountModelViewClient();\r\n const promise = client.get(hierarchyId, cashSpecific);\r\n\r\n promise.onSuccess((result) => {\r\n AccountModelPortfolioDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n AccountModelPortfolioDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}\r\n","import { BondRegularPaymentDispatcher } from \"../../../Store/Variables\";\r\nimport { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BondRegularPaymentClient } from \"../../../../../../../../Wrap/Api/Bonds/BondRegularPayment\";\r\n\r\nexport class BondRegularPaymentAction {\r\n public static getBondRegularPayment(hierarchyId: string, callback?): void {\r\n const client = new BondRegularPaymentClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((data) => {\r\n if (callback) {callback(data);}\r\n BondRegularPaymentDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CashPaymentClient } from \"../../../../../../../../Wrap/Api/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { AccountTransfersClient } from \"../../../../../../../../Wrap/Api/Transaction/AccountTransfers\";\r\nimport { AutoDisInvestTranWithBatchIdClient } from \"../../../../../../../../Wrap/Api/Transaction/AutoDisInvestTranWithBatchId\";\r\nimport { CashEntryDetailClient } from \"../../../../../../../../Wrap/Api/Transaction/CashEntryDetail\";\r\nimport { CashLedgerTransactionWithBatchIdClient } from \"../../../../../../../../Wrap/Api/Transaction/CashLedgerTransactionWithBatchId\";\r\nimport { CashTransactionClient } from \"../../../../../../../../Wrap/Api/Transaction/CashTransaction\";\r\nimport { CgtTransactionClient } from \"../../../../../../../../Wrap/Api/Transaction/CgtTransaction\";\r\nimport { CgtTransactionHistoryClient } from \"../../../../../../../../Wrap/Api/Transaction/CgtTransactionHistory\";\r\nimport { ChargesTransactionsClient } from \"../../../../../../../../Wrap/Api/Transaction/ChargesTransactions\";\r\nimport { DisinvestEventChargeClient } from \"../../../../../../../../Wrap/Api/Transaction/DisinvestEventCharge\";\r\nimport { DividendSummaryClient } from \"../../../../../../../../Wrap/Api/Transaction/DividendSummary\";\r\nimport { InvestmentTransactionClient } from \"../../../../../../../../Wrap/Api/Transaction/InvestmentTransaction\";\r\nimport { InvestmentTransactionByTransIdClient } from \"../../../../../../../../Wrap/Api/Transaction/InvestmentTransactionByTransId\";\r\nimport { OrderHistoryClient } from \"../../../../../../../../Wrap/Api/Transaction/OrderHistory\";\r\nimport { OrderValuationClient } from \"../../../../../../../../Wrap/Api/Transaction/OrderValuation\";\r\nimport { OtherCorporateActionsClient } from \"../../../../../../../../Wrap/Api/Transaction/OtherCorporateActions\";\r\nimport { TransactionsSummaryClient } from \"../../../../../../../../Wrap/Api/Transaction/TransactionsSummary\";\r\nimport { ServiceValidationError } from \"../../../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { SortDirection } from \"../../../../../../../../Wrap/Core/SortingAndPaging/SortDirection\";\r\nimport { AccountTransfersSort } from \"../../../../../../../../Wrap/Models/Domains/Transactions/AccountTransfers/AccountTransfersSort\";\r\nimport { CashEntryDetail } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashEntryDetail\";\r\nimport { CashLedgerTransaction } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashLedgerTransaction\";\r\nimport { CashTransactionTypes } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashTransactionTypes\";\r\nimport { ChargesQuerySort } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesQuerySort\";\r\nimport { ChargesQueryType } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesQueryType\";\r\nimport { BouncedCharge } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/BouncedCharge\";\r\nimport { CgtTransaction } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/CgtTransaction\";\r\nimport { CgtTransactionHistory } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/CgtTransactionHistory\";\r\nimport { InvestmentTransactions } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/InvestmentTransactions\";\r\nimport { OrderHistory } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/OrderHistory\";\r\nimport { OrderValuation } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/OrderValuation\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { CashPaymentTypeQuery } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\nimport { TransactionEnum } from \"../Resource/Contents\";\r\nimport { TransactionDispatcher, TransactionStore } from \"../Store/Variable\";\r\n\r\nexport class TransactionAction {\r\n public static getAccountTransfer(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n minrow: number,\r\n maxrow: number,\r\n sortby: AccountTransfersSort,\r\n sortByAscending: boolean\r\n ): void {\r\n const client = new AccountTransfersClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n fromInception,\r\n minrow,\r\n maxrow,\r\n sortby,\r\n sortByAscending\r\n );\r\n\r\n this.updateTransactionStore(TransactionEnum.accountTransfers, promise);\r\n }\r\n\r\n public static getPaymentWithdrawals(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n type: CashPaymentTypeQuery,\r\n frequency: CashPaymentFrequencyQuery\r\n ) {\r\n const client = new CashPaymentClient();\r\n const promise = client.get(hierarchyId, type, frequency);\r\n\r\n this.updateTransactionStore(TransactionEnum.paymentsWithdrawals, promise);\r\n }\r\n\r\n public static getDividendSummary(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n instrumentCode: string,\r\n corpActionType: string,\r\n sortName: string,\r\n sortDirection: string,\r\n minRow: number,\r\n maxRow: number\r\n ): void {\r\n const client = new DividendSummaryClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n fromInception,\r\n instrumentCode,\r\n corpActionType,\r\n sortName,\r\n sortDirection,\r\n minRow,\r\n maxRow\r\n );\r\n\r\n if (corpActionType) {\r\n this.updateTransactionStore(TransactionEnum.corporateActions, promise);\r\n } else {\r\n this.updateTransactionStore(TransactionEnum.otherCorporateActions, promise);\r\n }\r\n }\r\n\r\n public static getOtherCorporateActions(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n instrumentCode: string,\r\n corpActionType: string,\r\n sortName: string,\r\n sortDirection: string,\r\n minRow: number,\r\n maxRow: number\r\n ): void {\r\n const client = new OtherCorporateActionsClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n fromInception,\r\n instrumentCode,\r\n corpActionType,\r\n sortName,\r\n sortDirection,\r\n minRow,\r\n maxRow\r\n );\r\n\r\n if (corpActionType) {\r\n this.updateTransactionStore(TransactionEnum.corporateActions, promise);\r\n } else {\r\n this.updateTransactionStore(TransactionEnum.otherCorporateActions, promise);\r\n }\r\n }\r\n public static getCharges(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n chargesType: ChargesQueryType,\r\n sortby: ChargesQuerySort,\r\n sortByAscending: boolean\r\n ): void {\r\n const client = new ChargesTransactionsClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n fromInception,\r\n chargesType,\r\n sortby,\r\n sortByAscending\r\n );\r\n\r\n this.updateTransactionStore(TransactionEnum.charges, promise);\r\n }\r\n\r\n public static getInvestmentTransactions(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n cNoteId: number,\r\n instrumentCode: string,\r\n transSource: string,\r\n sortName: string,\r\n sortDirection: string,\r\n modelId: number,\r\n minRow: number,\r\n maxRow: number\r\n ): void {\r\n const client = new InvestmentTransactionClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n modelId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n transSource,\r\n instrumentCode,\r\n cNoteId,\r\n sortName,\r\n sortDirection,\r\n minRow,\r\n maxRow\r\n );\r\n\r\n this.updateTransactionStore(TransactionEnum.investments, promise);\r\n }\r\n\r\n public static getCashTransactions(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n movementType: CashTransactionTypes,\r\n modelId: number,\r\n sortDirection: SortDirection,\r\n minRow: number,\r\n maxRow: number\r\n ): void {\r\n const client = new CashTransactionClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n fromInception,\r\n movementType,\r\n modelId,\r\n minRow,\r\n maxRow,\r\n sortDirection\r\n );\r\n\r\n this.updateTransactionStore(TransactionEnum.cash, promise);\r\n }\r\n\r\n public static getSummaryTransactions(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean\r\n ): void {\r\n const client = new TransactionsSummaryClient();\r\n const promise = client.get(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n fromInception\r\n );\r\n\r\n this.updateTransactionStore(TransactionEnum.summary, promise);\r\n }\r\n\r\n private static updateTransactionStore(transType: TransactionEnum, promise: any) {\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(TransactionStore.getData()));\r\n if (!data) {data = {};}\r\n data[transType] = result;\r\n TransactionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n TransactionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getTransactionsByTransId(transId: number, callback?: (val: InvestmentTransactions) => void): void {\r\n const client = new InvestmentTransactionByTransIdClient();\r\n const promise = client.get(transId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getCgtTransactionByTransId(transId: number, callback?: (val: CgtTransaction) => void): void {\r\n const client = new CgtTransactionClient();\r\n const promise = client.get(transId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getCgtTransactionsHistoryByTransId(\r\n transId: number,\r\n callback?: (val: Array) => void\r\n ): void {\r\n const client = new CgtTransactionHistoryClient();\r\n const promise = client.get(transId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static saveCgtTransactions(\r\n cgtTransaction: CgtTransaction,\r\n callback?: (val: ServiceValidationError[]) => void\r\n ): void {\r\n const client = new CgtTransactionClient();\r\n const promise = client.post(cgtTransaction);\r\n promise.onSuccess((res: ServiceValidationError[]) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getClientTransactionOrder(orderId: number, callback?: (val: Array) => void): void {\r\n const client = new OrderValuationClient();\r\n const promise = client.get(orderId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getTransactionOrderHistory(orderId: number, callback?: (val: Array) => void): void {\r\n const client = new OrderHistoryClient();\r\n const promise = client.get(orderId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getDisinvestCharge(orderId: number, callback?: (val: Array) => void): void {\r\n const client = new DisinvestEventChargeClient();\r\n const promise = client.get(orderId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getCashEntryDetail(cashId: number, callback?: (val: Array) => void): void {\r\n const client = new CashEntryDetailClient();\r\n const promise = client.get(cashId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getCashLedgerTransactionWithBatchId(\r\n transId: number,\r\n callback?: (val: Array) => void\r\n ): void {\r\n const client = new CashLedgerTransactionWithBatchIdClient();\r\n const promise = client.get(transId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getAutoDisInvestTranWithBatchId(\r\n transId: number,\r\n callback?: (val: Array) => void\r\n ): void {\r\n const client = new AutoDisInvestTranWithBatchIdClient();\r\n const promise = client.get(transId);\r\n promise.onSuccess((res) => {\r\n if (callback) {\r\n callback(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { AccountModelPortfolioAction } from \"../Actions/AccountModelPortfolioActions\";\r\nimport { CashDetailPopupView } from \"./CashDetailPopupView\";\r\nimport { CashModelTypeMap, CashModelTypeOptions, CashUnModelTypeOptions, Contents } from \"../Resource/Contents\";\r\nimport { AccountModelPortfolioStore } from \"../Store/Variable\";\r\nimport { TransactionHistoryPopupView } from \"../Components/TransactionHistoryPopupView\";\r\nimport { CommonHelper, Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { SelectEditorFactory } from \"../../../../../../../../react-core/Html/Factories/SelectEditorFactory\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ObjectComparer } from \"../../../../../../../../react-core/Utils/ObjectComparer\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SortDirection } from \"../../../../../../../../Wrap/Core/SortingAndPaging/SortDirection\";\r\nimport { CashTransactionTypes } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashTransactionTypes\";\r\nimport { CashTransaction } from \"../../../../../../../../Wrap/Models/Domains/Transactions/CashTransaction\";\r\nimport { CashTransactionCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/CashTransactionCollection\";\r\nimport { AccountModelView } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/AccountModelView\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ExcelExportAction } from \"../../../../../../../Shared/ExcelExport/Actions/ExcelExportAction\";\r\nimport { ExcelExportButton } from \"../../../../../../../Shared/ExcelExport/ExcelExportButton\";\r\nimport { EyeIcon } from \"../../../../../../../Shared/Process/Process/EyeIcon\";\r\nimport { Table, ITableConfig, sortDirection } from \"../../../../../../../Shared/Table/Table\";\r\n\r\ninterface ICashProps {\r\n hierarchyId: string;\r\n data: CashTransactionCollection;\r\n fromDate?: Date;\r\n toDate?: Date;\r\n fromInception?: boolean;\r\n cashTransactionType?: CashTransactionTypes;\r\n onTableChange: (transSource, modelId, sortDirection, minRow, maxRow, newHierarchyId?) => void;\r\n}\r\n\r\ninterface ICashState {\r\n transSource: string;\r\n modelFundInstrumentId: number;\r\n modelId: number;\r\n sortDirection: SortDirection;\r\n currentPage: number;\r\n isHistoryPopUp: boolean;\r\n selectedRow: CashTransaction;\r\n isExDateASC: boolean;\r\n newHierarchyId: string;\r\n accountModelView: AccountModelView;\r\n}\r\n\r\nexport class Cash extends FormComponent {\r\n constructor(props: ICashProps) {\r\n super(props);\r\n\r\n this.state = {\r\n transSource: this.getTransSource(), //Set default transactionType to \"All\"\r\n modelFundInstrumentId: 0,\r\n modelId: 0,\r\n sortDirection: SortDirection.Descending,\r\n currentPage: 1,\r\n isHistoryPopUp: false,\r\n selectedRow: null,\r\n isExDateASC: false,\r\n newHierarchyId: null,\r\n accountModelView: null,\r\n };\r\n\r\n this.subscribeToStore(AccountModelPortfolioStore, () => this.onAccoutModelViewStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n this.onAccoutModelViewStoreChange();\r\n }\r\n\r\n private getTransSource() {\r\n if (this.props.cashTransactionType == CashTransactionTypes.CapitalOut) {\r\n return CashUnModelTypeOptions[CashTransactionTypes.CapitalOut].key;\r\n } else if (this.props.cashTransactionType == CashTransactionTypes.CapitalIn) {\r\n return CashUnModelTypeOptions[CashTransactionTypes.CapitalIn].key;\r\n } else {\r\n return CashUnModelTypeOptions[0].key;\r\n }\r\n }\r\n\r\n private onAccoutModelViewStoreChange() {\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n if (!data) {\r\n if (this.props.hierarchyId) {\r\n AccountModelPortfolioAction.getAccountModelPortfolio(this.props.hierarchyId, true);\r\n }\r\n } else {\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n const isSame = ObjectComparer.isSame(data, this.state.accountModelView);\r\n\r\n if (!isSame) {\r\n if (this.props.hierarchyId) {\r\n AccountModelPortfolioAction.getAccountModelPortfolio(this.props.hierarchyId, true);\r\n }\r\n this.setState({\r\n accountModelView: AccountModelPortfolioStore.getAccountModelData(),\r\n });\r\n }\r\n }\r\n }\r\n\r\n private getData() {\r\n const { transSource, sortDirection, currentPage, modelId, newHierarchyId } = this.state;\r\n const minRow = (currentPage - 1) * 10 + 1;\r\n const maxRow = currentPage * 10;\r\n this.props.onTableChange(transSource, modelId, sortDirection, minRow, maxRow, newHierarchyId);\r\n }\r\n\r\n private getTransactionTypeOptions(): Dictionary[] {\r\n const { modelFundInstrumentId } = this.state;\r\n let _options: Dictionary[] = [];\r\n if (modelFundInstrumentId == 0) {\r\n _options = CashUnModelTypeOptions;\r\n } else {\r\n _options = CashModelTypeOptions;\r\n }\r\n return _options;\r\n }\r\n\r\n private getModelPortfolioOptions(hierarchyId: string): Dictionary[] {\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n if (data) {\r\n const ckIsSelectPortfolio = this.ckIsSelectPortfolio(hierarchyId);\r\n if (ckIsSelectPortfolio) {\r\n return this.getAllSubAccountOptions();\r\n } else {\r\n return this.getSubAccountOptionsFromHierarchyId(hierarchyId);\r\n }\r\n } else {\r\n const _subAccoutOptions: Dictionary[] = [];\r\n return _subAccoutOptions;\r\n }\r\n }\r\n private ckIsSelectPortfolio(hierarchyId: string): boolean {\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n if (data) {\r\n if (hierarchyId && hierarchyId.length != data.HeadAccount.HierarchyId.length) {\r\n let str = \"\";\r\n const diff =\r\n data.HeadAccount.HierarchyId.split(\"-\")[1].toString().length -\r\n hierarchyId.split(\"-\")[1].toString().length;\r\n for (let i = 0; i < diff; i++) {\r\n str += \"0\";\r\n }\r\n str = \"-\" + str;\r\n const _hierarchyId = hierarchyId.split(\"-\")[0] + str + hierarchyId.split(\"-\")[1];\r\n return _hierarchyId == data.HeadAccount.HierarchyId;\r\n } else {\r\n return hierarchyId == data.HeadAccount.HierarchyId;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n private getAllSubAccountOptions(): Dictionary[] {\r\n const _subAccoutOptions: Dictionary[] = [];\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n if (data) {\r\n data.SubAccounts.map((item) => {\r\n const name =\r\n item.ModelDisplayName + \" \" + item.SubClaccountId.substr(item.SubClaccountId.indexOf(\"-\") + 1);\r\n _subAccoutOptions.push({ key: item.ModelFundInstrumentId + \"\", value: name });\r\n });\r\n }\r\n return _subAccoutOptions;\r\n }\r\n private getSubAccountOptionsFromHierarchyId(hierarchyId: string): Dictionary[] {\r\n const _subAccoutOptions: Dictionary[] = [];\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n if (data) {\r\n const findSubAccounts = data.HeadAccount.SubAccounts.filter((x) => x.HierarchyId == hierarchyId);\r\n if (findSubAccounts.length > 0) {\r\n const clAccountId = findSubAccounts[0].ClAccountId;\r\n data.SubAccounts.map((item) => {\r\n if (item.SubClaccountId == clAccountId) {\r\n const name =\r\n item.ModelDisplayName + \" \" + item.SubClaccountId.substr(item.SubClaccountId.indexOf(\"-\"));\r\n _subAccoutOptions.push({ key: item.ModelFundInstrumentId + \"\", value: name });\r\n }\r\n });\r\n }\r\n }\r\n return _subAccoutOptions;\r\n }\r\n\r\n private onModelPortfolioSelectChange(modelFundInstrumentId: string) {\r\n const { hierarchyId, onTableChange } = this.props;\r\n const { transSource } = this.state;\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n if (data) {\r\n if (modelFundInstrumentId) {\r\n const findsubAccounts = data.SubAccounts.filter(\r\n (x) => x.ModelFundInstrumentId + \"\" == modelFundInstrumentId\r\n );\r\n if (findsubAccounts.length > 0) {\r\n const subAccount = findsubAccounts[0];\r\n const modelFundInstrumentId = subAccount.ModelFundInstrumentId;\r\n const inceptionDate = (subAccount.InceptionDate + \"\").split(\"T\")[0];\r\n let hierarchyId = null;\r\n const ckIsSelectPortfolio = this.ckIsSelectPortfolio(this.props.hierarchyId);\r\n if (!ckIsSelectPortfolio) {\r\n const account = data.HeadAccount.SubAccounts.filter(\r\n (x) => x.ClAccountId == subAccount.SubClaccountId\r\n )[0];\r\n hierarchyId = account ? account.HierarchyId : null;\r\n } else {\r\n hierarchyId = data.HeadAccount.HierarchyId;\r\n }\r\n const { newHierarchyId, modelId } = this.getHierarchyIdAndModelId(\r\n hierarchyId,\r\n modelFundInstrumentId\r\n );\r\n this.setState({ newHierarchyId: newHierarchyId, modelId: modelId }, () => {\r\n onTableChange(transSource, modelId, SortDirection.Descending, 1, 10, newHierarchyId);\r\n });\r\n }\r\n } else {\r\n // if select all\r\n const { newHierarchyId, modelId } = this.getHierarchyIdAndModelId(hierarchyId, modelFundInstrumentId);\r\n this.setState({ newHierarchyId: newHierarchyId, modelId: modelId }, () => {\r\n onTableChange(transSource, modelId, SortDirection.Descending, 1, 10, newHierarchyId);\r\n });\r\n }\r\n }\r\n }\r\n\r\n private getHierarchyIdAndModelId(hierarchyId, modelFundInstrumentId) {\r\n const data = AccountModelPortfolioStore.getAccountModelData();\r\n let _hierarchyId = \"\";\r\n let _modelId = 0;\r\n\r\n if (modelFundInstrumentId) {\r\n const isPortfolio = hierarchyId == data.HeadAccount.HierarchyId;\r\n if (isPortfolio) {\r\n const finds = data.SubAccounts.filter((x) => x.ModelFundInstrumentId == modelFundInstrumentId);\r\n if (finds && finds.length > 0) {\r\n const subClaccountId = finds[0].SubClaccountId;\r\n const findObj = data.HeadAccount.SubAccounts.filter((x) => x.ClAccountId == subClaccountId);\r\n if (findObj && findObj.length > 0) {\r\n _hierarchyId = findObj[0].HierarchyId;\r\n }\r\n _modelId = finds[0].ModelId;\r\n }\r\n } else {\r\n const findDatas = data.SubAccounts.filter((x) => x.ModelFundInstrumentId == modelFundInstrumentId);\r\n _modelId = findDatas.length > 0 ? findDatas[0].ModelId : _modelId;\r\n _hierarchyId = hierarchyId;\r\n }\r\n } else {\r\n _hierarchyId = hierarchyId;\r\n }\r\n return { newHierarchyId: _hierarchyId, modelId: _modelId };\r\n }\r\n\r\n private renderModelPortfolioSelect(): JSX.Element {\r\n const { modelFundInstrumentId } = this.state;\r\n const ModelPortfolioSelect = SelectEditorFactory.create();\r\n const { hierarchyId } = this.props;\r\n const _modelPortfolioOptions = this.getModelPortfolioOptions(hierarchyId);\r\n if (_modelPortfolioOptions) {\r\n return (\r\n
    \r\n item.key)}\r\n getText={(key) => CommonHelper.getOptionsTxt(key, _modelPortfolioOptions)}\r\n selected={modelFundInstrumentId + \"\"}\r\n placeholder=\"Please select\"\r\n onChange={(val) => {\r\n this.setState({ modelFundInstrumentId: Number(val) }, () => {\r\n this.onModelPortfolioSelectChange(val);\r\n });\r\n }}\r\n />\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private renderElement(): JSX.Element {\r\n const { modelId, transSource, newHierarchyId } = this.state;\r\n const TransactionTypeSelect = SelectEditorFactory.create();\r\n const _TransTypeOptions = this.getTransactionTypeOptions();\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n x.key == transSource)[0].key + \"\"}\r\n options={_TransTypeOptions.map((item) => item.key + \"\")}\r\n getText={(x) => CommonHelper.getOptionsTxt(x, _TransTypeOptions)}\r\n onChange={(val) => {\r\n const value = _TransTypeOptions.filter((x) => x.key == val)[0].key;\r\n this.setState({ transSource: value }, () => {\r\n this.props.onTableChange(\r\n value,\r\n modelId,\r\n SortDirection.Descending,\r\n 1,\r\n 10,\r\n newHierarchyId\r\n );\r\n });\r\n }}\r\n />\r\n
    \r\n {this.renderModelPortfolioSelect()}\r\n
    \r\n {this.renderTableContent()}\r\n {this.renderHistoryPopUp()}\r\n
    \r\n );\r\n }\r\n\r\n private renderTableContent() {\r\n const { currentPage } = this.state;\r\n const { data } = this.props;\r\n if (!data) {\r\n return ;\r\n } else if (data && data.CashTransactions.length < 1) {\r\n return ;\r\n } else {\r\n return (\r\n
    \r\n {this.renderTableFilter()}\r\n {\r\n this.setState(\r\n {\r\n currentPage: pageIndex,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n },\r\n }}\r\n />\r\n
    \r\n );\r\n }\r\n }\r\n\r\n private getCashTableColumn() {\r\n const { isExDateASC, modelFundInstrumentId } = this.state;\r\n\r\n const tableColConfig: ITableConfig[] = [\r\n {\r\n title: \"Date\",\r\n key: \"LedgerDate\",\r\n render: (data, row: CashTransaction, index) => {\r\n return JsonDateParser.getFormatDate(row.LedgerDate, \"dd/MM/yyyy\");\r\n },\r\n sorter: () => {\r\n this.setState(\r\n {\r\n sortDirection: isExDateASC ? SortDirection.Descending : SortDirection.Ascending,\r\n isExDateASC: !isExDateASC,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n },\r\n sortDirection: isExDateASC ? sortDirection.ASC : sortDirection.DESC,\r\n thCssWrapper: \"ctable-sort\",\r\n },\r\n {\r\n title: \"Product\",\r\n key: \"ProductDisplayName\",\r\n },\r\n {\r\n title: \"Cash transaction\",\r\n key: \"Narrative\",\r\n thCssWrapper: \"cell-22\",\r\n },\r\n {\r\n title: \"Transaction type\",\r\n key: \"MovementType\",\r\n thCssWrapper: \"cell-12\",\r\n render: (data, row: CashTransaction, index) => {\r\n return CashModelTypeMap[row.MovementType];\r\n },\r\n },\r\n {\r\n title: \"Money in\",\r\n key: \"Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right text-positive\",\r\n render: (data, row, index) => {\r\n if (data >= 0) {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2);\r\n } else {\r\n return null;\r\n }\r\n },\r\n },\r\n {\r\n title: \"Money out\",\r\n key: \"Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n if (data < 0) {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2);\r\n } else {\r\n return null;\r\n }\r\n },\r\n },\r\n {\r\n title: \"Balance\",\r\n key: \"Balance\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n if (data == 0 || data) {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2);\r\n }\r\n },\r\n },\r\n {\r\n title: \"Capital In/Out\",\r\n key: \"MovementType\",\r\n thCssWrapper: \"cell-12\",\r\n render: (data, row: CashTransaction, index) => {\r\n return [\r\n CashTransactionTypes.CapitalIn,\r\n CashTransactionTypes.CapitalOut,\r\n CashTransactionTypes.Withdrawal,\r\n ].includes(row.MovementType)\r\n ? \"Yes\"\r\n : \"No\";\r\n },\r\n },\r\n modelFundInstrumentId < 1\r\n ? {\r\n title: \"Detail\",\r\n key: \"TransID\",\r\n render: (data, row, index) => {\r\n return (\r\n // \r\n \r\n );\r\n },\r\n onClick: (data, row: CashTransaction, index) => {\r\n this.setState({ selectedRow: row, isHistoryPopUp: true });\r\n },\r\n tdCssWrapper: \"cell-center\",\r\n thCssWrapper: \"cell-center\",\r\n }\r\n : {},\r\n ]; // all table column config\r\n\r\n return tableColConfig;\r\n }\r\n\r\n private renderTableFilter() {\r\n const { transSource, sortDirection, modelId, newHierarchyId } = this.state;\r\n const { fromDate, toDate, hierarchyId, fromInception } = this.props;\r\n return (\r\n
    \r\n
    \r\n {\r\n return ExcelExportAction.generateCashTransactionReport(\r\n newHierarchyId ? newHierarchyId : hierarchyId,\r\n fromDate,\r\n toDate,\r\n fromInception,\r\n transSource as any,\r\n modelId,\r\n sortDirection\r\n );\r\n }}\r\n selectedAccount={newHierarchyId ? newHierarchyId : hierarchyId}\r\n >\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderHistoryPopUp(): JSX.Element {\r\n const { isHistoryPopUp, selectedRow } = this.state;\r\n if (isHistoryPopUp) {\r\n let psOrderType = \"\";\r\n let cashId = \"0\";\r\n if (selectedRow.Reference.substr(0, 2).toUpperCase() == \"AW\") {\r\n psOrderType = \"AW\";\r\n cashId = selectedRow.Reference.substring(2);\r\n } else if (selectedRow.Reference.substr(0, 4).toUpperCase() == \"CASH\") {\r\n psOrderType = \"CASH\";\r\n cashId = selectedRow.Reference.substring(4);\r\n } else {\r\n psOrderType = \"N/A\";\r\n }\r\n if (psOrderType == \"AW\") {\r\n return (\r\n {\r\n this.setState({ isHistoryPopUp: false });\r\n }}\r\n />\r\n );\r\n } else {\r\n return (\r\n {\r\n this.setState({ isHistoryPopUp: false });\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n return this.renderElement();\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { Guid } from \"../../../../../../../../react-core/Utils/Guid\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CashEntryDetail } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashEntryDetail\";\r\nimport { CashLedgerTransaction } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashLedgerTransaction\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { TransactionAction } from \"../Actions/TransactionActions\";\r\nimport { Contents } from \"../Resource/Contents\";\r\n\r\ninterface ICashDetailPopupViewProps {\r\n showBox: boolean;\r\n onChange: (val: boolean) => void;\r\n transId: number;\r\n orderId: number;\r\n chequeRef: string;\r\n cashAmount: number;\r\n productName: string;\r\n clAccountId: string;\r\n}\r\n\r\ninterface ICashDetailPopupViewState {\r\n cashLedgerTransactionList: Array;\r\n autoDisInvestChargeList: Array;\r\n cashEntryDetailList: Array;\r\n isCashLedgerLoading: boolean;\r\n isAutoDisInvestLoading: boolean;\r\n isCashEntryLoading: boolean;\r\n}\r\n\r\nexport class CashDetailPopupView extends FormComponent {\r\n constructor(props: ICashDetailPopupViewProps) {\r\n super(props);\r\n this.state = {\r\n cashLedgerTransactionList: [],\r\n autoDisInvestChargeList: [],\r\n cashEntryDetailList: [],\r\n isCashLedgerLoading: true,\r\n isAutoDisInvestLoading: true,\r\n isCashEntryLoading: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n private getData() {\r\n const { orderId, transId } = this.props;\r\n TransactionAction.getCashLedgerTransactionWithBatchId(transId, (data: Array) => {\r\n this.setState({\r\n isCashLedgerLoading: false,\r\n cashLedgerTransactionList: data,\r\n });\r\n\r\n let cashId = orderId;\r\n if (orderId > 0 && data[0].Reference) {\r\n const reg = new RegExp(\"Cash\", \"g\");\r\n const referenceMatch = data[0].ClAccountId.replace(reg, \"\");\r\n if (!isNaN(Number(referenceMatch)) && Number(referenceMatch) != orderId) {\r\n cashId = Number(referenceMatch);\r\n }\r\n }\r\n TransactionAction.getCashEntryDetail(cashId, (data: Array) => {\r\n this.setState({\r\n isCashEntryLoading: false,\r\n cashEntryDetailList: data,\r\n });\r\n });\r\n });\r\n\r\n TransactionAction.getAutoDisInvestTranWithBatchId(transId, (callBack: Array) => {\r\n this.setState({\r\n isAutoDisInvestLoading: false,\r\n autoDisInvestChargeList: callBack,\r\n });\r\n });\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n return (\r\n this.props.onChange(false)}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"is-default-lightbox is-wide\"}\r\n >\r\n {this.getModalBody()}\r\n \r\n );\r\n }\r\n\r\n private getModalBody(): JSX.Element {\r\n const { orderId, clAccountId, productName, transId } = this.props;\r\n const { isCashLedgerLoading, isAutoDisInvestLoading, isCashEntryLoading } = this.state;\r\n\r\n if (isCashLedgerLoading || isAutoDisInvestLoading || isCashEntryLoading) {\r\n return ;\r\n }\r\n return (\r\n <>\r\n

    {`Detail for Transaction #${transId} for Account ${clAccountId} - ${productName}`}

    \r\n
    \r\n {this.renderTransactionDetailTable()}\r\n {this.renderAutoDisInvestChargeTable()}\r\n {this.renderCurrentCashExpectationDetailTable()}\r\n {this.renderCashExpectationEditHistoryTable()}\r\n {this.renderStandingCashExpectationTable()}\r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderTransactionDetailTable() {\r\n const { cashAmount } = this.props;\r\n const { cashLedgerTransactionList } = this.state;\r\n if (cashLedgerTransactionList && cashLedgerTransactionList.length == 0) {\r\n return null;\r\n }\r\n const batchId = cashLedgerTransactionList[0].BatchId;\r\n let displayModifier = -1;\r\n if (cashLedgerTransactionList[0].Amount / cashAmount > 0) {\r\n displayModifier = 1;\r\n }\r\n return (\r\n <>\r\n

    Transaction Detail

    \r\n {\r\n return row.TransId.toString();\r\n },\r\n },\r\n {\r\n title: \"Account No\",\r\n key: \"ClAccountId\",\r\n },\r\n {\r\n title: \"Ledger date\",\r\n key: \"LedgerDate\",\r\n render: (data, row: CashLedgerTransaction, index) => {\r\n return JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.LedgerDate),\r\n \"dd-MM-yyyy\",\r\n true,\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Date created\",\r\n key: \"DateCreated\",\r\n render: (data, row: CashLedgerTransaction, index) => {\r\n return (\r\n JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.DateCreated),\r\n \"dd-MM-yyyy hh:mm\",\r\n true,\r\n true\r\n ) +\r\n \" \" +\r\n this.getHourType(JsonDateParser.toDate(row.DateCreated))\r\n );\r\n },\r\n },\r\n {\r\n title: \"Movement type\",\r\n key: \"TranType\",\r\n },\r\n {\r\n title: \"Narrative\",\r\n key: \"Narrative\",\r\n },\r\n {\r\n title: \"MCAInitiator\",\r\n key: \"McaInitiatorName\",\r\n },\r\n {\r\n title: \"MCAAuthoriser\",\r\n key: \"McaAuthoriserName\",\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row: CashLedgerTransaction, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(data * displayModifier, null, false, 2);\r\n },\r\n },\r\n batchId > 0\r\n ? {\r\n title: \"Unique ID\",\r\n key: \"BatchId\",\r\n }\r\n : {},\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderAutoDisInvestChargeTable() {\r\n const { autoDisInvestChargeList, cashLedgerTransactionList } = this.state;\r\n if (autoDisInvestChargeList && autoDisInvestChargeList.length == 0) {\r\n return null;\r\n }\r\n const { cashAmount } = this.props;\r\n let displayModifier = -1;\r\n if (cashLedgerTransactionList[0].Amount / cashAmount > 0) {\r\n displayModifier = 1;\r\n }\r\n\r\n return (\r\n <>\r\n

    Charge Details

    \r\n {\r\n return JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.DateCreated),\r\n \"dd-MM-yyyy hh:mm\",\r\n true,\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Charge amount\",\r\n key: \"Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row: CashLedgerTransaction, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(\r\n row.Amount * displayModifier,\r\n null,\r\n false,\r\n 2\r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderCurrentCashExpectationDetailTable() {\r\n const { orderId } = this.props;\r\n const { chequeRef } = this.props;\r\n const { cashEntryDetailList } = this.state;\r\n if (cashEntryDetailList && cashEntryDetailList.length == 0) {\r\n return null;\r\n }\r\n const cashEntryDetailTop = cashEntryDetailList.concat().splice(0, 1);\r\n const isShowBankAccount =\r\n cashEntryDetailTop[0].Method.toUpperCase() == \"DIRECT CREDIT\" ||\r\n cashEntryDetailTop[0].Method.toUpperCase() == \"DIRECT DEBIT\" ||\r\n cashEntryDetailTop[0].Method.toUpperCase() == \"CHEQUE\";\r\n const isShowMatched = isShowBankAccount || cashEntryDetailTop[0].Method.toUpperCase() == \"CHEQUE\";\r\n return (\r\n <>\r\n

    {`This transaction was originated from Cash Expectation #${orderId}`}

    \r\n

    Current Cash Expectation Detail

    \r\n {\r\n return (\r\n JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.DateCreated),\r\n \"dd-MM-yyyy hh:mm\",\r\n true,\r\n true\r\n ) +\r\n \" \" +\r\n this.getHourType(JsonDateParser.toDate(row.DateCreated))\r\n );\r\n },\r\n },\r\n {\r\n title: \"Entered by\",\r\n key: \"FirstName\",\r\n render: (data, row: CashEntryDetail, index) => {\r\n return row.FirstName + \" \" + row.SurName;\r\n },\r\n },\r\n isShowBankAccount\r\n ? {\r\n title: \"Bank account\",\r\n key: \"DateEdited\",\r\n render: (data, row: CashEntryDetail, index) => {\r\n const sortCode = row.SortCode == null ? \"\" : row.SortCode;\r\n const accountNum = row.AccountNumber == null ? \"\" : row.AccountNumber;\r\n return sortCode + \"-\" + accountNum;\r\n },\r\n }\r\n : {},\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row: CashEntryDetail, index) => {\r\n return this.getMoneyFormat(row.Amount);\r\n },\r\n },\r\n {\r\n title: \"Transaction type\",\r\n key: \"Type\",\r\n },\r\n {\r\n title: \"Method\",\r\n key: \"Method\",\r\n },\r\n {\r\n title: \"Implemt. Fee\",\r\n key: \"ImplementationFee\",\r\n render: (data, row: CashEntryDetail, index) => {\r\n return row.ImplementationFee.toFixed(4) + \"%\";\r\n },\r\n },\r\n {\r\n title: \"Schedule type\",\r\n key: \"InstructionType\",\r\n },\r\n {\r\n title: \"Cheque reference\",\r\n key: \"chequeRef\",\r\n render: (data, row: CashEntryDetail, index) => {\r\n return chequeRef;\r\n },\r\n },\r\n isShowMatched\r\n ? {\r\n title: \"User matched\",\r\n key: \"OrderSettLocation\",\r\n render: (data: string, row: CashEntryDetail, index) => {\r\n if (isShowBankAccount) {\r\n return row.BosUserName;\r\n } else if (cashEntryDetailTop[0].Method.toUpperCase() == \"CHEQUE\") {\r\n return row.KesUserName;\r\n } else {\r\n return null;\r\n }\r\n },\r\n }\r\n : {},\r\n isShowMatched\r\n ? {\r\n title: \"Matched date\",\r\n key: \"OrderSettLocation\",\r\n render: (data: string, row: CashEntryDetail, index) => {\r\n if (isShowBankAccount) {\r\n if (row?.BosMatchDateTime + \"\" != Contents.InvalidateDate) {\r\n return (\r\n JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.BosMatchDateTime),\r\n \"dd-MM-yyyy hh:mm\",\r\n true,\r\n true\r\n ) +\r\n \" \" +\r\n this.getHourType(JsonDateParser.toDate(row.DateCreated))\r\n );\r\n } else {\r\n return \"null\";\r\n }\r\n } else if (cashEntryDetailTop[0].Method.toUpperCase() == \"CHEQUE\") {\r\n return row.KesUserName;\r\n } else {\r\n return null;\r\n }\r\n },\r\n }\r\n : {},\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderCashExpectationEditHistoryTable() {\r\n const { cashEntryDetailList } = this.state;\r\n const cashEntryDetailMid = cashEntryDetailList.concat().slice(1);\r\n if (cashEntryDetailMid && cashEntryDetailMid.length == 0) {\r\n return null;\r\n }\r\n let pbShowBankAcc = false;\r\n cashEntryDetailList.map((item: CashEntryDetail, index) => {\r\n if (item.Method.toUpperCase() == \"DIRECT CREDIT\" || item.Method.toUpperCase() == \"DIRECT DEBIT\") {\r\n pbShowBankAcc = true;\r\n return false;\r\n }\r\n });\r\n return (\r\n <>\r\n

    Cash Expectation Edit History Detail

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pbShowBankAcc ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cashEntryDetailMid.map((item: CashEntryDetail, index) => {\r\n if (item.InstructionType.toUpperCase() == \"STANDING\") {\r\n return false;\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n {pbShowBankAcc ? : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    EditIDDate EditedEntered By\r\n Bank\r\n
    \r\n Account\r\n
    Amount\r\n Transaction\r\n
    \r\n Type\r\n
    Method\r\n Implemt.\r\n
    Fee\r\n
    \r\n Schedule\r\n
    \r\n Type\r\n
    {item.EditId}\r\n {JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(item.DateEdited),\r\n \"dd-MM-yyyy hh:mm\",\r\n true,\r\n true\r\n ) +\r\n \" \" +\r\n this.getHourType(JsonDateParser.toDate(item.DateEdited))}\r\n {item.FirstName + \" \" + item.SurName}{item.SortCode + \"-\" + item.AccountNumber}{this.getMoneyFormat(item.Amount)}{item.Type}{item.Method}{item.ImplementationFee.toFixed(4) + \"%\"}{item.InstructionType}
    \r\n \r\n );\r\n }\r\n\r\n private renderStandingCashExpectationTable() {\r\n const { cashEntryDetailList } = this.state;\r\n const cashEntryDetailLast = cashEntryDetailList.concat().slice(-1);\r\n const standingCash = cashEntryDetailLast[0];\r\n if (cashEntryDetailLast && cashEntryDetailLast.length == 0) {\r\n return null;\r\n }\r\n const pbShowBankAcc =\r\n standingCash.Method.toUpperCase() == \"DIRECT CREDIT\" || standingCash.Method.toUpperCase() == \"DIRECT DEBIT\";\r\n if (standingCash.InstructionType.toUpperCase() == \"STANDING\") {\r\n return (\r\n <>\r\n

    Current Standing Cash Expectation Detail

    \r\n \r\n \r\n \r\n \r\n \r\n {pbShowBankAcc ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pbShowBankAcc ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Date CreatedEntered By\r\n Bank\r\n
    \r\n Account\r\n
    Amount\r\n Transaction\r\n
    \r\n Type\r\n
    Method\r\n Implemt.\r\n
    Fee\r\n
    \r\n Schedule\r\n
    \r\n Type\r\n
    \r\n {JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(standingCash.DateEdited),\r\n \"dd-MM-yyyy hh:mm\",\r\n true,\r\n true\r\n ) +\r\n \" \" +\r\n this.getHourType(JsonDateParser.toDate(standingCash.DateEdited))}\r\n {standingCash.FirstName + \" \" + standingCash.SurName}{standingCash.SortCode + \"-\" + standingCash.AccountNumber}{this.getMoneyFormat(standingCash.Amount)}{standingCash.Type}{standingCash.Method}{standingCash.ImplementationFee.toFixed(4) + \"%\"}{standingCash.InstructionType}
    \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private getMoneyFormat(val: number): string {\r\n const formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(val, CurrencyCode.GBP, true, 2);\r\n return formatMoney;\r\n }\r\n\r\n private getHourType(date: Date) {\r\n if (!date) {return \"\";}\r\n\r\n let h = date.getHours();\r\n let str;\r\n if (h > 12) {\r\n h -= 12;\r\n date.setHours(h);\r\n str = \" pm\";\r\n } else {\r\n str = \" am\";\r\n }\r\n return str;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.props.showBox ? this.renderModal() : null};\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ChargesQuerySort } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesQuerySort\";\r\nimport { ChargesTransaction } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesTransaction\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Table, sortDirection } from \"../../../../../../../Shared/Table/Table\";\r\nimport { chargeInfoText, getNoDataMsg } from \"../Resource/Contents\";\r\n\r\ninterface IChargesProps {\r\n data: ChargesTransaction[];\r\n onTableChange: (sortBy, orderBy) => void;\r\n}\r\n\r\nexport const Charges = (props: IChargesProps) => {\r\n const [sortBy, setSortBy] = useState(ChargesQuerySort.Date);\r\n const [dateOrderByAESC, setDateOrder] = useState(false);\r\n const [amountOrderByAESC, setAmountOrder] = useState(false);\r\n const [isLoading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n }, [props.data]);\r\n\r\n if (!props.data) {return null;}\r\n if (props.data && props.data.length == 0)\r\n {return ;}\r\n const getData = (sortBy, orderByAESC) => {\r\n setLoading(true);\r\n props.onTableChange(sortBy, orderByAESC);\r\n };\r\n if (isLoading) {return ;}\r\n\r\n const getMoneyFormat = (val: number): string => {\r\n let formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(val), CurrencyCode.GBP);\r\n if (val < 0) {\r\n formatMoney = \"-\" + formatMoney;\r\n }\r\n return formatMoney;\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n sorter: () => {\r\n if (sortBy !== ChargesQuerySort.Date) {\r\n setSortBy(ChargesQuerySort.Date);\r\n }\r\n setDateOrder(!dateOrderByAESC);\r\n getData(ChargesQuerySort.Date, !dateOrderByAESC);\r\n },\r\n sortDirection: dateOrderByAESC ? sortDirection.ASC : sortDirection.DESC,\r\n },\r\n {\r\n title: \"Charge Type\",\r\n key: \"ChargeType\",\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n thCssWrapper: \"cell-right ctable-sort\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return getMoneyFormat(data);\r\n },\r\n sorter: () => {\r\n if (sortBy !== ChargesQuerySort.Amount) {\r\n setSortBy(ChargesQuerySort.Amount);\r\n }\r\n setAmountOrder(!amountOrderByAESC);\r\n getData(ChargesQuerySort.Amount, !amountOrderByAESC);\r\n },\r\n sortDirection: amountOrderByAESC ? sortDirection.ASC : sortDirection.DESC,\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 2 },\r\n {\r\n data: getMoneyFormat(\r\n props.data.reduce((total, ele) => {\r\n return total + ele.Amount;\r\n }, 0)\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { UnmountClosed } from \"react-collapse\";\r\nimport { TransactionEnum } from \"../Resource/Contents\";\r\nimport { TextBoxEditor } from \"../../../../../../../../react-core/Html/TextBoxEditor\";\r\n\r\ninterface IAdvanceSearchProps {\r\n transactionType: TransactionEnum;\r\n instrumentCode?: string;\r\n onChange: (instrumentCode, cNoteId) => void;\r\n}\r\n\r\nexport const AdvancedSearch = (props: IAdvanceSearchProps) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [instrumentCode, setInstrumentCode] = useState(props.instrumentCode);\r\n const [cNoteId, setcNoteId] = useState(null);\r\n\r\n const ToggleDropdown = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const renderContractNo = () => {\r\n if (props.transactionType == TransactionEnum.investments) {\r\n return (\r\n <>\r\n
    \r\n setcNoteId(e)} />\r\n
    \r\n
    \r\n
    or
    \r\n
    \r\n \r\n );\r\n }\r\n };\r\n\r\n const toggleCSS = classNames(\"advanced-search-toggle\", { \"is-expanded\": isOpen });\r\n\r\n return (\r\n <>\r\n ToggleDropdown()}\r\n aria-expanded={isOpen}\r\n aria-controls=\"advanced-search-dropdown\"\r\n >\r\n Advanced search\r\n \r\n \r\n
    \r\n {renderContractNo()}\r\n
    \r\n setInstrumentCode(e)}\r\n />\r\n
    \r\n
    \r\n {\r\n props.onChange(instrumentCode, cNoteId);\r\n }}\r\n >\r\n Find investment\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { BouncedCharge } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/BouncedCharge\";\r\nimport { InvestmentTransactions } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/InvestmentTransactions\";\r\nimport { OrderHistory } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/OrderHistory\";\r\nimport { OrderValuation } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/OrderValuation\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { TransactionAction } from \"../Actions/TransactionActions\";\r\nimport { Contents, InvestmentTransactionTypeMap } from \"../Resource/Contents\";\r\n\r\ninterface ITransactionHistoryPopupViewProps {\r\n showBox: boolean;\r\n onChange: (val: boolean) => void;\r\n transId: number;\r\n orderId: string;\r\n}\r\n\r\ninterface ITransactionHistoryPopUpState {\r\n transDetail: InvestmentTransactions;\r\n orderList: Array;\r\n orderHistoryList: Array;\r\n disinvestChargeList: Array;\r\n isTransLoading: boolean;\r\n isOrderLoading: boolean;\r\n isOrderHistoryLoading: boolean;\r\n isDisinvestLoading: boolean;\r\n}\r\n\r\nexport class TransactionHistoryPopupView extends FormComponent<\r\n ITransactionHistoryPopupViewProps,\r\n ITransactionHistoryPopUpState\r\n> {\r\n constructor(props: ITransactionHistoryPopupViewProps) {\r\n super(props);\r\n this.state = {\r\n transDetail: null,\r\n orderList: [],\r\n orderHistoryList: [],\r\n disinvestChargeList: [],\r\n isTransLoading: true,\r\n isOrderLoading: true,\r\n isOrderHistoryLoading: true,\r\n isDisinvestLoading: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n private getData() {\r\n const { orderId, transId } = this.props;\r\n if (!orderId) {\r\n TransactionAction.getTransactionsByTransId(transId, (data: InvestmentTransactions) => {\r\n this.setState({\r\n isTransLoading: false,\r\n transDetail: data,\r\n });\r\n });\r\n } else {\r\n TransactionAction.getClientTransactionOrder(Number(orderId), (callBack: Array) => {\r\n this.setState({\r\n isOrderLoading: false,\r\n orderList: callBack,\r\n });\r\n });\r\n\r\n TransactionAction.getTransactionOrderHistory(Number(orderId), (data: Array) => {\r\n this.setState({\r\n isOrderHistoryLoading: false,\r\n orderHistoryList: data,\r\n });\r\n });\r\n\r\n TransactionAction.getDisinvestCharge(Number(orderId), (data: Array) => {\r\n this.setState({\r\n isDisinvestLoading: false,\r\n disinvestChargeList: data,\r\n });\r\n });\r\n }\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n const { orderId } = this.props;\r\n return (\r\n \r\n \r\n );\r\n },\r\n onClick: (data, row: InvestmentTransactions, index) => {\r\n this.setState({ selectedRow: row, isPopUp: true });\r\n },\r\n }\r\n : null,\r\n modelFundInstrumentId < 1\r\n ? {\r\n title: \"History\",\r\n key: \"TransID\",\r\n thCssWrapper: \"cell-center\",\r\n tdCssWrapper: \"cell-center\",\r\n userClaim: UserClaim.AdviserPortalInvestmentTransactionColumnHistoryCanView,\r\n tableFilter: TransactionInvestmentsColumns.History,\r\n filterOption: { disableEdit: true },\r\n render: (data, row, index) => {\r\n return (\r\n \r\n );\r\n },\r\n onClick: (data, row: InvestmentTransactions, index) => {\r\n this.setState({ selectedRow: row, isHistoryPopUp: true });\r\n },\r\n }\r\n : null,\r\n ]; // all table column config\r\n\r\n return tableColConfig;\r\n }\r\n\r\n private renderTableFilter() {\r\n const {\r\n transSource,\r\n sortName,\r\n sortDirection,\r\n currentPage,\r\n modelId,\r\n newHierarchyId,\r\n cNoteId,\r\n instrumentCode,\r\n } = this.state;\r\n const { fromDate, toDate, hierarchyId } = this.props;\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n const noteId = cNoteId ? cNoteId : 0;\r\n return ExcelExportAction.generateInvestmentTransactionReport(\r\n newHierarchyId ? newHierarchyId : hierarchyId,\r\n fromDate,\r\n toDate,\r\n noteId,\r\n instrumentCode,\r\n transSource,\r\n sortName,\r\n sortDirection,\r\n modelId\r\n );\r\n }}\r\n selectedAccount={newHierarchyId ? newHierarchyId : hierarchyId}\r\n >\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderDetailPopUp(): JSX.Element {\r\n const { isPopUp, selectedRow } = this.state;\r\n if (isPopUp) {\r\n return (\r\n {\r\n this.setState({ isPopUp: false });\r\n }}\r\n disinvestmentCharges={selectedRow.DisinvestmentCharges}\r\n productType={selectedRow.ProductType}\r\n />\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n private renderHistoryPopUp(): JSX.Element {\r\n const { isHistoryPopUp, selectedRow } = this.state;\r\n if (isHistoryPopUp) {\r\n return (\r\n {\r\n this.setState({ isHistoryPopUp: false });\r\n }}\r\n />\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n return this.renderElement();\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Button } from \"../../../../../../../../react-core/Html/Button\";\r\nimport { Checkbox } from \"../../../../../../../../react-core/Html/Checkbox\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../../../react-core/Html/FormComponent\";\r\nimport { TextBoxEditor } from \"../../../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Guid } from \"../../../../../../../../react-core/Utils/Guid\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ServiceValidationError } from \"../../../../../../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { CgtTransaction } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/CgtTransaction\";\r\nimport { CgtTransactionHistory } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/CgtTransactionHistory\";\r\nimport { DisinvestmentCharge } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/DisinvestmentCharge\";\r\nimport { InvestmentTransactions } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/InvestmentTransactions\";\r\nimport { TableTempElement } from \"../../../../../../../Shared/Components/TableTempElement\";\r\nimport { TransactionAction } from \"../Actions/TransactionActions\";\r\nimport { Contents, InvestmentTransactionTypeMap } from \"../Resource/Contents\";\r\n\r\ninterface ITransactionDetailPopupViewProps {\r\n showBox: boolean;\r\n onChange: (val: boolean) => void;\r\n transId: number;\r\n disinvestmentCharges: Array;\r\n productType: string;\r\n}\r\n\r\ninterface ITransactionPopUpState {\r\n data: InvestmentTransactions;\r\n isEditingCGT: boolean;\r\n isLoading: boolean;\r\n isCgtLoading: boolean;\r\n isCgtHistoryLoading: boolean;\r\n cgtTransaction: CgtTransaction;\r\n cgtTransactionHistory: Array;\r\n errorMsg: string[];\r\n cgtTotalValue: number;\r\n cgtExempt: boolean;\r\n cgtDateTime: Date;\r\n cgtUnitCost: number;\r\n isSaveable: boolean;\r\n}\r\n\r\nexport class TransactionDetailPopupView extends FormComponent<\r\n ITransactionDetailPopupViewProps,\r\n ITransactionPopUpState\r\n> {\r\n constructor(props: ITransactionDetailPopupViewProps) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n isEditingCGT: false,\r\n isLoading: true,\r\n isCgtLoading: true,\r\n isCgtHistoryLoading: true,\r\n cgtTransaction: null,\r\n cgtTransactionHistory: [],\r\n errorMsg: null,\r\n cgtTotalValue: 0,\r\n cgtExempt: false,\r\n cgtDateTime: new Date(),\r\n cgtUnitCost: null,\r\n isSaveable: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getData();\r\n }\r\n\r\n private getData() {\r\n TransactionAction.getTransactionsByTransId(this.props.transId, (callBack: InvestmentTransactions) => {\r\n this.setState({\r\n isLoading: false,\r\n data: callBack,\r\n });\r\n });\r\n\r\n TransactionAction.getCgtTransactionByTransId(this.props.transId, (data: CgtTransaction) => {\r\n this.setState({\r\n isCgtLoading: false,\r\n cgtTransaction: data,\r\n });\r\n });\r\n\r\n TransactionAction.getCgtTransactionsHistoryByTransId(\r\n this.props.transId,\r\n (data: Array) => {\r\n this.setState({\r\n isCgtHistoryLoading: false,\r\n cgtTransactionHistory: data,\r\n });\r\n }\r\n );\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n return (\r\n this.props.onChange(false)}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n {this.getModalBody()}\r\n \r\n );\r\n }\r\n\r\n private getModalBody(): JSX.Element {\r\n const { data, isLoading, isCgtLoading, isCgtHistoryLoading, errorMsg } = this.state;\r\n\r\n if (isLoading || isCgtLoading || isCgtHistoryLoading) {\r\n return ;\r\n }\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n {this.renderTemplate(\"ID\", data.TransID, true)}\r\n {this.renderTemplate(\"As at\", JsonDateParser.getFormatDate(data.Date, \"dd/MM/yyyy\"))}\r\n \r\n \r\n \r\n \r\n {this.renderTemplate(\"Order ID\", data.OrderId == 0 ? \"\" : data.OrderId,true)}\r\n \r\n \r\n \r\n \r\n {this.renderTemplate(\"Reversed\", \"No\")}\r\n {this.renderTemplate(\"Account\", data.SubClAccountid)}\r\n {this.renderTemplate(\"Name\", data.SearchKey)}\r\n {this.renderTemplate(\"Search key\", data.SearchKey)}\r\n {this.renderTemplate(\"Instrument\", data.InstrumentCode)}\r\n {this.renderTemplate(\"ISIN\", data.IsInCode, true)}\r\n {this.renderTemplate(\"CUSIP\", data.CuSip, true)}\r\n {this.renderTemplate(\"SEDOL\", data.SeDol, true)}\r\n {this.renderTemplate(\"Type\", InvestmentTransactionTypeMap[data.TransSource])}\r\n {this.renderTemplate(\"Description\", data.Investments)}\r\n {this.renderTemplate(\r\n \"Quantity\",\r\n MoneyDisplayHelper.FromatMoneyDisplay(data.Quantity, null, false, 4)\r\n )}\r\n {this.renderTemplate(\r\n \"Filled Price\",\r\n data.FilledPrice == 0 ? \"\" : data.FilledPrice.toFixed(4)\r\n )}\r\n {this.renderTemplate(\"Group 1\", data.Group1.toFixed(4))}\r\n {this.renderTemplate(\"Group 2\", data.Group2.toFixed(4))}\r\n {this.renderTemplate(\r\n \"Settlement value\",\r\n data.SettValueExComm == 0 ? \"\" : data.SettValueExComm.toFixed(2)\r\n )}\r\n {this.renderTemplate(\r\n \"Order date time\",\r\n JsonDateParser.isValidDate(data.DateCreated)\r\n ? JsonDateParser.getFormatDate(data.DateCreated, \"dd/MM/yyyy hh:mm:ss\")\r\n : \"\"\r\n )}\r\n {this.renderTemplate(\"Unit cost\", data.Cost.toFixed(4))}\r\n {this.renderTemplate(\"Total cost\", (data.Cost * data.Quantity).toFixed(2))}\r\n {this.renderTemplate(\"Order currency\", data.BaseCCY ? data.BaseCCY : \"GBP\")}\r\n\r\n {this.renderTemplate(\"Location\", data.Location)}\r\n {this.renderTemplate(\"Note\", data.Note)}\r\n {this.renderTemplate(\"Narrative detail\", data.NarrativeDetail)}\r\n {this.renderTemplate(\"User\", data.UserName)}\r\n \r\n \r\n \r\n \r\n {this.renderTemplate(\"Deal comments\", data.DealComments, true)}\r\n {this.renderTemplate(\"Status\", data.TransStatus)}\r\n {this.renderTemplate(\"UT discount\", data.UtDiscount.toFixed(4))}\r\n {this.renderTemplate(\"UT initial charge\", data.UtInitialCharge.toFixed(4))}\r\n {this.props.disinvestmentCharges.map((disinvestmentCharge, i) => {\r\n return (\r\n <>\r\n {this.renderTemplate(\"Charge type\", disinvestmentCharge.ChargeDescription)}\r\n {this.renderTemplate(\r\n \"Charge date\",\r\n JsonDateParser.getFormatDate(disinvestmentCharge.ChargeDate, \"dd/MM/yyyy\")\r\n )}\r\n {this.renderTemplate(\"Charge amount\", disinvestmentCharge.ChargeAmount)}\r\n \r\n );\r\n })}\r\n \r\n
    CNote ID{data.DocumentId > 0 ? data.DocumentId : null}
    Pool order ID{data.PoolOrderID > 0 ? data.PoolOrderID : null}
    User note{data.UserNote}
    \r\n {this.renderCGTTable()}\r\n
    \r\n
    {this.renderTransactionHistoryTable()}
    \r\n {errorMsg && errorMsg.length > 0 && (\r\n 0}\r\n title={\"Alert\"}\r\n contentAfterTitle={null}\r\n onClose={() => this.setState({ errorMsg: [] })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n {this.state.errorMsg.map((error, index) => {\r\n return

    {error}

    ;\r\n })}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderCGTTable() {\r\n const { data, isEditingCGT, cgtTransaction, cgtUnitCost, cgtExempt, isSaveable } = this.state;\r\n const unitCost =\r\n data.Quantity != 0 && cgtTransaction.CgtTotalValue != 0\r\n ? (cgtTransaction.CgtTotalValue / Math.abs(data.Quantity)).toFixed(4)\r\n : null;\r\n if (this.props.productType != \"Personal Portfolio\") {\r\n return null;\r\n }\r\n if (data.Location && data.Location.toLocaleLowerCase() == \"custody\") {\r\n return (\r\n <>\r\n {\r\n if (this.isValid()) {\r\n this.onSaveCgtTransaction();\r\n }\r\n }}\r\n >\r\n {isEditingCGT ? \"Save\" : \"Edit\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {InvestmentTransactionTypeMap[data.TransSource].toLocaleLowerCase() ==\r\n \"fund redemption\"\r\n ? Contents.CapitalGainPurpose\r\n : \"Tax book cost:\"}\r\n \r\n {isEditingCGT\r\n ? this.renderCGTValueTextBox()\r\n : cgtTransaction.CgtTotalValue != 0\r\n ? cgtTransaction.CgtTotalValue.toFixed(2)\r\n : null}\r\n
    Unit Tax Book Cost:{isEditingCGT ? cgtUnitCost : unitCost}
    Acquisition Date:\r\n {isEditingCGT\r\n ? this.renderCGTDatePicker()\r\n : cgtTransaction.CgtDate\r\n ? JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(cgtTransaction.CgtDate),\r\n \"dd-MM-yyyy\",\r\n true,\r\n true\r\n )\r\n : \"\"}\r\n
    CGT Exempt:\r\n {isEditingCGT ? (\r\n {\r\n this.setState({ cgtExempt: e });\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n }\r\n }\r\n\r\n private renderTransactionHistoryTable() {\r\n const { cgtTransactionHistory } = this.state;\r\n if (cgtTransactionHistory && cgtTransactionHistory.length > 0) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cgtTransactionHistory.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    DateUserAction
    {JsonDateParser.getFormatDate(item.DateChanged, \"dd/MM/yyyy hh:mm:ss\")}\r\n {item.FullName &&\r\n item.FullName.toUpperCase() == \"SYSTEM USER\" &&\r\n !(\r\n InvestmentTransactionTypeMap[\r\n this.state.data.TransSource\r\n ].toLocaleLowerCase() == \"conversion in\" ||\r\n InvestmentTransactionTypeMap[\r\n this.state.data.TransSource\r\n ].toLocaleLowerCase() == \"conversion out\"\r\n )\r\n ? \"Created by wizard\"\r\n : item.FullName}\r\n \r\n {item.LogInfo\r\n ? item.LogInfo.replace(\"_br /_\", \"\\r\\n\").replace(\" _br /_\", \"\\r\\n\")\r\n : null}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private renderCGTValueTextBox() {\r\n const { cgtTotalValue } = this.state;\r\n return (\r\n this.onTextBoxChange(e)}\r\n cssWrapper={\"mb-0\"}\r\n value={cgtTotalValue + \"\"}\r\n maxLength={10}\r\n validationRules={[\r\n {\r\n errorMessage: Contents.NumberValidation,\r\n validator: (v) => {\r\n if (!isNaN(Number(v))) {\r\n this.setState({ isSaveable: true });\r\n return true;\r\n }\r\n this.setState({ isSaveable: false });\r\n return false;\r\n },\r\n },\r\n {\r\n errorMessage: Contents.DecimalPlaceValidation,\r\n validator: (v) => {\r\n const place = v.split(\".\");\r\n if (!(place && place.length == 2 && place[1].length > 2)) {\r\n this.setState({ isSaveable: true });\r\n return true;\r\n }\r\n this.setState({ isSaveable: false });\r\n return false;\r\n },\r\n },\r\n ]}\r\n />\r\n );\r\n }\r\n\r\n private renderCGTDatePicker() {\r\n const { cgtDateTime } = this.state;\r\n return (\r\n this.setState({ cgtDateTime: date })}\r\n todayButton=\"Today\"\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\"dd/MM/yyyy\", \"dd-MM-yyyy\", \"ddMMyyyy\", \"dd.MM.yyyy\", \"dd_MM_yyyy\", \"dd MM yyyy\"]}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n );\r\n }\r\n\r\n private onTextBoxChange(e) {\r\n const { data } = this.state;\r\n const isNumber = Number(e);\r\n const place = e.split(\".\");\r\n if (!(place && place.length == 2 && place[1].length > 2)) {\r\n this.setState({\r\n isSaveable: true,\r\n });\r\n }\r\n if (!isNaN(isNumber)) {\r\n const unitCost = data.Quantity != 0 ? e / Math.abs(data.Quantity) : null;\r\n this.setState({\r\n cgtTotalValue: Number(e),\r\n cgtUnitCost: unitCost ? Number(unitCost.toFixed(4)) : null,\r\n isEditingCGT: true,\r\n });\r\n }\r\n }\r\n\r\n private onSaveCgtTransaction() {\r\n const { isEditingCGT, data, cgtTransaction } = this.state;\r\n const unitCost = data.Quantity != 0 ? cgtTransaction.CgtTotalValue / Math.abs(data.Quantity) : null;\r\n\r\n if (isEditingCGT) {\r\n const isEditCgtTotalValue = this.taxBookCostEdited();\r\n const isEditCgtExempt = this.cgtExemptEdited();\r\n const isEditCgtDate = this.acquisitionDateEdited();\r\n if (isEditCgtTotalValue || isEditCgtExempt || isEditCgtDate) {\r\n this.saveCgtTransaction();\r\n }\r\n } else {\r\n this.setState({\r\n isEditingCGT: !isEditingCGT,\r\n cgtExempt: cgtTransaction.CgtExempt,\r\n cgtDateTime: JsonDateParser.toDate(cgtTransaction.CgtDate),\r\n cgtUnitCost: unitCost ? Number(unitCost.toFixed(4)) : null,\r\n cgtTotalValue: cgtTransaction.CgtTotalValue,\r\n isSaveable: true,\r\n });\r\n }\r\n }\r\n\r\n private saveCgtTransaction() {\r\n const { cgtTotalValue, cgtExempt, cgtDateTime, cgtUnitCost, isEditingCGT } = this.state;\r\n const transaction: CgtTransaction = {\r\n ScripTransactionId: this.props.transId,\r\n CgtDate: JsonDateParser.toJsonDateNoOffset(cgtDateTime),\r\n CgtUnitCost: cgtUnitCost,\r\n CgtTotalValue: cgtTotalValue,\r\n CgtExempt: cgtExempt,\r\n };\r\n TransactionAction.saveCgtTransactions(transaction, (callBack: ServiceValidationError[]) => {\r\n if (callBack.length > 0) {\r\n this.setState({ errorMsg: callBack.map((ele) => ele.UserMessage) });\r\n } else {\r\n this.setState(\r\n {\r\n isEditingCGT: !isEditingCGT,\r\n cgtExempt: cgtExempt,\r\n cgtUnitCost: cgtUnitCost,\r\n cgtTotalValue: cgtTotalValue,\r\n isSaveable: true,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n private renderTemplate(title, value: number | string, isRenderCaw?: boolean): JSX.Element {\r\n if (typeof value == \"string\" || isRenderCaw) {\r\n return (\r\n \r\n {title}\r\n {value}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {title}\r\n {this.getMoneyFormat(value)}\r\n \r\n );\r\n }\r\n }\r\n\r\n private getMoneyFormat(val: number): string {\r\n const formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(val, CurrencyCode.GBP, false, 2);\r\n return formatMoney;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.props.showBox ? this.renderModal() : null};\r\n }\r\n\r\n private taxBookCostEdited() {\r\n const { cgtTotalValue, cgtTransaction } = this.state;\r\n return (\r\n (!cgtTotalValue && cgtTransaction.CgtTotalValue) ||\r\n (cgtTotalValue && !cgtTransaction.CgtTotalValue) ||\r\n (cgtTotalValue && cgtTransaction.CgtTotalValue && cgtTotalValue != cgtTransaction.CgtTotalValue)\r\n );\r\n }\r\n private acquisitionDateEdited() {\r\n const { cgtDateTime, cgtExempt, cgtTotalValue, cgtUnitCost, cgtTransaction } = this.state;\r\n return (\r\n (!cgtDateTime && cgtTransaction.CgtDate) ||\r\n (cgtDateTime && !cgtTransaction.CgtDate) ||\r\n (cgtDateTime &&\r\n cgtTransaction.CgtDate &&\r\n JsonDateParser.getFormatDate(cgtDateTime, \"dd-mm-yyyy\") !=\r\n JsonDateParser.getFormatDate(cgtTransaction.CgtDate, \"dd-mm-yyyy\"))\r\n );\r\n }\r\n\r\n private cgtExemptEdited() {\r\n const { cgtDateTime, cgtExempt, cgtTotalValue, cgtUnitCost, cgtTransaction } = this.state;\r\n return cgtExempt != cgtTransaction.CgtExempt;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { UserClaim } from \"../../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { TransactionPaymentsWithdrawalsColumns } from \"../../../../../../../../Wrap/Models/Domains/Users/UserPageColumnSetting/TransactionPaymentsWithdrawalsColumns\";\r\nimport { PaymentStatus } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/PaymentStatus\";\r\nimport { RegularDepositMethod } from '../../../../../../../../Wrap/Constants/Enums/Domain/RegularDepositMethod';\r\nimport { CashPayment } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { InstructionType } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/InstructionType\";\r\nimport { Alert } from \"../../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../../../Shared/IST/Resource/Content\";\r\nimport { Permission } from \"../../../../../../../Shared/Permission/Permission\";\r\nimport { checkPermission } from \"../../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { ITableConfig, Table } from \"../../../../../../../Shared/Table/Table\";\r\nimport { TableColSettingKeys } from \"../../../../../../../Shared/TableColFilter/Resource/Content\";\r\nimport { TableColEditor } from \"../../../../../../../Shared/TableColFilter/TableColEditor\";\r\nimport AriaTooltip from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { Typography } from \"../../../../../../../Shared/Typography/Typography\";\r\nimport { Methods } from \"../../../../../../Common/CommonHelper\";\r\nimport { StaticUrls } from \"../../../../../../Resoures/StaticUrls\";\r\nimport { subAccountTypeMap } from \"../../Performance/Resource/Contents\";\r\nimport { regularDepositMethodArraysMap } from \"../../../../Common/Resource/Contents\";\r\nimport { WizardLinkRestriction } from \"../../../../Common/Restrictions/WizardLinkRestriction\";\r\nimport { PortfolioDashboardStore } from \"../../../Store/Variable\";\r\nimport { getSubAccountInfoByClAccountId } from \"../../Common/PortfolioDashboardHelper\";\r\nimport { Contents, PaymentSourceMap, paymentStatusMap } from \"../Resource/Contents\";\r\nimport { InvestorType } from \"../../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { SubAccountTypeHelper } from \"../../../../Common/Helpers/SubAccountTypeHelper\";\r\n\r\ninterface IPaymentsWithdrawalsProps {\r\n data: CashPayment[];\r\n selectAccount: string;\r\n frequency: CashPaymentFrequencyQuery;\r\n bondPayments: Array;\r\n onTableChange: () => void;\r\n subAccountTypeSelected?: SubAccountType;\r\n}\r\n\r\nexport const PaymentsWithdrawals = (props: IPaymentsWithdrawalsProps) => {\r\n const [showErrorMsg, setShowErrorMsg] = useState(false);\r\n\r\n const getMoneyFormat = (val: number): string => {\r\n let formatMoney = MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(val), CurrencyCode.GBP);\r\n if (val < 0) {\r\n formatMoney = \"-\" + formatMoney;\r\n }\r\n return formatMoney;\r\n };\r\n const getPercentageFormat = (val: number): string => {\r\n return val.toFixed(2) + \"%\";\r\n };\r\n\r\n const getWithdrawalTitle = (type: SubAccountType): string => {\r\n let title = \"Withdrawals\";\r\n if (type == SubAccountType.OnshoreBond) {\r\n title = \"Onshore Bond Withdrawals\";\r\n }\r\n if (type == SubAccountType.OffshoreBond) {\r\n title = \"Offshore Bond Withdrawals\";\r\n }\r\n\r\n return title;\r\n };\r\n\r\n const actionLink = (data: CashPayment, clAccountId: string) => {\r\n const { headAccount, subAccount } = getSubAccountInfoByClAccountId(\r\n data?.AccountNumber,\r\n PortfolioDashboardStore.getData()\r\n );\r\n const accountHierarchy = subAccount?.HierarchyId ?? headAccount?.HierarchyId;\r\n\r\n let isDlu = false;\r\n if (headAccount?.InvestorType == InvestorType.Trust) {\r\n isDlu = true;\r\n } else if (\r\n SubAccountTypeHelper.isBond(subAccount?.SubAccountType) ||\r\n SubAccountTypeHelper.isSIPP(subAccount?.SubAccountType)\r\n ) {\r\n isDlu = true;\r\n }\r\n\r\n const isBlockWithdrwal = WizardLinkRestriction(headAccount, accountHierarchy, ProcessType.Withdrawal);\r\n const isBlockTopUp = WizardLinkRestriction(headAccount, accountHierarchy, ProcessType.SinglePayment);\r\n return (\r\n \r\n {data.Type.toLowerCase() == \"deposit\" &&\r\n checkPermission(UserClaim.AdviserPortalDluCashEntryMatchDetailCanView) && (\r\n <>\r\n \r\n Match History\r\n \r\n
    \r\n \r\n )}\r\n\r\n {data.InstructionType == InstructionType.Standing &&\r\n checkPermission(UserClaim.AdviserPortalDluCashEntryDetailCanView) && (\r\n <>\r\n \r\n H\r\n \r\n
    {\" \"}\r\n \r\n )}\r\n\r\n {(data.InstructionType == InstructionType.RegularWithdrawal ||\r\n data.InstructionType == InstructionType.OneOffWithdrawal) &&\r\n data.Narration &&\r\n checkPermission(UserClaim.AdviserPortalDluWithdrawalCanView) && (\r\n <>\r\n \r\n Summary\r\n {\" \"}\r\n
    \r\n \r\n )}\r\n\r\n {(data.InstructionType == InstructionType.RegularWithdrawal ||\r\n data.InstructionType == InstructionType.OneOffWithdrawal) &&\r\n !data.Narration &&\r\n checkPermission(UserClaim.AdviserPortalDluRegularWithdrawalHoldingsCanView) && (\r\n <>\r\n \r\n Holdings\r\n \r\n \r\n )}\r\n\r\n {data.InstructionType == InstructionType.RegularWithdrawal &&\r\n (data.Status == PaymentStatus.Authorised || data.Status == PaymentStatus.Confirmed) &&\r\n checkPermission(UserClaim.AdviserPortalDluWithdrawalCanView) && (\r\n <>\r\n {\r\n if (isBlockWithdrwal) {\r\n setShowErrorMsg(true);\r\n }\r\n }}\r\n >\r\n Edit\r\n \r\n
    \r\n \r\n )}\r\n\r\n {data.InstructionType == InstructionType.Standing &&\r\n data.Type.toLocaleLowerCase() == \"transfer\" &&\r\n data.Status != PaymentStatus.Completed &&\r\n data.Status != PaymentStatus.Cancelled &&\r\n checkPermission(UserClaim.AdviserPortalDluCashDepositCanView) && (\r\n <>\r\n {\r\n if (isBlockTopUp) {\r\n setShowErrorMsg(true);\r\n }\r\n }}\r\n >\r\n Edit\r\n \r\n
    \r\n \r\n )}\r\n\r\n {data.InstructionType == InstructionType.Standing &&\r\n data.Type.toLocaleLowerCase() == \"deposit\" &&\r\n data.Status != PaymentStatus.Completed &&\r\n data.Status != PaymentStatus.Cancelled &&\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n <>\r\n {\r\n const url = isDlu\r\n ? StaticUrls.NBEC(\r\n subAccount?.ClAccountId,\r\n SubAccountTypeHelper.isLegacyProduct(subAccount?.SubAccountType)\r\n )\r\n : StaticUrls.RegularPaymentUrl(\r\n subAccount.SubAccountType.toString(),\r\n subAccount.ClAccountId,\r\n headAccount.HierarchyId,\r\n subAccount.HierarchyId,\r\n \"edit\",\r\n data.BatchId\r\n );\r\n if (isBlockTopUp) {\r\n setShowErrorMsg(true);\r\n } else {\r\n window.open(url, \"_blank\");\r\n }\r\n }}\r\n >\r\n Edit\r\n \r\n
    \r\n \r\n )}\r\n {data.InstructionType === InstructionType.OneOff &&\r\n data.Type?.toLocaleLowerCase() !== \"withdrawal\" &&\r\n data.Status != PaymentStatus.Completed &&\r\n data.Status != PaymentStatus.Cancelled &&\r\n (data.Method != RegularDepositMethod.DirectDebit || data.Status != PaymentStatus.Placed) &&\r\n checkPermission(UserClaim.AdviserPortalDluCashDepositCanView) && (\r\n <>\r\n {\r\n if (isBlockTopUp) {\r\n setShowErrorMsg(true);\r\n }\r\n }}\r\n >\r\n Edit\r\n \r\n
    \r\n \r\n )}\r\n\r\n {(data.InstructionType == InstructionType.RegularWithdrawal ||\r\n data.InstructionType == InstructionType.OneOffWithdrawal) &&\r\n data.Status != PaymentStatus.Cancelled &&\r\n data.Status != PaymentStatus.InProgress &&\r\n data.Status != PaymentStatus.Completed &&\r\n checkPermission(UserClaim.AdviserPortalDluWithdrawalCanView) && (\r\n <>\r\n \r\n Cancel\r\n \r\n
    \r\n \r\n )}\r\n\r\n {data.InstructionType != InstructionType.RegularWithdrawal &&\r\n data.Type?.toLocaleLowerCase() !== \"withdrawal\" &&\r\n data.InstructionType != InstructionType.OneOffWithdrawal &&\r\n data.Status != PaymentStatus.Cancelled &&\r\n data.Status != PaymentStatus.InProgress &&\r\n data.Status != PaymentStatus.Completed &&\r\n data.Status != PaymentStatus.Confirmed &&\r\n (data.BacsStatus == null ||\r\n (data.BacsStatus.toLocaleLowerCase() != \"posted\" &&\r\n data.BacsStatus.toLocaleLowerCase() != \"journalled\" &&\r\n data.BacsStatus.toLocaleLowerCase() != \"loaded\")) &&\r\n checkPermission(UserClaim.AdviserPortalDluCashDepositCanView) && (\r\n <>\r\n \r\n Cancel\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n };\r\n\r\n const idLink = (data: CashPayment, clAccountId: string) => {\r\n return (\r\n \r\n {data.InstructionType == InstructionType.RegularWithdrawal ||\r\n data.InstructionType == InstructionType.OneOffWithdrawal ? (\r\n {data.Id}}\r\n >\r\n \r\n {data.Id}\r\n \r\n \r\n ) : (\r\n {data.Id}}\r\n >\r\n \r\n {data.Id}\r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n const getTooltipContent = (val: CashPayment) => {\r\n if (val.InstructionType !== InstructionType.RegularWithdrawal && val.InstructionType !== InstructionType.Standing) {\r\n return [\r\n {\r\n title: \"Account number\",\r\n data: val.BankAccountNumber ? val.BankAccountNumber : \"N/A\",\r\n },\r\n { title: \"Sort code\", data: val.SortCode ? val.SortCode : \"N/A\" },\r\n {\r\n title: \"Next payment date\",\r\n data: \"N/A\",\r\n },\r\n { title: \"Payer type\", data: val.Owner ? val.Owner : PaymentSourceMap[val.Source] },\r\n ];\r\n } else {\r\n return [\r\n {\r\n title: \"Account number\",\r\n data: val.BankAccountNumber ? val.BankAccountNumber : \"N/A\",\r\n },\r\n { title: \"Sort code\", data: val.SortCode ? val.SortCode : \"N/A\" },\r\n { title: \"First payment date\", data: JsonDateParser.getFormatDate(val.FirstDate, \"dd/MM/yyyy\") },\r\n { title: \"Next payment date\", data: JsonDateParser.getFormatDate(val.NextDate, \"dd/MM/yyyy\") },\r\n { title: \"Payer type\", data: val.Owner ? val.Owner : PaymentSourceMap[val.Source] },\r\n ];\r\n }\r\n };\r\n\r\n const tableColConfig: ITableConfig[] = [\r\n {\r\n title: \"Type\",\r\n key: \"Type\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Type,\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Products\",\r\n key: \"ProductType\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Products,\r\n render: (data, row, index) => {\r\n return subAccountTypeMap[data];\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Frequency\",\r\n key: \"Frequency\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Frequency,\r\n render: (data, row, index) => {\r\n if (\r\n row.InstructionType == InstructionType.RegularWithdrawal ||\r\n row.InstructionType == InstructionType.OneOffWithdrawal ||\r\n row.InstructionType == InstructionType.Standing\r\n ) {\r\n return Methods.getFormatFrequencyType(data);\r\n } else {\r\n return \"N/A\";\r\n }\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Method\",\r\n key: \"Method\",\r\n filterOption: { disableEdit: true },\r\n render: (data, row, index) => {\r\n return regularDepositMethodArraysMap[data];\r\n },\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Method,\r\n },\r\n {\r\n title: \"Date created\",\r\n key: \"DateCreated\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.DateCreated,\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Amount\",\r\n key: \"Amount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Amount,\r\n filterOption: { disableEdit: true },\r\n render: (data, row, index) => {\r\n return (\r\n \r\n 0 ? getMoneyFormat(data) : getPercentageFormat(row.Percentage)}\r\n trigger=\"hover\"\r\n title={false}\r\n >\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Instruction\",\r\n key: \"Instruction\",\r\n filterOption: { disableEdit: true },\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Instruction,\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"Status\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Status,\r\n render: (data, row, index) => paymentStatusMap[data],\r\n filterOption: { disableEdit: true },\r\n },\r\n {\r\n title: \"Contribution ID#\",\r\n key: \"ContributionGroup\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.ContributionID,\r\n },\r\n {\r\n title: \"Entry ID#\",\r\n key: \"Id\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n userClaim: UserClaim.AdviserPortalPaymentsAndWithdrawlsColumnCashEntryIdCanView,\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.EntryID,\r\n render: (data, row, index) => {\r\n return idLink(row, props.selectAccount);\r\n },\r\n },\r\n { title: \"Plan manager\", key: \"PlanManager\", tableFilter: TransactionPaymentsWithdrawalsColumns.PlannManager },\r\n {\r\n title: \"Unique ID\",\r\n key: \"BatchId\",\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.UniqueID,\r\n render: (data, row, index) => {\r\n return row.BatchId > 0 ? row.BatchId : \"\";\r\n },\r\n },\r\n {\r\n title: \"Actions\",\r\n key: \"\",\r\n userClaim: UserClaim.AdviserPortalPaymentsAndWithdrawlsColumnActionsCanView,\r\n tableFilter: TransactionPaymentsWithdrawalsColumns.Actions,\r\n render: (data, row, index) => {\r\n return actionLink(row, props.selectAccount);\r\n },\r\n },\r\n { title: \"Narration\", key: \"Narration\", tableFilter: TransactionPaymentsWithdrawalsColumns.Narration },\r\n ];\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {props.data?.length == 0 && props.bondPayments?.length == 0 && (\r\n \r\n )}\r\n {showErrorMsg && (\r\n setShowErrorMsg(false)}\r\n type={LightboxType.Modal}\r\n cssWrapper={\"is-default-lightbox\"}\r\n >\r\n

    You cannot process this action until the account is active

    \r\n \r\n \r\n )}\r\n {props.data?.length > 0 && (\r\n \r\n )}\r\n {props.bondPayments.length > 0 && (\r\n

    {getWithdrawalTitle(props.subAccountTypeSelected)}

    \r\n )}\r\n\r\n
    \r\n
    \r\n {props.bondPayments.length > 0 && (\r\n {\r\n return Methods.getWithdrawalPaymentType(data);\r\n },\r\n },\r\n {\r\n title: \"Withdrawal Annual Amount\",\r\n key: \"AnnualAmount\",\r\n render: (data, row) =>\r\n MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2),\r\n },\r\n {\r\n title: \"Payment Frequency\",\r\n key: \"Frequency\",\r\n render: (data, row) => {\r\n return Methods.getFormatFrequencyType(data);\r\n },\r\n },\r\n {\r\n title: \"Withdrawal Payment per Frequency\",\r\n key: \"Amount\",\r\n render: (data, row) =>\r\n MoneyDisplayHelper.FromatMoneyDisplay(data, CurrencyCode.GBP, true, 2),\r\n },\r\n {\r\n title: \"First Withdrawal Date\",\r\n key: \"FirstDate\",\r\n },\r\n {\r\n title: \"Next Withdrawal Date\",\r\n key: \"NextDate\",\r\n },\r\n\r\n {\r\n title: \"Stop Date/Last Payment date\",\r\n key: \"FinalDate\",\r\n render: (data, row) => {\r\n return Methods.getStopDate(\r\n row.CurrentStatus,\r\n data == Contents.InvalidateDate ? \"-\" : data\r\n );\r\n },\r\n },\r\n {\r\n title: \"Withdrawal Status\",\r\n key: \"CurrentStatus\",\r\n render: (data, row) => {\r\n return Methods.getWithdrawalStatus(data);\r\n },\r\n },\r\n {\r\n title: \"Payment Method\",\r\n key: \"PaymentMethod\",\r\n render: (data, row) => {\r\n return Methods.getPaymentMethod(data);\r\n },\r\n },\r\n {\r\n title: \"Account Name\",\r\n key: \"AccountName\",\r\n },\r\n {\r\n title: \"Account Number\",\r\n key: \"BankAccountNumber\",\r\n },\r\n {\r\n title: \"Account Sortcode\",\r\n key: \"BankIdentifier\",\r\n },\r\n ]}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import { Dictionary } from \"../../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { PaymentSource } from \"../../../../../../../../Wrap/Constants/Enums/Domain/PaymentSource\";\r\nimport { InvestmentTransactionTypes } from \"../../../../../../../../Wrap/Constants/Enums/Transactions/InvestmentTransactionTypes\";\r\nimport { CashTransactionTypes } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashTransactionTypes\";\r\nimport { ChargesQueryType } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesQueryType\";\r\nimport { PaymentStatus } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/PaymentStatus\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { CashPaymentTypeQuery } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\n\r\nexport const cashPaymentTypeArray = [\r\n CashPaymentTypeQuery.All,\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentTypeQuery.Withdrawal,\r\n CashPaymentTypeQuery.RegularPercentage,\r\n CashPaymentTypeQuery.RegularAmount,\r\n];\r\nexport enum TransactionEnum {\r\n summary = \"Summary\",\r\n cash = \"Cash\",\r\n investments = \"Investments\",\r\n paymentsWithdrawals = \"Payments / withdrawals\",\r\n accountTransfers = \"Account transfers\",\r\n corporateActions = \"Dividend summary\",\r\n otherCorporateActions = \"Other corporate actions\",\r\n charges = \"Charges\",\r\n}\r\nexport const TransactionEnumArray = [\r\n TransactionEnum.summary,\r\n TransactionEnum.cash,\r\n TransactionEnum.investments,\r\n TransactionEnum.paymentsWithdrawals,\r\n TransactionEnum.accountTransfers,\r\n TransactionEnum.corporateActions,\r\n TransactionEnum.otherCorporateActions,\r\n TransactionEnum.charges,\r\n];\r\n\r\nexport const cashPaymentTypeMap = {\r\n [CashPaymentTypeQuery.All]: \"All\",\r\n [CashPaymentTypeQuery.Deposit]: \"Deposit\",\r\n [CashPaymentTypeQuery.Withdrawal]: \"Withdrawal\",\r\n [CashPaymentTypeQuery.RegularPercentage]: \"Regular Percentage\",\r\n [CashPaymentTypeQuery.RegularAmount]: \"Regular Amount\",\r\n};\r\nexport const cashPaymentFrequencyArray = [\r\n CashPaymentFrequencyQuery.All,\r\n CashPaymentFrequencyQuery.Single,\r\n CashPaymentFrequencyQuery.Regular,\r\n CashPaymentFrequencyQuery.Auto,\r\n];\r\nexport const cashPaymentFrequencyMap = {\r\n [CashPaymentFrequencyQuery.All]: \"All\",\r\n [CashPaymentFrequencyQuery.Single]: \"Single\",\r\n [CashPaymentFrequencyQuery.Regular]: \"Regular\",\r\n [CashPaymentFrequencyQuery.Auto]: \"Auto\",\r\n};\r\n\r\nexport const chargesQueryTypeArray = [\r\n ChargesQueryType.All,\r\n ChargesQueryType.StandardLife,\r\n ChargesQueryType.Adviser,\r\n ChargesQueryType.Dim,\r\n ChargesQueryType.Investment,\r\n];\r\n\r\nexport const chargesQueryTypeMap = {\r\n [ChargesQueryType.All]: \"All charges\",\r\n [ChargesQueryType.Adviser]: \"Adviser charges\",\r\n [ChargesQueryType.Dim]: \" Portfolio manager fees\",\r\n [ChargesQueryType.Investment]: \"Investment charges\",\r\n [ChargesQueryType.StandardLife]: \"Platform charges\",\r\n};\r\n\r\nexport enum SortNameEnum {\r\n ExDate = \"ExDate\",\r\n PostDate = \"PostDate\",\r\n AsAt = \"AsAt\",\r\n UnitCost = \"Cost\",\r\n TotalCost = \"TotalCost\",\r\n DividendPayDate = \"DividendPayDate\",\r\n}\r\n\r\nexport const ModelTypeOptions: Dictionary[] = [\r\n { key: InvestmentTransactionTypes.NotSpecified + \"\", value: \"All\" },\r\n { key: InvestmentTransactionTypes.BuyTrade + \"\", value: \"Buy Trade\" },\r\n { key: InvestmentTransactionTypes.CNoteInstruction + \"\", value: \"Contract Note Instruction\" },\r\n { key: InvestmentTransactionTypes.ConversionIn + \"\", value: \"Conversion In\" },\r\n { key: InvestmentTransactionTypes.ConversionOut + \"\", value: \"Conversion Out\" },\r\n { key: InvestmentTransactionTypes.CorporateAction + \"\", value: \"Corporate Action\" },\r\n { key: InvestmentTransactionTypes.ErrorBooking + \"\", value: \"Error Booking\" },\r\n { key: InvestmentTransactionTypes.FundApplication + \"\", value: \"Fund Application\" },\r\n { key: InvestmentTransactionTypes.FundRedemption + \"\", value: \"Fund Redemption\" },\r\n { key: InvestmentTransactionTypes.Grp2toGrp1 + \"\", value: \"Grp 2 to Grp1\" },\r\n { key: InvestmentTransactionTypes.LocationTransfer + \"\", value: \"Location Transfer\" },\r\n { key: InvestmentTransactionTypes.ManualTrans + \"\", value: \"Manual Transaction\" },\r\n { key: InvestmentTransactionTypes.SellTrade + \"\", value: \"Sell Trade\" },\r\n { key: InvestmentTransactionTypes.TransferIn + \"\", value: \"Transfer In\" },\r\n { key: InvestmentTransactionTypes.TransferOut + \"\", value: \"Transfer Out\" },\r\n { key: InvestmentTransactionTypes.Other + \"\", value: \"Other\" },\r\n];\r\n\r\nexport const UnModelTypeOptions: Dictionary[] = [\r\n { key: InvestmentTransactionTypes.NotSpecified + \"\", value: \"All\" },\r\n { key: InvestmentTransactionTypes.AccountTransfer + \"\", value: \"Account Transfer\" },\r\n { key: InvestmentTransactionTypes.AutoDisinvestment + \"\", value: \"Auto Disinvestment\" },\r\n { key: InvestmentTransactionTypes.BuyTrade + \"\", value: \"Buy Trade\" },\r\n { key: InvestmentTransactionTypes.CNoteInstruction + \"\", value: \"Contract Note Instruction\" },\r\n { key: InvestmentTransactionTypes.ConversionIn + \"\", value: \"Conversion In\" },\r\n { key: InvestmentTransactionTypes.ConversionOut + \"\", value: \"Conversion Out\" },\r\n { key: InvestmentTransactionTypes.CorporateAction + \"\", value: \"Corporate Action\" },\r\n { key: InvestmentTransactionTypes.ErrorBooking + \"\", value: \"Error Booking\" },\r\n { key: InvestmentTransactionTypes.FundApplication + \"\", value: \"Fund Application\" },\r\n { key: InvestmentTransactionTypes.FundRedemption + \"\", value: \"Fund Redemption\" },\r\n { key: InvestmentTransactionTypes.Grp2toGrp1 + \"\", value: \"Grp 2 to Grp1\" },\r\n { key: InvestmentTransactionTypes.LocationTransfer + \"\", value: \"Location Transfer\" },\r\n { key: InvestmentTransactionTypes.ManualTrans + \"\", value: \"Manual Transaction\" },\r\n { key: InvestmentTransactionTypes.SecurityTransfer + \"\", value: \"Security Transfer\" },\r\n { key: InvestmentTransactionTypes.SellTrade + \"\", value: \"Sell Trade\" },\r\n { key: InvestmentTransactionTypes.Settled + \"\", value: \"Settled\" },\r\n { key: InvestmentTransactionTypes.StdLife + \"\", value: \"Standard Life\" },\r\n { key: InvestmentTransactionTypes.TransferIn + \"\", value: \"Transfer In\" },\r\n { key: InvestmentTransactionTypes.TransferOut + \"\", value: \"Transfer Out\" },\r\n { key: InvestmentTransactionTypes.TrialBuyTrade + \"\", value: \"Trial Buy Trade\" },\r\n { key: InvestmentTransactionTypes.TrialSellTrade + \"\", value: \"Trial Sell Trade\" },\r\n { key: InvestmentTransactionTypes.Other + \"\", value: \"Other\" },\r\n];\r\n\r\nexport const InvestmentTransactionTypeMap = {\r\n [InvestmentTransactionTypes.NotSpecified]: \"Not Specified\",\r\n [InvestmentTransactionTypes.AccountTransfer]: \"Account Transfer\",\r\n [InvestmentTransactionTypes.BuyTrade]: \"Buy Trade\",\r\n [InvestmentTransactionTypes.CNoteInstruction]: \"Contract Note Instruction\",\r\n [InvestmentTransactionTypes.ConversionIn]: \"Conversion In\",\r\n [InvestmentTransactionTypes.ConversionOut]: \"Conversion Out\",\r\n [InvestmentTransactionTypes.CorporateAction]: \"Corporate Action\",\r\n [InvestmentTransactionTypes.ErrorBooking]: \"Error Booking\",\r\n [InvestmentTransactionTypes.FundApplication]: \"Fund Application\",\r\n [InvestmentTransactionTypes.FundRedemption]: \"Fund Redemption\",\r\n [InvestmentTransactionTypes.Grp2toGrp1]: \"Grp 2 to Grp1\",\r\n [InvestmentTransactionTypes.LocationTransfer]: \"Location Transfer\",\r\n [InvestmentTransactionTypes.ManualTrans]: \"Manual Transaction\",\r\n [InvestmentTransactionTypes.SecurityTransfer]: \"Security Transfer\",\r\n [InvestmentTransactionTypes.SellTrade]: \"Sell Trade\",\r\n [InvestmentTransactionTypes.Settled]: \"Settled\",\r\n [InvestmentTransactionTypes.StdLife]: \"Standard Life\",\r\n [InvestmentTransactionTypes.TransferIn]: \"Transfer In\",\r\n [InvestmentTransactionTypes.TransferOut]: \"Transfer Out\",\r\n [InvestmentTransactionTypes.TrialBuyTrade]: \"Trial Buy Trade\",\r\n [InvestmentTransactionTypes.TrialSellTrade]: \"Trial Sell Trade\",\r\n [InvestmentTransactionTypes.AutoDisinvestment]: \"Auto Disinvestment\",\r\n [InvestmentTransactionTypes.SwitchIn]: \"Switch In\",\r\n [InvestmentTransactionTypes.SwitchOut]: \"Switch Out\",\r\n [InvestmentTransactionTypes.Other]: \"Other\",\r\n};\r\n\r\nexport const CashModelTypeOptions: Dictionary[] = [\r\n { key: CashTransactionTypes.Unknown + \"\", value: \"All\" },\r\n { key: CashTransactionTypes.BuyTrade + \"\", value: \"Buy Trade\" },\r\n { key: CashTransactionTypes.CapitalIn + \"\", value: \"Capital In\" },\r\n { key: CashTransactionTypes.CapitalOut + \"\", value: \"Capital Out\" },\r\n { key: CashTransactionTypes.Compensation + \"\", value: \"Compensation\" },\r\n { key: CashTransactionTypes.Deposit + \"\", value: \"Deposit\" },\r\n { key: CashTransactionTypes.FundApplication + \"\", value: \"Fund Application\" },\r\n { key: CashTransactionTypes.Fee + \"\", value: \"Fee\" },\r\n { key: CashTransactionTypes.FundRedemption + \"\", value: \"Fund Redemption\" },\r\n { key: CashTransactionTypes.GrossDividend + \"\", value: \"Gross Dividend\" },\r\n { key: CashTransactionTypes.ProductTransfer + \"\", value: \"Product Transfer\" },\r\n { key: CashTransactionTypes.ReturnofCapital + \"\", value: \"Return of Capital\" },\r\n { key: CashTransactionTypes.SellTrade + \"\", value: \"Sell Trade\" },\r\n { key: CashTransactionTypes.WithholdingTax + \"\", value: \"Withholding Tax\" },\r\n { key: CashTransactionTypes.Withdrawal + \"\", value: \"Withdrawal\" },\r\n { key: CashTransactionTypes.Other + \"\", value: \"Other\" },\r\n];\r\n\r\nexport const CashUnModelTypeOptions: Dictionary[] = [\r\n { key: CashTransactionTypes.Unknown + \"\", value: \"All\" },\r\n { key: CashTransactionTypes.BuyTrade + \"\", value: \"Buy Trade\" },\r\n { key: CashTransactionTypes.CallTransaction + \"\", value: \"Call Transaction\" },\r\n { key: CashTransactionTypes.CapitalIn + \"\", value: \"Capital In\" },\r\n { key: CashTransactionTypes.CapitalOut + \"\", value: \"Capital Out\" },\r\n { key: CashTransactionTypes.CMTInterest + \"\", value: \"CMT Interest\" },\r\n { key: CashTransactionTypes.Compensation + \"\", value: \"Compensation\" },\r\n { key: CashTransactionTypes.CorporateAction + \"\", value: \"Corporate Action\" },\r\n { key: CashTransactionTypes.Deposit + \"\", value: \"Deposit\" },\r\n { key: CashTransactionTypes.FundApplication + \"\", value: \"Fund Application\" },\r\n { key: CashTransactionTypes.Fee + \"\", value: \"Fee\" },\r\n { key: CashTransactionTypes.FundRedemption + \"\", value: \"Fund Redemption\" },\r\n { key: CashTransactionTypes.GrossCoupon + \"\", value: \"Gross Coupon\" },\r\n { key: CashTransactionTypes.GrossDividend + \"\", value: \"Gross Dividend\" },\r\n { key: CashTransactionTypes.HMRCCharge + \"\", value: \"HMRC Charge\" },\r\n { key: CashTransactionTypes.ProductTransfer + \"\", value: \"Product Transfer\" },\r\n { key: CashTransactionTypes.Rebate + \"\", value: \"Rebate\" },\r\n { key: CashTransactionTypes.ReturnofCapital + \"\", value: \"Return of Capital\" },\r\n { key: CashTransactionTypes.RightsIssue + \"\", value: \"Right Issue\" },\r\n { key: CashTransactionTypes.SellTrade + \"\", value: \"Sell Trade\" },\r\n { key: CashTransactionTypes.Tax + \"\", value: \"Tax\" },\r\n { key: CashTransactionTypes.TaxRelief + \"\", value: \"Tax Relief\" },\r\n { key: CashTransactionTypes.TermApplication + \"\", value: \"Term Application\" },\r\n { key: CashTransactionTypes.Withdrawal + \"\", value: \"Withdrawal\" },\r\n { key: CashTransactionTypes.WithholdingTax + \"\", value: \"Withholding Tax\" },\r\n { key: CashTransactionTypes.Other + \"\", value: \"Other\" },\r\n];\r\n\r\nexport const PaymentSourceMap = {\r\n [PaymentSource.NotSpecified]: \"N/A\",\r\n [PaymentSource.Employee]: \"Client\",\r\n [PaymentSource.Employer]: \"Employer\",\r\n [PaymentSource.ThirdParty]: \"Third Party\",\r\n};\r\n\r\nexport const CashModelTypeMap = {\r\n [CashTransactionTypes.Unknown]: \"All\",\r\n [CashTransactionTypes.BuyTrade]: \"Buy Trade\",\r\n [CashTransactionTypes.CallTransaction]: \"Call Transaction\",\r\n [CashTransactionTypes.CapitalIn]: \"Capital In\",\r\n [CashTransactionTypes.CapitalOut]: \"Capital Out\",\r\n [CashTransactionTypes.CMTInterest]: \"CMT Interest\",\r\n [CashTransactionTypes.Compensation]: \"Compensation\",\r\n [CashTransactionTypes.CorporateAction]: \"Corporate Action\",\r\n [CashTransactionTypes.Deposit]: \"Deposit\",\r\n [CashTransactionTypes.FundApplication]: \"Fund Application\",\r\n [CashTransactionTypes.Fee]: \"Fee\",\r\n [CashTransactionTypes.FundRedemption]: \"Fund Redemption\",\r\n [CashTransactionTypes.GrossCoupon]: \"Gross Coupon\",\r\n [CashTransactionTypes.GrossDividend]: \"Gross Dividend\",\r\n [CashTransactionTypes.HMRCCharge]: \"HMRC Charge\",\r\n [CashTransactionTypes.Other]: \"Other\",\r\n [CashTransactionTypes.ProductTransfer]: \"Product Transfer\",\r\n [CashTransactionTypes.Rebate]: \"Rebate\",\r\n [CashTransactionTypes.ReturnofCapital]: \"Return of Capital\",\r\n [CashTransactionTypes.RightsIssue]: \"Rights Issue\",\r\n [CashTransactionTypes.SellTrade]: \"Sell Trade\",\r\n [CashTransactionTypes.Tax]: \"Tax\",\r\n [CashTransactionTypes.TaxRelief]: \"Tax Relief\",\r\n [CashTransactionTypes.TermApplication]: \"Term Application\",\r\n [CashTransactionTypes.Withdrawal]: \"Withdrawal\",\r\n [CashTransactionTypes.WithholdingTax]: \"Withholding Tax\",\r\n};\r\n\r\nexport const Contents = {\r\n NoDataErrorMessage: \"No corporate actions were found matching the selection criteria\",\r\n NoAccountTransferErrorMessage: \"No account transfers were found matching the selection criteria\",\r\n NoDividendSummaryDataErrorMessage: \"No dividend summary were found matching the selection criteria\",\r\n NoInvestmentDataErrorMessage: \"No investment transactions were found matching the selection criteria\",\r\n NoCashDataErrorMessage: \"No cash transactions were found matching the selection criteria\",\r\n DividendNotes: \"* For upcoming dividends, payment date and amount are subject to change until payment.\",\r\n ImportantNotes:\r\n \"Important note: Information on corporate actions is provided for general information purposes, as well as to allow you to communicate your instructions on Corporate Actions to your adviser, where applicable.\",\r\n SubNotes:\r\n \"If you are unsure of what action you should take or how any corporate action may affect your portfolio, you should obtain suitable independent advice.\",\r\n\r\n TransactionDetailsTitle: \"Scrip transaction details\",\r\n CanNotEmpty: \"Can't be empty\",\r\n AcceptDateFormatsErrorMsg: \"Incorrect date format. Enter as dd/mm/yyyy.\",\r\n NumberValidation: \"Please input valid number\",\r\n DecimalPlaceValidation: \"Value can only have 2 decimal places at max\",\r\n CapitalGainPurpose: \"Amended Sale proceeds for capital gains purposes:\",\r\n OrderHistoryTitle: \"Order history\",\r\n TransactionHistoryTitle: \"Transaction history\",\r\n InvalidateDate: \"0001-01-01T00:00:00\",\r\n};\r\n\r\nexport const getNoDataMsg = (name: string) => {\r\n return `No ${name} were found matching the selection criteria`;\r\n};\r\n\r\nexport const paymentStatusMap = {\r\n [PaymentStatus.Authorised]: \"Authorised\",\r\n [PaymentStatus.Cancelled]: \"Cancelled\",\r\n [PaymentStatus.Completed]: \"Completed\",\r\n [PaymentStatus.Confirmed]: \"Confirmed\",\r\n [PaymentStatus.Created]: \"Created\",\r\n [PaymentStatus.Failed]: \"Failed\",\r\n [PaymentStatus.InProgress]: \"In progress\",\r\n [PaymentStatus.Placed]: \"Placed\",\r\n};\r\n\r\nexport const chargeInfoText = {\r\n text:\r\n \"Investment charges will only apply to certain accounts prior to 2012 (Additional Administration charges) & 'Platform charge' figures include any Product Administration charges applied to SIPP or Bond products.\",\r\n};\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../../../react-core/Flux/BaseStore\";\r\nimport { AccountModelView } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/AccountModelView\";\r\nimport { AccountModelPortfolioDispatcher } from \"./Variable\";\r\n\r\nexport interface AccountModelPortfolioStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: AccountModelView;\r\n}\r\n\r\nexport class AccountModelPortfolioStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AccountModelPortfolioDispatcher, (actionData) =>\r\n this.onAccountModelPortfolioStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): AccountModelPortfolioStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getAccountModelData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): AccountModelPortfolioStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onAccountModelPortfolioStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../../../react-core/Flux/BaseStore\";\r\nimport { ResponseState } from \"../../../../../../../../react-core/Flux/ResponseState\";\r\nimport { ChargesRedirectionDispatcher } from \"./Variable\";\r\n\r\nexport interface ChargesRedirectionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class ChargesRedirectionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ChargesRedirectionDispatcher, (actionData) =>\r\n this.onChargesRedirectionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): ChargesRedirectionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getChargesRedirectionData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ChargesRedirectionStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onChargesRedirectionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.FlushStore:\r\n this.setState({ actionType: actionData.actionType, data: ResponseState.Empty });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../../../react-core/Flux/BaseStore\";\r\nimport { AccountTransfersCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/AccountTransfers/AccountTransfersCollection\";\r\nimport { CashTransactionCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/CashTransactionCollection\";\r\nimport { ChargesTransaction } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesTransaction\";\r\nimport { CorporateActionsCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/CorporateAction/CorporateActionsCollection\";\r\nimport { InvestmentTransactionCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Investments/InvestmentTransactionCollection\";\r\nimport { TransactionSummarryCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Summary/TransactionSummarryCollection\";\r\nimport { CashPayment } from \"../../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { TransactionEnum } from \"../Resource/Contents\";\r\n\r\nimport { TransactionDispatcher } from \"./Variable\";\r\n\r\nexport interface TransactionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: {\r\n [TransactionEnum.summary]: TransactionSummarryCollection;\r\n [TransactionEnum.accountTransfers]: AccountTransfersCollection;\r\n [TransactionEnum.corporateActions]: CorporateActionsCollection;\r\n [TransactionEnum.investments]: InvestmentTransactionCollection;\r\n [TransactionEnum.cash]: CashTransactionCollection;\r\n [TransactionEnum.otherCorporateActions]: CorporateActionsCollection;\r\n [TransactionEnum.paymentsWithdrawals]: CashPayment[];\r\n [TransactionEnum.charges]: ChargesTransaction[];\r\n };\r\n}\r\n\r\nexport class TransactionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(TransactionDispatcher, (actionData) => this.onTransactionStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): TransactionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): TransactionStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onTransactionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { Dispatcher } from \"../../../../../../../../react-core/Flux/Dispatcher\";\r\nimport { FluxResponse } from \"../../../Store/Variable\";\r\nimport { AccountModelPortfolioStatic } from \"./AccountModelPortfolioStatic\";\r\nimport { ChargesRedirectionStatic } from \"./ChargesRedirectionStatic\";\r\nimport { TransactionStatic } from \"./TransactionStatic\";\r\n\r\nexport const TransactionDispatcher: Dispatcher = new Dispatcher();\r\nexport const TransactionStore: TransactionStatic = new TransactionStatic();\r\n\r\n//Account model portfolio static\r\nexport const AccountModelPortfolioDispatcher: Dispatcher = new Dispatcher();\r\nexport const AccountModelPortfolioStore: AccountModelPortfolioStatic = new AccountModelPortfolioStatic();\r\n\r\n//Charges\r\nexport const ChargesRedirectionDispatcher: Dispatcher = new Dispatcher();\r\nexport const ChargesRedirectionStore: ChargesRedirectionStatic = new ChargesRedirectionStatic();\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { StringHelper } from \"../../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ChargesTransactionSummary } from \"../../../../../../../../../Wrap/Models/Domains/Transactions/Summary/ChargesTransactionSummary\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\nimport AriaTooltip from \"../../../../../../../../Shared/Tooltip/AriaTooltip\";\r\n\r\nimport { chargesToolTipText } from \"../Resources/Content\";\r\n\r\ninterface IChargeTableProps {\r\n data: Array;\r\n}\r\n\r\nexport const ChargesTable = (props: IChargeTableProps) => {\r\n const stringHelper = new StringHelper();\r\n return (\r\n
    \r\n {\r\n return (\r\n <>\r\n \r\n \r\n {row.ProductDisplayName}\r\n \r\n {data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: (\r\n \r\n Investment charge\r\n \r\n {chargesToolTipText.investmentChargeToolTipText}\r\n \r\n \r\n ),\r\n key: \"InvestmentAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Adviser charge\",\r\n key: \"AdviserAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: (\r\n \r\n Platform charge\r\n \r\n {chargesToolTipText.platformchargeToolTipText}\r\n \r\n \r\n ),\r\n key: \"PlatformAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Portfolio Manager Fees\",\r\n key: \"DimAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Total\",\r\n key: \"PlatformAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount:\r\n row.InvestmentAmount + row.AdviserAmount + row.PlatformAmount + row.DimAmount,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Portfolio total\" },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.InvestmentAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.AdviserAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.PlatformAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.DimAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return (\r\n total +\r\n ele.DimAmount +\r\n ele.PlatformAmount +\r\n ele.AdviserAmount +\r\n ele.InvestmentAmount\r\n );\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n >\r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { StringHelper } from \"../../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { MoneyInTransactionSummary } from \"../../../../../../../../../Wrap/Models/Domains/Transactions/Summary/MoneyInTransactionSummary\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\n\r\ninterface IMoneyInTableProps {\r\n data: Array;\r\n}\r\n\r\nexport const PaymentsInTable = (props: IMoneyInTableProps) => {\r\n const stringHelper = new StringHelper();\r\n return (\r\n
    \r\n {\r\n return (\r\n <>\r\n \r\n \r\n {row.ProductDisplayName}\r\n \r\n {data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Regular payment\",\r\n key: \"RegularPaymentAmount\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Single payment\",\r\n key: \"SinglePaymentAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Transfer\",\r\n key: \"TransferAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Interest distributions\",\r\n key: \"InterestDistributionsAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Income distributions\",\r\n key: \"IncomeDistributionsAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Total\",\r\n key: \"SurrenderAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount:\r\n row.RegularPaymentAmount +\r\n row.SinglePaymentAmount +\r\n row.TransferAmount +\r\n row.InterestDistributionsAmount +\r\n row.IncomeDistributionsAmount,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Portfolio total\" },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.RegularPaymentAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.SinglePaymentAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.TransferAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.InterestDistributionsAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.IncomeDistributionsAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return (\r\n total +\r\n ele.RegularPaymentAmount +\r\n ele.SinglePaymentAmount +\r\n ele.TransferAmount +\r\n ele.InterestDistributionsAmount +\r\n ele.IncomeDistributionsAmount\r\n );\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n >\r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { StringHelper } from \"../../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { TransactionSummary } from \"../../../../../../../../../Wrap/Models/Domains/Transactions/Summary/TransactionSummary\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\n\r\ninterface ISummaryTableProps {\r\n data: Array;\r\n}\r\n\r\nexport const SummaryTable = (props: ISummaryTableProps) => {\r\n const stringHelper = new StringHelper();\r\n return (\r\n
    \r\n {\r\n return (\r\n <>\r\n \r\n \r\n {row.ProductDisplayName}\r\n \r\n {data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Money in\",\r\n key: \"MoneyInAmount\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Withdrawals\",\r\n key: \"WithdrawalsAmount\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Charges\",\r\n key: \"ChargesAmount\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Portfolio total\" },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.MoneyInAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.WithdrawalsAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.ChargesAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n >\r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { StringHelper } from \"../../../../../../../../../react-core/Helpers/StringHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { WithdrawalsTransactionSummary } from \"../../../../../../../../../Wrap/Models/Domains/Transactions/Summary/WithdrawalsTransactionSummary\";\r\nimport { Table } from \"../../../../../../../../Shared/Table/Table\";\r\n\r\ninterface IWithdrawalsTableProps {\r\n data: Array;\r\n}\r\nexport const WithdrawalsTable = (props: IWithdrawalsTableProps) => { \r\n const stringHelper = new StringHelper();\r\n return (\r\n
    \r\n {\r\n return (\r\n <>\r\n \r\n \r\n {row.ProductDisplayName}\r\n \r\n {data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Tax free cash\",\r\n key: \"TaxFreeCashAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n row.ProductDisplayName == \"SIPP\" ? \"-\" : \"N/A\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Drawdown income\",\r\n key: \"DrawdownIncomeAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n row.ProductDisplayName == \"SIPP\" ? \"-\" : \"N/A\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Transfer\",\r\n key: \"TransferAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Dividend\",\r\n key: \"DividendAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Withdrawal\",\r\n key: \"WithdrawalAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Surrender\",\r\n key: \"SurrenderAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n { Amount: data, Currency: CurrencyCode.GBP },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n {\r\n title: \"Total\",\r\n key: \"SurrenderAmount\",\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n render: (data, row, index) => {\r\n return MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount:\r\n row.TaxFreeCashAmount +\r\n row.TransferAmount +\r\n row.DividendAmount +\r\n row.WithdrawalAmount +\r\n row.SurrenderAmount +\r\n row.DrawdownIncomeAmount,\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n );\r\n },\r\n },\r\n ]}\r\n TotalBody={[\r\n { data: \"Portfolio total\" },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.TaxFreeCashAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.DrawdownIncomeAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.TransferAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.DividendAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.WithdrawalAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return total + ele.SurrenderAmount;\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n data: MoneyDisplayHelper.getMoneyFormatWithEmpty(\r\n {\r\n Amount: (props.data || []).reduce((total, ele) => {\r\n return (\r\n total +\r\n ele.TaxFreeCashAmount +\r\n ele.DrawdownIncomeAmount +\r\n ele.TransferAmount +\r\n ele.DividendAmount +\r\n ele.SurrenderAmount +\r\n ele.WithdrawalAmount\r\n );\r\n }, 0),\r\n Currency: CurrencyCode.GBP,\r\n },\r\n \"-\",\r\n true\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n },\r\n ]}\r\n >\r\n
    \r\n );\r\n};\r\n","export const chargesToolTipText={\r\n chargesHeadingToolTip:\"The data on this page will show which sub accounts these charges are against rather than the account these charges are paid from.\",\r\n platformchargeToolTipText:\"Platform charge figures include any Product Administration charges applied to SIPP or Bond product\",\r\n investmentChargeToolTipText:\"Investment charges will only apply to certain accounts prior to 2012 (Additional Administration charges).\"\r\n}","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { TransactionSummarryCollection } from \"../../../../../../../../Wrap/Models/Domains/Transactions/Summary/TransactionSummarryCollection\";\r\nimport AriaTooltip from \"../../../../../../../Shared/Tooltip/AriaTooltip\";\r\nimport { ChargesTable } from \"./Components/ChargesTable\";\r\nimport { PaymentsInTable } from \"./Components/PaymentsInsTable\";\r\nimport { SummaryTable } from \"./Components/SummaryTables\";\r\nimport { WithdrawalsTable } from \"./Components/WithdrawalsTable\";\r\nimport { chargesToolTipText } from \"./Resources/Content\";\r\n\r\ninterface ITransactionsSummaryProps {\r\n data: TransactionSummarryCollection;\r\n from?: Date;\r\n to?: Date;\r\n onTableChange: () => void;\r\n}\r\n\r\nexport const TransactionsSummary = (props: ITransactionsSummaryProps) => {\r\n const fromDateStr = props.from == null ? \"\" : JsonDateParser.getFormatDateString(props.from, \"dd MM yyyy\", true);\r\n const toDateStr = props.to == null ? \"\" : JsonDateParser.getFormatDateString(props.to, \"dd MM yyyy\", true);\r\n return (\r\n
    \r\n

    \r\n Summary from {fromDateStr} until {toDateStr}\r\n

    \r\n

    This shows a summary of money paid in and/or paid out of your portfolio.

    \r\n \r\n

    Money in

    \r\n \r\n

    Withdrawals

    \r\n \r\n

    \r\n Charges\r\n \r\n {chargesToolTipText.chargesHeadingToolTip}\r\n \r\n

    \r\n \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { SelectEditor } from \"../../../../../../../react-core/Html/SelectEditor\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { SortDirection } from \"../../../../../../../Wrap/Core/SortingAndPaging/SortDirection\";\r\nimport { ClientAccount } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { AccountTransfersCollection } from \"../../../../../../../Wrap/Models/Domains/Transactions/AccountTransfers/AccountTransfersCollection\";\r\nimport { AccountTransfersSort } from \"../../../../../../../Wrap/Models/Domains/Transactions/AccountTransfers/AccountTransfersSort\";\r\nimport { CashTransactionTypes } from \"../../../../../../../Wrap/Models/Domains/Transactions/Cash/CashTransactionTypes\";\r\nimport { CashTransactionCollection } from \"../../../../../../../Wrap/Models/Domains/Transactions/CashTransactionCollection\";\r\nimport { ChargesQuerySort } from \"../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesQuerySort\";\r\nimport { ChargesQueryType } from \"../../../../../../../Wrap/Models/Domains/Transactions/Charges/ChargesQueryType\";\r\nimport { CorporateActionsCollection } from \"../../../../../../../Wrap/Models/Domains/Transactions/CorporateAction/CorporateActionsCollection\";\r\nimport { InvestmentTransactionCollection } from \"../../../../../../../Wrap/Models/Domains/Transactions/Investments/InvestmentTransactionCollection\";\r\nimport { TransactionSummarryCollection } from \"../../../../../../../Wrap/Models/Domains/Transactions/Summary/TransactionSummarryCollection\";\r\nimport { CashPayment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { CashPaymentTypeQuery } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\nimport { DateRange } from \"../../../../../../Shared/Components/DateRange\";\r\nimport { PermissionAction } from \"../../../../../../Shared/Permission/Action/PermissionAction\";\r\nimport { Permission } from \"../../../../../../Shared/Permission/Permission\";\r\nimport { sortDirection } from \"../../../../../../Shared/Table/Table\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { UserStore } from \"../../../../../Stroes/Variable\";\r\nimport { BondRegularPaymentAction } from \"./Actions/BondRegularPaymentAction\";\r\nimport { BondRegularPaymentStore } from \"../../Store/Variables\";\r\nimport { AccountTransfers } from \"./AccountTransfer/AccountTransfers\";\r\nimport { PortfolioDashboardMultiSelectionStore, PortfolioDashboardStore } from \"../../Store/Variable\";\r\nimport { IPortfolioDashboardComponentProps, PortfolioDashboardComponent } from \"../Common/PortfolioDashboardComponent\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { LoadingSkeletonType } from \"../../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { PresentationContext } from \"../Common/PresentationViewWrapper\";\r\nimport { PresentationViewButton } from \"../Common/PresentationViewButton\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { orderHeadAccountGroupByInvestorType, selectedHeadAccounts } from \"../Common/PortfolioDashboardHelper\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { ContextStore } from \"../../../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { setActionMenuParams } from \"../../../../../../DLU/DLUHelper\";\r\nimport { SideMenu } from \"../../../../../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { DateOptions } from \"../../../../../../Shared/Components/Resource/Contents\";\r\nimport { portfolioDashboardTabEnum } from \"../../Resource/Content\";\r\nimport { TransactionAction } from \"./Actions/TransactionActions\";\r\nimport { Cash } from \"./Cash/Cash\";\r\nimport { Charges } from \"./Charges/Charges\";\r\nimport { AdvancedSearch } from \"./Components/AdvancedSearch\";\r\nimport { CorporateActions } from \"./CorporateActions/CorporateActions\";\r\nimport { Investments } from \"./Investments/Investments\";\r\nimport { PaymentsWithdrawals } from \"./PaymentsWithdrawals/PaymentsWithdrawals\";\r\nimport {\r\n TransactionEnum,\r\n TransactionEnumArray,\r\n UnModelTypeOptions,\r\n CashUnModelTypeOptions,\r\n SortNameEnum,\r\n cashPaymentTypeArray,\r\n cashPaymentTypeMap,\r\n chargesQueryTypeArray,\r\n chargesQueryTypeMap,\r\n cashPaymentFrequencyArray,\r\n cashPaymentFrequencyMap,\r\n} from \"./Resource/Contents\";\r\nimport { TransactionStore } from \"./Store/Variable\";\r\nimport { TransactionsSummary } from \"./Summary/Summary\";\r\n\r\ninterface IPortfolioDashboardTransactionsState {\r\n userInfo: User;\r\n transactionType: TransactionEnum;\r\n from: Date;\r\n to: Date;\r\n cashPaymentType: CashPaymentTypeQuery;\r\n cashPaymentFrequency: CashPaymentFrequencyQuery;\r\n dateSelected: string;\r\n isLoading: boolean;\r\n fromInception: boolean;\r\n chargeType: ChargesQueryType;\r\n instrumentCode: string;\r\n investmentInstrumentCode: string;\r\n transSource: string;\r\n modelId: number;\r\n isPartialLoading: boolean;\r\n data: {\r\n [TransactionEnum.summary]: TransactionSummarryCollection;\r\n [TransactionEnum.accountTransfers]: AccountTransfersCollection;\r\n [TransactionEnum.corporateActions]: CorporateActionsCollection;\r\n [TransactionEnum.otherCorporateActions]: CorporateActionsCollection;\r\n [TransactionEnum.paymentsWithdrawals]: CashPayment[];\r\n [TransactionEnum.investments]: InvestmentTransactionCollection;\r\n [TransactionEnum.cash]: CashTransactionCollection;\r\n [TransactionEnum.charges]: CashPayment[];\r\n };\r\n bondPayments?: any;\r\n allAccounts: ClientAccount[];\r\n headAccountSelected: string;\r\n subAccountSelected: string;\r\n subAccountTypeSelected: SubAccountType;\r\n}\r\n\r\ninterface IPortfolioDashboardTransactionsProps extends IPortfolioDashboardComponentProps {}\r\n\r\nexport class PortfolioDashboardTransactions extends PortfolioDashboardComponent<\r\n IPortfolioDashboardTransactionsProps,\r\n IPortfolioDashboardTransactionsState\r\n> {\r\n constructor(props: IPortfolioDashboardTransactionsProps) {\r\n super(props);\r\n\r\n this.subscribeToStore(TransactionStore, () => this.onTransactionStoreChange());\r\n this.subscribeToStore(BondRegularPaymentStore, () => this.onBondStoreChange());\r\n }\r\n\r\n initState() {\r\n const parameters = getQueryParameters();\r\n const initDateRange = DateRange.initializeDateRange(this.getSelectedAccountsInceptionDate());\r\n\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n transactionType:\r\n parameters[\"transtypeselect\"] != null\r\n ? (decodeURI(parameters[\"transtypeselect\"]) as TransactionEnum)\r\n : parameters[\"view\"] == null || TransactionEnumArray[parameters[\"view\"]] == null\r\n ? PermissionAction.getTransactionDropdownOptions().includes(TransactionEnum.summary)\r\n ? TransactionEnum.summary\r\n : PermissionAction.getTransactionDropdownOptions()[0]\r\n : TransactionEnumArray[parameters[\"view\"]],\r\n from: parameters[\"from\"] ? new Date(decodeURI(parameters[\"from\"])) : initDateRange.from,\r\n to: parameters[\"to\"] ? new Date(decodeURI(parameters[\"to\"])) : initDateRange.to,\r\n dateSelected: parameters[\"dateSelected\"] ? parameters[\"dateselected\"] : initDateRange.dateSelected,\r\n isLoading: false,\r\n chargeType: ChargesQueryType.All,\r\n isPartialLoading: true,\r\n cashPaymentType: CashPaymentTypeQuery.All,\r\n cashPaymentFrequency: CashPaymentFrequencyQuery.All,\r\n fromInception: parameters[\"fromInception\"] || initDateRange.fromInception,\r\n instrumentCode: null,\r\n investmentInstrumentCode: parameters[\"investmentinstrumentcode\"],\r\n transSource: UnModelTypeOptions[0].key,\r\n modelId: 0,\r\n data: null,\r\n bondPayments: null,\r\n allAccounts: [],\r\n headAccountSelected: null,\r\n subAccountSelected: null,\r\n subAccountTypeSelected: SubAccountType.NotSpecified,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const indexIsBtnPresentationClicked = Object.keys(portfolioDashboardTabEnum).indexOf(\r\n portfolioDashboardTabEnum.Transactions\r\n );\r\n if (this.props.isBtnPresentationClicked[indexIsBtnPresentationClicked]) {\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Transactions,\r\n this.props.isBtnPresentationClicked\r\n );\r\n this.setState({ transactionType: TransactionEnum.summary });\r\n } else {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: Urls.get()\r\n .main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n })\r\n .transactions.getUrl(),\r\n pageTitle: `${document.title} - client - transactions`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n getData(selectedSubAccountHierarchyIds: string[]) {\r\n const allAccounts = orderHeadAccountGroupByInvestorType(PortfolioDashboardStore.getData());\r\n const multiSelection = selectedSubAccountHierarchyIds;\r\n const selectedHeadAccountsArray = selectedHeadAccounts(multiSelection, allAccounts);\r\n const urlHierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const { entityId, hierarchyLevel } = HierarchyIdHelper.generateHierarchyId(urlHierarchyId);\r\n let headAccountSelected,\r\n subAccountSelected = null,\r\n subAccountTypeSelected = SubAccountType.NotSpecified;\r\n if (hierarchyLevel === HierarchyLevelName.Account) {\r\n headAccountSelected = urlHierarchyId;\r\n subAccountSelected = urlHierarchyId;\r\n } else if (hierarchyLevel === HierarchyLevelName.SubAccount) {\r\n allAccounts.forEach((x) => {\r\n const subAccounts = x.SubAccounts.filter((s) => s.HierarchyId == urlHierarchyId);\r\n if (subAccounts.length) {\r\n headAccountSelected = x.HierarchyId;\r\n subAccountTypeSelected = subAccounts[0].SubAccountType;\r\n return;\r\n }\r\n });\r\n subAccountSelected = urlHierarchyId;\r\n } else {\r\n //default set as the first head account\r\n headAccountSelected = selectedHeadAccountsArray[0]?.HierarchyId;\r\n const allSubAccounts =\r\n selectedHeadAccountsArray.find((o) => o.HierarchyId == selectedHeadAccountsArray[0]?.HierarchyId)\r\n ?.SubAccounts || [];\r\n const subAccounts = allSubAccounts.filter((ele) => multiSelection.includes(ele.HierarchyId));\r\n let _sub = selectedHeadAccountsArray[0]?.HierarchyId;\r\n if (allSubAccounts.length !== subAccounts.length) {\r\n _sub = subAccounts?.[0].HierarchyId;\r\n subAccountTypeSelected = subAccounts?.[0].SubAccountType;\r\n }\r\n subAccountSelected = _sub;\r\n }\r\n\r\n const { minDate } = DateRange.getLeastDate(subAccountSelected);\r\n const initDateRange = DateRange.initializeDateRange(minDate);\r\n this.setState(\r\n {\r\n allAccounts: selectedHeadAccountsArray,\r\n headAccountSelected: headAccountSelected,\r\n subAccountSelected: subAccountSelected,\r\n subAccountTypeSelected: subAccountTypeSelected,\r\n from: initDateRange.from,\r\n to: initDateRange.to,\r\n dateSelected: initDateRange.dateSelected,\r\n fromInception: initDateRange.fromInception,\r\n },\r\n () => this.getTransactionData()\r\n );\r\n }\r\n\r\n private getSubAccountData(key, Options: any[], isTxt: boolean) {\r\n let val;\r\n for (let i = 0; i < Options.length; i++) {\r\n if (Options[i].key === key) {\r\n val = isTxt ? Options[i].value : Options[i].type;\r\n return val;\r\n }\r\n }\r\n return val;\r\n }\r\n\r\n private getTransactionData() {\r\n const { transactionType } = this.state;\r\n switch (transactionType) {\r\n case TransactionEnum.summary:\r\n this.setState({ isLoading: true });\r\n this.getSummary();\r\n break;\r\n case TransactionEnum.cash:\r\n this.setState({ isLoading: true });\r\n this.getCashTransactions(0, CashUnModelTypeOptions[0].key, SortDirection.Descending, 1, 10);\r\n break;\r\n case TransactionEnum.investments:\r\n this.setState({ isLoading: true, isPartialLoading: true });\r\n this.getInvestmentTransactions(\r\n 0,\r\n UnModelTypeOptions[0].key,\r\n SortNameEnum.AsAt,\r\n sortDirection.DESC,\r\n 1,\r\n 10\r\n );\r\n break;\r\n case TransactionEnum.corporateActions:\r\n this.setState({ isLoading: true });\r\n this.getCorporateActions(\"Dividend\", SortNameEnum.ExDate, sortDirection.DESC, 1, 10);\r\n break;\r\n case TransactionEnum.otherCorporateActions:\r\n this.setState({ isLoading: true });\r\n this.getCorporateActions(null, SortNameEnum.ExDate, sortDirection.DESC, 1, 10);\r\n break;\r\n case TransactionEnum.paymentsWithdrawals:\r\n this.setState({ isLoading: true });\r\n this.getPaymentsWithdrawals();\r\n break;\r\n case TransactionEnum.accountTransfers:\r\n this.setState({ isLoading: true });\r\n this.getAccountTransfers(AccountTransfersSort.Date, false, 1, 10);\r\n break;\r\n case TransactionEnum.charges:\r\n this.setState({ isLoading: true });\r\n this.getCharges(ChargesQuerySort.Date, false);\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private onTransactionStoreChange() {\r\n const data = TransactionStore.getData();\r\n if (data && data[this.state.transactionType])\r\n {this.setState({ isLoading: false, data, isPartialLoading: false });}\r\n }\r\n\r\n private onBondStoreChange(): void {\r\n const data = BondRegularPaymentStore.getData();\r\n this.setState({ bondPayments: data });\r\n }\r\n\r\n private getInvestmentTransactions = (\r\n modelId: number,\r\n transSource: string,\r\n sortName: SortNameEnum,\r\n sortDirection: sortDirection,\r\n minRow: number,\r\n maxRow: number,\r\n newHierarchyId?: string,\r\n cNoteId?: number,\r\n investmentInstrumentCode?: string\r\n ) => {\r\n const { subAccountSelected, from, to } = this.state;\r\n const hierarchyId = newHierarchyId ? newHierarchyId : subAccountSelected;\r\n const security =\r\n investmentInstrumentCode != null ? investmentInstrumentCode : this.state.investmentInstrumentCode || \"\";\r\n const noteId = cNoteId ? cNoteId : 0;\r\n if (!CommonHelper.isNullOrEmpty(hierarchyId)) {\r\n TransactionAction.getInvestmentTransactions(\r\n hierarchyId,\r\n from,\r\n to,\r\n noteId,\r\n security,\r\n transSource,\r\n sortName,\r\n sortDirection.toString(),\r\n modelId,\r\n minRow,\r\n maxRow\r\n );\r\n }\r\n };\r\n\r\n private getCashTransactions = (\r\n modelId: number,\r\n transactionType: CashTransactionTypes,\r\n sortDirection: SortDirection,\r\n minRow: number,\r\n maxRow: number\r\n ) => {\r\n const { subAccountSelected, from, to, fromInception } = this.state;\r\n const hierarchyId = subAccountSelected;\r\n if (!CommonHelper.isNullOrEmpty(hierarchyId)) {\r\n TransactionAction.getCashTransactions(\r\n hierarchyId,\r\n from,\r\n to,\r\n fromInception,\r\n transactionType as any,\r\n modelId,\r\n sortDirection,\r\n minRow,\r\n maxRow\r\n );\r\n }\r\n };\r\n\r\n private getSummary = () => {\r\n const { subAccountSelected, from, to, fromInception } = this.state;\r\n if (!CommonHelper.isNullOrEmpty(subAccountSelected)) {\r\n TransactionAction.getSummaryTransactions(subAccountSelected, from, to, fromInception);\r\n }\r\n };\r\n\r\n private getAccountTransfers = (\r\n sortBy: AccountTransfersSort,\r\n orderByAESC: boolean,\r\n minrow: number,\r\n maxrow: number\r\n ) => {\r\n const { subAccountSelected, from, to, fromInception } = this.state;\r\n if (!CommonHelper.isNullOrEmpty(subAccountSelected)) {\r\n TransactionAction.getAccountTransfer(\r\n subAccountSelected,\r\n from,\r\n to,\r\n fromInception,\r\n minrow,\r\n maxrow,\r\n sortBy,\r\n orderByAESC\r\n );\r\n }\r\n };\r\n\r\n private getCorporateActions = (\r\n corpActionType: string,\r\n sortName: SortNameEnum,\r\n sortDirection: sortDirection,\r\n minRow: number,\r\n maxRow: number\r\n ) => {\r\n const { subAccountSelected, from, to, fromInception, data, instrumentCode } = this.state;\r\n if (!CommonHelper.isNullOrEmpty(subAccountSelected)) {\r\n if (corpActionType == \"Dividend\")\r\n {TransactionAction.getDividendSummary(\r\n subAccountSelected,\r\n from,\r\n to,\r\n fromInception,\r\n instrumentCode,\r\n corpActionType,\r\n sortName,\r\n sortDirection.toString(),\r\n minRow,\r\n maxRow\r\n );}\r\n else\r\n {TransactionAction.getOtherCorporateActions(\r\n subAccountSelected,\r\n from,\r\n to,\r\n fromInception,\r\n instrumentCode,\r\n corpActionType,\r\n sortName,\r\n sortDirection.toString(),\r\n minRow,\r\n maxRow\r\n );}\r\n }\r\n };\r\n\r\n private getCharges = (sortBy: ChargesQuerySort, orderByAESC: boolean) => {\r\n const { subAccountSelected, from, to, fromInception, chargeType } = this.state;\r\n if (!CommonHelper.isNullOrEmpty(subAccountSelected)) {\r\n TransactionAction.getCharges(subAccountSelected, from, to, fromInception, chargeType, sortBy, orderByAESC);\r\n }\r\n };\r\n\r\n private getPaymentsWithdrawals() {\r\n const {\r\n subAccountSelected,\r\n from,\r\n to,\r\n fromInception,\r\n cashPaymentFrequency,\r\n cashPaymentType,\r\n subAccountTypeSelected,\r\n } = this.state;\r\n if (!CommonHelper.isNullOrEmpty(subAccountSelected)) {\r\n TransactionAction.getPaymentWithdrawals(\r\n subAccountSelected,\r\n from,\r\n to,\r\n fromInception,\r\n cashPaymentType,\r\n cashPaymentFrequency\r\n );\r\n if (\r\n subAccountTypeSelected == SubAccountType.OnshoreBond ||\r\n subAccountTypeSelected == SubAccountType.OffshoreBond ||\r\n subAccountTypeSelected == SubAccountType.NotSpecified\r\n ) {\r\n BondRegularPaymentAction.getBondRegularPayment(subAccountSelected);\r\n }\r\n }\r\n }\r\n\r\n private showSelectedOption = (transactionType: TransactionEnum) => {\r\n const { data, subAccountSelected, isPartialLoading, from, to, fromInception } = this.state;\r\n switch (transactionType) {\r\n case TransactionEnum.summary:\r\n return (\r\n \r\n {\r\n this.getSummary();\r\n }}\r\n />\r\n \r\n );\r\n case TransactionEnum.cash:\r\n return (\r\n \r\n {\r\n this.getCashTransactions(modelId, transSource, sortDirection, minRow, maxRow);\r\n this.setState({\r\n transSource: transSource,\r\n modelId: modelId,\r\n });\r\n }}\r\n />\r\n \r\n );\r\n case TransactionEnum.investments:\r\n return (\r\n \r\n {\r\n this.getInvestmentTransactions(\r\n modelId,\r\n transSource,\r\n sortName,\r\n sortDirection,\r\n minRow,\r\n maxRow,\r\n newHierarchyId,\r\n cNoteId,\r\n investmentInstrumentCode\r\n );\r\n this.setState({\r\n transSource: transSource,\r\n modelId: modelId,\r\n isPartialLoading: true,\r\n investmentInstrumentCode: investmentInstrumentCode,\r\n });\r\n }}\r\n />\r\n \r\n );\r\n case TransactionEnum.paymentsWithdrawals:\r\n return (\r\n \r\n {\r\n this.getPaymentsWithdrawals();\r\n }}\r\n />\r\n \r\n );\r\n case TransactionEnum.accountTransfers:\r\n return (\r\n \r\n {\r\n this.getAccountTransfers(sortBy, orderBy, min, max);\r\n }}\r\n />\r\n \r\n );\r\n case TransactionEnum.corporateActions:\r\n return (\r\n \r\n \r\n this.getCorporateActions(\"Dividend\", sortName, sortDirection, minRow, maxRow)\r\n }\r\n selectedSubAccount={subAccountSelected}\r\n />\r\n \r\n );\r\n case TransactionEnum.otherCorporateActions:\r\n return (\r\n \r\n \r\n this.getCorporateActions(null, sortName, sortDirection, minRow, maxRow)\r\n }\r\n selectedSubAccount={subAccountSelected}\r\n />\r\n \r\n );\r\n case TransactionEnum.charges:\r\n return (\r\n \r\n {\r\n this.getCharges(sortBy, orderBy);\r\n }}\r\n />\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n private findInvestment(instrumentCode) {\r\n const { transactionType } = this.state;\r\n let corpActionType = null;\r\n if (transactionType == TransactionEnum.corporateActions) {\r\n corpActionType = \"Dividend\";\r\n }\r\n this.setState({ instrumentCode: instrumentCode }, () => {\r\n this.getCorporateActions(corpActionType, SortNameEnum.ExDate, sortDirection.DESC, 1, 10);\r\n });\r\n }\r\n\r\n private getList() {\r\n const { bondPayments } = this.state;\r\n const list = new Array();\r\n bondPayments?.forEach((element) => {\r\n element.Payments.forEach((sub) => {\r\n list.push(sub);\r\n });\r\n });\r\n return list;\r\n }\r\n\r\n private handleLaunchpadClick() {\r\n const context: Record = {};\r\n\r\n const { headAccountSelected, subAccountSelected } = this.state;\r\n\r\n const customerHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (customerHierarchyId) {context.customerId = customerHierarchyId;}\r\n if (headAccountSelected) {context.accountGroupId = headAccountSelected;}\r\n // handle scenario of head account selected\r\n if (subAccountSelected && headAccountSelected !== subAccountSelected) {context.accountId = subAccountSelected;}\r\n\r\n (window as any).AppStore.open(context);\r\n }\r\n\r\n private getSelectedClaccountID(): string {\r\n const data = PortfolioDashboardStore.getData();\r\n const { allAccounts, subAccountSelected, headAccountSelected } = this.state;\r\n const { hierarchyLevel } = HierarchyIdHelper.generateHierarchyId(subAccountSelected);\r\n if (allAccounts && allAccounts.length > 0) {\r\n if (hierarchyLevel == HierarchyLevelName.Account) {\r\n return (allAccounts || []).find((acc) => acc.HierarchyId == subAccountSelected)?.HeadClAccountId;\r\n }\r\n return ((allAccounts || []).find((acc) => acc.HierarchyId == headAccountSelected)?.SubAccounts || []).find(\r\n (subAcc) => subAcc.HierarchyId == subAccountSelected\r\n )?.ClAccountId;\r\n } else {\r\n return data[0]?.HeadClAccountId;\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n from,\r\n to,\r\n dateSelected,\r\n transactionType,\r\n isLoading,\r\n headAccountSelected,\r\n subAccountSelected,\r\n allAccounts,\r\n } = this.state;\r\n\r\n const { minDate, isDisable } = DateRange.getLeastDate(subAccountSelected);\r\n const { isPresentationView } = this.context;\r\n\r\n const subaccountViewDic: any[] = [];\r\n\r\n const allSubAccounts = allAccounts.find((o) => o.HierarchyId == headAccountSelected)?.SubAccounts || [];\r\n const subAccounts = allSubAccounts.filter((ele) =>\r\n PortfolioDashboardMultiSelectionStore.getData().includes(ele.HierarchyId)\r\n );\r\n if (allSubAccounts.length == subAccounts.length) {\r\n subaccountViewDic.push({ key: headAccountSelected, value: \"Portfolio view\" });\r\n }\r\n subAccounts?.forEach((item) => {\r\n const accoutNum = \" \" + item.ClAccountId.substr(item.ClAccountId.indexOf(\"-\") + 1);\r\n const _value = item.ProductDisplayName + accoutNum;\r\n subaccountViewDic.push({ key: item.HierarchyId, value: _value, type: item.SubAccountType });\r\n });\r\n\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n x.HierarchyId)}\r\n getText={(x) => {\r\n const account = allAccounts.find((o) => o.HierarchyId == x);\r\n return `${account?.AccountName} ${account?.HeadClAccountId}`;\r\n }}\r\n onChange={(val) => {\r\n const minDate = DateRange.getLeastDate(val).minDate;\r\n const dateRange = DateRange.initializeDateRange(minDate);\r\n\r\n const allSubAccounts =\r\n allAccounts.find((o) => o.HierarchyId == val)?.SubAccounts || [];\r\n const subAccounts = allSubAccounts.filter((ele) =>\r\n PortfolioDashboardMultiSelectionStore.getData().includes(ele.HierarchyId)\r\n );\r\n let _sub = val;\r\n let subAccountTypeSelected = SubAccountType.NotSpecified;\r\n if (allSubAccounts.length !== subAccounts.length) {\r\n _sub = subAccounts?.[0].HierarchyId;\r\n subAccountTypeSelected = subAccounts?.[0].SubAccountType;\r\n }\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: `select account`,\r\n },\r\n });\r\n this.setState(\r\n {\r\n headAccountSelected: val,\r\n subAccountSelected: _sub,\r\n subAccountTypeSelected: subAccountTypeSelected,\r\n from: dateRange.from,\r\n to: dateRange.to,\r\n dateSelected: dateRange.dateSelected,\r\n investmentInstrumentCode: \"\",\r\n },\r\n () => this.getTransactionData()\r\n );\r\n }}\r\n />\r\n
    \r\n {checkPermission(UserClaim.AdviserPortalDluOrdersCanView) && (\r\n
    \r\n {\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: `pending transactions`,\r\n },\r\n });\r\n setActionMenuParams({\r\n levelHierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n this.props.customerid\r\n ),\r\n subaccountHierarchyId: null,\r\n headaccounthierarchyId: this.state.headAccountSelected,\r\n SideMenu: SideMenu.Portfolio,\r\n });\r\n }}\r\n className=\"hyperlink-next text-size-18\"\r\n >\r\n Pending transactions\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n <>\r\n
    \r\n ele.key)}\r\n getText={(x) => this.getSubAccountData(x, subaccountViewDic, true)}\r\n onChange={(val) => {\r\n const minDate = DateRange.getLeastDate(val).minDate;\r\n const dateRange = DateRange.initializeDateRange(minDate);\r\n const type = this.getSubAccountData(val, subaccountViewDic, false);\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"view selector\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: this.getSubAccountData(val, subaccountViewDic, true),\r\n },\r\n });\r\n this.setState(\r\n {\r\n subAccountSelected: val,\r\n from: dateRange.from,\r\n to: dateRange.to,\r\n dateSelected: dateRange.dateSelected,\r\n investmentInstrumentCode: \"\",\r\n subAccountTypeSelected: type,\r\n },\r\n () => this.getTransactionData()\r\n );\r\n }}\r\n />\r\n
    \r\n {!isPresentationView && (\r\n
    \r\n o}\r\n onChange={(e) => {\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"transaction type selector\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: e.toLowerCase(),\r\n },\r\n });\r\n this.setState({ transactionType: e }, () => this.getTransactionData());\r\n }}\r\n />\r\n
    \r\n )}\r\n {transactionType !== TransactionEnum.paymentsWithdrawals && (\r\n
    \r\n {\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"date range selector\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: CommonHelper.getOptionsTxt(\r\n dateSelected,\r\n DateOptions\r\n ).toLowerCase(),\r\n },\r\n });\r\n this.setState(\r\n {\r\n from: fromDate,\r\n to: toDate,\r\n dateSelected: dateSelected,\r\n fromInception: fromInception,\r\n },\r\n () => this.getTransactionData()\r\n );\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: `presentation mode`,\r\n },\r\n });\r\n this.props.onPresentationViewStatusChange(\r\n portfolioDashboardTabEnum.Transactions,\r\n this.props.isBtnPresentationClicked\r\n );\r\n }}\r\n />\r\n {isAppStoreEnabled && (\r\n \r\n Applications pad\r\n \r\n \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n {!isPresentationView &&\r\n (transactionType == TransactionEnum.charges ||\r\n transactionType == TransactionEnum.paymentsWithdrawals) && (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {transactionType !== TransactionEnum.charges ? (\r\n {\r\n return cashPaymentTypeMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: `select transaction type`,\r\n },\r\n });\r\n this.setState({ cashPaymentType: v }, () =>\r\n this.getTransactionData()\r\n );\r\n }}\r\n />\r\n ) : (\r\n {\r\n return chargesQueryTypeMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: `select charge type`,\r\n },\r\n });\r\n this.setState({ chargeType: v }, () =>\r\n this.getTransactionData()\r\n );\r\n }}\r\n />\r\n )}\r\n
    \r\n {transactionType == TransactionEnum.paymentsWithdrawals && (\r\n
    \r\n {\r\n return cashPaymentFrequencyMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.addEvent({\r\n event: \"transactionstab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.transactionsTab,\r\n eventLabel: `select payment frequency`,\r\n },\r\n });\r\n this.setState({ cashPaymentFrequency: v }, () =>\r\n this.getTransactionData()\r\n );\r\n }}\r\n />\r\n
    \r\n )}\r\n {transactionType != TransactionEnum.paymentsWithdrawals &&\r\n transactionType != TransactionEnum.charges ? (\r\n
    \r\n {/* */}\r\n
    \r\n ) : null}\r\n
    \r\n \r\n )}\r\n\r\n {!isPresentationView && this.renderAdvanceSearch()}\r\n \r\n {this.showSelectedOption(isPresentationView ? TransactionEnum.summary : transactionType)}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderAdvanceSearch() {\r\n const { data, transactionType } = this.state;\r\n let isCorp = false;\r\n let isOtherCorp = false;\r\n\r\n if (transactionType == TransactionEnum.corporateActions && data && data[TransactionEnum.corporateActions]) {\r\n isCorp = data[TransactionEnum.corporateActions].Items.length > 0;\r\n }\r\n if (\r\n transactionType == TransactionEnum.otherCorporateActions &&\r\n data &&\r\n data[TransactionEnum.otherCorporateActions]\r\n ) {\r\n isOtherCorp = data[TransactionEnum.otherCorporateActions].Items.length > 0;\r\n }\r\n\r\n if (this.state.instrumentCode != null || isCorp || isOtherCorp) {\r\n return (\r\n
    \r\n {\r\n this.findInvestment(instrumentCode);\r\n }}\r\n />\r\n
    \r\n );\r\n }\r\n return null;\r\n }\r\n}\r\nPortfolioDashboardTransactions.contextType = PresentationContext;\r\n","import { ContentDatePicker } from \"../../../../../Shared/Entities/Constants/DateConstants\";\r\n\r\nexport enum portfolioDashboardTabEnum {\r\n Summary = \"Summary\",\r\n Investments = \"Investments\",\r\n Performance = \"Performance\",\r\n Insights = \"Insights\",\r\n Transactions = \"Transactions\",\r\n Activity = \"Activity\",\r\n Documents = \"Documents\",\r\n Roles = \"Roles\",\r\n ESG = \"ESG\"\r\n}\r\n\r\nexport enum portfolioDashboardTabPresentationEnum {\r\n Summary = \"Summary\",\r\n Investments = \"Investments\",\r\n Performance = \"Performance\",\r\n Insights = \"Insights\",\r\n Transactions = \"Transactions\",\r\n Documents = \"Documents\",\r\n Roles = \"Roles\",\r\n}\r\n\r\nexport enum prospectDashboardTabEnum {\r\n Activity = \"Activity\",\r\n Documents = \"Documents\",\r\n Roles = \"Roles\",\r\n}\r\n\r\nexport enum prospectDashboardTabPresentationEnum {\r\n Documents = \"Documents\",\r\n Roles = \"Roles\",\r\n}\r\n\r\nexport enum consolidatedAccountDashboardTabEnum {\r\n Summary = \"Summary\",\r\n Investments = \"Investments\",\r\n Performance = \"Performance\",\r\n Insights = \"Insights\",\r\n Transactions = \"Transactions\",\r\n Documents = \"Documents\",\r\n ESG = \"ESG\"\r\n}\r\n\r\nexport enum dashboardRelatedPageEnum {\r\n ProductOverview = \"ProductOverview\",\r\n ClientReport = \"ClientReport\",\r\n}\r\n\r\nexport const defaultAccountMinDate = ContentDatePicker.DefaultMinDate;\r\n","import { AssetClassType } from \"../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ViewType } from \"../../../../../../Wrap/Mapping/PortfolioAnalysis/Investment/Enum/ViewType\";\r\n\r\nexport enum tabContent {\r\n Summary = \"Summary\",\r\n Investments = \"Investments\",\r\n Performance = \"Performance\",\r\n Insights = \"Insights\",\r\n Transactions = \"Transactions\",\r\n Documents = \"Documents\",\r\n AccountInfo = \"Account info\",\r\n}\r\n\r\nexport const InvestmentType = {\r\n IndividualInvestments: { title: \"Investment holdings\", key: \"holdings\" },\r\n ModelPortfolioInvestments: { title: \"Managed portfolios\", key: \"portfolios\" },\r\n OffPlatformInvestments: { title: \"Off Platform Investments\", key: \"opi\" },\r\n};\r\n\r\nexport const tabContentArray = [\r\n tabContent.Summary,\r\n tabContent.Investments,\r\n tabContent.Performance,\r\n tabContent.Insights,\r\n tabContent.Transactions,\r\n tabContent.Documents,\r\n tabContent.AccountInfo,\r\n];\r\n\r\nexport const AssetClassTypeArray = [AssetClassType.Tier1, AssetClassType.Tier2, AssetClassType.NotSet];\r\n\r\nexport const AssetClassTypeMap = {\r\n [AssetClassType.Tier1]: \"Tier 1\",\r\n [AssetClassType.Tier2]: \"Tier 2\",\r\n [AssetClassType.NotSet]: \"No Tiers\",\r\n};\r\n\r\nexport const AssetClassTypeTiersArray = [AssetClassType.Tier1, AssetClassType.Tier2];\r\n\r\nexport const AssetClassTypeTiersMap = {\r\n [AssetClassType.Tier1]: \"Tier 1\",\r\n [AssetClassType.Tier2]: \"Tier 2\",\r\n};\r\n\r\nexport const ViewTypeArray = [ViewType.Product, ViewType.Asset];\r\n\r\nexport const ViewTypeMap = {\r\n [ViewType.Product]: \"Product\",\r\n [ViewType.Asset]: \"Asset\",\r\n};\r\n\r\nexport const clientDashboardHeaderContents = {\r\n lastLoginLabel: (numberOfDays: number) => ` Client last logged in ${numberOfDays} days ago`,\r\n ClientPortalViewLabel: \"Client's portal view\",\r\n AppStoreLaunchPad: \"Launch Apps\",\r\n totalPortfolioValueLabel: \"Total portfolio value as at\",\r\n};\r\n\r\nexport const SubAccountTypeMap = {\r\n NotSpecified: 0,\r\n InvestmentAccount: 1,\r\n CashIsa: 2,\r\n StocksIsa: 3,\r\n AuAccumulation: 4,\r\n AuPension: 5,\r\n Pension: 6,\r\n OffshoreBond: 7,\r\n OnshoreBond: 8,\r\n CashAccount: 9,\r\n Sipp: 10,\r\n RetailSipp: 11,\r\n PersonalPortfolio: 12,\r\n RetailBond: 13,\r\n WrapCash: 14,\r\n Pep: 15,\r\n OrsoRa: 16,\r\n OrsoSa: 17,\r\n JuniorIsa: 18,\r\n JuniorSipp: 19,\r\n Npr: 20,\r\n Pr: 21,\r\n Other: 22,\r\n};\r\n\r\nexport const RestrictionReasonType = {\r\n SubjectToEuUn : 1,\r\n LegalCourtOrder : 2,\r\n SuspectedFraud : 3,\r\n Fraudulent : 4,\r\n NoAmlPass : 5,\r\n Pep : 6,\r\n AmlSar : 7,\r\n AuthorityRequest : 8,\r\n HighRiskCustomer : 9,\r\n IncreasedClientSecurityRequired : 10,\r\n DeathIndividual : 11,\r\n DeathJoint : 12,\r\n FinancialSanction : 13,\r\n LiquidationEmployerContributions : 14,\r\n Liquidation : 15,\r\n Bankruptcy : 16,\r\n PensionSharingOrder : 17,\r\n GoneAwayEarly : 18,\r\n GoneAwayNoContact : 19\r\n}\r\n","import { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { BondRegularPaymentDispatcher } from \"./Variables\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\n\r\nexport interface BondRegularPaymentStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class BondRegularPaymentStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(BondRegularPaymentDispatcher, (actionData) =>\r\n this.onBondRegularPaymentStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): BondRegularPaymentStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): BondRegularPaymentStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onBondRegularPaymentStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { LegadoConfigDispatcher } from \"./Variables\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\n\r\nexport interface LegadoConfigStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n isLegadoEnabled?: boolean;\r\n}\r\n\r\nexport class LegadoConfigStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(LegadoConfigDispatcher, (actionData) => this.onLegadoConfigStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): LegadoConfigStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): LegadoConfigStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getLegadoConfigInfo(): boolean {\r\n return this.getState().isLegadoEnabled;\r\n }\r\n\r\n private onLegadoConfigStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n isLegadoEnabled: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { AccountStatus } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { PortfolioDashboardDisaptcher } from \"./Variable\";\r\n\r\nexport interface PortfolioDashboardStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: ClientAccount[];\r\n}\r\n\r\nexport class PortfolioDashboardStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(PortfolioDashboardDisaptcher, (actionData) =>\r\n this.onPortfolioDashboardStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): PortfolioDashboardStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data.filter((ele) => ele.AccountStatus != AccountStatus.InProgress);\r\n }\r\n\r\n public getFullAccounts() {\r\n return this.getState().data;\r\n }\r\n\r\n public getInProgressAccounts() {\r\n return this.getState().data.filter((ele) => ele.AccountStatus == AccountStatus.InProgress);\r\n }\r\n\r\n public hasInProgressAccounts() {\r\n return this.getState().data.some((ele) => ele.AccountStatus == AccountStatus.InProgress);\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): PortfolioDashboardStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: [],\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onPortfolioDashboardStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { RestrictionNameDispatcher } from \"./Variables\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\n\r\nexport interface RestrictionReasonStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class RestrictionReasonStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(RestrictionNameDispatcher, (actionData) =>\r\n this.onRestrictionReasonStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): RestrictionReasonStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): RestrictionReasonStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onRestrictionReasonStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { ClientAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { BankAccountCombinedResult } from \"../../../../../../Wrap/Models/Domains/BankAccount/BankAccountCombinedResult\";\r\nimport { AccountRoleWithAccountDetails } from \"../../../../../../Wrap/Models/Domains/Customers/AccountRoleWithAccountDetails\";\r\nimport { BankAccountInstruction } from \"../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { SingleDataStore } from \"../../../../../Shared/Stores/SingleDataStore\";\r\nimport { SingleDataStoreDispacher } from \"../../../../../Shared/Stores/SingleDataStoreDispacher\";\r\nimport { PortfolioDashboardStoreStatic } from \"./PortfolioDashboardStoreStatic\";\r\n\r\nexport const PortfolioDashboardMultiSelectionDisaptcher: SingleDataStoreDispacher<\r\n string[]\r\n> = new SingleDataStoreDispacher();\r\nexport const PortfolioDashboardMultiSelectionStore: SingleDataStore = new SingleDataStore(\r\n PortfolioDashboardMultiSelectionDisaptcher\r\n);\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const PortfolioDashboardDisaptcher: Dispatcher = new Dispatcher();\r\nexport const PortfolioDashboardStore: PortfolioDashboardStoreStatic = new PortfolioDashboardStoreStatic();\r\n\r\nexport const PortfolioDashboardAccountRolesDisaptcher: SingleDataStoreDispacher = new SingleDataStoreDispacher<\r\n any\r\n>();\r\nexport const PortfolioDashboardAccountRolesStore: SingleDataStore = new SingleDataStore<\r\n any\r\n>(PortfolioDashboardAccountRolesDisaptcher);\r\n\r\nexport const ConsolidatedAccountDisaptcher: SingleDataStoreDispacher = new SingleDataStoreDispacher<\r\n any\r\n>();\r\nexport const ConsolidatedAccountStore: SingleDataStore = new SingleDataStore(\r\n ConsolidatedAccountDisaptcher\r\n);\r\n\r\nexport const BWABankAccountsDisaptcher: SingleDataStoreDispacher> = new SingleDataStoreDispacher();\r\nexport const BWABankAccountsStore: SingleDataStore> = new SingleDataStore(\r\n BWABankAccountsDisaptcher\r\n);\r\n","import { RestrictionReasonStoreStatic } from \"./RestrictionReasonStoreStatic\";\r\nimport { BondRegularPaymentStoreStatic } from \"./BondRegularPaymentStoreStatic\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { LegadoConfigStoreStatic } from \"./LegadoConfigStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const RestrictionNameDispatcher: Dispatcher = new Dispatcher();\r\nexport const RestrictionReasonStore: RestrictionReasonStoreStatic = new RestrictionReasonStoreStatic();\r\n\r\nexport const BondRegularPaymentDispatcher: Dispatcher = new Dispatcher();\r\nexport const BondRegularPaymentStore: BondRegularPaymentStoreStatic = new BondRegularPaymentStoreStatic();\r\n\r\nexport const LegadoConfigDispatcher: Dispatcher = new Dispatcher();\r\nexport const LegadoConfigStore: LegadoConfigStoreStatic = new LegadoConfigStoreStatic();","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { ClientAccountClient } from \"../../../../../../Wrap/Api/Account/ClientAccount\";\r\nimport { IsaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/IsaContributionInstruction\";\r\nimport { PensionContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/PensionContributionInstruction\";\r\nimport { GiaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/GiaContributionInstruction\";\r\nimport { WrapCashContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/WrapCashContributionInstruction\";\r\nimport { RegularPaymentInstructionDispatcher, RegularPaymentInstructionStore } from \"../Store/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { SubAccountAmendmentInstructionClient } from \"../../../../../../Wrap/Api/Apply/SubAccountAmendmentInstruction\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ProcessType as ActivityType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { RegularPaymentActionType } from \"../Resource/Contents\";\r\nimport { BankAccountInstructionClient } from \"../../../../../../Wrap/Api/BankAccounts/BankAccountInstruction\";\r\nimport { BankAccountInstruction } from \"../../../../../../Wrap/Models/Domains/Instructions/BankAccountInstruction\";\r\nimport { DownloadButtonAction } from \"../../../../../Shared/DownloadButton/Actions/DownloadButtonAction\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { CheckRegularPaymentAutolineCompletedClient } from \"../../../../../../Wrap/Api/Payments/CheckRegularPaymentAutolineCompleted\";\r\nimport { RegularPaymentResult } from \"../../../../../../Wrap/Models/Models/Payments/RegularPayment/RegularPaymentResult\";\r\n\r\nexport class RegularPaymentAction {\r\n public static getInstruction(id, type, hierarchyId, subAccountHierarchyId, clientId, action): void {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n pensionContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n action\r\n );\r\n } else if (SubAccountTypeHelper.isPP(type)) {\r\n const giaContributionInstruction = new GiaContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n giaContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n action\r\n );\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n const isaContributionInstruction = new IsaContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n isaContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n action\r\n );\r\n } else if (SubAccountTypeHelper.isWrapCash(type)) {\r\n const wrapCashContributionInstruction = new WrapCashContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n wrapCashContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n action\r\n );\r\n }\r\n }\r\n\r\n public static saveInstruction(from, data: any, type, customerId: number, callback?: (data) => void): void {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n const promise = pensionContributionInstruction.put(data, customerId);\r\n this.updateRegularPaymentInstructionStore(promise, callback);\r\n } else if (SubAccountTypeHelper.isPP(type)) {\r\n const giaContributionInstruction = new GiaContributionInstructionClient();\r\n const promise = giaContributionInstruction.put(data, getQueryParameters()[\"action\"]);\r\n this.updateRegularPaymentInstructionStore(promise, callback);\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n const client = new IsaContributionInstructionClient();\r\n const promise = client.put(data);\r\n this.updateRegularPaymentInstructionStore(promise, callback);\r\n } else if (SubAccountTypeHelper.isWrapCash(type)) {\r\n const client = new WrapCashContributionInstructionClient();\r\n const promise = client.put(data);\r\n this.updateRegularPaymentInstructionStore(promise, callback);\r\n } else {\r\n callback([]);\r\n }\r\n }\r\n\r\n public static submitInstruction(id, data, customerId, claccountId, callback?: VoidFunction): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.put(id, data, customerId, claccountId);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static deleteInstruction(id, callback?: VoidFunction): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.delete(id);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static getCashIsa(hierarchyId: string, callback?: VoidFunction): void {\r\n const client = new ClientAccountClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {\r\n const hasCashIsa = result.SubAccounts.some((ele) => ele.ProductDisplayName == \"ISA Cash\");\r\n RegularPaymentInstructionDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: hasCashIsa,\r\n });\r\n if (callback) {callback();}\r\n });\r\n promise.onError((err) => {\r\n RegularPaymentInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n private static getOrCreateInstruction(\r\n client:\r\n | PensionContributionInstructionClient\r\n | IsaContributionInstructionClient\r\n | GiaContributionInstructionClient\r\n | WrapCashContributionInstructionClient,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n action?\r\n ) {\r\n if (id && id !== \"\") {\r\n // Have instructionId\r\n const promise = client.get(id, clientId, action, null);\r\n this.updateRegularPaymentInstructionStore(promise);\r\n } else {\r\n // Create new instruction\r\n const promise = client.post(\r\n subAccountHierarchyId,\r\n hierarchyId,\r\n getQueryParameters()[\"action\"] === RegularPaymentActionType.Edit\r\n ? ActivityType.EditRegularPayment\r\n : ActivityType.AddRegularPayment\r\n );\r\n promise.onSuccess((result) => {\r\n const instructionId = result.Result;\r\n\r\n const batchId = getQueryParameters()[\"batchid\"];\r\n const model = client.get(instructionId, clientId, action, batchId);\r\n this.updateRegularPaymentInstructionStore(model);\r\n });\r\n\r\n promise.onError((err) => {\r\n RegularPaymentInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n }\r\n\r\n private static updateRegularPaymentInstructionStore(promise: any, callback?: (data) => void) {\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(RegularPaymentInstructionStore.getData()));\r\n if (!data) {data = {};}\r\n data = result;\r\n RegularPaymentInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (result.Errors != null && result.Errors.length > 0) {\r\n callback(result.Errors);\r\n } else {\r\n callback(data);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n RegularPaymentInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static cancelBankAccountInstruction(\r\n bankAccountInstruction: BankAccountInstruction,\r\n callBack?: (val: BankAccountInstruction) => void\r\n ): void {\r\n const client = new BankAccountInstructionClient();\r\n const promise = client.delete(bankAccountInstruction);\r\n\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static checkRegularPaymentAutolineCompleted(\r\n regularBuyId: number,\r\n callBack?: (result: RegularPaymentResult) => void\r\n ): void {\r\n const client = new CheckRegularPaymentAutolineCompletedClient();\r\n const promise = client.get(regularBuyId);\r\n promise.onSuccess((result) => {\r\n if (callBack) {\r\n callBack(result);\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { CommissionCharge } from \"../../../Common/AdviserCharges/Components/CommissionCharge\";\r\nimport { OAC } from \"../../../Common/AdviserCharges/Components/OAC\";\r\nimport { RIAC } from \"../../../Common/AdviserCharges/Components/RIAC\";\r\nimport { AdviserChargesContents } from \"../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { RegularPaymentActionType } from \"../../Resource/Contents\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { type } = this.props;\r\n const processType =\r\n getQueryParameters()[\"action\"] === RegularPaymentActionType.Edit\r\n ? ProcessType.EditRegular\r\n : ProcessType.AddRegular;\r\n return (\r\n <>\r\n

    {AdviserChargesContents.AcHeader}

    \r\n\r\n

    {AdviserChargesContents.ProductLevel}

    \r\n\r\n {SubAccountTypeHelper.isOnPlatformPension(type) && (\r\n \r\n )}\r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DistributionDividendPreference } from \"../../../../../../../Wrap/Constants/Enums/Domain/DistributionDividendPreference\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { InstrumentSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { InstrumentSelections } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelections\";\r\nimport { PensionContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContribution\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport {\r\n getISTPaymentAmount,\r\n initPensionInstrumentSelections,\r\n initWeighting,\r\n} from \"../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { AllocationTableItem } from \"../../../../../../Shared/IST/Store/SelectedInvesmentStoreStatic\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { ClientAccountStore, TreasuredAssetsStore } from \"../../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { BankAccountOwnerPaymentTypeMap, PaymentType, TransferKeysMap } from \"../../../Common/Resource/Contents\";\r\nimport { IWizardDataModelTemplate } from \"../../../SinglePaymentTransferWizard/Models/WizardDataModelTemplate\";\r\n\r\ninterface IInvestmentSelectionToolProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: IWizardDataModelTemplate;\r\n treasuredAssetProductIds: number[];\r\n onTreasuredAssetsStoreChange: () => void;\r\n onChangeTreasuredAssets: (subAccountInstructionId, productId, value) => void;\r\n}\r\n\r\ninterface IInvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n IInvestmentSelectionToolProps,\r\n IInvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n this.subscribeToStore(TreasuredAssetsStore, () => this.props.onTreasuredAssetsStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const subAccountInstructionId = HierarchyIdHelper.generateHierarchyId(this.props.data.HierarchyId).entityId;\r\n Action.getInstructionTreasuredAssetsProductIds(subAccountInstructionId);\r\n }\r\n\r\n private onInvestmentChanges = (changes) => {\r\n const preRetirement: AllocationTableItem[] = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Single: ele.Single,\r\n Regular: ele.Regular,\r\n Transfer: ele.Transfer,\r\n isToogle: ele.isToogle,\r\n needToggle: ele.needToggle,\r\n underlying: ele.underlying,\r\n isTargetAllocation: ele.isTargetAllocation,\r\n modelPortfolioType: ele.modelPortfolioType,\r\n }));\r\n const postRetirement = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Transfer: ele.PostTransfer || null,\r\n Single: initWeighting(),\r\n Regular: initWeighting(),\r\n }));\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n PreRetirementInstrumentSelections: this.initInstrumentSelection(preRetirement),\r\n PostRetirementInstrumentSelections: this.initInstrumentSelection(postRetirement),\r\n },\r\n this.props.data,\r\n \"Contribution\"\r\n );\r\n };\r\n\r\n private initInstrumentSelection = (instruments: InstrumentSelection[]): InstrumentSelections => {\r\n return {\r\n Type: MoneyOrPercentageType.Percentage,\r\n Instruments: instruments,\r\n DistributionDividendPreference: DistributionDividendPreference.NotSpecified,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange, treasuredAssetProductIds } = this.props;\r\n\r\n const params = getQueryParameters();\r\n const paymentAmount = getISTPaymentAmount(data.Contribution, TransferKeysMap[type]);\r\n const accountsFromExisting = data.AllBankAccounts || [];\r\n const bankAccountInstructionsFiltered =\r\n (data.BankAccountInstructions || []).filter(\r\n (x) => BankAccountOwnerPaymentTypeMap[x.Owner].indexOf(PaymentType.Client) != -1\r\n ) || [];\r\n\r\n const bankAccounts = [...accountsFromExisting, ...bankAccountInstructionsFiltered];\r\n const modelData = JSON.parse(JSON.stringify(data?.Contribution));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n let instrumentSelection = data.Contribution?.InstrumentSelections;\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n const preRetirement =\r\n (data?.Contribution as PensionContribution)?.PreRetirementInstrumentSelections?.Instruments || [];\r\n const postRetirement =\r\n (data?.Contribution as PensionContribution)?.PostRetirementInstrumentSelections?.Instruments || [];\r\n instrumentSelection = this.initInstrumentSelection([]);\r\n instrumentSelection.Instruments = initPensionInstrumentSelections(preRetirement, postRetirement);\r\n }\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n return (\r\n <>\r\n

    Investment selection

    \r\n this.appendChild(ref)}\r\n onChange={(changes) => {\r\n if (!SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution,\r\n \"InstrumentSelections\"\r\n );\r\n } else {\r\n this.onInvestmentChanges(changes);\r\n }\r\n }}\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.EditRegular}\r\n hiercharyId={params[\"subaccounthierarchyid\"]}\r\n claccountId={params[\"claccountid\"]}\r\n companyCode={clientAccount?.Company}\r\n headAccountHierarchyId={clientAccount?.HierarchyId}\r\n product={type}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={bankAccounts}\r\n onBankChange={(bankInfo) => {\r\n const banks = data.BankAccountInstructions.concat(bankInfo);\r\n onChange({ BankAccountInstructions: banks });\r\n }}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={params[\"subaccounthierarchyid\"]}\r\n accountAdviceType={data.SubAccountClientDetail?.AccountAdviceType}\r\n accountServiceProposition={modelData.AccountServiceProposition}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"Contribution\")}\r\n treasuredAssetsProductIds={treasuredAssetProductIds}\r\n onChangeTreasuredAssets={(productId, value) => {\r\n this.props.onChangeTreasuredAssets(data.HierarchyId, productId, value);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { FsaPermission } from \"../../../../../../../Wrap/Models/Models/Company/FsaPermission\";\r\nimport { CompanyWizardAction } from \"../../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ClientAccountStore } from \"../../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { IsaAllowance } from \"../../../Common/ISA/PaymentsIn/IsaAllowance\";\r\nimport { BankAccountAction } from \"../../../Common/PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { inUseBankAccountForContribution } from \"../../../Common/PaymentsIn/BankAccount/BankAccountHelper\";\r\nimport { FinancialAdvice } from \"../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { RegularPayment } from \"../../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { MoneyPurchaseAnnualAllowanceComponent } from \"../../../Common/PaymentsIn/SIPP/MoneyPurchaseAnnualAllowanceComponent\";\r\nimport { PensionProtection } from \"../../../Common/PaymentsIn/SIPP/PensionProtection\";\r\nimport { PaymentType, processTypeEnum } from \"../../../Common/Resource/Contents\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: any;\r\n hasCashIsa?: boolean;\r\n isEdit?: boolean;\r\n customerId?: number;\r\n autoLineCompleted?: boolean;\r\n}\r\n\r\ninterface IPaymentsInState {\r\n disableJourney: boolean;\r\n}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n public static defaultProps = {\r\n autoLineCompleted: true,\r\n };\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n disableJourney: false,\r\n };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n CompanyWizardAction.getCompanyFsaPermissionDetail(\r\n ClientAccountStore.getClientAccountInfo()?.Company,\r\n (result: FsaPermission[]) => {\r\n if (\r\n !result.some(\r\n (ele) =>\r\n ele.FsaRegulatedActivity?.Name?.toLowerCase() == \"AdviseInvestments\".toLowerCase() &&\r\n ele?.IsInclude &&\r\n ele?.IsPermit\r\n )\r\n ) {\r\n this.setState({ disableJourney: true });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private renderFsaError() {\r\n if (this.state.disableJourney) {\r\n return ;\r\n }\r\n return <>;\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n const hasContribution = this.atLeastOneContribution();\r\n if (!hasContribution) {\r\n this.props.showErrorMsgPopUp([\"Please make a contribution to this product wrapper to continue.\"]);\r\n }\r\n return flag && hasContribution && !this.state.disableJourney;\r\n }\r\n\r\n private atLeastOneContribution(): boolean {\r\n const { data } = this.props;\r\n\r\n return (\r\n data.Contribution.ClientRegularPayment?.Money?.Amount > 0 ||\r\n data.Contribution.ThirdPartyRegularPayment?.Money?.Amount > 0\r\n );\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n hasPaymentMethod: true,\r\n onSaveNewBankAccountInstruction: (bankAccountInstruction) => {\r\n bankAccountInstruction.OwnerHierarchyId = data.OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(\r\n bankAccountInstruction,\r\n this.props.customerId,\r\n processTypeEnum.RegularPayment,\r\n (savedBankAccountInstruction) => {\r\n const changes = [...data.BankAccountInstructions, ...[savedBankAccountInstruction]];\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }\r\n );\r\n },\r\n onRemoveBankAccountInstruction: (bankAccountInstruction) => {\r\n BankAccountAction.removeBankInstruction(bankAccountInstruction, () => {\r\n const changes = (data.BankAccountInstructions || []).filter(\r\n (x) => x.AccountNumber != bankAccountInstruction.AccountNumber\r\n );\r\n this.onDataChange(onChange, { BankAccountInstructions: changes }, data);\r\n });\r\n },\r\n inUseBankAccountInstruction: inUseBankAccountForContribution(data?.Contribution),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { Contribution } = this.props.data;\r\n return (\r\n
    \r\n {this.renderFsaError()}\r\n

    Payments in

    \r\n \r\n {Contribution?.AdviceGiven && this.renderPaymentsIn()}\r\n
    \r\n );\r\n }\r\n\r\n private renderPaymentsIn() {\r\n const { ClientDetails, AllBankAccounts, BankAccountInstructions, Contribution } = this.props.data;\r\n const { type, isEdit } = this.props;\r\n if (SubAccountTypeHelper.isWrapCash(type) || SubAccountTypeHelper.isPP(type)) {\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n );\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n return (\r\n <>\r\n
    \r\n {Contribution.IsaAllowance && }\r\n
    \r\n \r\n \r\n );\r\n } else if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { CommissionChargeCancelMsg } from \"../../../Common/AdviserCharges/Components/CommissionChargeCancelMsg\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { AdviceChargeReview } from \"../../../Common/Review/Component/AdviceChargeReview\";\r\nimport { BWACheck } from \"../../../Common/Review/Component/BWACheck\";\r\nimport { InvestmentReview } from \"../../../Common/Review/Component/InvestmentReview\";\r\nimport { PaymentsInReview } from \"../../../Common/Review/Component/PaymentsInReview\";\r\nimport { IWizardDataModelTemplate } from \"../../../SinglePaymentTransferWizard/Models/WizardDataModelTemplate\";\r\nimport { RegularPaymentActionType } from \"../../Resource/Contents\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: IWizardDataModelTemplate;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private isShowInvestmentSelection(data, subAccountType): boolean {\r\n if (SubAccountTypeHelper.isOnPlatformPension(subAccountType))\r\n {return (\r\n data.PreRetirementInstrumentSelections?.Instruments?.length > 0 ||\r\n data.PostRetirementInstrumentSelections?.Instruments?.length > 0\r\n );}\r\n return data.InstrumentSelections?.Instruments?.length > 0;\r\n }\r\n\r\n private getReviewProps = (data, subAccountType, processType) => {\r\n return { data: data, subAccountType: subAccountType, process: processType, colNum: 3 };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const processType =\r\n getQueryParameters()[\"action\"] === RegularPaymentActionType.Edit\r\n ? ProcessType.EditRegular\r\n : ProcessType.AddRegular;\r\n const { data, type } = this.props;\r\n const contribution = data.Contribution;\r\n return (\r\n
    \r\n

    Review

    \r\n \r\n \r\n \r\n {!SubAccountTypeHelper.isCashAccount(type) && (\r\n \r\n )}\r\n {this.isShowInvestmentSelection(contribution, type) && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { RoutingActions } from \"../../../../../react-core/Flux/Variables\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ProcessType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { InvestorType } from \"../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { hasRegularPayments } from \"../../../../Shared/IST/Components/Shared/Utils\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../Actions/Action\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport {\r\n AccountRoleStore,\r\n ClientAccountStore,\r\n ProductDetailsStore,\r\n TreasuredAssetsStore,\r\n UserStore,\r\n} from \"../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { DocumentsAndDeclarations } from \"../Common/Documents/Components/DocumentsAndDeclarations\";\r\nimport { ClientNameHelper } from \"../Common/Helpers/ClientNameHelper\";\r\nimport { SubAccountTypeHelper } from \"../Common/Helpers/SubAccountTypeHelper\";\r\nimport { processTypeEnum } from \"../Common/Resource/Contents\";\r\nimport { isJointOrTrustAccount } from \"../NewBusinessWizard/Components/WrapperSelection/WrapperSelctionHelper\";\r\nimport { getUrl } from \"../PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { SPTAction } from \"../SinglePaymentTransferWizard/Actions/SPTActions\";\r\nimport { RegularPaymentAction } from \"./Actions/RegularPaymentActions\";\r\nimport { AdviserCharges } from \"./Components/AdviserCharges/AdviserCharges\";\r\nimport { InvestmentSelectionTool } from \"./Components/IST/IST\";\r\nimport { PaymentsIn } from \"./Components/PaymentsIn/PaymentsIn\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { productMap, RegularPaymentSteppersMap, RegularPaymentActionType } from \"./Resource/Contents\";\r\nimport { ExistingRegularPaymentsStore, RegularPaymentInstructionStore } from \"./Store/Variable\";\r\nimport { QuoteErrors } from \"../../../../../Wrap/Validation/Errors/Quote/QuoteErrors\";\r\nimport { RegularPaymentResult } from \"../../../../../Wrap/Models/Models/Payments/RegularPayment/RegularPaymentResult\";\r\n\r\ninterface IRegularPaymentWizardState extends IAccountContextWizardComponentState {\r\n extraInfo: {\r\n hasCashIsa: boolean;\r\n treasuredAssetProductIds: number[];\r\n treasuredAssetsInstructionId: number;\r\n };\r\n isInstructionLoading: boolean;\r\n autoLineCompleted: boolean;\r\n}\r\n\r\nexport class RegularPaymentWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n onPosting: false,\r\n active: true,\r\n isLoading: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n extraInfo: {\r\n hasCashIsa: false,\r\n treasuredAssetProductIds: null,\r\n treasuredAssetsInstructionId: null,\r\n },\r\n isInstructionLoading: false,\r\n autoLineCompleted: true,\r\n };\r\n }\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(RegularPaymentInstructionStore, () => this.onInstructionStoreChange());\r\n this.subscribeToStore(ExistingRegularPaymentsStore, () => this.onExitingRegularPaymentsStoreChange());\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { clientAccount, customer, isInstructionLoading } = this.state;\r\n if (clientAccount && customer && !this.state.data && !isInstructionLoading) {\r\n const action = getQueryParameters()[\"action\"];\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const subAccountHierarchyId = getQueryParameters()[\"subaccounthierarchyid\"];\r\n const id = getQueryParameters()[\"id\"];\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n this.setState({ isInstructionLoading: true });\r\n RegularPaymentAction.getInstruction(\r\n id,\r\n type,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n this.state.customer?.CustomerId,\r\n action\r\n );\r\n }\r\n }\r\n\r\n onClientAccountStoreChange() {\r\n super.onClientAccountStoreChange();\r\n if (this.state.clientAccount) {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n if (type === SubAccountType.StocksIsa) {\r\n const extraInfo = this.state.extraInfo;\r\n extraInfo.hasCashIsa = this.state.clientAccount.SubAccounts.some(\r\n (ele) => ele.ProductDisplayName == \"ISA Cash\"\r\n );\r\n this.setState({ extraInfo: extraInfo });\r\n }\r\n }\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (RegularPaymentInstructionStore.getActionType() == ActionType.Success) {\r\n const data = RegularPaymentInstructionStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data.Errors != null && data.Errors.length > 0 ? this.state.data : data,\r\n active: data?.Status === InstructionStatus.Pending || data?.Status === InstructionStatus.NotSpecified,\r\n isInstructionLoading: false,\r\n });\r\n const isEdit = getQueryParameters()[\"action\"] === RegularPaymentActionType.Edit;\r\n isEdit && this.checkRegularPaymentAutoLine();\r\n } else if (RegularPaymentInstructionStore.getActionType() == ActionType.Update) {\r\n const extraInfo = this.state.extraInfo;\r\n extraInfo.hasCashIsa = RegularPaymentInstructionStore.getHasCashIsa();\r\n this.setState({\r\n extraInfo: extraInfo,\r\n });\r\n }\r\n }\r\n\r\n private onExitingRegularPaymentsStoreChange() {\r\n if (ExistingRegularPaymentsStore.getActionType() == ActionType.Success) {\r\n const isLoading = RegularPaymentInstructionStore.isLoading();\r\n if (!isLoading) {\r\n const updatedData = this.initialiseFromExistingRegularPayments();\r\n this.setState({\r\n isLoading: false,\r\n data: updatedData,\r\n });\r\n }\r\n }\r\n }\r\n\r\n private initialiseFromExistingRegularPayments() {\r\n const data = RegularPaymentInstructionStore.getData();\r\n const existing = ExistingRegularPaymentsStore.getData() || [];\r\n data.Contribution.ClientRegularPayment =\r\n existing.find((payment) => {\r\n return payment.Source === \"Client\";\r\n }) || null;\r\n data.Contribution.ThirdPartyRegularPayment =\r\n existing.find((payment) => {\r\n return payment.Source === \"ThirdParty\";\r\n }) || null;\r\n data.Contribution.EmployerRegularPayment =\r\n existing.find((payment) => {\r\n return payment.Source === \"Employer\";\r\n }) || null;\r\n return data;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n this.getProductDetails(hierarchyId);\r\n }\r\n\r\n private getProductDetails(hierarchyId: string) {\r\n const _date = JsonDateParser.getFormatDateString(new Date(), \"yyyy/MM/dd\") as any;\r\n const wrapcash = ProductDetailsStore.getSubAccount(SubAccountType.WrapCash);\r\n\r\n if (!wrapcash) {\r\n Action.getProductsValuationDetailSummary(hierarchyId, null, _date);\r\n }\r\n }\r\n\r\n private checkRegularPaymentAutoLine() {\r\n const regularBuyId = this.state.data?.Contribution?.ClientRegularPayment?.RegularBuyId;\r\n\r\n if(!regularBuyId) {return false;}\r\n\r\n RegularPaymentAction.checkRegularPaymentAutolineCompleted(regularBuyId, (result) => {\r\n if (result?.Id === QuoteErrors.DirectDebitCanNotBeChangedBecauseLastAutoLineIsNotCompleted) {\r\n this.setState({\r\n errorMsg: [result.Description],\r\n isShowErrorMsg: true,\r\n });\r\n this.setState({ autoLineCompleted: false });\r\n }\r\n });\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params) {\r\n if (!params[\"id\"]) {\r\n params[\"id\"] = this.state.data.HierarchyId;\r\n SPTAction.postInstructionProcess(\r\n HierarchyIdHelper.generateHierarchyId(this.state.data.HierarchyId).entityId,\r\n params[\"action\"] === RegularPaymentActionType.Edit\r\n ? ProcessType.EditRegularPayment\r\n : ProcessType.AddRegularPayment\r\n );\r\n }\r\n const { customer } = this.state;\r\n\r\n RegularPaymentAction.saveInstruction(\r\n from,\r\n this.state.data,\r\n parseInt(params[\"type\"]),\r\n customer?.CustomerId,\r\n (result) => {\r\n this.setState({ onPosting: false });\r\n if (result?.length > 0) {\r\n this.setState({\r\n errorMsg: result.map((x) => x.UserMessage),\r\n isShowErrorMsg: true,\r\n });\r\n } else {\r\n if (this.state.extraInfo.treasuredAssetsInstructionId) {\r\n Action.setInstructionTreasuredAssetsProductIds(\r\n this.state.extraInfo.treasuredAssetsInstructionId,\r\n this.state.extraInfo.treasuredAssetProductIds,\r\n () => {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n );\r\n } else {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n private navigate(to, toUrl, params) {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n\r\n onCancel() {\r\n // RegularPaymentAction.deleteInstruction(this.state.data.HierarchyId, () => this.onExit());\r\n // SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n RoutingActions.navigateTo(getUrl(clientAccount, accountRoles, \"summary\"));\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n RegularPaymentAction.submitInstruction(\r\n this.state.data.HierarchyId,\r\n this.state.data.Contribution,\r\n this.state.data.ClientDetails.ActorId,\r\n this.state.data.SubAccountClientDetail.ClAccountId,\r\n () => {\r\n this.setState({ isSubmitting: false });\r\n const params = getQueryParameters();\r\n const instructionId = HierarchyIdHelper.generateHierarchyId(this.state.data.HierarchyId).entityId;\r\n SPTAction.cancelCommissionCharges(\r\n instructionId,\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n this.state.data.Contribution.CancelAllCommissionCharges\r\n );\r\n }\r\n );\r\n }\r\n\r\n onTreasuredAssetsStoreChange() {\r\n const treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n this.setState({\r\n extraInfo: {\r\n hasCashIsa: this.state.extraInfo.hasCashIsa,\r\n treasuredAssetProductIds: treasuredAssetProductIds,\r\n treasuredAssetsInstructionId: null,\r\n },\r\n });\r\n }\r\n\r\n onChangeTreasuredAssets(hierarchyId: string, productId: number, value: boolean) {\r\n let productIds = this.state.extraInfo.treasuredAssetProductIds;\r\n if (value) {\r\n productIds.push(productId);\r\n } else {\r\n productIds = productIds.filter((id) => id !== productId);\r\n }\r\n this.setState({\r\n extraInfo: {\r\n hasCashIsa: this.state.extraInfo.hasCashIsa,\r\n treasuredAssetProductIds: productIds,\r\n treasuredAssetsInstructionId: HierarchyIdHelper.generateHierarchyId(hierarchyId).entityId,\r\n },\r\n });\r\n }\r\n\r\n getStepProps(index) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n return stepProps;\r\n }\r\n\r\n private setReviewConfirmSteppers() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const len = this.stepperConfig.length;\r\n const { customer } = this.state;\r\n return [\r\n {\r\n title: RegularPaymentSteppersMap.review,\r\n url: Urls.get().RegularPaymentReview,\r\n path: Contents.URLMap.review,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n {\r\n title: RegularPaymentSteppersMap.doc,\r\n url: Urls.get().RegularPaymentDoc,\r\n path: Contents.URLMap.documentAndDeclarations,\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[this.stepperConfig.length - 2].isValid(),\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n {\r\n title: RegularPaymentSteppersMap.comfirm,\r\n url: Urls.get().RegularPaymentConfirm,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={`We've received your instruction to set up a regular payment`}\r\n isLoading={this.state.isSubmitting}\r\n accountNumberMessage={`(${this.state.clientAccount?.HeadClAccountId})`}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const isEdit = getQueryParameters()[\"action\"] === RegularPaymentActionType.Edit;\r\n const { Contribution } = this.state.data;\r\n const { customer } = this.state;\r\n const { autoLineCompleted } = this.state;\r\n const steppers = [\r\n {\r\n title: RegularPaymentSteppersMap.paymentsIn,\r\n url: Urls.get().RegularPaymentsIn,\r\n path: Contents.URLMap.paymentIn,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n ];\r\n if (!SubAccountTypeHelper.isCashAccount(type)) {\r\n steppers.push({\r\n title: RegularPaymentSteppersMap.adviserCharges,\r\n url: Urls.get().RegularPaymentAdviserCharge,\r\n path: Contents.URLMap.adviserCharges,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n if (type !== SubAccountType.CashIsa && hasRegularPayments(Contribution)) {\r\n steppers.push({\r\n title: RegularPaymentSteppersMap.investment,\r\n url: Urls.get().RegularPaymentIst,\r\n path: Contents.URLMap.ist,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n this.onTreasuredAssetsStoreChange()}\r\n onChangeTreasuredAssets={(subAccountInstructionId, productId, value) => {\r\n this.onChangeTreasuredAssets(subAccountInstructionId, productId, value);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n }\r\n this.stepperConfig = steppers;\r\n this.stepperConfig = this.stepperConfig.concat(this.setReviewConfirmSteppers());\r\n }\r\n\r\n setProcessProps() {\r\n const { data } = this.state;\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const processProps = super.setProcessProps();\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: ClientNameHelper.clientNameDisplay(data?.ClientDetails, data?.SecondClientDetails),\r\n splitHeaderSub: this.state.clientAccount?.HeadClAccountId,\r\n };\r\n processProps.processTitle =\r\n getQueryParameters()[\"action\"] === RegularPaymentActionType.Edit\r\n ? \"Edit regular payment instruction(s)\"\r\n : \"Add regular payment instruction(s)\";\r\n processProps.subTitle = productMap[type];\r\n return processProps;\r\n }\r\n}\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IndexationType } from \"../../../../../../Wrap/Models/Models/Processes/Quote/Pension/IndexationType\";\r\n\r\nexport const RegularPaymentSteppersMap = {\r\n paymentsIn: \"Payments in\",\r\n adviserCharges: \"Adviser charges\",\r\n investment: \"Investment selection\",\r\n review: \"Review\",\r\n doc: \"Documents / declaration\",\r\n comfirm: \"Confirmation\",\r\n};\r\n\r\nexport const productMap = {\r\n [SubAccountType.Sipp]: \"SIPP\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks & Shares\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Cash Account\",\r\n [SubAccountType.InvestmentAccount]: \"Personal Portfolio\",\r\n};\r\n\r\nexport const IndexationMap = {\r\n [IndexationType.AverageWeeklyEarning]: \"Average weekly earning\",\r\n [IndexationType.FixedPercentage]: \"User defined percentage\",\r\n};\r\n\r\nexport const FinancialAdviceMap = {\r\n true: \"Yes\",\r\n false: \"No\",\r\n};\r\n\r\nexport enum RegularPaymentActionType {\r\n Add = \"add\",\r\n Edit = \"edit\"\r\n}","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { ExistingRegularPaymentsDispatcher } from \"./Variable\";\r\n\r\nexport interface ExistingRegularPaymentsStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class ExistingRegularPaymentsStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ExistingRegularPaymentsDispatcher, (actionData) => this.onExistingRegularPaymentsStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): ExistingRegularPaymentsStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading === undefined ? true : this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ExistingRegularPaymentsStaticState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onExistingRegularPaymentsStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ isLoading: false, actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { RegularPaymentInstructionDispatcher } from \"./Variable\";\r\n\r\nexport interface InstructionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\nexport class RegularPaymentInstructionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(RegularPaymentInstructionDispatcher, (actionData) =>\r\n this.onRegularPaymentInstructionStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): InstructionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading === undefined ? true : this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n public getHasCashIsa() {\r\n return this.getState().hasCashIsa;\r\n }\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): InstructionStaticState {\r\n return { actionType: ActionType.Loading, data: null, hasCashIsa: false };\r\n }\r\n\r\n private onRegularPaymentInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ isLoading: false, actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, hasCashIsa: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { RegularPaymentInstructionStatic } from \"./RegularPaymentInstructionStatic\";\r\nimport { ExistingRegularPaymentsStatic } from \"./ExistingRegularPaymentsStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const RegularPaymentInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const RegularPaymentInstructionStore: RegularPaymentInstructionStatic = new RegularPaymentInstructionStatic();\r\n\r\nexport const ExistingRegularPaymentsDispatcher: Dispatcher = new Dispatcher();\r\nexport const ExistingRegularPaymentsStore: ExistingRegularPaymentsStatic = new ExistingRegularPaymentsStatic();\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { addDays } from \"../../../../../../react-core/utils/date\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { PersonalDetailClient } from \"../../../../../../Wrap/Api/Customer/PersonalDetail\";\r\nimport { BatchClient } from \"../../../../../../Wrap/Api/Orders/Batch\";\r\nimport { BuySellClient } from \"../../../../../../Wrap/Api/Orders/BuySell\";\r\nimport { OrdersClient } from \"../../../../../../Wrap/Api/Orders/Orders\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { OrderDirection } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { BatchType } from \"../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SellDispatcher } from \"../Store/Variable\";\r\n\r\nexport class SellAction {\r\n public static getClientInfo(customerid: string) {}\r\n\r\n public static initSellModel() {\r\n const subAccountHierarchyId = getQueryParameters()[\"subaccounthierarchyid\"];\r\n const initModel = {\r\n BatchType: BatchType.OneOff,\r\n OrderType: BatchType.OneOff,\r\n ActionDate: JsonDateParser.toJsonDateNoOffset(new Date()),\r\n HierarchyId: subAccountHierarchyId,\r\n InvestmentList: [],\r\n };\r\n\r\n SellDispatcher.dispatch({ actionType: ActionType.Success, payload: initModel });\r\n }\r\n\r\n public static goToNextStep(from, data, callback) {\r\n if (from == 0) {\r\n return this.getBatchId(data, callback);\r\n } else if (from == 1) {\r\n return this.saveInvestmentSelection(data, callback);\r\n }\r\n callback();\r\n }\r\n\r\n public static saveInvestmentSelection(data, callback) {\r\n const client = new BuySellClient();\r\n data.BuyOrSell = OrderDirection.Sell;\r\n client.post(data).onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static getBatchInfo(data, callback) {\r\n let promise;\r\n const client = new BuySellClient();\r\n data.BuyOrSell = OrderDirection.Sell;\r\n promise = client.put(data);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback(result);}\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static getBatchId(data, callback) {\r\n const batchId = getQueryParameters()[\"batchId\"];\r\n if (batchId) {\r\n SellDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback([]);}\r\n return data;\r\n }\r\n\r\n let promise;\r\n const client = new BatchClient();\r\n promise = client.post(data);\r\n promise.onSuccess((result) => {\r\n SellDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: {\r\n ...result,\r\n OrderType: data.OrderType,\r\n InvestmentList: data.InvestmentList || [],\r\n TotalValue: data.TotalValue || [],\r\n AdviceGiven: true,\r\n },\r\n });\r\n\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static submit(data, callback) {\r\n const client = new OrdersClient();\r\n client.post(data).onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static getCustomerName(customerId, callback) {\r\n const client = new PersonalDetailClient();\r\n const promise = client.get(customerId).onSuccess((result) => {\r\n callback(`${result.GivenName} ${result.FamilyName}`);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { OrderSetup } from \"../../../Common/OrderSetup/OrderSetup\";\r\n\r\ninterface IOrderSetupProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IOrderSetupState {}\r\n\r\nexport class SellOrderSetup extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n\r\n return (\r\n onChange(changes)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n process={ProcessType.Sell}\r\n />\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { OrderSetupReview } from \"../../../Common/Review/Component/OrderSetupReview\";\r\nimport { ITableConfig, Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { Order } from \"../../../../../../../Wrap/Models/Domains/Orders/Order\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { SellAction } from \"../../Action/SellAction\";\r\nimport { BatchInfoModel } from \"../../../../../../../Wrap/Models/Domains/Orders/Batch/BatchInfoModel\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { equlityBondWarning, hasDecisionMaker } from \"../../../Switch/Resource/Content\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { CommissionChargeCancelMsg } from \"../../../Common/AdviserCharges/Components/CommissionChargeCancelMsg\";\r\nimport { OrderStatus } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderStatus\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n onClearError: VoidFunction;\r\n}\r\n\r\ninterface IReviewState {\r\n investmentList: Array;\r\n}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n investmentList: [],\r\n };\r\n }\r\n\r\n private navigate() {\r\n this.props.onClearError();\r\n Navigator.navigateTo(Urls.get().SellInvestmentSelection, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n claccountid: getQueryParameters()[\"claccountid\"],\r\n hierarchyid: getQueryParameters()[\"hierarchyid\"],\r\n subaccounthierarchyid: getQueryParameters()[\"subaccounthierarchyid\"],\r\n batchId: this.props.data.BatchId,\r\n },\r\n });\r\n }\r\n\r\n private getTableColumn() {\r\n const tableColConfig: ITableConfig[] = [\r\n {\r\n title: \"Investment\",\r\n key: \"Description\",\r\n render: (data, row: Order, index) => {\r\n return row.Description;\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n {\r\n title: \"Sell value\",\r\n key: \"OrderValue\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(Math.abs(row.OrderValue), CurrencyCode.GBP, true, 2);\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Sell quantity\",\r\n key: \"OrderQuantity\",\r\n render: (data, row: Order, index) => {\r\n if (row?.SecurityType == \"Model\") { return null; }\r\n else {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderQuantity, null, false, 4);\r\n }\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n\r\n {\r\n title: \"Limit price\",\r\n key: \"OrderLimit\",\r\n render: (data, row: Order, index) => {\r\n return MoneyDisplayHelper.FromatMoneyDisplay(row.OrderLimit, null, false, 2);\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"OrderStatus\",\r\n render: (data, row: Order, index) => {\r\n return row.OrderStatus;\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n ]; // all table column config\r\n\r\n return tableColConfig;\r\n }\r\n\r\n componentDidMount() {\r\n SellAction.getBatchInfo(this.props.data, (callBack: BatchInfoModel) => {\r\n this.setState({\r\n investmentList: callBack.InvestmentList,\r\n });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n const investmentList = this.state.investmentList;\r\n const orderList = investmentList.filter((o) => o.Status === OrderStatus.Created);\r\n return (\r\n <>\r\n {hasDecisionMaker(data.InvestmentList) && (\r\n \r\n )}\r\n

    \r\n Review\r\n

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

    Order setup

    \r\n {\r\n this.props.onClearError();\r\n Navigator.navigateTo(Urls.get().SellOrderSetup, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n claccountid: getQueryParameters()[\"claccountid\"],\r\n hierarchyid: getQueryParameters()[\"hierarchyid\"],\r\n subaccounthierarchyid: getQueryParameters()[\"subaccounthierarchyid\"],\r\n batchId: this.props.data.BatchId,\r\n },\r\n });\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n

    Sell investments

    \r\n this.navigate()}\r\n >\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n {\r\n return total + Math.abs(ele.OrderValue);\r\n }, 0),\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n ),\r\n tfTdCssWrapper: \"cell-right pr-12\",\r\n colSpan: 0,\r\n },\r\n ]}\r\n />\r\n
    \r\n
    \r\n {\r\n this.props.onChange({ AdviceGiven: v });\r\n }}\r\n label=\"Please indicate if advice was given on this trade.\"\r\n cssWrapper=\"square-checkbox block\"\r\n >\r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountAdviceType } from \"../../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ModelPortfolioTabType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ModelPortfolioTabType\";\r\nimport { OrderDirection } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { OrderType } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderType\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { Instrument } from \"../../../../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { InstrumentSearchQuery } from \"../../../../../../../Wrap/Models/Domains/Investment/InstrumentSearchQuery\";\r\nimport { ClientTradableInvestments } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ClientTradableInvestments\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { DecisionMaker } from \"../../../../../../Shared/IST/Components/DecisionMaker\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { QuantitySwitch } from \"../../../../../../Shared/QuantitySwitch/QuantitySwitch\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { BuyAction } from \"../../../Buy/Action/BuyAction\";\r\nimport { InvestmentsAction } from \"../../../PortfolioDashboard/Components/Investment/Action/InvestmentAction\";\r\nimport { BuySellAllocationTable } from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTable\";\r\nimport {\r\n clearAllocation,\r\n transformNewItem,\r\n} from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTableHelper\";\r\nimport { OrderSetupReview } from \"../../../Common/Review/Component/OrderSetupReview\";\r\nimport { hasDecisionMaker } from \"../../../Switch/Resource/Content\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { RestrictionStore } from \"../../../Common/Restrictions/Variable\";\r\nimport { ClientAccountStore, UserStore, TreasuredAssetsStore } from \"../../../../../Stroes/Variable\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\nimport { TradableInvestment } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/TradableInvestment\";\r\nimport { ResultPageModel } from \"../../../../../../../Wrap/Core/SortingAndPaging/Models/ResultPageModel\";\r\nimport { DepositProduct } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\nimport { DepositProductsQuery } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProductsQuery\";\r\nimport { BatchType } from \"../../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { caseInsensitiveMatch } from \"../../../../../../../react-core/Utils/String\";\r\n\r\ninterface ISellInvestmentProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n isReview: boolean;\r\n}\r\n\r\ninterface ISellInvestmentState {\r\n orderType: OrderType;\r\n isLoading: boolean;\r\n userInfo: User;\r\n treasuredAssetProductIds: Array;\r\n cashProducts: Record;\r\n}\r\n\r\nexport class SellInvestment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n orderType:\r\n props.data.InvestmentList && props.data.InvestmentList.length > 0\r\n ? props.data.InvestmentList[0].Type\r\n : OrderType.Percentage,\r\n isLoading: true,\r\n userInfo: UserStore.getUserInfo(),\r\n treasuredAssetProductIds: null,\r\n cashProducts: [],\r\n };\r\n\r\n //this.subscribeToStore(TreasuredAssetsStore, () => this.onTreasuredAssetsStoreStoreChange());\r\n }\r\n\r\n /*\r\n\tprivate onTreasuredAssetsStoreStoreChange(): void {\r\n const data = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n this.setState({ treasuredAssetProductIds: data });\r\n }\r\n */\r\n\r\n private getTreasuredAssets() {\r\n const _treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n\r\n if (!_treasuredAssetProductIds) {\r\n const params = getQueryParameters();\r\n\r\n Action.getSubAccountTreasuredAssetsProductIds(params[\"subaccounthierarchyid\"], (data: Array) => {\r\n this.setState({ treasuredAssetProductIds: data });\r\n });\r\n } else {\r\n this.setState({ treasuredAssetProductIds: _treasuredAssetProductIds });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getTreasuredAssets();\r\n InvestmentSelectionAction.setIsUnderTransfer(true);\r\n const params = getQueryParameters();\r\n if (!this.props.data.InvestmentList || this.props.data.InvestmentList.length == 0) {\r\n BuyAction.getReuseHoldings(\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n this.props.data.BatchId,\r\n (data: ClientTradableInvestments) => this.populateReuseHoldings(data, params)\r\n );\r\n } else {\r\n this.setState({ isLoading: false });\r\n }\r\n }\r\n\r\n isValid() {\r\n if (RestrictionStore.sellDisabled()) {\r\n return false;\r\n }\r\n const hasNoInvestment = this.props.data.InvestmentList.length == 0;\r\n if (hasNoInvestment) {\r\n this.props.showErrorMsgPopUp([\"There are no holdings in this product available to sell\"]);\r\n }\r\n\r\n const over95PercentValueSells: any[] = this.props.data.InvestmentList.filter(\r\n (ele) => ele.Type == OrderType.Value\r\n && ele.Instrument.MarketValue.Amount > 0\r\n && ele.OrderValue >= 0.95 * ele.Instrument.MarketValue.Amount\r\n ).map((ele) => ele.InstrumentCode);\r\n\r\n if (over95PercentValueSells.length > 0) {\r\n this.props.showErrorMsgPopUp([\r\n \"Order Value cannot be greater than or equal to 95% of market value - \" +\r\n over95PercentValueSells.join(\", \"),\r\n ]);\r\n }\r\n\r\n return super.isValid() && !hasNoInvestment && over95PercentValueSells.length === 0;\r\n }\r\n\r\n componentWillUnmount() {\r\n InvestmentSelectionAction.setIsUnderTransfer(false);\r\n }\r\n\r\n async populateReuseHoldings(data: ClientTradableInvestments, params): Promise {\r\n const individual: TradableInvestment[] = data.CurrentIndividualHoldings.filter(\r\n (ele) => ele.DisplayName != \"GBP Cash\"\r\n );\r\n const model: TradableInvestment[] = data.CurrentModelHoldings.filter((ele) => ele.CurrQuantity > 0);\r\n\r\n const cashProductInstanceInfo: DepositProduct[] = (\r\n await this.getCashProductInstanceInfo(individual, data.AccountServiceProposition)\r\n )?.Results ?? [];\r\n this.setState({\r\n cashProducts: cashProductInstanceInfo.reduce>((acc, product) => {\r\n acc[product.ProductId] = product;\r\n return acc;\r\n }, {}),\r\n });\r\n\r\n const ids: number[] = Array.from(\r\n new Set(\r\n individual\r\n .filter((x) => x.Type !== ProductType.CashProduct)\r\n .map((x) => x.ProductId)\r\n .concat(cashProductInstanceInfo.map((x) => x.TemplateProductId))\r\n .concat(model.map((x) => x.ProductId))\r\n )\r\n );\r\n\r\n if (ids.length == 0) {\r\n this.setState({ isLoading: false });\r\n\r\n this.props.showErrorMsgPopUp([\"There are no holdings in this product available to sell\"], true);\r\n\r\n return;\r\n }\r\n\r\n const query: InstrumentSearchQuery = {\r\n ProductIds: ids,\r\n ResultsPerPage: ids.length,\r\n ServiceProposition: data.AccountServiceProposition,\r\n };\r\n\r\n let currentAssets = [];\r\n InvestmentSelectionAction.searchInstruments(query, params[\"subaccounthierarchyid\"], (result: Instrument[]) => {\r\n result\r\n .filter((x) => x.Type === ProductType.CashProduct)\r\n .forEach((x) => {\r\n data.CurrentIndividualHoldings.filter((y) =>\r\n cashProductInstanceInfo.find(\r\n (z) => z.ProductId === y.ProductId && z.TemplateProductId === x.ProductId\r\n )\r\n ).forEach((y) => {\r\n currentAssets = currentAssets.concat(\r\n transformNewItem(\r\n [{ Investment: y }],\r\n this.state.orderType,\r\n OrderDirection.Sell,\r\n this.props.data.TotalValue\r\n )\r\n );\r\n });\r\n });\r\n\r\n result\r\n .filter((x) => x.Type !== ProductType.CashProduct)\r\n .forEach((ele) => {\r\n const obj = data.CurrentIndividualHoldings.find((item) => item.ProductId == ele.ProductId);\r\n const model = data.CurrentModelHoldings.find((item) => item.ProductId == ele.ProductId);\r\n if (obj) {\r\n currentAssets = currentAssets.concat(\r\n transformNewItem(\r\n [{ Investment: obj }],\r\n this.state.orderType,\r\n OrderDirection.Sell,\r\n this.props.data.TotalValue\r\n )\r\n );\r\n } else if (model) {\r\n currentAssets = currentAssets.concat(\r\n transformNewItem(\r\n [{ Investment: model }],\r\n this.state.orderType,\r\n OrderDirection.Sell,\r\n this.props.data.TotalValue\r\n )\r\n );\r\n }\r\n });\r\n\r\n const query2: InstrumentSearchQuery = {\r\n ProductWrapperTypes: [this.props.type],\r\n ProductIds: ids,\r\n CanBeSold: true,\r\n ResultsPerPage: ids.length,\r\n ServiceProposition: data.AccountServiceProposition,\r\n };\r\n InvestmentSelectionAction.searchInstruments(\r\n query2,\r\n params[\"subaccounthierarchyid\"],\r\n (result2: Instrument[]) =>\r\n {\r\n currentAssets.forEach((ele) =>\r\n {\r\n if (!result2.find((item) =>\r\n caseInsensitiveMatch(item.ProductCode, ele.InstrumentCode) ||\r\n (item.Type === ProductType.CashProduct &&\r\n cashProductInstanceInfo.find(x =>\r\n caseInsensitiveMatch(x.ProductCode, ele.InstrumentCode) &&\r\n caseInsensitiveMatch(x.TemplateProductCode, item.ProductCode)))))\r\n {\r\n ele.tradeable = false;\r\n }\r\n });\r\n\r\n if (currentAssets.length == 0) {\r\n this.props.showErrorMsgPopUp([\"There are no holdings in this product available to sell\"], true);\r\n } else {\r\n this.props.onChange({\r\n InvestmentList: currentAssets,\r\n AccountAdviceType: data.ClientDetail\r\n ? data.ClientDetail.AccountAdviceType\r\n : AccountAdviceType.NotSpecified,\r\n });\r\n }\r\n this.setState({ isLoading: false });\r\n }\r\n );\r\n });\r\n }\r\n\r\n async getCashProductInstanceInfo(\r\n investments: TradableInvestment[],\r\n accountServiceProposition: ServiceProposition\r\n ): Promise> {\r\n const cashProductInstanceIds: number[] = Array.from(\r\n new Set(investments.filter((row) => row.Type === ProductType.CashProduct).map((row) => row.ProductId))\r\n );\r\n\r\n if (cashProductInstanceIds.length === 0) {\r\n return;\r\n }\r\n\r\n const query: DepositProductsQuery = {\r\n ProductIds: cashProductInstanceIds,\r\n ServiceProposition: accountServiceProposition,\r\n ResultsPerPage: cashProductInstanceIds.length,\r\n };\r\n\r\n return new Promise((resolve) =>\r\n InvestmentSelectionAction.searchDepositProducts(\r\n query,\r\n getQueryParameters()[\"hierarchyId\"],\r\n (data: ResultPageModel) => {\r\n resolve(data);\r\n },\r\n (err) => {\r\n console.error(\"Failed to fetch cash products:\", err);\r\n }\r\n )\r\n );\r\n }\r\n\r\n private onUnderlyingToggle(isToggle, index, row) {\r\n const _data = this.props.data.InvestmentList.concat();\r\n if (isToggle) {\r\n const item = _data[index];\r\n _data[index].isToggle = isToggle;\r\n if (item.underlying) {\r\n this.props.onChange({ InvestmentList: _data });\r\n } else {\r\n if (row.modelPortfolioType) {\r\n InvestmentSelectionAction.getUnderlying(\r\n row.Instrument.ProductId,\r\n ModelPortfolioTabType.HubModel,\r\n (data) => {\r\n _data[index].underlying = data;\r\n this.props.onChange({ InvestmentList: _data });\r\n }\r\n );\r\n } else {\r\n InvestmentsAction.getInvestmentsModelSingle(\r\n getQueryParameters()[\"subaccounthierarchyid\"],\r\n row.Instrument.InstrumentCode,\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n AssetClassType.Tier1,\r\n (result) => {\r\n _data[index].underlying = { ModelPortfolioProducts: [] };\r\n result.forEach((ele) => {\r\n ele.Investments.forEach((item) => {\r\n _data[index].underlying.ModelPortfolioProducts.push({\r\n Name: item.DisplayName,\r\n ProductCode: item.InstrumentCode,\r\n ...item,\r\n targetAllocation: (item.Allocation * 100).toFixed(2) + \"%\",\r\n });\r\n });\r\n });\r\n this.props.onChange({ InvestmentList: _data });\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n _data[index].isToggle = isToggle;\r\n this.props.onChange({ InvestmentList: _data });\r\n }\r\n }\r\n\r\n private isSellDisabled(row): boolean {\r\n const hasOpenSellOrders: boolean =\r\n !this.isCashProduct(row) && (row.Instrument.HasOpenValueSellOrder || row.Instrument.SellOrders > 0);\r\n\r\n return (\r\n hasOpenSellOrders ||\r\n !row.tradeable ||\r\n row.Instrument.CurrQuantity <= 0 ||\r\n (this.isCashProduct(row) && this.props.data.BatchType === BatchType.Standing)\r\n );\r\n }\r\n\r\n private isCashProduct(row): boolean {\r\n return row.Instrument.Type === ProductType.CashProduct;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n const params = getQueryParameters();\r\n\r\n const notSellableInvestment = data.InvestmentList\r\n ? data.InvestmentList.filter(\r\n (ele) =>\r\n ele.Instrument.Type !== ProductType.CashProduct &&\r\n (ele.Instrument.HasOpenValueSellOrder || ele.Instrument.SellOrders > 0)\r\n )\r\n : [];\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n const selectedInvestmentProductIds = data?.InvestmentList.filter(\r\n (ele) =>\r\n ele.BuyOrSell == OrderDirection.Sell &&\r\n ((ele.OrderValue || 0) > 0 || (ele.OrderQuantity || 0) > 0 || (ele.OrderPercentage || 0) > 0)\r\n ).map((ele) => ele.Instrument.ProductId);\r\n\r\n const SelectedTreasuredProductIds =\r\n this.state.treasuredAssetProductIds != null && this.state.treasuredAssetProductIds.length > 0\r\n ? selectedInvestmentProductIds.filter((ele) => this.state.treasuredAssetProductIds.includes(ele))\r\n : [];\r\n\r\n // const SelectedTreasuredProductIds = selectedInvestmentProductIds.filter(ele => this.state.treasuredAssetProductIds.includes(ele));\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup sell investments\";\r\n const treasuredAssetsMessage =\r\n \"As you have selected a Treasured asset, a sell instruction will be created on this occasion. The instrument will continue to remain protected from auto-disinvestment, unless this a full sell order.\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n
    \r\n

    \r\n Sell investments\r\n

    \r\n\r\n {RestrictionStore.sellDisabled() && }\r\n\r\n \r\n {\r\n const clearTable = clearAllocation(data.InvestmentList, OrderType.Value);\r\n const totalMarketValue = clearTable.reduce(\r\n (sum, curr) =>\r\n (sum = sum + (this.isSellDisabled(curr) ? 0 : curr.Instrument.MarketValue.Amount)),\r\n 0\r\n );\r\n const investmentList = clearTable.map((ele) => {\r\n return {\r\n ...ele,\r\n OrderValue: this.isSellDisabled(ele)\r\n ? null\r\n : Number(((ele.Instrument.MarketValue.Amount / totalMarketValue) * v).toFixed(2)),\r\n Type: OrderType.Value,\r\n };\r\n });\r\n const total = investmentList.reduce((sum, curr) => (sum = sum + (curr.OrderValue || 0)), 0);\r\n this.setState({ orderType: OrderType.Value });\r\n onChange({ TotalValue: Number(total.toFixed(2)), InvestmentList: investmentList });\r\n }}\r\n onChange={(v) => {\r\n onChange({ TotalValue: v ? Number(v.toFixed(2)) : v });\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n moreThan={{\r\n value: 0,\r\n errorMessage: \"Value must larger than 0\",\r\n }}\r\n required=\"Please enter\"\r\n />\r\n
    \r\n {notSellableInvestment.length > 0 && (\r\n ele.InstrumentCode)\r\n .toString()} currently has an open value sell order. No further sell instructions can be placed until this has been confirmed.`}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {/* {\r\n onChange({ InvestmentList: clearAllocation(data.InvestmentList, v) });\r\n this.setState({ orderType: v });\r\n }}\r\n hasModel={\r\n data.InvestmentList &&\r\n data.InvestmentList.some((ele) =>\r\n [ProductType.ManagedModelPortfolio, ProductType.TailoredModelPortfolio].includes(\r\n ele.Instrument.Type\r\n )\r\n )\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n {SelectedTreasuredProductIds.length > 0 && (\r\n \r\n )}\r\n\r\n \r\n this.onUnderlyingToggle(isToggle, index, rowData)}\r\n data={data.InvestmentList}\r\n onChange={(list) => {\r\n const total = list\r\n ? list.reduce(\r\n (sum, curr) =>\r\n (sum =\r\n sum + (curr.OrderValue ? Number(Number(curr.OrderValue).toFixed(2)) : 0)),\r\n 0\r\n )\r\n : 0;\r\n onChange({\r\n InvestmentList: list,\r\n TotalValue: Number(total).toFixed(2),\r\n });\r\n }}\r\n orderType={OrderType.Value}\r\n process={ProcessType.Sell}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onTreasuredAssetChange={() => {}}\r\n ChecktreasuredAsset={this.state.treasuredAssetProductIds}\r\n depositProducts={this.state.cashProducts}\r\n batchType={data.BatchType}\r\n />\r\n {hasDecisionMaker(data.InvestmentList) && (\r\n this.appendChild(ref)}\r\n data={data}\r\n onChange={(v) => onChange(v)}\r\n clAccountId={params[\"claccountid\"]}\r\n headAccountHierarchyId={clientAccount?.HierarchyId}\r\n companyCode={clientAccount?.Company}\r\n accountAdviceType={\r\n clientAccount?.Discretionary\r\n ? AccountAdviceType.Discretionary\r\n : AccountAdviceType.NonDiscretionary\r\n }\r\n showErrorMsgPopUp={(msg, now) => this.props.showErrorMsgPopUp(msg, now)}\r\n />\r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n","export const SellStepperName = {\r\n orderStep: \"Order setup\",\r\n ist: \"Sell investments\",\r\n review: \"Review\",\r\n confirmation: \"Confirmation\",\r\n};\r\n\r\nexport const sellAllTooltip =\r\n \"If the Adviser places a cash value sell with an amount that is equal to or greater than 95% of the current value of the fund we will alter this sell so that it alters to that proportion of units instead (excluding from the Investment Hub).\";\r\n\r\nexport const treasureAssetTooltip = \"If all investments are selected, then no investments will be protected.\";\r\n\r\n","import * as React from \"react\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { SellAction } from \"./Action/SellAction\";\r\nimport { SellInvestment } from \"./Components/SellInvestment/SellInvestment\";\r\nimport { SellOrderSetup } from \"./Components/OrderSetup/OrderSetup\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { SellStepperName } from \"./Resource/Content\";\r\nimport { SellStore } from \"./Store/Variable\";\r\nimport { productMap } from \"../SinglePaymentTransferWizard/Resource/Content\";\r\nimport { BatchInfoModel } from \"../../../../../Wrap/Models/Domains/Orders/Batch/BatchInfoModel\";\r\nimport { RestrictionStore } from \"../Common/Restrictions/Variable\";\r\nimport { AccountRoleStore, ClientAccountStore } from \"../../../Stroes/Variable\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { RoutingActions } from \"../../../../../react-core/Flux/Variables\";\r\nimport { getUrl } from \"../PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\ninterface ISellWizardState extends IAccountContextWizardComponentState {\r\n extraInfo?: any;\r\n}\r\nexport class SellWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n extraInfo: null,\r\n clientAccount: null,\r\n customer: null,\r\n };\r\n }\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(SellStore, () => this.onStoreChange());\r\n }\r\n\r\n onAccountRoleStoreChange(): void {\r\n super.onAccountRoleStoreChange();\r\n const { customer } = this.state;\r\n const accountRole = AccountRoleStore.getAccountRoles()?.find((x) => x.IsPrimary);\r\n if (accountRole != null) {\r\n this.setState({\r\n extraInfo: `${customer.PersonalDetails.Name.Given} ${customer.PersonalDetails.Name.Family}`,\r\n });\r\n }\r\n }\r\n\r\n private onStoreChange() {\r\n const data = SellStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n SellAction.initSellModel();\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n const shouldNavigateToImmediately = (\r\n from === 0 &&\r\n this.state.data.BatchId && this.state.data.BatchId > 0 &&\r\n this.state.data.TransId && this.state.data.TransId > 0\r\n );\r\n \r\n if (shouldNavigateToImmediately) {\r\n this.setState({ onPosting: false });\r\n Navigator.navigateToAndPreserveQueryParameters(toUrl);\r\n return;\r\n }\r\n \r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n const data: BatchInfoModel = JSON.parse(JSON.stringify(this.state.data));\r\n data.InvestmentList = [...data.InvestmentList.filter((x) => x.OrderQuantity > 0 || x.OrderValue > 0)];\r\n SellAction.goToNextStep(from, data, (d) => {\r\n this.setState({ onPosting: false });\r\n if (d && d.length > 0) {\r\n this.setState({ errorMsg: d.map((ele) => ele.UserMessage), isShowErrorMsg: true });\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(toUrl);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onExit() {\r\n // const params = getQueryParameters();\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n RoutingActions.navigateTo(getUrl(clientAccount, accountRoles, \"summary\"));\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n const data = this.state.data as BatchInfoModel;\r\n data.InvestmentList = [...data.InvestmentList.filter((x) => x.OrderQuantity > 0 || x.OrderValue > 0)];\r\n SellAction.submit(data, (result) => {\r\n this.setState({ isSubmitting: false });\r\n if (!result.SubmissionSucceed) {\r\n this.setState({\r\n active: true,\r\n errorMsg: [`There was an error when processing Batch ${result.BatchId}.`],\r\n });\r\n }\r\n });\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n this.stepperConfig = [\r\n {\r\n title: SellStepperName.orderStep,\r\n url: Urls.get().SellOrderSetup,\r\n path: Contents.URLMap.orderSetup,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n },\r\n {\r\n title: SellStepperName.ist,\r\n url: Urls.get().SellInvestmentSelection,\r\n path: Contents.URLMap.ist,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n },\r\n {\r\n title: SellStepperName.review,\r\n url: Urls.get().SellReview,\r\n path: Contents.URLMap.review,\r\n onSubmit: () => this.onSubmit(),\r\n needPrint: true,\r\n canSubmit: () => this.child[2].isValid(),\r\n component: (\r\n this.setState({ errorMsg: [], isShowErrorMsg: false })}\r\n />\r\n ),\r\n },\r\n {\r\n title: SellStepperName.confirmation,\r\n url: Urls.get().SellConfiramation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n {\r\n this.state.errorMsg.length > 0 || !checkPermission(UserClaim.AdviserPortalDluOrdersCanView)\r\n ? Navigator.navigateToAndPreserveQueryParameters(Urls.get().SellReview)\r\n : (window.location.href = `/clients/orders/orders.aspx?claccountid=${\r\n getQueryParameters()[\"claccountid\"]\r\n }`);\r\n }}\r\n buttonLabel={this.state.errorMsg.length > 0 ? \"Previous\" : \"Go to transactions\"}\r\n errorMsg={this.state.errorMsg[0]}\r\n successMessage={`We've received your instruction to Sell investments for ${\r\n this.state.extraInfo\r\n } (${getQueryParameters()[\"claccountid\"]}).`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Sell investments\";\r\n processProps.onSave = null;\r\n processProps.subTitle = productMap[getQueryParameters()[\"type\"]];\r\n processProps.goBacktoFirst = true;\r\n return processProps;\r\n }\r\n}\r\n","import { SellDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\n\r\nexport interface SellStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class SellStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(SellDispatcher, (actionData) => this.onSellStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): SellStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): SellStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onSellStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { SellStoreStatic } from \"./SellStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const SellDispatcher: Dispatcher = new Dispatcher();\r\nexport const SellStore: SellStoreStatic = new SellStoreStatic();\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { IsaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/IsaContributionInstruction\";\r\nimport { PensionContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/PensionContributionInstruction\";\r\nimport { GiaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/GiaContributionInstruction\";\r\nimport { WrapCashContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/WrapCashContributionInstruction\";\r\nimport { SubAccountAmendmentInstructionClient } from \"../../../../../../Wrap/Api/Apply/SubAccountAmendmentInstruction\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { SPTInstructionDispatcher, SPTInstructionStore } from \"../Store/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { ProcessType as ActivityType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { CommissionChargesClient } from \"../../../../../../Wrap/Api/Charge/CommissionCharges\";\r\nimport { InstructionProcessClient } from \"../../../../../../Wrap/Api/Instruction/InstructionProcess\";\r\nimport { ContributionAndWithdrawalBase } from \"../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/ContributionAndWithdrawalBase\";\r\n\r\nexport class SPTAction {\r\n public static getInstruction(id, type, hierarchyId, subAccountHierarchyId, clientId): void {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n pensionContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId\r\n );\r\n } else if (SubAccountTypeHelper.isPP(type)) {\r\n const giaContributionInstruction = new GiaContributionInstructionClient();\r\n this.getOrCreateInstruction(giaContributionInstruction, id, hierarchyId, subAccountHierarchyId, clientId);\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n const isaContributionInstruction = new IsaContributionInstructionClient();\r\n this.getOrCreateInstruction(isaContributionInstruction, id, hierarchyId, subAccountHierarchyId, clientId);\r\n } else if (SubAccountTypeHelper.isWrapCash(type)) {\r\n const wrapCashContributionInstruction = new WrapCashContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n wrapCashContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId\r\n );\r\n } else {\r\n SPTInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: {\r\n HierarchyId: \"034-0000006631\",\r\n ownerHierarchyId: \"000-0000738253\",\r\n ClientDetails: null,\r\n AllBankAccounts: [],\r\n Contribution: null,\r\n WrapCash: {\r\n ClientSinglePayment: null,\r\n EmployerSinglePayment: null,\r\n ThirdPartySinglePayment: null,\r\n },\r\n BankAccountInstructions: [],\r\n },\r\n });\r\n }\r\n }\r\n\r\n public static saveInstruction(from, data: any, type, customerId?: number, callback?: (data) => void): void {\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n const promise = pensionContributionInstruction.put(data, customerId);\r\n this.updateSPTInstructionStore(promise, callback);\r\n } else if (SubAccountTypeHelper.isPP(type)) {\r\n const giaContributionInstruction = new GiaContributionInstructionClient();\r\n const promise = giaContributionInstruction.put(data, \"\");\r\n this.updateSPTInstructionStore(promise, callback);\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n const client = new IsaContributionInstructionClient();\r\n const promise = client.put(data);\r\n this.updateSPTInstructionStore(promise, callback);\r\n } else if (type == SubAccountType.WrapCash) {\r\n const client = new WrapCashContributionInstructionClient();\r\n const promise = client.put(data);\r\n this.updateSPTInstructionStore(promise, callback);\r\n } else {\r\n callback([]);\r\n }\r\n }\r\n\r\n public static postInstructionProcess(instructionId: number, processType: ActivityType) {\r\n const client = new InstructionProcessClient();\r\n const promise = client.post(instructionId, processType);\r\n }\r\n\r\n public static submitInstruction(\r\n hierarchyId: string,\r\n data: ContributionAndWithdrawalBase,\r\n customerId,\r\n clAcclountId,\r\n callback?: VoidFunction\r\n ): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.put(hierarchyId, data, customerId, clAcclountId);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static deleteInstruction(id, callback?: VoidFunction): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.delete(id);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static cancelCommissionCharges(\r\n instructionId: number,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n cancelAll: boolean,\r\n callback?: VoidFunction\r\n ) {\r\n const client = new CommissionChargesClient();\r\n const promise = client.delete(headAccountHierarchyId, cancelAll, subAccountHierarchyId, instructionId);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static getCommissionCharges(headAccountHierarchyId: string, callback?) {\r\n const client = new CommissionChargesClient();\r\n const promise = client.get(headAccountHierarchyId);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback(result);}\r\n });\r\n }\r\n\r\n private static getOrCreateInstruction(\r\n client:\r\n | PensionContributionInstructionClient\r\n | IsaContributionInstructionClient\r\n | GiaContributionInstructionClient\r\n | WrapCashContributionInstructionClient,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId\r\n ) {\r\n if (id && id !== \"\") {\r\n // Have instructionId\r\n const promise = client.get(id, clientId, \"\", null);\r\n this.updateSPTInstructionStore(promise);\r\n } else {\r\n // Create new instruction\r\n const promise = client.post(subAccountHierarchyId, hierarchyId, ActivityType.AddSinglePaymentorTransfer);\r\n promise.onSuccess((result) => {\r\n const instructionId = result.Result;\r\n const model = client.get(instructionId, clientId, \"\", null);\r\n this.updateSPTInstructionStore(model);\r\n });\r\n\r\n promise.onError((err) => {\r\n SPTInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n }\r\n\r\n private static updateSPTInstructionStore(promise: any, callback?: (data) => void) {\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(SPTInstructionStore.getData()));\r\n if (!data) {data = {};}\r\n data = result;\r\n SPTInstructionDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (result.Errors != null && result.Errors.length > 0) {\r\n callback(result.Errors);\r\n } else {\r\n callback(data);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n SPTInstructionDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { CommissionCharge } from \"../../../Common/AdviserCharges/Components/CommissionCharge\";\r\nimport { IAC } from \"../../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../../Common/AdviserCharges/Components/OAC\";\r\nimport { AdviserChargesContents } from \"../../../Common/AdviserCharges/Resource/Contents\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\n\r\ninterface IAdviserChargesProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IAdviserChargesState {}\r\n\r\nexport class AdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

    {AdviserChargesContents.AcHeader}

    \r\n\r\n

    {AdviserChargesContents.ProductLevel}

    \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DistributionDividendPreference } from \"../../../../../../../Wrap/Constants/Enums/Domain/DistributionDividendPreference\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { InstrumentSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { InstrumentSelections } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelections\";\r\nimport { PensionContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContribution\";\r\nimport { IsaContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport {\r\n getISTPaymentAmount,\r\n initPensionInstrumentSelections,\r\n initWeighting,\r\n} from \"../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { AllocationTableItem } from \"../../../../../../Shared/IST/Store/SelectedInvesmentStoreStatic\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { ClientAccountStore, TreasuredAssetsStore } from \"../../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { BankAccountOwnerPaymentTypeMap, PaymentType, TransferKeysMap } from \"../../../Common/Resource/Contents\";\r\nimport { IWizardDataModelTemplate } from \"../../Models/WizardDataModelTemplate\";\r\n\r\ninterface IInvestmentSelectionToolProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: IWizardDataModelTemplate;\r\n treasuredAssetProductIds: number[];\r\n onTreasuredAssetsStoreChange: () => void;\r\n onChangeTreasuredAssets: (subAccountInstructionId, productId, value) => void;\r\n}\r\n\r\ninterface IInvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n IInvestmentSelectionToolProps,\r\n IInvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n this.subscribeToStore(TreasuredAssetsStore, () => this.props.onTreasuredAssetsStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const subAccountInstructionId = HierarchyIdHelper.generateHierarchyId(this.props.data.HierarchyId).entityId;\r\n Action.getInstructionTreasuredAssetsProductIds(subAccountInstructionId);\r\n }\r\n\r\n private onInvestmentChanges = (changes) => {\r\n const preRetirement: AllocationTableItem[] = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Single: ele.Single,\r\n Regular: ele.Regular,\r\n Transfer: ele.Transfer,\r\n isToogle: ele.isToogle,\r\n needToggle: ele.needToggle,\r\n underlying: ele.underlying,\r\n isTargetAllocation: ele.isTargetAllocation,\r\n modelPortfolioType: ele.modelPortfolioType,\r\n }));\r\n const postRetirement = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Transfer: ele.PostTransfer || null,\r\n Single: initWeighting(),\r\n Regular: initWeighting(),\r\n }));\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n PreRetirementInstrumentSelections: this.initInstrumentSelection(preRetirement),\r\n PostRetirementInstrumentSelections: this.initInstrumentSelection(postRetirement),\r\n },\r\n this.props.data,\r\n \"Contribution\"\r\n );\r\n };\r\n\r\n private initInstrumentSelection = (instruments: InstrumentSelection[]): InstrumentSelections => {\r\n return {\r\n Type: MoneyOrPercentageType.Percentage,\r\n Instruments: instruments,\r\n DistributionDividendPreference: DistributionDividendPreference.NotSpecified,\r\n };\r\n };\r\n \r\n private hasSetTransferPercentageToSinglePercentageOnce = false;\r\n\r\n private setTransferPercentage() {\r\n if (!this.hasSetTransferPercentageToSinglePercentageOnce &&\r\n (this.props.data as IsaContributionModel).Contribution?.IsaTransfers?.length > 0) {\r\n\r\n const instruments = this.props.data.Contribution?.InstrumentSelections?.Instruments;\r\n let savedPercentage: number | null = null;\r\n\r\n if (Array.isArray(instruments)) {\r\n instruments.forEach((instrument: any) => {\r\n if (instrument.Single) {\r\n savedPercentage = instrument.Single.Percentage;\r\n if (instrument.Transfer) {\r\n instrument.Transfer.Percentage = savedPercentage;\r\n this.hasSetTransferPercentageToSinglePercentageOnce = true;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange, onChangeTreasuredAssets, treasuredAssetProductIds } = this.props;\r\n const params = getQueryParameters();\r\n const paymentAmount = getISTPaymentAmount(data.Contribution, TransferKeysMap[type]);\r\n const accountsFromExisting = data.AllBankAccounts || [];\r\n const bankAccountInstructionsFiltered =\r\n (data.BankAccountInstructions || []).filter(\r\n (x) => BankAccountOwnerPaymentTypeMap[x.Owner].indexOf(PaymentType.Client) != -1\r\n ) || [];\r\n\r\n const bankAccounts = [...accountsFromExisting, ...bankAccountInstructionsFiltered];\r\n const modelData = JSON.parse(JSON.stringify(data?.Contribution));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n let instrumentSelection = data.Contribution?.InstrumentSelections;\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n const preRetirement =\r\n (data?.Contribution as PensionContribution)?.PreRetirementInstrumentSelections?.Instruments || [];\r\n const postRetirement =\r\n (data?.Contribution as PensionContribution)?.PostRetirementInstrumentSelections?.Instruments || [];\r\n instrumentSelection = this.initInstrumentSelection([]);\r\n instrumentSelection.Instruments = initPensionInstrumentSelections(preRetirement, postRetirement);\r\n }\r\n\r\n this.setTransferPercentage();\r\n\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n return (\r\n <>\r\n

    Investment selection

    \r\n this.appendChild(ref)}\r\n onChange={(changes) => {\r\n if (!SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution,\r\n \"InstrumentSelections\"\r\n );\r\n } else {\r\n this.onInvestmentChanges(changes);\r\n }\r\n }}\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.SinglePayment}\r\n hiercharyId={params[\"subaccounthierarchyid\"]}\r\n claccountId={clientAccount?.HeadClAccountId}\r\n headAccountHierarchyId={clientAccount?.HierarchyId}\r\n companyCode={clientAccount?.Company}\r\n product={type}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={bankAccounts}\r\n onBankChange={(bankInfo) => {\r\n const banks = data.BankAccountInstructions.concat(bankInfo);\r\n onChange({ BankAccountInstructions: banks });\r\n }}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={params[\"subaccounthierarchyid\"]}\r\n accountAdviceType={data.SubAccountClientDetail?.AccountAdviceType}\r\n accountServiceProposition={clientAccount.AccountServicePropositionId}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"Contribution\")}\r\n treasuredAssetsProductIds={treasuredAssetProductIds}\r\n onChangeTreasuredAssets={(productId, value) => {\r\n onChangeTreasuredAssets(data.HierarchyId, productId, value);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { MoneyPurchaseAnnualAllowanceComponent } from \"../../../Common/PaymentsIn/SIPP/MoneyPurchaseAnnualAllowanceComponent\";\r\nimport { SourceOfWealth } from \"../../../Common/PaymentsIn/SIPP/SourceOfWealth\";\r\nimport { FinancialAdvice } from \"../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { PaymentType, processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport { SinglePayment } from \"../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { IsaAllowance } from \"../../../Common/ISA/PaymentsIn/IsaAllowance\";\r\nimport { IsaHelper } from \"../../../Common/Helpers/IsaHelper\";\r\nimport { PensionProtection } from \"../../../Common/PaymentsIn/SIPP/PensionProtection\";\r\nimport { TransferIn } from \"../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { RestrictionStore } from \"../../../Common/Restrictions/Variable\";\r\nimport { BankAccountAction } from \"../../../Common/PaymentsIn/BankAccount/BankAccountAction\";\r\nimport { UserClaim } from \"../../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Permission } from \"../../../../../../Shared/Permission/Permission\";\r\nimport { checkPermission } from \"../../../../../../Shared/Permission/PermissionHelper\";\r\nimport { inUseBankAccountForContribution } from \"../../../Common/PaymentsIn/BankAccount/BankAccountHelper\";\r\nimport { FsaPermission } from \"../../../../../../../Wrap/Models/Models/Company/FsaPermission\";\r\nimport { CompanyWizardAction } from \"../../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { ClientAccountStore } from \"../../../../../Stroes/Variable\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: any;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\ninterface IPaymentsInState {\r\n transferInDisabled?: boolean;\r\n disableJourney: boolean;\r\n}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n disableJourney: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ transferInDisabled: RestrictionStore.transferDisabled() });\r\n CompanyWizardAction.getCompanyFsaPermissionDetail(\r\n ClientAccountStore.getClientAccountInfo()?.Company,\r\n (result: FsaPermission[]) => {\r\n if (\r\n !result.some(\r\n (ele) =>\r\n ele?.FsaRegulatedActivity?.Name?.toLowerCase() == \"AdviseInvestments\".toLowerCase() &&\r\n ele?.IsInclude &&\r\n ele?.IsPermit\r\n )\r\n ) {\r\n this.setState({ disableJourney: true });\r\n }\r\n }\r\n );\r\n }\r\n\r\n isValid() {\r\n const flag = super.isValid();\r\n return flag && !this.state.disableJourney;\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n hasPaymentMethod: true,\r\n isReview: isReview,\r\n onSaveNewBankAccountInstruction: (bankAccountInstruction) => {\r\n bankAccountInstruction.OwnerHierarchyId = data.OwnerHierarchyId;\r\n BankAccountAction.saveBankInstruction(\r\n bankAccountInstruction,\r\n data.ClientDetails?.ActorId,\r\n processTypeEnum.SinglePaymentTransfer,\r\n (savedBankAccountInstruction) => {\r\n const changes = [...data.BankAccountInstructions, ...[savedBankAccountInstruction]];\r\n this.onDataChange(onChange, changes, data, \"BankAccountInstructions\");\r\n }\r\n );\r\n },\r\n onRemoveBankAccountInstruction: (bankAccountInstruction) => {\r\n BankAccountAction.removeBankInstruction(bankAccountInstruction, () => {\r\n const changes = (data.BankAccountInstructions || []).filter(\r\n (x) => x.AccountNumber != bankAccountInstruction.AccountNumber\r\n );\r\n this.onDataChange(onChange, { BankAccountInstructions: changes }, data);\r\n });\r\n },\r\n inUseBankAccountInstruction: inUseBankAccountForContribution(data?.Contribution),\r\n };\r\n };\r\n\r\n private renderFsaError() {\r\n if (this.state.disableJourney) {\r\n return ;\r\n }\r\n return <>;\r\n }\r\n\r\n private renderPaymentsIn(ClientDetails, AllBankAccounts, BankAccountInstructions) {\r\n const { Contribution } = this.props.data;\r\n const { type } = this.props;\r\n const { onChange, data } = this.props;\r\n\r\n if (SubAccountTypeHelper.isWrapCash(type)) {\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n \r\n );\r\n } else if (SubAccountTypeHelper.isPP(type)) {\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution\r\n )\r\n }\r\n isReview={this.props.isReview}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n \r\n \r\n );\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n return (\r\n <>\r\n
    \r\n {Contribution.IsaAllowance && }\r\n
    \r\n \r\n
    \r\n {Contribution.IsaTransfers &&\r\n type !== SubAccountType.CashIsa &&\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentTransferInReadWrite) && (\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution\r\n )\r\n }\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isPost={false}\r\n isReview={this.props.isReview}\r\n onRef={(ref) => this.appendChild(ref)}\r\n hasCashIsa={this.props.hasCashIsa}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n )}\r\n \r\n );\r\n } else if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {Contribution.PensionTransfers &&\r\n UserClaim.AdviserPortalSPTAndRegularPaymentTransferInReadWrite && (\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution\r\n )\r\n }\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isPost={false}\r\n isReview={this.props.isReview}\r\n onRef={(ref) => this.appendChild(ref)}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n )}\r\n {Contribution.ClientSinglePayment && Contribution.ClientSinglePayment !== null && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { ClientDetails, AllBankAccounts, Contribution, BankAccountInstructions } = this.props.data;\r\n const { type } = this.props;\r\n\r\n if (SubAccountTypeHelper.isOnPlatformPension(type)) {\r\n return (\r\n
    \r\n {this.renderFsaError()}\r\n

    Payments in

    \r\n \r\n {Contribution?.AdviceGiven &&\r\n this.renderPaymentsIn(ClientDetails, AllBankAccounts, BankAccountInstructions)}\r\n
    \r\n );\r\n } else if (SubAccountTypeHelper.isWrapCash(type)) {\r\n return (\r\n
    \r\n {this.renderFsaError()}\r\n

    Payments in

    \r\n \r\n {Contribution?.AdviceGiven &&\r\n this.renderPaymentsIn(ClientDetails, AllBankAccounts, BankAccountInstructions)}\r\n
    \r\n );\r\n } else if (SubAccountTypeHelper.isPP(type)) {\r\n return (\r\n
    \r\n {this.renderFsaError()}\r\n

    Payments in

    \r\n \r\n {Contribution?.AdviceGiven &&\r\n this.renderPaymentsIn(ClientDetails, AllBankAccounts, BankAccountInstructions)}\r\n
    \r\n );\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n return (\r\n
    \r\n {this.renderFsaError()}\r\n

    Payments in

    \r\n \r\n {(Contribution?.AdviceGiven || IsaHelper.hasPaymentsTransfer(Contribution)) &&\r\n this.renderPaymentsIn(ClientDetails, AllBankAccounts, BankAccountInstructions)}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    Payments in

    \r\n
    \r\n );\r\n }\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CommissionChargeCancelMsg } from \"../../../Common/AdviserCharges/Components/CommissionChargeCancelMsg\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { AdviceChargeReview } from \"../../../Common/Review/Component/AdviceChargeReview\";\r\nimport { InvestmentReview } from \"../../../Common/Review/Component/InvestmentReview\";\r\nimport { PaymentsInReview } from \"../../../Common/Review/Component/PaymentsInReview\";\r\nimport { IWizardDataModelTemplate } from \"../../Models/WizardDataModelTemplate\";\r\nimport { FinancialAdviceReview } from \"../../../Common/Review/Component/FinancialAdviceReview\";\r\nimport { BWACheck } from \"../../../Common/Review/Component/BWACheck\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: IWizardDataModelTemplate;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private isShowInvestmentSelection(data, subAccountType): boolean {\r\n if (SubAccountTypeHelper.isOnPlatformPension(subAccountType))\r\n {return (\r\n data.PreRetirementInstrumentSelections?.Instruments?.length > 0 ||\r\n data.PostRetirementInstrumentSelections?.Instruments?.length > 0\r\n );}\r\n return data.InstrumentSelections?.Instruments?.length > 0;\r\n }\r\n\r\n private getReviewProps = (data, subAccountType) => {\r\n return { data: data, subAccountType: subAccountType, process: ProcessType.SinglePayment, colNum: 3 };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, type } = this.props;\r\n const contribution = data.Contribution;\r\n\r\n return (\r\n
    \r\n

    Review

    \r\n \r\n \r\n \r\n \r\n {!SubAccountTypeHelper.isCashAccount(type) && (\r\n \r\n )}\r\n {this.isShowInvestmentSelection(contribution, type) && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\n\r\nexport const sptSteppersMap = {\r\n paymentsIn: \"Payments in\",\r\n adviserCharges: \"Adviser charges\",\r\n investment: \"Investment selection\",\r\n review: \"Review\",\r\n doc: \"Documents / declaration\",\r\n comfirm: \"Confirmation\",\r\n};\r\n\r\nexport const productMap = {\r\n [SubAccountType.Sipp]: \"SIPP\",\r\n [SubAccountType.Npr]: \"Pension\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks & Shares\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.InvestmentAccount]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Cash Account\",\r\n};\r\n\r\nexport const FinancialAdviceMap = {\r\n true: \"Yes\",\r\n false: \"No\",\r\n};\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { RoutingActions } from \"../../../../../react-core/Flux/Variables\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ProcessType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { InvestorType } from \"../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { hasCashTransfer, hasSinglePayments } from \"../../../../Shared/IST/Components/Shared/Utils\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../Actions/Action\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { AccountRoleStore, ClientAccountStore, TreasuredAssetsStore } from \"../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { DocumentsAndDeclarations } from \"../Common/Documents/Components/DocumentsAndDeclarations\";\r\nimport { ClientNameHelper } from \"../Common/Helpers/ClientNameHelper\";\r\nimport { SubAccountTypeHelper } from \"../Common/Helpers/SubAccountTypeHelper\";\r\nimport { processTypeEnum, TransferInModelMap } from \"../Common/Resource/Contents\";\r\nimport { isJointOrTrustAccount } from \"../NewBusinessWizard/Components/WrapperSelection/WrapperSelctionHelper\";\r\nimport { getUrl } from \"../PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { SPTAction } from \"./Actions/SPTActions\";\r\nimport { AdviserCharges } from \"./Components/AdviserCharges/AdviserCharges\";\r\nimport { InvestmentSelectionTool } from \"./Components/IST/IST\";\r\nimport { PaymentsIn } from \"./Components/PaymentsIn/PaymentsIn\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { productMap, sptSteppersMap } from \"./Resource/Content\";\r\nimport { SPTInstructionStore } from \"./Store/Variable\";\r\nimport { QuoteErrors } from \"../../../../../Wrap/Validation/Errors/Quote/QuoteErrors\";\r\n\r\ninterface ISinglePaymentTransferWizardState extends IAccountContextWizardComponentState {\r\n extraInfo: {\r\n hasCashIsa: boolean;\r\n treasuredAssetProductIds: number[];\r\n treasuredAssetsInstructionId: number;\r\n };\r\n}\r\nexport class SinglePaymentTransferWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n extraInfo: {\r\n hasCashIsa: false,\r\n treasuredAssetProductIds: null,\r\n treasuredAssetsInstructionId: null,\r\n },\r\n };\r\n }\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(SPTInstructionStore, () => this.onInstructionStoreChange());\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (SPTInstructionStore.getActionType() == ActionType.Success) {\r\n const data = SPTInstructionStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n active: data?.Status === InstructionStatus.Pending || data?.Status === InstructionStatus.NotSpecified,\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n }\r\n\r\n componentDidUpdate() {\r\n const { customer, clientAccount, data } = this.state;\r\n if (customer && clientAccount && !data) {\r\n const id = getQueryParameters()[\"id\"];\r\n const params = getQueryParameters();\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const subAccountHierarchyId = params[\"subaccounthierarchyid\"];\r\n SPTAction.getInstruction(id, type, clientAccount.HierarchyId, subAccountHierarchyId, customer.CustomerId);\r\n }\r\n }\r\n\r\n onClientAccountStoreChange(): void {\r\n super.onClientAccountStoreChange();\r\n const { clientAccount } = this.state;\r\n if (clientAccount != null) {\r\n if (clientAccount.SubAccounts.some((ele) => ele.SubAccountType == SubAccountType.CashIsa)) {\r\n const extraInfo = this.state.extraInfo;\r\n extraInfo.hasCashIsa = true;\r\n this.setState({ extraInfo: extraInfo });\r\n }\r\n if (!clientAccount.SubAccounts.some((x) => x.SubAccountType == SubAccountType.WrapCash)) {\r\n const _date = JsonDateParser.getFormatDateString(new Date(), \"yyyy/MM/dd\") as any;\r\n Action.getProductsValuationDetailSummary(clientAccount.HierarchyId, null, _date);\r\n }\r\n }\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n if (from == stepLength - 1) {return this.onExit();}\r\n\r\n if (!params[\"id\"]) {\r\n params[\"id\"] = this.state.data.HierarchyId;\r\n SPTAction.postInstructionProcess(\r\n HierarchyIdHelper.generateHierarchyId(this.state.data.HierarchyId).entityId,\r\n ProcessType.AddSinglePaymentorTransfer\r\n );\r\n }\r\n const { customer } = this.state;\r\n\r\n const dataAux = { ...this.state.data };\r\n dataAux.Contribution.ClientRegularPayment = null;\r\n this.setState({ data: dataAux });\r\n\r\n SPTAction.saveInstruction(from, this.state.data, parseInt(params[\"type\"]), customer?.CustomerId, (result) => {\r\n this.setState({ onPosting: false });\r\n const resultExclusion = result?.Errors?.filter(\r\n (x) => x?.ErrorCode != QuoteErrors.DirectDebitCanNotBeChangedBecauseLastAutoLineIsNotCompleted\r\n );\r\n if (resultExclusion?.length > 0) {\r\n this.setState({\r\n errorMsg: resultExclusion.map((y) => y.UserMessage),\r\n isShowErrorMsg: true,\r\n });\r\n } else {\r\n if (this.state.extraInfo.treasuredAssetsInstructionId) {\r\n Action.setInstructionTreasuredAssetsProductIds(\r\n this.state.extraInfo.treasuredAssetsInstructionId,\r\n this.state.extraInfo.treasuredAssetProductIds,\r\n () => {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n );\r\n } else {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private navigate(to, toUrl, params) {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n\r\n onCancel() {\r\n // SPTAction.deleteInstruction(this.state.data.HierarchyId, () => this.onExit());\r\n //SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n RoutingActions.navigateTo(getUrl(clientAccount, accountRoles, \"summary\"));\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n SPTAction.submitInstruction(\r\n this.state.data.HierarchyId,\r\n this.state.data.Contribution,\r\n this.state.data.ClientDetails.ActorId,\r\n this.state.data.SubAccountClientDetail.ClAccountId,\r\n () => {\r\n this.setState({ isSubmitting: false });\r\n const params = getQueryParameters();\r\n const instructionId = HierarchyIdHelper.generateHierarchyId(this.state.data.HierarchyId).entityId;\r\n SPTAction.cancelCommissionCharges(\r\n instructionId,\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n this.state.data.Contribution.CancelAllCommissionCharges != null\r\n ? this.state.data.Contribution.CancelAllCommissionCharges\r\n : false\r\n );\r\n }\r\n );\r\n }\r\n\r\n onTreasuredAssetsStoreChange() {\r\n const treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n this.setState({\r\n extraInfo: {\r\n hasCashIsa: this.state.extraInfo.hasCashIsa,\r\n treasuredAssetProductIds: treasuredAssetProductIds,\r\n treasuredAssetsInstructionId: null,\r\n },\r\n });\r\n }\r\n\r\n onChangeTreasuredAssets(hierarchyId: string, productId: number, value: boolean) {\r\n let productIds = this.state.extraInfo.treasuredAssetProductIds;\r\n if (value) {\r\n productIds.push(productId);\r\n } else {\r\n productIds = productIds.filter((id) => id !== productId);\r\n }\r\n this.setState({\r\n extraInfo: {\r\n hasCashIsa: this.state.extraInfo.hasCashIsa,\r\n treasuredAssetProductIds: productIds,\r\n treasuredAssetsInstructionId: HierarchyIdHelper.generateHierarchyId(hierarchyId).entityId,\r\n },\r\n });\r\n }\r\n\r\n getStepProps(index) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n return stepProps;\r\n }\r\n\r\n private setReviewConfirmSteppers() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { customer, data } = this.state;\r\n const len = this.stepperConfig.length;\r\n return [\r\n {\r\n title: sptSteppersMap.review,\r\n url: Urls.get().SPTreview,\r\n path: Contents.URLMap.review,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n {\r\n title: sptSteppersMap.doc,\r\n url: Urls.get().SPTdoc,\r\n path: Contents.URLMap.documentAndDeclarations,\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[this.stepperConfig.length - 2].isValid(),\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n {\r\n title: sptSteppersMap.comfirm,\r\n url: Urls.get().SPTconfirm,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={`We have received your instruction to setup a single payment for ${data?.ClientDetails?.FirstName} ${data?.ClientDetails?.LastName} (${this.state.clientAccount?.HeadClAccountId})`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n const { Contribution } = this.state.data;\r\n const steppers = [\r\n {\r\n title: sptSteppersMap.paymentsIn,\r\n url: Urls.get().SPTPaymentsIn,\r\n path: Contents.URLMap.paymentIn,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n ];\r\n if (!SubAccountTypeHelper.isCashAccount(type)) {\r\n steppers.push({\r\n title: sptSteppersMap.adviserCharges,\r\n url: Urls.get().SPTAdviserCharge,\r\n path: Contents.URLMap.adviserCharges,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n if (hasSinglePayments(Contribution) || hasCashTransfer(Contribution[TransferInModelMap[type]])) {\r\n steppers.push({\r\n title: sptSteppersMap.investment,\r\n url: Urls.get().SPTist,\r\n path: Contents.URLMap.ist,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n this.onTreasuredAssetsStoreChange()}\r\n onChangeTreasuredAssets={(subAccountInstructionId, productId, value) => {\r\n this.onChangeTreasuredAssets(subAccountInstructionId, productId, value);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n }\r\n\r\n this.stepperConfig = steppers;\r\n this.stepperConfig = this.stepperConfig.concat(this.setReviewConfirmSteppers());\r\n }\r\n\r\n getAccountHolder;\r\n\r\n setProcessProps() {\r\n const { data } = this.state;\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const processProps = super.setProcessProps();\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: ClientNameHelper.clientNameDisplay(data?.ClientDetails, data?.SecondClientDetails),\r\n splitHeaderSub: this.state.clientAccount?.HeadClAccountId,\r\n };\r\n processProps.processTitle = \"Single payment / transfer\";\r\n processProps.subTitle = productMap[type];\r\n return processProps;\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { SPTInstructionDispatcher } from \"./Variable\";\r\n\r\nexport interface SPTInstructionStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n hasCashIsa?: boolean;\r\n}\r\n\r\nexport class SPTInstructionStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(SPTInstructionDispatcher, (actionData) => this.onSPTInstructionStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): SPTInstructionStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n public getHasCashIsa() {\r\n return this.getState().hasCashIsa;\r\n }\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): SPTInstructionStaticState {\r\n return { actionType: ActionType.Loading, data: null,hasCashIsa:false };\r\n }\r\n\r\n private onSPTInstructionStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, hasCashIsa: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { SPTInstructionStatic } from \"./STPInstructionStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const SPTInstructionDispatcher: Dispatcher = new Dispatcher();\r\nexport const SPTInstructionStore: SPTInstructionStatic = new SPTInstructionStatic();\r\n\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BatchClient } from \"../../../../../../Wrap/Api/Orders/Batch\";\r\nimport { OrdersClient } from \"../../../../../../Wrap/Api/Orders/Orders\";\r\nimport { SwitchOrderClient } from \"../../../../../../Wrap/Api/Orders/SwitchOrder\";\r\nimport { OrderDirection } from \"../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { BatchType } from \"../../../../../../Wrap/Constants/Enums/Orders/Batch/BatchType\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { SwitchDispatcher } from \"../Store/Variable\";\r\nimport { BatchInfoModel } from \"../../../../../../Wrap/Models/Domains/Orders/Batch/BatchInfoModel\";\r\nimport { CommissionChargeClient } from \"../../../../../../Wrap/Api/Charge/CommissionCharge\";\r\nimport { CommissionCharge } from \"../../../../../../Wrap/Models/Models/Charges/CommissionCharge\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\n\r\nexport class SwitchAction {\r\n public static checkFBRC(subAccountHierarchyId: string, callback: (result: CommissionCharge) => void) {\r\n const client = new CommissionChargeClient();\r\n const promise = client.get(subAccountHierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n\r\n public static initSwitchModel() {\r\n const subAccountHierarchyId = getQueryParameters()[\"subaccounthierarchyid\"];\r\n const initModel = {\r\n BatchType: BatchType.OneOff,\r\n OrderType: BatchType.OneOff,\r\n ActionDate: JsonDateParser.toDateNoOffset(new Date()),\r\n HierarchyId: subAccountHierarchyId,\r\n IsSwitch: true,\r\n };\r\n SwitchDispatcher.dispatch({ actionType: ActionType.Success, payload: initModel });\r\n }\r\n\r\n public static goToNextStep(from, data, callback) {\r\n if (from == 0) {\r\n return this.getBatchId(data, callback);\r\n } else if (from == 2) {\r\n return this.saveSwitch(data, callback);\r\n }\r\n callback();\r\n }\r\n\r\n public static saveSwitch(data, callback) {\r\n const client = new SwitchOrderClient();\r\n const _data = JSON.parse(JSON.stringify(data));\r\n const sellOrder: BatchInfoModel = {\r\n InvestmentList: data.SellInvestmentList.filter((ele) => ele.OrderValue > 0),\r\n BuyOrSell: OrderDirection.Sell,\r\n };\r\n _data.SellOrder = sellOrder;\r\n\r\n const buyOrder: BatchInfoModel = {\r\n InvestmentList: data.BuyInvestmentList.filter((ele) => ele.OrderPercentage > 0),\r\n BuyOrSell: OrderDirection.Buy,\r\n };\r\n _data.BuyOrder = buyOrder;\r\n _data.TransactionId = data.TransId;\r\n\r\n client.post(_data).onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n\r\n public static getBatchId(data, callback) {\r\n const batchId = getQueryParameters()[\"batchId\"];\r\n if (batchId) {\r\n SwitchDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n if (callback) {callback([]);}\r\n return data;\r\n }\r\n\r\n let promise;\r\n const client = new BatchClient();\r\n promise = client.post(data);\r\n promise.onSuccess((result) => {\r\n SwitchDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: {\r\n ...result,\r\n OrderType: data.OrderType,\r\n BuyInvestmentList: data.BuyInvestmentList || [],\r\n SellInvestmentList: data.SellInvestmentList || [],\r\n TotalValue: data.TotalValue || 0,\r\n AdviceGiven: true,\r\n },\r\n });\r\n\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => {});\r\n }\r\n\r\n public static submit(data, callback) {\r\n const client = new OrdersClient();\r\n client.post(data).onSuccess((result) => {\r\n callback(result);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { OrderSetup } from \"../../../Common/OrderSetup/OrderSetup\";\r\n\r\ninterface IOrderSetupProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IOrderSetupState {}\r\n\r\nexport class SwitchOrderSetup extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n\r\n return (\r\n onChange(changes)}\r\n onRef={(ref) => this.appendChild(ref)}\r\n process={ProcessType.Switch}\r\n />\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { OrderSetupReview } from \"../../../Common/Review/Component/OrderSetupReview\";\r\nimport { ITableConfig, Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { Order } from \"../../../../../../../Wrap/Models/Domains/Orders/Order\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { Typography } from \"../../../../../../Shared/Typography/Typography\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { equlityBondWarning, hasDecisionMaker } from \"../../Resource/Content\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { DownloadButton } from \"../../../../../../Shared/DownloadButton/DownloadButton\";\r\nimport { CommissionChargeCancelMsg } from \"../../../Common/AdviserCharges/Components/CommissionChargeCancelMsg\";\r\nimport { ExternalFundDocument } from \"../../../Common/Documents/Components/ExternalFundDocument\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { CashProductDeclarations } from \"../../../Common/Review/Component/CashProductDeclarations\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n onClearError: VoidFunction;\r\n}\r\n\r\ninterface IReviewState {\r\n isCashDeclarationChecked: boolean | null;\r\n isDocLoading: boolean;\r\n}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isDocLoading: false,\r\n isCashDeclarationChecked: false\r\n }\r\n }\r\n\r\n private getSellTableColumn() {\r\n const tableColConfig: ITableConfig[] = [\r\n {\r\n title: \"Investment\",\r\n key: \"Instrument.DisplayName\",\r\n render: (data, row) => {\r\n return (\r\n <>\r\n {row.Instrument.FinexFactSheetUrl ? (\r\n \r\n {row.Instrument.Name || data}\r\n \r\n ) : (\r\n

    {row.Instrument.Name || data}

    \r\n )}\r\n {row.Instrument.DisplayName.toLowerCase() != \"GBP Cash\".toLowerCase() &&\r\n

    {row.Instrument.ProductCode || row.Instrument.InstrumentCode}

    }\r\n \r\n );\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n {\r\n title: \"Current units held\",\r\n key: \"Instrument.CurrQuantity\",\r\n render: (data) => {\r\n return data.toFixed(4);\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Current estimated value\",\r\n key: \"Instrument.MarketValue\",\r\n render: (data, row: Order) => {\r\n return MoneyDisplayHelper.getMoneyFormat(data);\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n {\r\n title: \"Estimated value to sell\",\r\n key: \"OrderValue\",\r\n render: (data, row: Order) => {\r\n return MoneyDisplayHelper.getMoneyFormat({\r\n Amount: Number(data.toFixed(2)),\r\n Currency: CurrencyCode.GBP,\r\n });\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n ];\r\n\r\n return tableColConfig;\r\n }\r\n\r\n handleCashDeclarationChange = (event) => {\r\n this.setState({ isCashDeclarationChecked: event });\r\n };\r\n\r\n private getBuyTableColumn() {\r\n const tableColConfig: ITableConfig[] = [\r\n {\r\n title: \"Investment\",\r\n key: \"Instrument.DisplayName\",\r\n render: (data, row) => {\r\n return (\r\n <>\r\n {row.Instrument.FinexFactSheetUrl ? (\r\n \r\n {row.Instrument.Name || data}\r\n \r\n ) : (\r\n

    {row.Instrument.Name || data}

    \r\n )}\r\n {(row.Instrument.DisplayName || row.Instrument.Name).toLowerCase() != \"GBP Cash\".toLowerCase() &&\r\n

    {row.Instrument.ProductCode || row.Instrument.InstrumentCode}

    }\r\n \r\n );\r\n },\r\n thCssWrapper: \"cell-left\",\r\n tdCssWrapper: \"cell-left\",\r\n },\r\n {\r\n title: \"% Allocation\",\r\n key: \"OrderPercentage\",\r\n render: (data) => {\r\n return `${data || 0}%`;\r\n },\r\n thCssWrapper: \"cell-right\",\r\n tdCssWrapper: \"cell-right\",\r\n },\r\n ];\r\n\r\n return tableColConfig;\r\n }\r\n\r\n private onNavi = (path) => {\r\n this.props.onClearError();\r\n Navigator.navigateToAndPreserveQueryParameters(path);\r\n };\r\n\r\n private renderDocuments() {\r\n const claccountid = getQueryParameters()[\"claccountid\"];\r\n const headAccountHierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const chargesInformationQuery = DocumentsHelper.getTaskRequestForChargeInformation(\r\n this.props.data.BatchId,\r\n claccountid,\r\n DocumentTaskRequestTypeEnum.ChargesInformation\r\n );\r\n const config = [\r\n {\r\n title: (\r\n
    \r\n Charges Information\r\n \r\n
    \r\n ),\r\n data: \" \",\r\n },\r\n ];\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const investmentList = this.props.data.BuyInvestmentList.filter((ele) => ele.OrderPercentage > 0);\r\n const instrumentCodes: Array = [];\r\n investmentList.forEach((item, index) => {\r\n instrumentCodes.push(item.Instrument.ProductCode || item.Instrument.InstrumentCode);\r\n });\r\n const { data, type } = this.props;\r\n const needAlert = hasDecisionMaker(data.SellInvestmentList) || hasDecisionMaker(data.BuyInvestmentList);\r\n return (\r\n <>\r\n {needAlert && }\r\n

    \r\n Review\r\n

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

    Order setup

    \r\n {\r\n this.props.onClearError();\r\n Navigator.navigateTo(Urls.get().SwitchOrderSetup, {\r\n scrollAfterNavigating: true,\r\n queryParamsObject: {\r\n claccountid: getQueryParameters()[\"claccountid\"],\r\n hierarchyid: getQueryParameters()[\"hierarchyid\"],\r\n subaccounthierarchyid: getQueryParameters()[\"subaccounthierarchyid\"],\r\n batchId: this.props.data.BatchId,\r\n },\r\n });\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n

    Switch from investments

    \r\n this.onNavi(Urls.get().SwitchFrom)}\r\n >\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n ele.OrderValue > 0)}\r\n col={this.getSellTableColumn()}\r\n TotalBody={[\r\n { data: \"Estimated total to switch\", colSpan: 3 },\r\n {\r\n data: MoneyDisplayHelper.FromatMoneyDisplay(\r\n data.SellInvestmentList?.reduce((total, ele) => {\r\n return total + (ele.OrderValue ? Number(ele.OrderValue.toFixed(2)) : 0);\r\n }, 0),\r\n CurrencyCode.GBP,\r\n true,\r\n 2\r\n ),\r\n tfTdCssWrapper: \"cell-right\",\r\n colSpan: 1,\r\n },\r\n ]}\r\n />\r\n\r\n
    \r\n

    Switch to investments

    \r\n {\r\n this.onNavi(Urls.get().SwitchTo);\r\n }}\r\n >\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n ele.OrderPercentage > 0)}\r\n col={this.getBuyTableColumn()}\r\n TotalBody={[\r\n { data: \"Total\", colSpan: 1 },\r\n {\r\n data:\r\n data.BuyInvestmentList.reduce((total, ele) => {\r\n return Number((total + ele.OrderPercentage).toFixed(2));\r\n }, 0) + \"%\",\r\n tfTdCssWrapper: \"cell-right\",\r\n colSpan: 1,\r\n },\r\n ]}\r\n />\r\n\r\n
    \r\n

    Explaining charges to your client

    \r\n

    \r\n It's important that your client understands the costs and charges they will incur based on their\r\n investment choices. The Charges Information Document provides the aggregated costs and charges for\r\n your client's investment.\r\n

    \r\n
    \r\n {this.renderDocuments()}\r\n \r\n
    \r\n {\r\n this.props.onChange({ AdviceGiven: v });\r\n }}\r\n label=\"Please indicate if advice was given on this trade.\"\r\n cssWrapper=\"square-checkbox block no-print\"\r\n >\r\n
    \r\n {\r\n investmentList.some((x) => x.SecurityType == \"Cash Product\") &&\r\n x.SecurityType === \"Cash Product\")\r\n .map(x => x.InstrumentCode)}\r\n isCashDeclarationChecked={this.state.isCashDeclarationChecked}\r\n onCashDeclarationChanged={this.handleCashDeclarationChange}\r\n />\r\n }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\n\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountAdviceType } from \"../../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ModelPortfolioTabType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ModelPortfolioTabType\";\r\nimport { OrderDirection } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { OrderType } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderType\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { Instrument } from \"../../../../../../../Wrap/Models/Domains/Investment/Instrument\";\r\nimport { InstrumentSearchQuery } from \"../../../../../../../Wrap/Models/Domains/Investment/InstrumentSearchQuery\";\r\nimport { ClientTradableInvestments } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ClientTradableInvestments\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { DecisionMaker } from \"../../../../../../Shared/IST/Components/DecisionMaker\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { QuantitySwitch } from \"../../../../../../Shared/QuantitySwitch/QuantitySwitch\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { ClientAccountStore, UserStore, TreasuredAssetsStore } from \"../../../../../Stroes/Variable\";\r\nimport { BuyAction } from \"../../../Buy/Action/BuyAction\";\r\nimport { InvestmentsAction } from \"../../../PortfolioDashboard/Components/Investment/Action/InvestmentAction\";\r\nimport { BuySellAllocationTable } from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTable\";\r\nimport {\r\n transformNewItem,\r\n clearAllocation,\r\n} from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTableHelper\";\r\nimport { RestrictionStore } from \"../../../Common/Restrictions/Variable\";\r\nimport { OrderSetupReview } from \"../../../Common/Review/Component/OrderSetupReview\";\r\nimport { hasDecisionMaker } from \"../../Resource/Content\";\r\n\r\ninterface ISwitchFromInvestmentProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface ISwitchFromInvestmentState {\r\n orderType: OrderType;\r\n isLoading: boolean;\r\n userInfo: User;\r\n treasuredAssetProductIds: Array;\r\n}\r\n\r\nexport class SwitchFromInvestment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n orderType:\r\n props.data.SellInvestmentList && props.data.SellInvestmentList.length > 0\r\n ? props.data.SellInvestmentList[0].Type\r\n : OrderType.Percentage,\r\n isLoading: true,\r\n userInfo: UserStore.getUserInfo(),\r\n treasuredAssetProductIds: null,\r\n };\r\n }\r\n\r\n private getTreasuredAssets() {\r\n const _treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n\r\n if (!_treasuredAssetProductIds) {\r\n const params = getQueryParameters();\r\n\r\n Action.getSubAccountTreasuredAssetsProductIds(params[\"subaccounthierarchyid\"], (data: Array) => {\r\n this.setState({ treasuredAssetProductIds: data });\r\n });\r\n } else {\r\n this.setState({ treasuredAssetProductIds: _treasuredAssetProductIds });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getTreasuredAssets();\r\n InvestmentSelectionAction.setIsUnderTransfer(true);\r\n const params = getQueryParameters();\r\n if (this.props.data.SellInvestmentList && this.props.data.SellInvestmentList.length > 0) {\r\n return this.setState({ isLoading: false });\r\n }\r\n BuyAction.getReuseHoldings(\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n this.props.data.BatchId,\r\n (data: ClientTradableInvestments) => {\r\n const individual = data.CurrentIndividualHoldings.filter(\r\n (ele) => ele.DisplayName != \"GBP Cash\" && ele.CurrQuantity > 0\r\n );\r\n const model = data.CurrentModelHoldings.filter((ele) => ele.CurrQuantity > 0);\r\n let ids = individual.map((ele) => ele.ProductId);\r\n ids = ids.concat(model.map((ele) => ele.ProductId));\r\n const query: InstrumentSearchQuery = {\r\n ProductWrapperTypes: [this.props.type],\r\n ProductIds: ids,\r\n CanBeSold: true,\r\n ResultsPerPage: ids.length,\r\n ServiceProposition: data.AccountServiceProposition,\r\n };\r\n let currentAssets = [];\r\n InvestmentSelectionAction.searchInstruments(\r\n query,\r\n params[\"subaccounthierarchyid\"],\r\n (result: Instrument[]) => {\r\n result.forEach((ele) => {\r\n const obj = data.CurrentIndividualHoldings.find((item) => item.ProductId == ele.ProductId);\r\n const model = data.CurrentModelHoldings.find((item) => item.ProductId == ele.ProductId);\r\n if (obj) {\r\n currentAssets = currentAssets.concat(\r\n transformNewItem(\r\n [{ Investment: obj }],\r\n this.state.orderType,\r\n OrderDirection.Sell,\r\n this.props.data.TotalValue\r\n )\r\n );\r\n } else if (model) {\r\n currentAssets = currentAssets.concat(\r\n transformNewItem(\r\n [{ Investment: model }],\r\n this.state.orderType,\r\n OrderDirection.Sell,\r\n this.props.data.TotalValue\r\n )\r\n );\r\n }\r\n });\r\n if (currentAssets.length == 0) {\r\n this.props.showErrorMsgPopUp(\r\n [\"There are no holdings in this product available to sell\"],\r\n true\r\n );\r\n } else {\r\n this.props.onChange({\r\n SellInvestmentList: currentAssets,\r\n AccountAdviceType: data.ClientDetail\r\n ? data.ClientDetail.AccountAdviceType\r\n : AccountAdviceType.NotSpecified,\r\n });\r\n }\r\n this.setState({ isLoading: false });\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n componentWillUnmount() {\r\n InvestmentSelectionAction.setIsUnderTransfer(false);\r\n }\r\n\r\n private onUnderlyingToggle(isToggle, index, row) {\r\n const _data = this.props.data.SellInvestmentList.concat();\r\n if (isToggle) {\r\n const item = _data[index];\r\n _data[index].isToggle = isToggle;\r\n if (item.underlying) {\r\n this.props.onChange({ SellInvestmentList: _data });\r\n } else {\r\n if (row.modelPortfolioType) {\r\n InvestmentSelectionAction.getUnderlying(\r\n row.Instrument.ProductId,\r\n ModelPortfolioTabType.HubModel,\r\n (data) => {\r\n _data[index].underlying = data;\r\n this.props.onChange({ SellInvestmentList: _data });\r\n }\r\n );\r\n } else {\r\n InvestmentsAction.getInvestmentsModelSingle(\r\n getQueryParameters()[\"subaccounthierarchyid\"],\r\n row.Instrument.InstrumentCode,\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n AssetClassType.Tier1,\r\n (result) => {\r\n _data[index].underlying = { ModelPortfolioProducts: [] };\r\n result.forEach((ele) => {\r\n ele.Investments.forEach((item) => {\r\n _data[index].underlying.ModelPortfolioProducts.push({\r\n Name: item.DisplayName,\r\n ProductCode: item.InstrumentCode,\r\n ...item,\r\n targetAllocation: (item.Allocation * 100).toFixed(2) + \"%\",\r\n });\r\n });\r\n });\r\n this.props.onChange({ SellInvestmentList: _data });\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n _data[index].isToggle = isToggle;\r\n this.props.onChange({ SellInvestmentList: _data });\r\n }\r\n }\r\n\r\n isValid() {\r\n if (RestrictionStore.buyDisabled() || RestrictionStore.sellDisabled()) {\r\n return false;\r\n }\r\n const hasNoInvestment = this.props.data.SellInvestmentList.length == 0;\r\n if (hasNoInvestment) {\r\n this.props.showErrorMsgPopUp([\"There are no holdings in this product available to sell\"]);\r\n }\r\n\r\n const over95PercentValueSells: any[] = this.props.data.SellInvestmentList.filter(\r\n (ele) => ele.Type == OrderType.Value && ele.OrderValue >= 0.95 * ele.Instrument.MarketValue.Amount\r\n ).map((ele) => ele.InstrumentCode);\r\n\r\n if (over95PercentValueSells.length > 0) {\r\n this.props.showErrorMsgPopUp([\r\n \"Order Value cannot be greater than or equal to 95% of market value - \" +\r\n over95PercentValueSells.join(\", \"),\r\n ]);\r\n }\r\n\r\n return super.isValid() && !hasNoInvestment && over95PercentValueSells.length === 0;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n const params = getQueryParameters();\r\n\r\n const notSellableInvestment = data.SellInvestmentList\r\n ? data.SellInvestmentList.filter(\r\n (ele) => ele.Instrument.HasOpenValueSellOrder || ele.Instrument.SellOrders > 0\r\n )\r\n : [];\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n const selectedInvestmentProductIds = data?.SellInvestmentList.filter(\r\n (ele) =>\r\n ele.BuyOrSell == OrderDirection.Sell &&\r\n ((ele.OrderValue || 0) > 0 || (ele.OrderQuantity || 0) > 0 || (ele.OrderPercentage || 0) > 0)\r\n ).map((ele) => ele.Instrument.ProductId);\r\n\r\n const SelectedTreasuredProductIds =\r\n this.state.treasuredAssetProductIds != null && this.state.treasuredAssetProductIds.length > 0\r\n ? selectedInvestmentProductIds.filter((ele) => this.state.treasuredAssetProductIds.includes(ele))\r\n : [];\r\n\r\n let restrictedMessage =\r\n \"An account with suspended or restricted activities cannot setup switch from investments\";\r\n const treasuredAssetsMessage =\r\n \"As you have selected a Treasured asset, a sell instruction will be created on this occasion. The instrument will continue to remain protected from auto-disinvestment, unless this a full sell order.\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n
    \r\n

    \r\n Switch from investments\r\n

    \r\n {(RestrictionStore.buyDisabled() || RestrictionStore.sellDisabled()) && (\r\n \r\n )}\r\n \r\n {\r\n const clearTable = clearAllocation(data.SellInvestmentList, OrderType.Value);\r\n const totalMarketValue = clearTable.reduce(\r\n (sum, curr) =>\r\n (sum =\r\n sum +\r\n (curr.Instrument.HasOpenValueSellOrder || curr.Instrument.SellOrders > 0\r\n ? 0\r\n : curr.Instrument.MarketValue.Amount)),\r\n 0\r\n );\r\n const investmentList = clearTable.map((ele) => {\r\n return {\r\n ...ele,\r\n OrderValue:\r\n ele.Instrument.HasOpenValueSellOrder || ele.Instrument.SellOrders > 0\r\n ? null\r\n : Number(\r\n ((ele.Instrument.MarketValue.Amount / totalMarketValue) * v).toFixed(2)\r\n ),\r\n Type: OrderType.Value,\r\n };\r\n });\r\n const total = investmentList.reduce((sum, curr) => (sum = sum + (curr.OrderValue || 0)), 0);\r\n this.setState({ orderType: OrderType.Value });\r\n onChange({ TotalValue: Number(total.toFixed(2)), SellInvestmentList: investmentList });\r\n }}\r\n onChange={(v) => {\r\n onChange({ TotalValue: v ? Number(v.toFixed(2)) : v });\r\n }}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n moreThan={{\r\n value: 0,\r\n errorMessage: \"Value must larger than 0\",\r\n }}\r\n required=\"Please enter\"\r\n />\r\n
    \r\n {notSellableInvestment.length > 0 && (\r\n ele.InstrumentCode)\r\n .toString()} currently has an open value sell order. No further sell instructions can be placed until this has been confirmed.`}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {/* {\r\n onChange({\r\n SellInvestmentList: clearAllocation(\r\n data.SellInvestmentList,\r\n v,\r\n ProcessType.SwitchFrom\r\n ),\r\n });\r\n this.setState({ orderType: v });\r\n }}\r\n hasModel={\r\n data.SellInvestmentList &&\r\n data.SellInvestmentList.some((ele) =>\r\n [ProductType.ManagedModelPortfolio, ProductType.TailoredModelPortfolio].includes(\r\n ele.Instrument.Type\r\n )\r\n )\r\n }\r\n /> */}\r\n
    \r\n
    \r\n\r\n {SelectedTreasuredProductIds.length > 0 && (\r\n \r\n )}\r\n\r\n \r\n this.onUnderlyingToggle(isToggle, index, rowData)}\r\n data={data.SellInvestmentList}\r\n onChange={(list) => {\r\n const total = list.reduce((sum, curr) => (sum = sum + Number(curr.OrderValue || 0)), 0);\r\n onChange({\r\n SellInvestmentList: list,\r\n TotalValue: Number(Number(total).toFixed(2)),\r\n });\r\n }}\r\n orderType={OrderType.Value}\r\n process={ProcessType.SwitchFrom}\r\n onRef={(ref) => this.appendChild(ref)}\r\n onTreasuredAssetChange={() => {}}\r\n ChecktreasuredAsset={this.state.treasuredAssetProductIds}\r\n depositProducts={[]}\r\n batchType={data.BatchType}\r\n />\r\n {hasDecisionMaker(data.SellInvestmentList) && (\r\n this.appendChild(ref)}\r\n data={data}\r\n onChange={(v) => onChange(v)}\r\n clAccountId={params[\"claccountid\"]}\r\n headAccountHierarchyId={clientAccount?.HierarchyId}\r\n companyCode={clientAccount?.Company}\r\n accountAdviceType={\r\n clientAccount?.Discretionary\r\n ? AccountAdviceType.Discretionary\r\n : AccountAdviceType.NonDiscretionary\r\n }\r\n showErrorMsgPopUp={(msg, now) => this.props.showErrorMsgPopUp(msg, now)}\r\n />\r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../../../react-core/Flux/ActionType\";\r\nimport { CheckboxEditor } from \"../../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { NumberTextBoxEditor } from \"../../../../../../../react-core/Html/NumberTextBoxEditor\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AccountAdviceType } from \"../../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { AssetClassType } from \"../../../../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { ModelPortfolioTabType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ModelPortfolioTabType\";\r\nimport { OrderDirection } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderDirection\";\r\nimport { OrderType } from \"../../../../../../../Wrap/Constants/Enums/Domain/OrderType\";\r\n\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ServiceProposition } from \"../../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { PropositionInvestmentConfig } from \"../../../../../../../Wrap/Models/Domains/Account/PropositionInvestmentConfig\";\r\nimport { AccountStatus } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { ClientTradableInvestments } from \"../../../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/ClientTradableInvestments\";\r\nimport { User } from \"../../../../../../../Wrap/Models/Models/User/User\";\r\nimport { CompanyWizardAction } from \"../../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { GENERIC_RESTRICTIONS_MESSAGE } from \"../../../../../../Shared/Common/UserMessages\";\r\nimport { Alert } from \"../../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { InvestmentSelectionAction } from \"../../../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { DecisionMaker } from \"../../../../../../Shared/IST/Components/DecisionMaker\";\r\nimport { SearchTabs } from \"../../../../../../Shared/IST/Components/Shared/SearchTabs\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { SelectedInvestmentStore } from \"../../../../../../Shared/IST/Store/Variable\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { ClientAccountStore, UserStore, TreasuredAssetsStore } from \"../../../../../Stroes/Variable\";\r\nimport { BuyAction } from \"../../../Buy/Action/BuyAction\";\r\nimport { InvestmentsAction } from \"../../../PortfolioDashboard/Components/Investment/Action/InvestmentAction\";\r\nimport { BuySellAllocationTable } from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTable\";\r\nimport { transformNewItem } from \"../../../Common/BuySellInvestmentSelection/BuySellAllocationTableHelper\";\r\nimport { RestrictionStore } from \"../../../Common/Restrictions/Variable\";\r\nimport { hasDecisionMaker } from \"../../Resource/Content\";\r\nimport { InvestmentType } from \"../../../../../../../Wrap/Constants/Enums/InvestmentType\";\r\nimport { InvestorType } from \"../../../../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { DepositProductsQuery } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProductsQuery\";\r\nimport { ProductType } from \"../../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { DepositProduct } from \"../../../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\nimport { ResultPageModel } from \"../../../../../../../Wrap/Core/SortingAndPaging/Models/ResultPageModel\";\r\n\r\ninterface ISwitchToInvestmentProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface ISwitchToInvestmentState {\r\n isLoading: boolean;\r\n orderType: OrderType;\r\n availableFunds: number;\r\n status: AccountStatus;\r\n investmenPermission: PropositionInvestmentConfig[];\r\n userInfo: User;\r\n treasuredAssetProductIds: Array;\r\n applyEvenWeight: boolean;\r\n companyServicePropostion: ServiceProposition[];\r\n depositProducts: Record;\r\n}\r\n\r\nexport class SwitchToInvestment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n userInfo: UserStore.getUserInfo(),\r\n isLoading: true,\r\n orderType:\r\n props.data.BuyInvestmentList && props.data.BuyInvestmentList.length > 0\r\n ? props.data.BuyInvestmentList[0].Type\r\n : OrderType.Percentage,\r\n availableFunds: 0,\r\n investmenPermission: [],\r\n status: null,\r\n treasuredAssetProductIds: null,\r\n applyEvenWeight: false,\r\n companyServicePropostion: [],\r\n depositProducts: [],\r\n };\r\n this.subscribeToStore(SelectedInvestmentStore, () => this.onStoreChange());\r\n }\r\n\r\n private getTreasuredAssets() {\r\n const _treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n\r\n if (!_treasuredAssetProductIds) {\r\n const params = getQueryParameters();\r\n\r\n Action.getSubAccountTreasuredAssetsProductIds(params[\"subaccounthierarchyid\"], (data: Array) => {\r\n this.setState({ treasuredAssetProductIds: data });\r\n });\r\n } else {\r\n this.setState({ treasuredAssetProductIds: _treasuredAssetProductIds });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.getTreasuredAssets();\r\n InvestmentSelectionAction.setIsUnderTransfer(true);\r\n const params = getQueryParameters();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n if (clientAccount?.AccountServicePropositionId) {\r\n InvestmentSelectionAction.getInvestmentPermission(clientAccount.AccountServicePropositionId, (res) => {\r\n const newRes = [...res];\r\n const elementIndex = newRes.findIndex((x) => x.InvestmentTypeId == InvestmentType.CashDeposits);\r\n if (elementIndex !== -1) {\r\n newRes[elementIndex].Enable =\r\n clientAccount.InvestorType == InvestorType.Individ ||\r\n clientAccount.InvestorType == InvestorType.Individual ||\r\n clientAccount.InvestorType == InvestorType.Joint ||\r\n clientAccount.InvestorType == InvestorType.JointIndividual;\r\n }\r\n this.setState({ investmenPermission: newRes });\r\n });\r\n }\r\n if (clientAccount?.Company) {\r\n CompanyWizardAction.getViewCompany(clientAccount?.Company, (res) => {\r\n this.setState({ companyServicePropostion: res?.ServicePropositions });\r\n });\r\n }\r\n BuyAction.getReuseHoldings(\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n this.props.data.BatchId,\r\n (data: ClientTradableInvestments) => {\r\n this.setState({ status: data.AccountStatus, isLoading: false });\r\n this.props.onChange({\r\n AccountAdviceType: data.ClientDetail\r\n ? data.ClientDetail.AccountAdviceType\r\n : AccountAdviceType.NotSpecified,\r\n });\r\n }\r\n );\r\n\r\n if (this.state.orderType == OrderType.Percentage) {\r\n const newTable = this.props.data.BuyInvestmentList.map((ele) => {\r\n const value = this.props.data.TotalValue * ele.OrderPercentage * 0.01;\r\n return { ...ele, OrderValue: Number(value.toFixed(2)) };\r\n });\r\n this.fetchDepositProductDetails(newTable);\r\n this.props.onChange({ BuyInvestmentList: newTable });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n InvestmentSelectionAction.setIsUnderTransfer(false);\r\n }\r\n\r\n isValid() {\r\n if (this.state.isLoading) {\r\n return false;\r\n }\r\n if (RestrictionStore.buyDisabled() || RestrictionStore.sellDisabled()) {\r\n return false;\r\n }\r\n const flag = super.isValid();\r\n if (this.state.status != AccountStatus.Active) {\r\n this.props.showErrorMsgPopUp([\"The account is in active!\"]);\r\n }\r\n\r\n const isValid = flag && this.state.status == AccountStatus.Active;\r\n\r\n if (isValid) {\r\n const params = getQueryParameters();\r\n InvestmentsAction.setSubAccountTreasuredAssetsProductIds(\r\n params[\"subaccounthierarchyid\"],\r\n this.state.treasuredAssetProductIds || []\r\n );\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n onStoreChange() {\r\n const { BuyInvestmentList, TotalValue } = this.props.data;\r\n if (SelectedInvestmentStore.getActionType() == ActionType.Success) {\r\n const modelType = SelectedInvestmentStore.getData()[0].ModelType;\r\n const newItem = transformNewItem(\r\n SelectedInvestmentStore.getData(),\r\n modelType == ModelPortfolioTabType.AdviserModel ? OrderType.Percentage : this.state.orderType,\r\n OrderDirection.Buy,\r\n TotalValue,\r\n modelType == ModelPortfolioTabType.AdviserModel ? true : false\r\n );\r\n if (modelType == ModelPortfolioTabType.AdviserModel) {\r\n this.props.onChange({ BuyInvestmentList: newItem });\r\n this.setState({ orderType: OrderType.Percentage });\r\n } else {\r\n const _data = newItem.filter((item) =>\r\n BuyInvestmentList.every(\r\n (ele) =>\r\n ele.InstrumentCode !== item.Instrument.InstrumentCode &&\r\n ele.InstrumentCode !== item.Instrument.ProductCode\r\n )\r\n );\r\n this.fetchDepositProductDetails(BuyInvestmentList.concat(_data));\r\n this.props.onChange({ BuyInvestmentList: BuyInvestmentList.concat(_data) });\r\n }\r\n this.setState({ applyEvenWeight: false });\r\n }\r\n }\r\n\r\n fetchDepositProductDetails(investmentList) {\r\n const depositProductIds: number[] = Array.from(\r\n new Set(\r\n investmentList\r\n .filter((row) => row.Instrument.Type === ProductType.CashProduct)\r\n .map((row) => row.Instrument.ProductId)\r\n )\r\n );\r\n\r\n if (depositProductIds.length === 0) {\r\n return;\r\n }\r\n\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n const query: DepositProductsQuery = {\r\n ProductIds: depositProductIds,\r\n ServiceProposition: clientAccount.AccountServicePropositionId,\r\n ResultsPerPage: depositProductIds.length,\r\n };\r\n\r\n InvestmentSelectionAction.searchDepositProducts(\r\n query,\r\n getQueryParameters()[\"hierarchyid\"],\r\n (data: ResultPageModel) => {\r\n const depositProducts: Record = data.Results.reduce<\r\n Record\r\n >((acc, product) => {\r\n acc[product.ProductId] = product;\r\n return acc;\r\n }, {});\r\n\r\n this.setState({ depositProducts });\r\n },\r\n (err) => {\r\n console.error(\"Failed to fetch deposit products:\", err);\r\n }\r\n );\r\n }\r\n\r\n private onTreasuredAssetChange = (v: boolean, productId: number) => {\r\n const treasuredAssets = new Set(this.state.treasuredAssetProductIds);\r\n let stateHasChanged = false;\r\n\r\n if (treasuredAssets.has(productId)) {\r\n if (!v) {\r\n treasuredAssets.delete(productId);\r\n stateHasChanged = true;\r\n }\r\n } else {\r\n if (v) {\r\n treasuredAssets.add(productId);\r\n stateHasChanged = true;\r\n }\r\n }\r\n\r\n if (stateHasChanged) {\r\n this.setState({ treasuredAssetProductIds: Array.from(treasuredAssets) });\r\n }\r\n };\r\n\r\n private applyEven = (v) => {\r\n if (!v) {\r\n return;\r\n }\r\n const { BuyInvestmentList } = this.props.data;\r\n const calculationPercentage = Number(100 / BuyInvestmentList.length);\r\n const percentage = Number((100 / BuyInvestmentList.length).toFixed(2));\r\n const Lastpercentage = Number((100 - percentage * (BuyInvestmentList.length - 1)).toFixed(2));\r\n const _data = BuyInvestmentList.map((ele) => {\r\n if (BuyInvestmentList.indexOf(ele) == BuyInvestmentList.length - 1) {\r\n return {\r\n ...ele,\r\n OrderPercentage: Lastpercentage,\r\n OrderValue: this.props.data.TotalValue * calculationPercentage * 0.01,\r\n };\r\n } else {\r\n return {\r\n ...ele,\r\n OrderPercentage: percentage,\r\n OrderValue: this.props.data.TotalValue * calculationPercentage * 0.01,\r\n };\r\n }\r\n });\r\n this.props.onChange({ BuyInvestmentList: _data });\r\n this.setState({ applyEvenWeight: true });\r\n };\r\n\r\n private onUnderlyingToggle(isToggle, index, row) {\r\n const _data = this.props.data.BuyInvestmentList.concat();\r\n if (isToggle) {\r\n const item = _data[index];\r\n _data[index].isToggle = isToggle;\r\n if (item.underlying) {\r\n this.props.onChange({ BuyInvestmentList: _data });\r\n } else {\r\n if (row.modelPortfolioType) {\r\n InvestmentSelectionAction.getUnderlying(\r\n row.Instrument.ProductId,\r\n ModelPortfolioTabType.HubModel,\r\n (data) => {\r\n _data[index].underlying = data;\r\n this.props.onChange({ BuyInvestmentList: _data });\r\n }\r\n );\r\n } else {\r\n InvestmentsAction.getInvestmentsModelSingle(\r\n getQueryParameters()[\"subaccounthierarchyid\"],\r\n row.Instrument.InstrumentCode,\r\n JsonDateParser.toJsonDateNoOffset(new Date()),\r\n AssetClassType.Tier1,\r\n (result) => {\r\n _data[index].underlying = { ModelPortfolioProducts: [] };\r\n result.forEach((ele) => {\r\n ele.Investments.forEach((item) => {\r\n _data[index].underlying.ModelPortfolioProducts.push({\r\n name: item.DisplayName,\r\n targetAllocation: \"-\",\r\n });\r\n });\r\n });\r\n this.props.onChange({ BuyInvestmentList: _data });\r\n }\r\n );\r\n }\r\n }\r\n } else {\r\n _data[index].isToggle = isToggle;\r\n this.props.onChange({ BuyInvestmentList: _data });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange } = this.props;\r\n const params = getQueryParameters();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n let restrictedMessage = \"An account with suspended or restricted activities cannot setup switch to investments\";\r\n\r\n if (this.state.userInfo != null && this.state.userInfo.IsAdviser) {\r\n restrictedMessage = GENERIC_RESTRICTIONS_MESSAGE;\r\n }\r\n\r\n return (\r\n
    \r\n

    \r\n Switch to investments\r\n

    \r\n {(RestrictionStore.buyDisabled() || RestrictionStore.sellDisabled()) && (\r\n \r\n )}\r\n {}}\r\n maxNumberOfDecimalPlaces={{\r\n errorMessage: \"only allow two decimal places\",\r\n value: 2,\r\n }}\r\n required=\"Please enter\"\r\n />\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {this.state.orderType == OrderType.Percentage && (\r\n this.applyEven(v)}\r\n />\r\n )}\r\n
    \r\n
    \r\n this.onUnderlyingToggle(isToggle, index, rowData)}\r\n data={data.BuyInvestmentList}\r\n orderType={this.state.orderType}\r\n onChange={(list, unCheckEvenWeight) => {\r\n onChange({\r\n BuyInvestmentList: list.map((ele) => {\r\n return { ...ele, Type: this.state.orderType };\r\n }),\r\n });\r\n if (unCheckEvenWeight) {\r\n this.setState({ applyEvenWeight: false });\r\n }\r\n }}\r\n excludeLimit\r\n process={ProcessType.Buy}\r\n onRef={(ref) => this.appendChild(ref)}\r\n totalValue={data.TotalValue}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onTreasuredAssetChange={this.onTreasuredAssetChange}\r\n ChecktreasuredAsset={this.state.treasuredAssetProductIds}\r\n depositProducts={this.state.depositProducts}\r\n batchType={data.BatchType}\r\n />\r\n {hasDecisionMaker(data.BuyInvestmentList) && (\r\n this.appendChild(ref)}\r\n data={data}\r\n onChange={(v) => onChange(v)}\r\n clAccountId={params[\"claccountid\"]}\r\n headAccountHierarchyId={clientAccount?.HierarchyId}\r\n companyCode={clientAccount?.Company}\r\n accountAdviceType={\r\n clientAccount?.Discretionary\r\n ? AccountAdviceType.Discretionary\r\n : AccountAdviceType.NonDiscretionary\r\n }\r\n showErrorMsgPopUp={(msg, now) => this.props.showErrorMsgPopUp(msg, now)}\r\n />\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import { SecurityType } from \"../../../../../../Wrap/Constants/Enums/Domain/Instrument/SecurityType\";\r\nimport { ProductType } from \"../../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\n\r\nexport const switchStepperName = {\r\n orderStep: \"Order setup\",\r\n switchTo: \"Switch to investments\",\r\n switchFrom: \"Switch from investments\",\r\n review: \"Review\",\r\n confirmation: \"Confirmation\",\r\n};\r\n\r\nexport const equlityBondWarning =\r\n \"Your orders contain equity dealing instructions. A Market Order will be active for the remainder of the day in which it is placed with the execution-only stockbroker. A Limit Order will be active until the expiry date selected by you. Please note that Limit Orders have a maximum time period of 90 calendar days after which they will automatically expire. You will be advised of any expired or cancelled orders via your Reminders queue.\";\r\n\r\nexport const hasDecisionMaker = (data) => {\r\n return (\r\n data &&\r\n data.some(\r\n (ele) =>\r\n ele.OrderValue > 0 &&\r\n ([SecurityType.Bond, SecurityType.Share].includes(ele.Instrument.Type) ||\r\n [ProductType.Equity, ProductType.Bond].includes(ele.Instrument.Type))\r\n )\r\n );\r\n};\r\n\r\nexport const orderAmendedMsg = \"Order values greater than or equal to 95% have been amended to sell all units\"","import { SwitchDispatcher } from \"./Variable\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\n\r\nexport interface SwitchStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n}\r\n\r\nexport class SwitchStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(SwitchDispatcher, (actionData) => this.onSwitchStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): SwitchStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): SwitchStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n private onSwitchStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Update, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { SwitchStoreStatic } from \"./SwitchStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const SwitchDispatcher: Dispatcher = new Dispatcher();\r\nexport const SwitchStore: SwitchStoreStatic = new SwitchStoreStatic();\r\n","import * as React from \"react\";\r\nimport { RoutingActions } from \"../../../../../react-core/Flux/Variables\";\r\nimport { Objects } from \"../../../../../react-core/Utils/Objects\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { AccountRoleStore, ClientAccountStore } from \"../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { RestrictionStore } from \"../Common/Restrictions/Variable\";\r\nimport { getUrl } from \"../PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { productMap } from \"../SinglePaymentTransferWizard/Resource/Content\";\r\nimport { SwitchAction } from \"./Action/SwitchAction\";\r\nimport { SwitchOrderSetup } from \"./Components/OrderSetup/OrderSetup\";\r\nimport { Review } from \"./Components/Review/Review\";\r\nimport { SwitchFromInvestment } from \"./Components/SwitchFrom/SwitchFromInvestment\";\r\nimport { SwitchToInvestment } from \"./Components/SwitchTo/SwitchToInvestment\";\r\nimport { switchStepperName } from \"./Resource/Content\";\r\nimport { SwitchStore } from \"./Store/Variable\";\r\ninterface ISwitchWizardState extends IAccountContextWizardComponentState {\r\n extraInfo?: any;\r\n}\r\nexport class SwitchWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n extraInfo: null,\r\n clientAccount: null,\r\n customer: null,\r\n };\r\n }\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(SwitchStore, () => this.onStoreChange());\r\n }\r\n\r\n onAccountRoleStoreChange(): void {\r\n super.onAccountRoleStoreChange();\r\n const { customer } = this.state;\r\n if (customer != null) {\r\n this.setState({\r\n extraInfo: `${customer.PersonalDetails.Name.Given} ${customer.PersonalDetails.Name.Family}`,\r\n });\r\n }\r\n }\r\n\r\n private onStoreChange() {\r\n const data = SwitchStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n SwitchAction.initSwitchModel();\r\n }\r\n\r\n saveInstruction(from, to, toUrl) {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n SwitchAction.goToNextStep(from, this.filterdata(), (d) => {\r\n this.setState({ onPosting: false });\r\n if (d && d.length > 0) {\r\n this.setState({ errorMsg: d.map((ele) => ele.UserMessage), isShowErrorMsg: true });\r\n } else {\r\n Navigator.navigateToAndPreserveQueryParameters(toUrl);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onExit() {\r\n // const params = getQueryParameters();\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n RoutingActions.navigateTo(getUrl(clientAccount, accountRoles, \"summary\"));\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n SwitchAction.submit(this.filterdata(), (result) => {\r\n this.setState({ isSubmitting: false });\r\n if (!result.SubmissionSucceed) {\r\n this.setState({\r\n active: true,\r\n errorMsg: [`There was an error when processing Batch ${result.BatchId}.`],\r\n });\r\n }\r\n });\r\n }\r\n\r\n filterdata(): any {\r\n const data = Objects.cloneObject(this.state.data);\r\n if (data.BuyInvestmentList) {\r\n data.BuyInvestmentList = data.BuyInvestmentList.filter(item => item.Instrument.InstrumentCode !== \"GBPCash\")\r\n }\r\n return data;\r\n }\r\n\r\n setStepperConfig() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n\r\n this.stepperConfig = [\r\n {\r\n title: switchStepperName.orderStep,\r\n url: Urls.get().SwitchOrderSetup,\r\n path: Contents.URLMap.orderSetup,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: ,\r\n },\r\n {\r\n title: switchStepperName.switchFrom,\r\n url: Urls.get().SwitchFrom,\r\n path: Contents.URLMap.switchFrom,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n },\r\n {\r\n title: switchStepperName.switchTo,\r\n url: Urls.get().SwitchTo,\r\n path: Contents.URLMap.switchTo,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n \r\n ),\r\n },\r\n {\r\n title: switchStepperName.review,\r\n url: Urls.get().SwitchReview,\r\n path: Contents.URLMap.review,\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[3].isValid(),\r\n needPrint: true,\r\n component: (\r\n this.setState({ errorMsg: [], isShowErrorMsg: false })}\r\n />\r\n ),\r\n },\r\n {\r\n title: switchStepperName.confirmation,\r\n url: Urls.get().SwitchConfiramation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n {\r\n this.state.errorMsg.length > 0 || !checkPermission(UserClaim.AdviserPortalDluOrdersCanView)\r\n ? Navigator.navigateToAndPreserveQueryParameters(Urls.get().SwitchReview)\r\n : (window.location.href = `/clients/orders/orders.aspx?claccountid=${this.state.clientAccount?.HeadClAccountId}`);\r\n }}\r\n buttonLabel={this.state.errorMsg.length > 0 ? \"Previous\" : \"Go to transactions\"}\r\n errorMsg={this.state.errorMsg[0]}\r\n successMessage={`We've received your instruction to Switch investments for ${this.state.customer?.PersonalDetails.Name.Given} ${this.state.customer?.PersonalDetails.Name.Family} (${this.state.clientAccount?.HeadClAccountId}).`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Switch investments\";\r\n processProps.onSave = null;\r\n processProps.goBacktoFirst = true;\r\n processProps.subTitle = productMap[getQueryParameters()[\"type\"]];\r\n return processProps;\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { ClientAccountClient } from \"../../../../../../Wrap/Api/Account/ClientAccount\";\r\nimport { PensionContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/PensionContributionInstruction\";\r\nimport { SubAccountAmendmentInstructionClient } from \"../../../../../../Wrap/Api/Apply/SubAccountAmendmentInstruction\";\r\nimport { ProcessType as ActivityType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { PensionArrangementClient } from \"../../../../../../Wrap/Api/Drawdown/PensionArrangement\";\r\nimport { PensionContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientAccountDispatcher } from \"../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { TopUpWithITFLSDispatcher, TopUpWithITFLSStore } from \"../Stores/Variable\";\r\n\r\nexport class ITFLSAction {\r\n public static getInstruction(id, hierarchyId, clientId): void {\r\n //Get subaccount hiearchy first\r\n const client = new ClientAccountClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((result) => {\r\n ClientAccountDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n const subAccount = result.SubAccounts.find((x) =>\r\n SubAccountTypeHelper.isOnPlatformPension(x.SubAccountType)\r\n );\r\n if (subAccount) {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n pensionContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccount.HierarchyId,\r\n clientId\r\n );\r\n }\r\n });\r\n promise.onError((err) => {});\r\n }\r\n\r\n private static getOrCreateInstruction(\r\n client: PensionContributionInstructionClient,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId\r\n ) {\r\n if (id && id !== \"\") {\r\n // Have instructionId\r\n const promise = client.get(id, clientId, \"\", null);\r\n this.updateITFLSInstructionStore(promise);\r\n } else {\r\n // Create new instruction\r\n const promise = client.post(subAccountHierarchyId, hierarchyId, ActivityType.Topup);\r\n promise.onSuccess((result) => {\r\n const instructionId = result.Result;\r\n const model = client.get(instructionId, clientId, \"\", null);\r\n this.updateITFLSInstructionStore(model);\r\n });\r\n\r\n promise.onError((err) => {\r\n TopUpWithITFLSDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n }\r\n\r\n public static saveInstruction(from, data: any, type, customerId?: number, callback?: (data) => void): void {\r\n const pensionContributionInstruction = new PensionContributionInstructionClient();\r\n const promise = pensionContributionInstruction.put(data, customerId);\r\n this.updateITFLSInstructionStore(promise, callback);\r\n }\r\n\r\n public static submitInstruction(id, data, customerId, claccountId, callback?: (data) => void): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.put(id, data, customerId, claccountId);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback([]);}\r\n });\r\n }\r\n\r\n public static deleteInstruction(id, callback?: VoidFunction): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.delete(id);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n public static createIncomeAmendmentInstructions(data: PensionContributionModel, id, clientId): void {\r\n const incomeClient = new PensionArrangementClient();\r\n const promise = incomeClient.post(data);\r\n promise.onSuccess(() => {\r\n const client = new PensionContributionInstructionClient();\r\n const promise = client.get(id, clientId, \"\", null);\r\n this.updateITFLSInstructionStore(promise);\r\n });\r\n }\r\n\r\n private static updateITFLSInstructionStore(promise: any, callback?: (data) => void) {\r\n promise.onSuccess((result) => {\r\n TopUpWithITFLSDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (callback) {callback([]);}\r\n });\r\n\r\n promise.onError((err) => {\r\n TopUpWithITFLSDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxGroup } from \"../../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { Table } from \"../../../../../../Shared/Table/Table\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SectionHeader } from \"../../../NewBusinessWizard/Components/SharedComponents\";\r\nimport { Accordion } from \"../../../../../../../react-core/Html/Accordion\";\r\nimport { DocumentsAndDeclarationContent as Content } from \"../../Resource/Contents\";\r\nimport { DocumentTaskRequestTypeEnum } from \"../../../../../../../Wrap/Constants/Enums/Tasks/DocumentTaskRequestTypeEnum\";\r\nimport { DownloadButton } from \"../../../../../../Shared/DownloadButton/DownloadButton\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { DocumentsHelper } from \"../../../PortfolioDashboard/Components/Document/Resource/DocumentsHelper\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\n\r\ninterface IDocumentsAndDeclarationsProps extends IProcessComponentProps {\r\n data: any;\r\n customerId: number;\r\n}\r\n\r\ninterface IDocumentsAndDeclarationsState {\r\n checkedDeclarations: number[];\r\n isClientDeclarationUploaded: boolean;\r\n}\r\n\r\nexport class DocumentsAndDeclarations extends ProcessComponent<\r\n IDocumentsAndDeclarationsProps,\r\n IDocumentsAndDeclarationsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isClientDeclarationUploaded: false,\r\n checkedDeclarations: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.isReview) {\r\n this.setState({ checkedDeclarations: [1, 2, 3, 4] });\r\n }\r\n }\r\n\r\n isValid() {\r\n if (this.state.checkedDeclarations.length < 4) {\r\n this.props.showErrorMsgPopUp([Content.validation.mustAcceptAll], true);\r\n }\r\n // if (!this.state.isClientDeclarationUploaded){\r\n // this.props.showErrorMsgPopUp([Content.validation.uploadDeclaration], true);\r\n // }\r\n return super.isValid() && this.state.checkedDeclarations.length == 4; //&& this.state.isClientDeclarationUploaded;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n

    {Content.header}

    \r\n {this.renderClientDeclaration()}\r\n
    \r\n\r\n {this.renderDocumentsToPost()}\r\n
    \r\n\r\n {this.renderDocumentsAvailable()}\r\n
    \r\n\r\n {this.renderDeclarations()}\r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderClientDeclaration() {\r\n const { data } = this.props;\r\n return (\r\n <>\r\n {SectionHeader(Content.clientDeclaration.header)}\r\n

    {Content.clientDeclaration.label}

    \r\n
    \r\n
    \r\n \r\n {Content.clientDeclaration.uploadLabel(\r\n data?.ClientDetails?.FirstName,\r\n data?.ClientDetails?.LastName\r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {!this.state.isClientDeclarationUploaded && !this.props.isReview ? (\r\n
    \r\n {\r\n this.setState({ isClientDeclarationUploaded: !this.state.isClientDeclarationUploaded });\r\n }}\r\n >\r\n \r\n {Content.clientDeclaration.uploadInstruction}\r\n \r\n
    \r\n ) : (\r\n {\r\n this.setState({ isClientDeclarationUploaded: !this.state.isClientDeclarationUploaded });\r\n }}\r\n >\r\n {Content.clientDeclaration.successfullyUploaded}\r\n

    \r\n )}\r\n \r\n );\r\n }\r\n\r\n private renderDocumentsToPost() {\r\n const customerid = this.props;\r\n const claccountid = this.props.data?.SubAccountClientDetail?.ClAccountId;\r\n const instructionId = getQueryParameters()[\"id\"];\r\n const headAccountHierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n const remittanceAdviceSlipQuery = DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid.toString(),\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.RemittanceAdviceSlip,\r\n processTypeEnum.topUpWithITFLS\r\n );\r\n const transferFormQuery = DocumentsHelper.getTaskRequest(\r\n instructionId,\r\n customerid.toString(),\r\n claccountid,\r\n headAccountHierarchyId,\r\n DocumentTaskRequestTypeEnum.TransferForm,\r\n processTypeEnum.topUpWithITFLS\r\n );\r\n return (\r\n <>\r\n {SectionHeader(\"Documents to post\")}\r\n

    Please complete this form if any of the parties are not Origo members

    \r\n \r\n

    For the cheque payment, your client needs to write {claccountid} on the back of their cheque

    \r\n
    \r\n Remittance Advice slip\r\n \r\n
    \r\n

    Send the completed forms to:

    \r\n

    (display clients correspondence address)

    \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderDocumentsAvailable() {\r\n return (\r\n <>\r\n {SectionHeader(Content.documentsAvailable.header)}\r\n

    {Content.documentsAvailable.label}

    \r\n
    \r\n
    \r\n \r\n {\r\n return (\r\n
    \r\n
    \r\n {data}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderDeclarations() {\r\n return (\r\n <>\r\n

    {Content.declarations.header}

    \r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(1) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 1) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(2) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 2) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(3) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 3) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n
      \r\n
    1. {Content.declarations.firstConfirm}
    2. \r\n
    3. {Content.declarations.secondConfirm}
    4. \r\n
    5. {Content.declarations.thirdConfirm}
    6. \r\n
    7. {Content.declarations.fourConfirm}
    8. \r\n
    \r\n {\r\n const checked = this.state.checkedDeclarations;\r\n if (v) {\r\n this.setState({ checkedDeclarations: checked.concat(4) });\r\n } else {\r\n this.setState({ checkedDeclarations: checked.filter((ele) => ele != 4) });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n {\r\n if (v) {\r\n this.setState({ checkedDeclarations: [1, 2, 3, 4] });\r\n } else {\r\n this.setState({ checkedDeclarations: [] });\r\n }\r\n },\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PartLoading } from \"../../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { OAC } from \"../../../Common/AdviserCharges/Components/OAC\";\r\nimport { LessThanAge } from \"../../../Common/Helpers/PensionHelper\";\r\nimport { FinancialAdvice } from \"../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { DrawdownCalculationAction } from \"../../../Common/SIPP/DrawdownDetails/Action/DrawdownCalculationAction\";\r\nimport { BceAndPclsTaxYear } from \"../../../Common/SIPP/DrawdownDetails/BceAndPCLSTaxYear\";\r\nimport { CrystallisationDetailsSection } from \"../../../Common/SIPP/DrawdownDetails/CrystallisationDetails\";\r\nimport { CrystallizationPerContribution } from \"../../../Common/SIPP/DrawdownDetails/CrystallizationPerContribution\";\r\nimport { DIAC } from \"../../../Common/SIPP/DrawdownDetails/DIAC\";\r\nimport { DrawdownPriceLock } from \"../../../Common/SIPP/DrawdownDetails/DrawdownPriceLock\";\r\nimport { DrawdownTypeOption } from \"../../../Common/SIPP/DrawdownDetails/DrawdownType\";\r\nimport {\r\n getChooseAssetsToSellTable,\r\n hasEnhancedPensionProtection,\r\n} from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { IllHealth } from \"../../../Common/SIPP/DrawdownDetails/IllHealth\";\r\nimport { Information } from \"../../../Common/SIPP/DrawdownDetails/Information\";\r\nimport { LTABreakdownDetails } from \"../../../Common/SIPP/DrawdownDetails/LTABreakdownDetails\";\r\nimport { PensionProtection } from \"../../../Common/SIPP/DrawdownDetails/PensionProtection\";\r\nimport { PreADayPensionDetails } from \"../../../Common/SIPP/DrawdownDetails/PreADayPensionDetails\";\r\nimport { ChooseAssetsToSellAssets } from \"../../../Common/SIPP/DrawdownDetails/Store/DrawdownCalculationStoreStatic\";\r\nimport { TaxFreeLumpSumPayment } from \"../../../Common/SIPP/DrawdownDetails/TaxFreeLumpSumPayment\";\r\nimport { ITFLSAction } from \"../../Actions/ITFLSAction\";\r\nimport { TopUpWithITFLSStore } from \"../../Stores/Variable\";\r\n\r\ninterface IDrawdownDetailsProps extends IProcessComponentProps {\r\n data: PensionContributionModel;\r\n customerId?: number;\r\n}\r\n\r\ninterface IDrawdownDetailsState {\r\n isLoading: boolean;\r\n originType: DrawdownType;\r\n assetsTable: ChooseAssetsToSellAssets[];\r\n}\r\n\r\nexport class Drawdown extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n originType: null,\r\n assetsTable: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ assetsTable: getChooseAssetsToSellTable(this.props.data.Contribution) });\r\n if (\r\n !LessThanAge(55, JsonDateParser.toDate(this.props.data?.ClientDetails?.DateOfBirth)) &&\r\n !this.props.data?.Contribution?.DrawdownModel?.InstructionId\r\n ) {\r\n this.postDrawdownInstruction();\r\n }\r\n }\r\n\r\n private postDrawdownInstruction() {\r\n this.setState({ isLoading: true });\r\n const params = getQueryParameters();\r\n DrawdownCalculationAction.postDrawdown(\r\n this.props.data?.Contribution?.HierarchyId,\r\n null,\r\n (drawdownModel: DrawdownModel) => {\r\n ITFLSAction.getInstruction(params[\"id\"], params[\"hierarchyid\"], this.props.customerId);\r\n this.setState({ isLoading: false, originType: drawdownModel?.DrawdownType });\r\n }\r\n );\r\n }\r\n\r\n private getComponentProps = (data: PensionContributionModel, onChange) => {\r\n return {\r\n data: data?.Contribution?.DrawdownModel,\r\n onChange: (v) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n v,\r\n data.Contribution,\r\n \"DrawdownModel\"\r\n ),\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: this.props.showErrorMsgPopUp,\r\n isReview: this.props.isReview,\r\n };\r\n };\r\n\r\n private doCalculation = () => {\r\n this.setState({ isLoading: true });\r\n const { customerId } = this.props;\r\n const originType =\r\n this.state.originType || TopUpWithITFLSStore.getData()?.Contribution?.DrawdownModel?.DrawdownType;\r\n const currType = this.props.data?.Contribution?.DrawdownModel?.DrawdownType;\r\n const _data = JSON.parse(JSON.stringify(this.props.data));\r\n this.setState({ originType: currType });\r\n const originIsRegular = originType == DrawdownType.Regular;\r\n const currIsRegular = currType == DrawdownType.Regular;\r\n _data.Contribution.DrawdownModel.ChangeInstructionType =\r\n (originIsRegular && !currIsRegular) || (!originIsRegular && currIsRegular);\r\n ITFLSAction.saveInstruction(4, _data, null, customerId, () => {\r\n this.setState({ isLoading: false });\r\n });\r\n };\r\n\r\n private needIllHealth(data) {\r\n return (\r\n LessThanAge(55, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth)) &&\r\n !data?.Contribution?.DrawdownModel?.InstructionId\r\n );\r\n }\r\n\r\n isValid() {\r\n if (this.props.data?.Contribution?.DrawdownModel?.PreADay) {\r\n this.props.showErrorMsgPopUp([\"Cancel the process unless select 'No' for Pre-A-Day pension details\"]);\r\n }\r\n return super.isValid() && this.props.data?.Contribution?.DrawdownModel?.PreADay == false;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const ageLessThan75 = LessThanAge(75, JsonDateParser.toDate(data?.ClientDetails?.DateOfBirth));\r\n const isImmediateTaxFreeLumpSum = true;\r\n if (this.needIllHealth(data)) {\r\n return (\r\n {\r\n this.postDrawdownInstruction();\r\n }}\r\n />\r\n );\r\n }\r\n return (\r\n \r\n

    Drawdown details

    \r\n this.onDataChange(onChange, changes, data, \"Contribution\")}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n {data?.Contribution?.AdviceGiven && (\r\n <>\r\n \r\n {data?.Contribution?.DrawdownModel?.PreADay == false && (\r\n <>\r\n this.appendChild(ref)}\r\n data={data?.Contribution}\r\n onChange={(v) => this.onDataChange(onChange, v, data, \"Contribution\")}\r\n process={ProcessType.TopUpWithITFLS}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n {data?.Contribution?.DrawdownModel?.PreADay == false && (\r\n <>\r\n {(data?.Contribution?.DrawdownModel.DrawdownType == DrawdownType.Capped ||\r\n data?.Contribution?.DrawdownModel.DrawdownType == DrawdownType.Flexible) && (\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n pensionProtection={data?.Contribution?.PensionProtection}\r\n />\r\n )}\r\n this.doCalculation()}\r\n {...this.getComponentProps(data, onChange)}\r\n process={ProcessType.TopUpWithITFLS}\r\n lessThan75={ageLessThan75}\r\n />\r\n \r\n\r\n \r\n\r\n {data?.Contribution?.DrawdownModel?.DrawdownType != DrawdownType.Regular && (\r\n \r\n )}\r\n {}}\r\n data={{\r\n OngoingAdviceCharge:\r\n data?.Contribution?.DrawdownModel?.DrawdownAdviserCharge\r\n ?.OngoingAdviserCharge,\r\n }}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n />\r\n \r\n \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DistributionDividendPreference } from \"../../../../../../../Wrap/Constants/Enums/Domain/DistributionDividendPreference\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { InstrumentSelection } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelection\";\r\nimport { InstrumentSelections } from \"../../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelections\";\r\nimport { PensionContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContribution\";\r\nimport {\r\n getISTPaymentAmount,\r\n initPensionInstrumentSelections,\r\n initWeighting,\r\n} from \"../../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { AllocationTableItem } from \"../../../../../../Shared/IST/Store/SelectedInvesmentStoreStatic\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { InvestmentSelectionTool as IST } from \"../../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { BankAccountOwnerPaymentTypeMap, PaymentType, TransferKeysMap } from \"../../../Common/Resource/Contents\";\r\nimport { IWizardDataModelTemplate } from \"../../../SinglePaymentTransferWizard/Models/WizardDataModelTemplate\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ClientAccountStore, TreasuredAssetsStore } from \"../../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { Action } from \"../../../../../Actions/Action\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\n\r\ninterface IInvestmentSelectionToolProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: IWizardDataModelTemplate;\r\n treasuredAssetProductIds: number[];\r\n onTreasuredAssetsStoreChange: () => void;\r\n onChangeTreasuredAssets: (subAccountInstructionId, productId, value) => void;\r\n}\r\n\r\ninterface IInvestmentSelectionToolState {}\r\n\r\nexport class InvestmentSelectionTool extends ProcessComponent<\r\n IInvestmentSelectionToolProps,\r\n IInvestmentSelectionToolState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n this.subscribeToStore(TreasuredAssetsStore, () => this.props.onTreasuredAssetsStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const subAccountInstructionId = HierarchyIdHelper.generateHierarchyId(this.props.data.HierarchyId).entityId;\r\n Action.getInstructionTreasuredAssetsProductIds(subAccountInstructionId);\r\n }\r\n\r\n private onInvestmentChanges = (changes) => {\r\n const preRetirement: AllocationTableItem[] = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Single: ele.Single,\r\n Regular: ele.Regular,\r\n Transfer: ele.Transfer,\r\n isToogle: ele.isToogle,\r\n needToggle: ele.needToggle,\r\n underlying: ele.underlying,\r\n isTargetAllocation: ele.isTargetAllocation,\r\n modelPortfolioType: ele.modelPortfolioType,\r\n }));\r\n const postRetirement = changes.Instruments.map((ele) => ({\r\n Instrument: ele.Instrument,\r\n Transfer: ele.PostTransfer || null,\r\n Single: initWeighting(),\r\n Regular: initWeighting(),\r\n }));\r\n this.onDataChange(\r\n this.props.onChange,\r\n {\r\n PreRetirementInstrumentSelections: this.initInstrumentSelection(preRetirement),\r\n PostRetirementInstrumentSelections: this.initInstrumentSelection(postRetirement),\r\n },\r\n this.props.data,\r\n \"Contribution\"\r\n );\r\n };\r\n\r\n private initInstrumentSelection = (instruments: InstrumentSelection[]): InstrumentSelections => {\r\n return {\r\n Type: MoneyOrPercentageType.Percentage,\r\n Instruments: instruments,\r\n DistributionDividendPreference: DistributionDividendPreference.NotSpecified,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, type, onChange, onChangeTreasuredAssets, treasuredAssetProductIds } = this.props;\r\n const params = getQueryParameters();\r\n const paymentAmount = getISTPaymentAmount(data.Contribution, TransferKeysMap[10]);\r\n const accountsFromExisting = data.AllBankAccounts || [];\r\n const bankAccountInstructionsFiltered =\r\n (data.BankAccountInstructions || []).filter(\r\n (x) => BankAccountOwnerPaymentTypeMap[x.Owner].indexOf(PaymentType.Client) != -1\r\n ) || [];\r\n\r\n const bankAccounts = [...accountsFromExisting, ...bankAccountInstructionsFiltered];\r\n const modelData = JSON.parse(JSON.stringify(data?.Contribution));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n let instrumentSelection = data.Contribution?.InstrumentSelections;\r\n const preRetirement =\r\n (data?.Contribution as PensionContribution)?.PreRetirementInstrumentSelections?.Instruments || [];\r\n const postRetirement =\r\n (data?.Contribution as PensionContribution)?.PostRetirementInstrumentSelections?.Instruments || [];\r\n instrumentSelection = this.initInstrumentSelection([]);\r\n instrumentSelection.Instruments = initPensionInstrumentSelections(preRetirement, postRetirement);\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n return (\r\n <>\r\n

    Investment selection

    \r\n this.appendChild(ref)}\r\n onChange={(changes) => {\r\n this.onInvestmentChanges(changes);\r\n }}\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.TopUpWithITFLS}\r\n hiercharyId={\r\n clientAccount.SubAccounts.find((ele) =>\r\n SubAccountTypeHelper.isOnPlatformPension(ele.SubAccountType)\r\n )?.HierarchyId\r\n }\r\n headAccountHierarchyId={clientAccount.HierarchyId}\r\n companyCode={clientAccount.Company}\r\n claccountId={params[\"claccountid\"]}\r\n product={type}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={bankAccounts}\r\n onBankChange={(bankInfo) => {\r\n const banks = data.BankAccountInstructions.concat(bankInfo);\r\n onChange({ BankAccountInstructions: banks });\r\n }}\r\n onDistributionDividendOptions={(changes) => {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution,\r\n \"DistributionDividendOptions\"\r\n );\r\n }}\r\n decisionMakerHierarchyId={data.OwnerHierarchyId}\r\n accountAdviceType={data.SubAccountClientDetail?.AccountAdviceType}\r\n accountServiceProposition={clientAccount.AccountServicePropositionId}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"Contribution\")}\r\n treasuredAssetsProductIds={treasuredAssetProductIds}\r\n onChangeTreasuredAssets={(productId, value) => {\r\n onChangeTreasuredAssets(data.HierarchyId, productId, value);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { PensionArrangementType } from \"../../../../../../../Wrap/Constants/Enums/Domain/PensionArrangementType\";\r\nimport { CappedFlexiSection } from \"../../../Common/SIPP/IncomePaymentDetails/CappedFlexiSection\";\r\nimport { Arrangements } from \"../../../../../../../Wrap/Models/Domains/Drawdown/Arrangements\";\r\nimport { PensionContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContribution\";\r\nimport { FlexiModel } from \"../../../../../../../Wrap/Models/Domains/Drawdown/FlexiModel\";\r\nimport { calculateNetDrawdownValue } from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { CappedModel } from \"../../../../../../../Wrap/Models/Domains/Drawdown/CappedModel\";\r\nimport { DrawdownIncomeAmendmentInstruction } from \"../../../../../../../Wrap/Models/Domains/Drawdown/DrawdownIncomeAmendmentInstruction\";\r\nimport { findIndex } from \"lodash\";\r\nimport { DrawdownModel } from \"../../../../../../../Wrap/Models/Models/QuoteAndApplyBase/Shared/DrawdownModel\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\n\r\ninterface IIncomeFromPensionProps extends IProcessComponentProps {\r\n data: PensionContribution;\r\n processType?: processTypeEnum;\r\n onChange: (changes) => void;\r\n}\r\ninterface IIncomeFromPensionState {}\r\n\r\nexport class IncomeFromPension extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n private handleChange(changes, key?: string) {\r\n const { data, onChange } = this.props;\r\n let _data = JSON.parse(JSON.stringify(data));\r\n // changes = {Capped/Felxi: []}\r\n const existedArrangements = data?.IncomeAmendment ? JSON.parse(JSON.stringify(data?.IncomeAmendment)) : [];\r\n const drawdown = data?.DrawdownModel ? JSON.parse(JSON.stringify(data?.DrawdownModel)) : null;\r\n if (changes?.CappedModels) {\r\n // handle capped model change\r\n changes?.CappedModels?.forEach((e: CappedModel) => {\r\n if (e?.From == \"Crystallisation\") {\r\n // From drawdown\r\n // TODO - handle drawdownIncome\r\n this.handleDrawdownIncomeForCapped(drawdown, e);\r\n } else {\r\n // From existed arrangement\r\n this.handleCappedChange(existedArrangements, e);\r\n }\r\n });\r\n }\r\n if (changes?.FlexiModels) {\r\n // handle flexi model change\r\n changes?.FlexiModels?.forEach((e: FlexiModel) => {\r\n if (e?.From == \"Crystallisation\") {\r\n // From drawdown\r\n // TODO - handle drawdownIncome\r\n this.handleDrawdownIncomeForFlexi(drawdown, e);\r\n } else {\r\n // From existed arrangement\r\n this.handleFlexiChange(existedArrangements, e);\r\n }\r\n });\r\n }\r\n\r\n // set changed object to data\r\n _data = setValueByKey(_data, \"IncomeAmendment\", existedArrangements);\r\n _data = setValueByKey(_data, \"DrawdownModel\", drawdown);\r\n\r\n onChange(_data);\r\n }\r\n\r\n private handleCappedChange(existedArrangements: Array, changes: CappedModel) {\r\n // Find matched arrangement id from existedArrangement\r\n const index = findIndex(existedArrangements, { ArrangementId: changes?.Id });\r\n existedArrangements[index][\"CappedArrangement\"] = changes;\r\n }\r\n\r\n private handleFlexiChange(existedArrangements: Array, changes: FlexiModel) {\r\n // Find matched arrangement id from existedArrangement\r\n const index = findIndex(existedArrangements, { ArrangementId: changes?.Id });\r\n existedArrangements[index][\"FlexiArrangement\"] = changes;\r\n }\r\n\r\n private handleDrawdownIncomeForCapped(drawdown: DrawdownModel, changes: CappedModel) {\r\n drawdown.Income.CurrentYearIncome = {\r\n Amount: changes?.IncomePerPaymentForCurrentPensionYear,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n drawdown.Income.FutureYearIncome = {\r\n Amount: changes?.IncomePerPaymentForFuturePensionYears,\r\n Currency: CurrencyCode.GBP,\r\n };\r\n }\r\n\r\n private handleDrawdownIncomeForFlexi(drawdown: DrawdownModel, changes: FlexiModel) {\r\n drawdown.Income.IncomePerPayment = { Amount: changes?.IncomePerPayment, Currency: CurrencyCode.GBP };\r\n }\r\n\r\n private onIncomeChange(changes, key?: string) {\r\n const { data, onChange } = this.props;\r\n this.onDataChange(\r\n (changes) => {\r\n this.onDataChange(onChange, changes, data, \"DrawdownModel\");\r\n },\r\n changes,\r\n data?.DrawdownModel,\r\n key\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, processType } = this.props;\r\n\r\n const arrangements: Arrangements = {\r\n CappedModels: [],\r\n FlexiModels: [],\r\n };\r\n\r\n const existedArrangements = data?.IncomeAmendment || [];\r\n if (data?.DrawdownModel?.DrawdownType === DrawdownType.Flexible) {\r\n const drawdownModel = data.DrawdownModel;\r\n\r\n const drawdownTransfer: FlexiModel = {\r\n From: \"Crystallisation\",\r\n Amount: calculateNetDrawdownValue(drawdownModel, data?.PensionProtection),\r\n Type: \"Member\",\r\n IncomePerPayment: drawdownModel?.Income?.IncomePerPayment?.Amount || 0,\r\n };\r\n arrangements.FlexiModels.push(drawdownTransfer);\r\n }\r\n\r\n if (existedArrangements.length > 0) {\r\n existedArrangements.forEach((e) => {\r\n if (e?.Type == PensionArrangementType.Capped) {\r\n // Capped\r\n arrangements.CappedModels.push(e.CappedArrangement);\r\n }\r\n if (e?.Type == PensionArrangementType.Fad) {\r\n arrangements.FlexiModels.push(e.FlexiArrangement);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {data?.DrawdownModel.Income?.TargetSpecificArrangements && (\r\n this.appendChild(ref)}\r\n income={data?.DrawdownModel?.Income}\r\n onIncomeChange={(changes) => {\r\n {\r\n this.onIncomeChange(changes, \"Income\");\r\n }\r\n }}\r\n data={arrangements}\r\n drawdownType={data?.DrawdownModel?.DrawdownType}\r\n onChange={(changes) => {\r\n this.handleChange(changes, \"ExistingArrangements\");\r\n }}\r\n processType={processType}\r\n modelData={data?.DrawdownModel}\r\n pensionProtection={data?.PensionProtection}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default IncomeFromPension;\r\n","import * as React from \"react\";\r\nimport IncomeRequired from \"../../../Common/SIPP/IncomePaymentDetails/IncomeRequired\";\r\nimport IncomeFromPension from \"./IncomeFromPension\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport RegularIncomePayment from \"../../../Common/SIPP/IncomePaymentDetails/RegularIncomePayment\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SectionHeader } from \"../../../Common/SharedComponents\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { ChooseAssetsToSellTable } from \"../../../Common/SIPP/DrawdownDetails/ChooseAssetsToSellTable\";\r\nimport { getChooseAssetsToSellTable } from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { ChooseAssetsToSellFor } from \"../../../Common/SIPP/DrawdownDetails/Resource/Contents\";\r\nimport { processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport {\r\n incomePaymentDetailsLabels,\r\n incomePaymentDetailsMessages,\r\n} from \"../../../Common/SIPP/IncomePaymentDetails/Resource/Content\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { PensionContribution } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContribution\";\r\n\r\ninterface IIncomePaymentProps extends IProcessComponentProps {\r\n data: PensionContribution;\r\n onChange: (changes) => void;\r\n}\r\n\r\ninterface IIncomePaymentState {}\r\n\r\nexport class IncomePayment extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n {\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"DrawdownModel\"),\r\n v,\r\n data.DrawdownModel,\r\n \"Income\"\r\n );\r\n }}\r\n labels={incomePaymentDetailsLabels}\r\n messages={incomePaymentDetailsMessages}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={data?.DrawdownModel?.DrawdownType}\r\n pensionTransfer={data?.PensionTransfers}\r\n regularCrystalDifferentInital={\r\n data?.DrawdownModel?.RegularCrystallisationDetails?.HasADifferentInitialAmount\r\n }\r\n processType={processTypeEnum.topUpWithITFLS}\r\n pensionBase={data}\r\n isITFC={true}\r\n existingArrangements={data?.IncomeAmendment}\r\n />\r\n {data?.DrawdownModel?.Income?.TargetSpecificArrangements && (\r\n {\r\n this.onDataChange(onChange, changes, data);\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n />\r\n )}\r\n {\r\n const changedIncome = { ...data.DrawdownModel.Income, ...changes };\r\n const changedDrawdown = { ...data.DrawdownModel, ...{ Income: changedIncome } };\r\n this.onDataChange(onChange, changedDrawdown, data, \"DrawdownModel\");\r\n }}\r\n labels={incomePaymentDetailsLabels}\r\n messages={incomePaymentDetailsMessages}\r\n onRef={(ref) => this.appendChild(ref)}\r\n drawdownType={data?.DrawdownModel?.DrawdownType}\r\n availableCash={data?.DrawdownModel?.CrystallisationDetails?.AvailableCash?.Amount}\r\n taxFreeLumpSum={data?.DrawdownModel?.TaxFreeLumpSum?.Amount}\r\n regularCrystallisationDetails={data?.DrawdownModel?.RegularCrystallisationDetails}\r\n shouldHidePaymentMethod={data?.DrawdownModel?.DrawdownType === DrawdownType.Regular}\r\n pensionBase={data}\r\n processType={processTypeEnum.topUpWithITFLS}\r\n isITFC={true}\r\n />\r\n\r\n {data?.DrawdownModel.DrawdownType !== DrawdownType.Regular &&\r\n SectionHeader(\"Choose assets to sell to pay income\")}\r\n {data?.DrawdownModel.DrawdownType !== DrawdownType.Regular && (\r\n <>\r\n

    \r\n Disinvestment from post-retirement to meet income payments\r\n \r\n (\r\n {MoneyDisplayHelper.getMoneyFormat({\r\n Amount: data?.DrawdownModel.Income?.TargetSpecificArrangements\r\n ? data.DrawdownModel?.Income?.GrossIncomePerPaymentFromPension?.Amount\r\n : data.DrawdownModel?.Income?.GrossIncomePerPayment?.Amount,\r\n Currency: CurrencyCode.GBP,\r\n })}\r\n )\r\n \r\n

    \r\n (v ? \"Proportionally across all assets\" : \"From specified assets\")}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n onChange,\r\n {\r\n IncomeDisinvestmentAllocations: [],\r\n IsAcrossAllAssets: v,\r\n },\r\n data,\r\n \"DrawdownModel\"\r\n );\r\n }}\r\n tooltip={\r\n \"If there is insufficient value in an asset at the time of the sale, we will default to disinvesting proportioanlly from the assets selected.\"\r\n }\r\n cssWrapper={\"rg-inline mb-10\"}\r\n selected={data?.DrawdownModel?.IsAcrossAllAssets}\r\n />\r\n \r\n )}\r\n {data?.DrawdownModel &&\r\n !(data.DrawdownModel?.DrawdownType === DrawdownType.Regular) &&\r\n data.DrawdownModel.IsAcrossAllAssets === false && (\r\n this.appendChild(ref)}\r\n onChange={(v) => {\r\n this.onDataChange(\r\n onChange,\r\n { IncomeDisinvestmentAllocations: v },\r\n data,\r\n \"DrawdownModel\"\r\n );\r\n }}\r\n processType={ProcessType.TopUpWithITFLS}\r\n reason={ChooseAssetsToSellFor.Income}\r\n showErrorMsgPopUp={(msg, isShow) => showErrorMsgPopUp(msg, isShow)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default IncomePayment;\r\nfunction showErrorMsgPopUp(msg: string[], isShow: boolean): void {\r\n throw new Error(\"Function not implemented.\");\r\n}\r\n","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DrawdownType } from \"../../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { setValueByKey } from \"../../../../../../Shared/Table/Utils/TableUtils\";\r\nimport { getQueryParameters } from \"../../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { IncomeBankDetails } from \"../../../Common/SIPP/IncomePaymentDetails/IncomeBankDetails\";\r\nimport { incomePaymentDetailsLabels } from \"../../../Common/SIPP/IncomePaymentDetails/Resource/Content\";\r\nimport { ITFLSAction } from \"../../Actions/ITFLSAction\";\r\nimport IncomePayment from \"./IncomePayment\";\r\n\r\ninterface IIncomePaymentDetailsProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: PensionContributionModel;\r\n customerId: number;\r\n}\r\n\r\ninterface IIncomePaymentDetailsState {\r\n assets: any;\r\n}\r\n\r\nexport class IncomePaymentDetails extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n assets: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const { data } = this.props;\r\n // Post income amendment instruction\r\n const id = getQueryParameters()[\"id\"];\r\n ITFLSAction.createIncomeAmendmentInstructions(data, id, this.props.customerId);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange } = this.props;\r\n\r\n return (\r\n <>\r\n

    Income payment details

    \r\n (v ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n if (!v) {\r\n onChange(\r\n setValueByKey(data, \"Contribution.DrawdownModel.Income.IncomePaymentAllocations\", [])\r\n );\r\n }\r\n onChange(\r\n setValueByKey(data, \"Contribution.DrawdownModel.Income.TaxableIncomeRequiredInAddition\", v)\r\n );\r\n }}\r\n />\r\n {data?.Contribution?.DrawdownModel &&\r\n data?.Contribution?.DrawdownModel?.DrawdownType !== DrawdownType.Regular && (\r\n <>\r\n {data?.Contribution?.DrawdownModel?.Income?.TaxableIncomeRequiredInAddition && (\r\n <>\r\n {\r\n this.onDataChange(onChange, changes, data, \"Contribution\");\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n {\r\n onChange(\r\n setValueByKey(data, \"Contribution.DrawdownModel.Income.IncomePaymentAllocations\", value)\r\n );\r\n }}\r\n onRef={(ref) => this.appendChild(ref)}\r\n allBankAccounts={data?.AllBankAccounts}\r\n bankAccountInstructions={data?.BankAccountInstructions}\r\n showPropotionOfIncome={\r\n data?.Contribution?.DrawdownModel?.Income?.TaxableIncomeRequiredInAddition == true\r\n }\r\n showErrorMsgPopUp={(msg, isShow) => this.props.showErrorMsgPopUp(msg, isShow)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { FinancialAdvice } from \"../../../Common/PaymentsIn/FinancialAdvice\";\r\nimport { SinglePayment } from \"../../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { MoneyPurchaseAnnualAllowanceComponent } from \"../../../Common/PaymentsIn/SIPP/MoneyPurchaseAnnualAllowanceComponent\";\r\nimport { PensionProtection } from \"../../../Common/PaymentsIn/SIPP/PensionProtection\";\r\nimport { SourceOfWealth } from \"../../../Common/PaymentsIn/SIPP/SourceOfWealth\";\r\nimport { TransferIn } from \"../../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { PaymentType, processTypeEnum } from \"../../../Common/Resource/Contents\";\r\nimport { RestrictionStore } from \"../../../Common/Restrictions/Variable\";\r\n\r\ninterface IPaymentsInProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n data: any;\r\n}\r\n\r\ninterface IPaymentsInState {\r\n transferInDisabled?: boolean;\r\n}\r\n\r\nexport class PaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({ transferInDisabled: RestrictionStore.transferDisabled() });\r\n }\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n hasPaymentMethod: true,\r\n isReview: isReview,\r\n };\r\n };\r\n\r\n private renderPaymentsIn(ClientDetails, AllBankAccounts, BankAccountInstructions) {\r\n const { Contribution } = this.props.data;\r\n const { type } = this.props;\r\n const { onChange, data } = this.props;\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {Contribution.PensionTransfers && (\r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution\r\n )\r\n }\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n isPost={false}\r\n isReview={this.props.isReview}\r\n onRef={(ref) => this.appendChild(ref)}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n )}\r\n {Contribution.ClientSinglePayment && Contribution.ClientSinglePayment !== null && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { ClientDetails, AllBankAccounts, Contribution, BankAccountInstructions } = this.props.data;\r\n const { type } = this.props;\r\n return (\r\n
    \r\n

    Payments in

    \r\n \r\n {Contribution?.AdviceGiven &&\r\n this.renderPaymentsIn(ClientDetails, AllBankAccounts, BankAccountInstructions)}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { SubAccountType } from \"../../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { PaymentsInReview } from \"../../../Common/Review/Component/PaymentsInReview\";\r\nimport { FinancialAdviceReview } from \"../../../Common/Review/Component/FinancialAdviceReview\";\r\nimport { ProcessType } from \"../../../../../../Shared/IST/Resource/Content\";\r\nimport { Navigator } from \"../../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { InvestmentReview } from \"../../../Common/Review/Component/InvestmentReview\";\r\nimport { DrawdownReview } from \"../../../Common/Review/Component/DrawdownReview\";\r\nimport { IncomePaymentReview } from \"../../../Common/Review/Component/IncomePaymentReview\";\r\nimport { Urls } from \"../../../../../Urls\";\r\nimport { PensionContributionModel } from \"../../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { hasEnhancedPensionProtection } from \"../../../Common/SIPP/DrawdownDetails/Helper/DrawdownDetailHelper\";\r\nimport { HierarchyIdHelper } from \"../../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { BWACheck } from \"../../../Common/Review/Component/BWACheck\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: PensionContributionModel;\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getReviewProps = (data, subAccountType) => {\r\n return {\r\n data: data,\r\n subAccountType: subAccountType,\r\n process: ProcessType.TopUpWithITFLS,\r\n colNum: 3,\r\n extraInfo: data,\r\n };\r\n };\r\n\r\n isIncomePaymentShow = (): boolean => {\r\n return this.props.data?.Contribution?.DrawdownModel?.Income?.TaxableIncomeRequiredInAddition;\r\n };\r\n\r\n render() {\r\n const { data, type } = this.props;\r\n const contribution = data.Contribution;\r\n return (\r\n <>\r\n

    Review

    \r\n \r\n \r\n \r\n \r\n \r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().TopUpWithITFLSDrawdown)\r\n }\r\n hasEnhancedPensionProtection={hasEnhancedPensionProtection(data?.Contribution)}\r\n />\r\n {this.isIncomePaymentShow() && (\r\n \r\n Navigator.navigateToAndPreserveQueryParameters(Urls.get().TopUpWithITFLSIncomePayment)\r\n }\r\n isITFC={true}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { RouteFragment } from \"../../../../../../react-core/Imports\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { ITFLSSteppersMap, productMap } from \"../Resource/Contents\";\r\nimport { TopUpWithITFLSStore } from \"../Stores/Variable\";\r\nimport { DocumentsAndDeclarations } from \"./DocumentsAndDeclarations/DocumentsAndDeclarations\";\r\nimport { Drawdown } from \"./Drawdown/Drawdown\";\r\nimport { IncomePaymentDetails } from \"./IncomePaymentDetails/IncomePaymentDetails\";\r\nimport { InvestmentSelectionTool as IST } from \"./IST/IST\";\r\nimport { PaymentsIn } from \"./PaymentsIn/PaymentsIn\";\r\nimport { Review } from \"./Review/Review\";\r\nimport { ITFLSAction } from \"../Actions/ITFLSAction\";\r\nimport { hasCashTransfer, hasSinglePayments } from \"../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { Confirmation } from \"../../../../../Shared/Process/Process/Confirmation\";\r\nimport { IStepConfig, StepType } from \"../../../../../Shared/Process/Process/Process\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Action } from \"../../../../Actions/Action\";\r\nimport { ProductDetailsStore, TreasuredAssetsStore } from \"../../../../Stroes/Variable\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { DrawdownCalculationStoreStore } from \"../../Common/SIPP/DrawdownDetails/Store/Variable\";\r\nimport { InstructionStatus } from \"../../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\n\r\ninterface ITopUpWithITFLSWizardState extends IAccountContextWizardComponentState {\r\n extraInfo: {\r\n treasuredAssetProductIds: number[];\r\n treasuredAssetsInstructionId: number;\r\n };\r\n}\r\n\r\nexport class TopUpWithITFLSWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n extraInfo: {\r\n treasuredAssetProductIds: null,\r\n treasuredAssetsInstructionId: null,\r\n },\r\n };\r\n }\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(TopUpWithITFLSStore, () => this.onInstructionStoreChange());\r\n this.subscribeToStore(DrawdownCalculationStoreStore, () => this.onPostDrawdown());\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (TopUpWithITFLSStore.getActionType() == ActionType.Success) {\r\n const data = TopUpWithITFLSStore.getData();\r\n this.setState({\r\n isLoading: false,\r\n data: data,\r\n onPosting: false,\r\n active: data?.Status === InstructionStatus.Pending || data?.Status === InstructionStatus.NotSpecified,\r\n });\r\n }\r\n }\r\n\r\n onClientAccountStoreChange(): void {\r\n super.onClientAccountStoreChange();\r\n const { clientAccount } = this.state;\r\n if (clientAccount != null) {\r\n const wrapcash = ProductDetailsStore.getSubAccount(SubAccountType.WrapCash);\r\n if (!wrapcash) {\r\n Action.getProductsValuationDetailSummary(\r\n clientAccount.HierarchyId,\r\n null,\r\n JsonDateParser.toJsonDateNoOffset(new Date())\r\n );\r\n }\r\n }\r\n }\r\n\r\n private onPostDrawdown() {\r\n if (DrawdownCalculationStoreStore.getActionType() == ActionType.Loading) {\r\n this.setState({ onPosting: true });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: any, prevState: ITopUpWithITFLSWizardState) {\r\n const { customer, clientAccount, data } = this.state;\r\n if (prevState.customer !== customer || prevState.clientAccount !== clientAccount) {\r\n const id = getQueryParameters()[\"id\"];\r\n if (customer && clientAccount) {\r\n ITFLSAction.getInstruction(id, clientAccount.HierarchyId, customer.CustomerId);\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const hierarchyId = getQueryParameters()[\"hierarchyid\"];\r\n Action.getClientAccount(hierarchyId);\r\n Action.getAccountRoles(hierarchyId);\r\n }\r\n\r\n onCancel() {\r\n // ITFLSAction.deleteInstruction(this.state.data.HierarchyId, () => this.onExit());\r\n //SLP-70599\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n //TODO: navigate to customer dashboard\r\n // Navigator.navigateTo(Urls.get().main.ClientDashboard, {\r\n // queryParamsObject: {\r\n // hierarchyid: params[\"hierarchyid\"],\r\n // },\r\n // scrollAfterNavigating: true,\r\n // });\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n ITFLSAction.submitInstruction(\r\n this.state.data.HierarchyId,\r\n this.state.data.Contribution,\r\n this.state.data.ClientDetails.ActorId,\r\n this.state.data.SubAccountClientDetail.ClAccountId,\r\n () => this.setState({ isSubmitting: false })\r\n );\r\n }\r\n\r\n onTreasuredAssetsStoreChange() {\r\n const treasuredAssetProductIds = TreasuredAssetsStore.getTreasuredAssetsProductIds();\r\n this.setState({\r\n extraInfo: {\r\n treasuredAssetProductIds: treasuredAssetProductIds,\r\n treasuredAssetsInstructionId: null,\r\n },\r\n });\r\n }\r\n\r\n onChangeTreasuredAssets(hierarchyId: string, productId: number, value: boolean) {\r\n let productIds = this.state.extraInfo.treasuredAssetProductIds;\r\n if (value) {\r\n productIds.push(productId);\r\n } else {\r\n productIds = productIds.filter((id) => id !== productId);\r\n }\r\n this.setState({\r\n extraInfo: {\r\n treasuredAssetProductIds: productIds,\r\n treasuredAssetsInstructionId: HierarchyIdHelper.generateHierarchyId(hierarchyId).entityId,\r\n },\r\n });\r\n }\r\n\r\n getStepProps(index: number) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n return stepProps;\r\n }\r\n\r\n saveInstruction(from: any, to: any, toUrl: RouteFragment, params: unknown, stepLength: number) {\r\n if (from == stepLength - 1) {return this.onExit();}\r\n if (!params[\"id\"]) {params[\"id\"] = this.state.data.HierarchyId;}\r\n ITFLSAction.saveInstruction(\r\n from,\r\n this.state.data,\r\n parseInt(params[\"type\"]),\r\n this.state.customer?.CustomerId,\r\n (result) => {\r\n this.setState({ onPosting: false });\r\n if (result.length > 0) {\r\n this.setState({ errorMsg: result, isShowErrorMsg: true });\r\n } else {\r\n if (this.state.extraInfo.treasuredAssetsInstructionId) {\r\n Action.setInstructionTreasuredAssetsProductIds(\r\n this.state.extraInfo.treasuredAssetsInstructionId,\r\n this.state.extraInfo.treasuredAssetProductIds,\r\n () => {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n );\r\n } else {\r\n this.setState({ onPosting: false });\r\n this.navigate(to, toUrl, params);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n private navigate(to, toUrl, params) {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n\r\n setStepperConfig() {\r\n const productType = Number(getQueryParameters()[\"type\"]);\r\n const { data } = this.state;\r\n let hasIST = 0;\r\n const step: IStepConfig[] = [\r\n {\r\n title: ITFLSSteppersMap.paymentsIn,\r\n url: Urls.get().TopUpWithITFLSPaymentsIn,\r\n path: Contents.URLMap.paymentIn,\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n ];\r\n if (hasSinglePayments(data.Contribution) || hasCashTransfer(data.Contribution?.PensionTransfers)) {\r\n hasIST = 1;\r\n step.push({\r\n title: ITFLSSteppersMap.investment,\r\n url: Urls.get().TopUpWithITFLSIST,\r\n path: Contents.URLMap.ist,\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n this.onTreasuredAssetsStoreChange()}\r\n onChangeTreasuredAssets={(subAccountInstructionId, productId, value) => {\r\n this.onChangeTreasuredAssets(subAccountInstructionId, productId, value);\r\n }}\r\n />\r\n ),\r\n });\r\n }\r\n step.push({\r\n title: ITFLSSteppersMap.drawdown,\r\n url: Urls.get().TopUpWithITFLSDrawdown,\r\n path: Contents.URLMap.drawdownDetail,\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n step.push({\r\n title: ITFLSSteppersMap.incomePayment,\r\n url: Urls.get().TopUpWithITFLSIncomePayment,\r\n path: Contents.URLMap.incomePayment,\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n });\r\n step.push({\r\n title: ITFLSSteppersMap.review,\r\n url: Urls.get().TopUpWithITFLSReview,\r\n path: Contents.URLMap.review,\r\n needPrint: true,\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n step.push({\r\n title: ITFLSSteppersMap.doc,\r\n url: Urls.get().TopUpWithITFLSDocumentsAndDeclarations,\r\n path: Contents.URLMap.documentAndDeclarations,\r\n onSubmit: () => this.onSubmit(),\r\n canSubmit: () => this.child[this.stepperConfig.length - 2].isValid(),\r\n onStepLeave: (from: any, to: any) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n });\r\n step.push({\r\n title: ITFLSSteppersMap.comfirm,\r\n url: Urls.get().TopUpWithITFLSComfirmation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={`We've successfully received your application for ${data.ClientDetails.FirstName} ${data.ClientDetails.LastName}(${data.SubAccountClientDetail?.ClAccountId})`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n });\r\n this.stepperConfig = step;\r\n }\r\n\r\n setProcessProps() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { data } = this.state;\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Top-up with immediate tax-free lump sum\";\r\n processProps.subTitle = productMap[type];\r\n return processProps;\r\n }\r\n}\r\n","import { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\n\r\nexport const ITFLSSteppersMap = {\r\n paymentsIn: \"Payments in\",\r\n adviserCharges: \"Adviser charges\",\r\n investment: \"Investment selection\",\r\n review: \"Review\",\r\n doc: \"Documents/Declaration\",\r\n comfirm: \"Confirmation\",\r\n incomePayment: \"Income payment details\",\r\n drawdown: \"Drawdown details\"\r\n};\r\n\r\nexport const productMap = {\r\n [SubAccountType.Sipp]: \"SIPP\",\r\n [SubAccountType.Npr]: \"Pension\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks & Shares\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Wrap Cash\",\r\n};\r\n\r\nexport const FinancialAdviceMap = {\r\n true: \"Yes\",\r\n false: \"No\",\r\n};\r\n\r\nexport const DocumentsAndDeclarationContent = {\r\n header: \"Documents\",\r\n clientDeclaration: {\r\n header: \"Client Declaration\",\r\n label: \"Please have your client complete the following document then upload a completed copy\",\r\n uploadLabel: (firstname: string, lastname: string) => `${firstname} ${lastname} declaration to proceed`,\r\n uploadInstruction: \"Upload completed client declaration\",\r\n successfullyUploaded: \"Client declaration uploaded successfully\",\r\n },\r\n documentsToPost: {\r\n header: \"Documents to post\"\r\n },\r\n documentsAvailable: {\r\n header: \"Documents available\",\r\n label: \"All documents have been collated into a single bundle which you can download or email\"\r\n },\r\n declarations: {\r\n header: \"Declarations\",\r\n authorityToProceed: \"I have the authority to proceed from the client\",\r\n checkedAddress: \"I have checked the client's address on Wrap and confirm it's their personal home address\",\r\n confirmList: \"I confirm all of the following:\",\r\n firstConfirm: \"The client has been provided with the relevant information, including the Wrap Client Terms and Conditions (wrapp66), and that they have had reasonable opportunity to read it.\",\r\n secondConfirm: \"The client has signed the Acceptance of Wrap Services Client Terms and Conditions forms and this will be submitted as evidence of my authority to proceed and to activate the account.\",\r\n thirdConfirm: \"The client has been provided with the relevant information, including the Product Terms and Conditions, the KFD and the relevant KID(s), SID(s) and KIID(s), and they have had reasonable opportunity to read them.\",\r\n fourConfirm: \"All documentation submitted by me will include the account number allocated to this application\",\r\n explainedDataProtection: \"Data protection and money laundering requirements have been explained to all applicants (including, where applicable, lives assured)\",\r\n confirmAll: \"Confirm all\"\r\n },\r\n validation: {\r\n mustAcceptAll: \"You must accept all items to continue\",\r\n uploadDeclaration: \"You must upload client declaration to continue\"\r\n }\r\n};","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DrawdownType } from \"../../../../../../Wrap/Constants/Enums/Drawdown/DrawdownType\";\r\nimport { PensionContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/Pension/PensionContributionModel\";\r\nimport { TopUpWithITFLSDispatcher } from \"./Variable\";\r\n\r\nexport interface TopUpWithITFLSStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: PensionContributionModel;\r\n}\r\n\r\nexport class TopUpWithITFLSStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(TopUpWithITFLSDispatcher, (actionData) => this.onTopUpWithITFLSResponse(actionData));\r\n }\r\n\r\n public getLastResult(): TopUpWithITFLSStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n // const _data: PensionContributionModel = JSON.parse(JSON.stringify(this.getState().data));\r\n // if (_data?.Contribution?.DrawdownModel?.CrystallisationDetails) {\r\n // _data.Contribution.DrawdownModel.CrystallisationDetails.AvailableToCrystallise = {\r\n // Amount: 100000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.Contribution.DrawdownModel.CrystallisationDetails.CrystallisedValue = {\r\n // Amount: 100000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.Contribution.DrawdownModel.CrystallisationDetails.UnCrystallisedValue = {\r\n // Amount: 100000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // _data.Contribution.DrawdownModel.CrystallisationDetails.AvailableCash = {\r\n // Amount: 10000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n // if (_data?.Contribution?.DrawdownModel) {\r\n // _data.Contribution.DrawdownModel.CurrentPclsEntitlement = {\r\n // Amount: 13413.75,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n\r\n // if (_data?.Contribution?.DrawdownModel) {\r\n // _data.Contribution.DrawdownModel.LifetimeAllowance = {\r\n // ChargeableCrystallisationPortion: {\r\n // Amount: 46345,\r\n // Currency: CurrencyCode.GBP,\r\n // },\r\n // AvailablePersonalAllowance: {\r\n // Amount: 53655,\r\n // Currency: CurrencyCode.GBP,\r\n // },\r\n // SlaBenefitsPriorTo2006: 5,\r\n // TotalSlaUsed: 104.31,\r\n // SlaPreviouslyCrystallised: 90,\r\n // SlaUsedByProposedCrystallisation: 9.31,\r\n // };\r\n // }\r\n\r\n // if (\r\n // _data?.Contribution?.DrawdownModel &&\r\n // _data?.Contribution?.DrawdownModel?.DrawdownType !== DrawdownType.Regular\r\n // ) {\r\n // _data.Contribution.DrawdownModel.ExistingArrangements = {\r\n // CappedModels: [\r\n // {\r\n // Id: 1111,\r\n // From: \"1111\",\r\n // Amount: 100000,\r\n // Type: \"Member\",\r\n // GadMaximum: 15000,\r\n // Taxable: true,\r\n // IncomeTakenToDate: 1300,\r\n // NextYearsGadMaximum: 20000,\r\n // LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n // MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n // MaximumIncomePaymentForFuturePensionYears: 2000,\r\n // },\r\n // {\r\n // Id: 3333,\r\n // From: \"3333\",\r\n // Amount: 200000,\r\n // Type: \"Inherited\",\r\n // GadMaximum: 20000,\r\n // Taxable: false,\r\n // IncomeTakenToDate: 1300,\r\n // NextYearsGadMaximum: 10000,\r\n // LastMandatoryReview: JsonDateParser.toJsonDateNoOffset(new Date(2020, 1, 1)),\r\n // MaximumIncomePaymentForRemainderOfPensionYear: 1000,\r\n // MaximumIncomePaymentForFuturePensionYears: 2000,\r\n // },\r\n // ],\r\n // FlexiModels: [\r\n // {\r\n // Id: 1234,\r\n // From: \"1234\",\r\n // Amount: 10000,\r\n // Type: \"Member\",\r\n // MaximumIncomePerPayment: 1000,\r\n // },\r\n // {\r\n // Id: 2222,\r\n // From: \"2222\",\r\n // Amount: 10000,\r\n // Type: \"Inherited\",\r\n // MaximumIncomePerPayment: 2000,\r\n // },\r\n // ],\r\n // };\r\n // }\r\n // if (\r\n // _data?.Contribution?.DrawdownModel &&\r\n // _data?.Contribution?.DrawdownModel?.DrawdownType === DrawdownType.Capped\r\n // ) {\r\n // _data.Contribution.DrawdownModel.GadRates = {\r\n // GadMaximum: 20000,\r\n // NextGadMaximum: 10000,\r\n // };\r\n // }\r\n\r\n // if (_data?.Contribution?.DrawdownModel?.Income) {\r\n // _data.Contribution.DrawdownModel.Income.MaximumIncomePerPayment = {\r\n // Amount: 1000,\r\n // Currency: CurrencyCode.GBP,\r\n // };\r\n // }\r\n\r\n // return _data;\r\n\r\n return JSON.parse(JSON.stringify(this.getState().data));\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): TopUpWithITFLSStoreStaticState {\r\n return {\r\n actionType: ActionType.Loading,\r\n data: null,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n onTopUpWithITFLSResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: ActionType.Success, data: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: ActionType.Error });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ isLoading: actionData.payload, actionType: ActionType.Loading });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { TopUpWithITFLSStoreStatic } from \"./TopUpWithITFLSStoreStatic\";\r\n\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const TopUpWithITFLSDispatcher: Dispatcher = new Dispatcher();\r\nexport const TopUpWithITFLSStore: TopUpWithITFLSStoreStatic = new TopUpWithITFLSStoreStatic();","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { AccountLifetimeAllowanceClient } from \"../../../../../../Wrap/Api/Account/AccountLifetimeAllowance\";\r\nimport { AccountLifetimeAllowanceDispatcher, AccountLifetimeAllowanceStore } from \"../../UpdateLifetimeAllowanceWizard/Store/Variable\";\r\n\r\nexport class AccountLifetimeAllowanceAction {\r\n\r\n public static getInstruction(subAccountHierarchyId: string): void {\r\n const client = new AccountLifetimeAllowanceClient();\r\n\r\n const promise = client.get(subAccountHierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(AccountLifetimeAllowanceStore.getData()));\r\n if (!data) {data = {};}\r\n data = result;\r\n AccountLifetimeAllowanceDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n AccountLifetimeAllowanceDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { UpdateLifetimeAllowanceClient } from \"../../../../../../Wrap/Api/Account/UpdateLifetimeAllowance\";\r\nimport { DrawdownSinglePaymentInstructionArrangementSelection } from \"../../../../../../Wrap/Models/Domains/Drawdown/DrawdownSinglePaymentInstructionArrangementSelection\";\r\nimport { UpdateLifetimeAllowanceDispatcher, UpdateLifetimeAllowanceStore } from \"../../UpdateLifetimeAllowanceWizard/Store/Variable\";\r\n\r\nexport class UpdateLifetimeAllowanceAction {\r\n\r\n public static getInstruction(subAccountHierarchyId: string): void {\r\n const client = new UpdateLifetimeAllowanceClient();\r\n\r\n const promise = client.get(subAccountHierarchyId);\r\n\r\n promise.onSuccess((result) => {\r\n let data = JSON.parse(JSON.stringify(UpdateLifetimeAllowanceStore.getData()));\r\n if (!data) {data = {};}\r\n data = result;\r\n UpdateLifetimeAllowanceDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: data,\r\n });\r\n });\r\n\r\n promise.onError((err) => {\r\n UpdateLifetimeAllowanceDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static updateInstruction(getLifetimeAllowanceOffPlatform: number) {\r\n UpdateLifetimeAllowanceDispatcher.dispatch({\r\n actionType: ActionType.Update,\r\n payload: getLifetimeAllowanceOffPlatform,\r\n });\r\n }\r\n\r\n public static submitInstruction(subAccountHierarchyId: string, data: DrawdownSinglePaymentInstructionArrangementSelection, callback?: (error) => void): void {\r\n const client = new UpdateLifetimeAllowanceClient();\r\n const promise = client.put(subAccountHierarchyId, data);\r\n\r\n promise.onSuccess((result) => {\r\n if (callback) {callback(result);}\r\n });\r\n\r\n promise.onError((err) => {\r\n UpdateLifetimeAllowanceDispatcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { UpdateLifetimeAllowanceContent } from \"../Resource/Content\";\r\nimport { PercentageTextBoxEditor } from \"../../../../../../react-core/Html/PercentageTextBoxEditor\";\r\nimport { OffPlatformLifeTimeAllowance } from \"../../../../../../Wrap/Models/Domains/Account/OffPlatformLifeTimeAllowance\";\r\nimport { AccountLifeTimeAllowance } from \"../../../../../../Wrap/Models/Domains/Account/AccountLifeTimeAllowance\";\r\nimport { UpdateLifetimeAllowanceAction } from \"../Actions/UpdateLifetimeAllowanceAction\";\r\n\r\ninterface IUpdateLifetimeAllowanceDetailProps extends IProcessComponentProps {\r\n extraInfo: any;\r\n}\r\n\r\ninterface IUpdateLifetimeAllowanceDetailPropsState {\r\n lifetimeAllowanceOffPlatform: number;\r\n}\r\n\r\nexport class UpdateLifetimeAllowanceDetail extends ProcessComponent<\r\n IUpdateLifetimeAllowanceDetailProps,\r\n IUpdateLifetimeAllowanceDetailPropsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n lifetimeAllowanceOffPlatform: 0,\r\n };\r\n }\r\n\r\n private getOnPlatformData(): AccountLifeTimeAllowance {\r\n return this.props.extraInfo?.onPlatformData;\r\n }\r\n\r\n private getOffPlatformData(): OffPlatformLifeTimeAllowance {\r\n return this.props.extraInfo?.offPlatformData;\r\n }\r\n\r\n private GetLtaPreviouslyCrystallisedOnPlatform(): number {\r\n return this.getOnPlatformData().UsedOnfPlatformAllowance;\r\n }\r\n\r\n private GetLtaUsedByBenefitsThatCommencedPriorToDate(): number {\r\n return this.getOnPlatformData().UsedByBenefitsPrior472006;\r\n }\r\n\r\n private GetLtaUsed(): number {\r\n return (\r\n this.getOnPlatformData().UsedOnfPlatformAllowance +\r\n this.getOnPlatformData().UsedByBenefitsPrior472006 +\r\n this.getOffPlatformData().LifeTimeAllowanceUsedPercentage\r\n );\r\n }\r\n\r\n public GetOffPlatformLifeTimeAllowance(): number {\r\n return this.getOnPlatformData().UsedOffPlatformAllowance;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n

    {UpdateLifetimeAllowanceContent.ltaDetails}

    \r\n

    \r\n {UpdateLifetimeAllowanceContent.ltaPreviouslyCrystallisedOnPlatform}\r\n

    \r\n {this.GetLtaPreviouslyCrystallisedOnPlatform().toFixed(2)}%\r\n

    \r\n {UpdateLifetimeAllowanceContent.ltaUsedByBenefitsThatCommencedPriorToDate}\r\n

    \r\n {this.GetLtaUsedByBenefitsThatCommencedPriorToDate().toFixed(2)}%\r\n
    \r\n {\r\n this.setState({ lifetimeAllowanceOffPlatform: v });\r\n UpdateLifetimeAllowanceAction.updateInstruction(v);\r\n }}\r\n required={\"Please enter a percentage\"}\r\n />\r\n
    \r\n

    \r\n {UpdateLifetimeAllowanceContent.ltaUsed}\r\n

    \r\n {this.GetLtaUsed()}%\r\n \r\n );\r\n }\r\n}\r\n","export const updateLifetimeAllowanceSteppersMap = {\r\n updateLifetimeAllowanceDetail:\"Lifetime allowance details\",\r\n updateLifetimeAllowanceConfirmation:\"Confirmation\",\r\n};\r\n\r\nexport const UpdateLifetimeAllowanceContent = {\r\n ltaDetails: \"Lifetime allowance details\",\r\n ltaPreviouslyCrystallisedOnPlatform:\"Lifetime allowance (LTA) previously crystallised on platform\",\r\n ltaUsedByBenefitsThatCommencedPriorToDate:\"LTA used by benefits that commenced prior to 06/04/2006\",\r\n ltaCrystallisedOffPlatform:\"LTA crystallised off platform not including transfers already made to the platform\",\r\n ltaUsed:\"Lifetime allowance used\",\r\n\r\n messages:{\r\n percentageOver100:\"The total lifetime allowance used must not exceed 100%\",\r\n percentageUnder0: \"At least 0%\"\r\n }\r\n}","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { AccountLifetimeAllowanceDispatcher } from \"./Variable\";\r\n\r\n\r\nexport interface AccountLifetimeAllowanceState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n lifetimeAllowanceOffPlatform?: number; //todo\r\n onPlatformData?: any;\r\n}\r\n\r\nexport class AccountLifetimeAllowanceStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AccountLifetimeAllowanceDispatcher, (actionData) => this.onAccountLifetimeAllowanceStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): AccountLifetimeAllowanceState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getLifetimeAllowanceOffPlatform() { //todo\r\n return this.getState().lifetimeAllowanceOffPlatform;\r\n }\r\n \r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): AccountLifetimeAllowanceState {\r\n return { actionType: ActionType.Loading, data: null, };\r\n }\r\n\r\n private onAccountLifetimeAllowanceStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update: //todo\r\n this.setState({ actionType: actionData.actionType, lifetimeAllowanceOffPlatform: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../../react-core/Flux/BaseStore\";\r\nimport { UpdateLifetimeAllowanceDispatcher } from \"./Variable\";\r\n\r\n\r\nexport interface UpdateLifetimeAllowanceState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any;\r\n lifetimeAllowanceOffPlatform?: number;\r\n offPlatformData?: any;\r\n}\r\n\r\nexport class UpdateLifetimeAllowanceStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(UpdateLifetimeAllowanceDispatcher, (actionData) => this.onUpdateLifetimeAllowanceStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): UpdateLifetimeAllowanceState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getLifetimeAllowanceOffPlatform() {\r\n return this.getState().lifetimeAllowanceOffPlatform;\r\n }\r\n \r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): UpdateLifetimeAllowanceState {\r\n return { actionType: ActionType.Loading, data: null, };\r\n }\r\n\r\n private onUpdateLifetimeAllowanceStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, lifetimeAllowanceOffPlatform: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../../../react-core/Flux/Dispatcher\";\r\nimport { UpdateLifetimeAllowanceStatic } from \"./UpdateLifetimeAllowanceStatic\";\r\nimport { AccountLifetimeAllowanceStatic } from \"./AccountLifetimeAllowanceStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n}\r\n\r\nexport const UpdateLifetimeAllowanceDispatcher: Dispatcher = new Dispatcher();\r\nexport const UpdateLifetimeAllowanceStore: UpdateLifetimeAllowanceStatic = new UpdateLifetimeAllowanceStatic();\r\n\r\n\r\nexport const AccountLifetimeAllowanceDispatcher: Dispatcher = new Dispatcher();\r\nexport const AccountLifetimeAllowanceStore: AccountLifetimeAllowanceStatic = new AccountLifetimeAllowanceStatic();\r\n","import * as React from \"react\";\r\nimport { WizardComponent } from \"../../../../Shared/Process/WizardComponent\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { Confirmation } from \"../../../../Shared/Process/Process/Confirmation\";\r\nimport { UpdateLifetimeAllowanceStore } from \"./Store/Variable\";\r\nimport { AccountLifetimeAllowanceStore } from \"./Store/Variable\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { updateLifetimeAllowanceSteppersMap, UpdateLifetimeAllowanceContent } from \"./Resource/Content\";\r\nimport { UpdateLifetimeAllowanceAction } from \"./Actions/UpdateLifetimeAllowanceAction\";\r\nimport { AccountLifetimeAllowanceAction } from \"./Actions/AccountLifetimeAllowanceAction\";\r\nimport { IStepConfig, StepType } from \"../../../../Shared/Process/Process/Process\";\r\nimport { UpdateLifetimeAllowanceDetail } from \"./Components/UpdateLifetimeAllowanceDetail\";\r\nimport { TaxYearHelper } from \"../Common/Helpers/TaxYearHelper\";\r\nimport { PrimaryPclsUsage } from \"../../../../../Wrap/Models/Domains/Drawdown/PrimaryPclsUsage\";\r\nimport { CurrencyCode } from \"../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Action } from \"../../../Actions/Action\";\r\n\r\nexport class UpdateLifetimeAllowanceWizard extends WizardComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(UpdateLifetimeAllowanceStore, () => this.onInstructionStoreChange());\r\n this.subscribeToStore(AccountLifetimeAllowanceStore, () => this.onAccountLifetimeAllowanceStoreChange());\r\n }\r\n\r\n private onInstructionStoreChange() {\r\n if (UpdateLifetimeAllowanceStore.getActionType() == ActionType.Success) {\r\n const data = UpdateLifetimeAllowanceStore.getData();\r\n this.setState((preState) => ({\r\n isLoading: false,\r\n data: data,\r\n extraInfo: { ...preState.extraInfo, offPlatformData: data },\r\n }));\r\n } else if (UpdateLifetimeAllowanceStore.getActionType() == ActionType.Update) {\r\n this.setState((preState) => ({\r\n extraInfo: {\r\n ...preState.extraInfo,\r\n lifetimeAllowanceOffPlatformPercentage: UpdateLifetimeAllowanceStore.getLifetimeAllowanceOffPlatform(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n private onAccountLifetimeAllowanceStoreChange() {\r\n if (AccountLifetimeAllowanceStore.getActionType() == ActionType.Success) {\r\n const data = AccountLifetimeAllowanceStore.getData();\r\n this.setState((preState) => ({\r\n isLoading: false,\r\n extraInfo: { ...preState.extraInfo, onPlatformData: data },\r\n }));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const params = getQueryParameters();\r\n const subAccountHierarchyId = params[\"hierarchyid\"];\r\n UpdateLifetimeAllowanceAction.getInstruction(subAccountHierarchyId);\r\n\r\n AccountLifetimeAllowanceAction.getInstruction(subAccountHierarchyId);\r\n }\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: params,\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const params = getQueryParameters();\r\n Navigator.navigateTo(Urls.get().main.Dashboard, {\r\n queryParamsObject: {\r\n hierarchyid: params[\"hierarchyid\"],\r\n },\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n\r\n onSubmit() {\r\n this.setState({ isSubmitting: true, active: false, isShowErrorMsg: false, errorMsg: [] });\r\n const instruction = this.state.data;\r\n const taxYear = TaxYearHelper.GetCurrentTaxYear();\r\n const index = instruction.PrimaryPclsUsages.findIndex((a) => a.Year == taxYear);\r\n if (index == -1) {\r\n instruction.PrimaryPclsUsages.push({\r\n Year: taxYear,\r\n Amount: {\r\n Currency: CurrencyCode.GBP,\r\n Amount:\r\n instruction.LifeTimeAllowanceValue *\r\n this.state.extraInfo.lifetimeAllowanceOffPlatformPercentage,\r\n },\r\n });\r\n } else {\r\n instruction.PrimaryPclsUsages[index].Amount.Amount =\r\n instruction.PrimaryPclsUsages[index].Amount.Amount +\r\n instruction.LifeTimeAllowanceValue * this.state.extraInfo.lifetimeAllowanceOffPlatformPercentage;\r\n }\r\n\r\n UpdateLifetimeAllowanceAction.submitInstruction(getQueryParameters()[\"hierarchyid\"], instruction, () =>\r\n this.setState({ isSubmitting: false })\r\n );\r\n }\r\n\r\n getStepProps(index) {\r\n const { active } = this.state;\r\n const stepProps = super.getStepProps(index);\r\n stepProps.isReview = !active;\r\n return stepProps;\r\n }\r\n\r\n private setReviewConfirmSteppers() {\r\n const type = Number(getQueryParameters()[\"type\"]);\r\n const { data } = this.state;\r\n const clAccountId = getQueryParameters()[\"claccountid\"];\r\n const len = this.stepperConfig.length;\r\n return [\r\n {\r\n title: updateLifetimeAllowanceSteppersMap.updateLifetimeAllowanceConfirmation,\r\n url: Urls.get().UpdateLifetimeAllowanceConfirmation,\r\n path: Contents.URLMap.confirmation,\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={`We have successfully received your instruction to update the Lifetime allowance for ${data?.ClientDetails?.FirstName} ${data?.ClientDetails?.LastName} (${clAccountId})`}\r\n isLoading={this.state.isSubmitting}\r\n />\r\n ),\r\n },\r\n ];\r\n }\r\n\r\n setStepperConfig() {\r\n const steppers: IStepConfig[] = [\r\n {\r\n title: updateLifetimeAllowanceSteppersMap.updateLifetimeAllowanceDetail,\r\n url: Urls.get().UpdateLifetimeAllowanceDetail,\r\n path: Contents.URLMap.updateLifetimeAllowanceDetail,\r\n onSubmit: () => this.onSubmit(),\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n },\r\n ];\r\n\r\n this.stepperConfig = steppers;\r\n this.stepperConfig = this.stepperConfig.concat(this.setReviewConfirmSteppers());\r\n }\r\n\r\n setProcessProps() {\r\n Action.getClientAccount(getQueryParameters()[\"hierarchyid\"], (ClientAccountDetails) =>\r\n this.setClientAccount(ClientAccountDetails)\r\n );\r\n const { clientInfo } = this.state;\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"Update lifetime allowance\";\r\n processProps.needSplitHeader = {\r\n fromStep: 0,\r\n splitHeaderMain: `${clientInfo?.clientName}`,\r\n splitHeaderSub: `${clientInfo?.headAccount}`,\r\n };\r\n return processProps;\r\n }\r\n\r\n setClientAccount(ClientAccountDetails) {\r\n const accountName = ClientAccountDetails.AccountName;\r\n const headAccount = ClientAccountDetails.HeadClAccountId;\r\n this.setState({\r\n clientInfo: {\r\n clientName: accountName,\r\n headAccount: headAccount,\r\n },\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { GiaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/GiaContributionInstruction\";\r\nimport { IsaContributionInstructionClient } from \"../../../../../../Wrap/Api/Apply/IsaContributionInstruction\";\r\nimport { SubAccountAmendmentInstructionClient } from \"../../../../../../Wrap/Api/Apply/SubAccountAmendmentInstruction\";\r\nimport { WhatIfToolCopyClient } from \"../../../../../../Wrap/Api/Apply/WhatIfToolCopy\";\r\nimport { WhatIfToolInstructionClient } from \"../../../../../../Wrap/Api/Apply/WhatIfToolInstruction\";\r\nimport { ProcessType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { WhatIfToolDisaptcher } from \"../Store/Variable\";\r\n\r\nexport class WhatIfAction {\r\n public static getInstruction(\r\n id: string,\r\n hierarchyId: string,\r\n subAccountHierarchyId: string,\r\n clientId: number,\r\n productType: SubAccountType,\r\n batchId: number\r\n ): void {\r\n if (SubAccountTypeHelper.isPP(productType)) {\r\n const giaContributionInstruction = new GiaContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n giaContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n batchId\r\n );\r\n } else if (SubAccountTypeHelper.isIsa(productType)) {\r\n const isaContributionInstruction = new IsaContributionInstructionClient();\r\n this.getOrCreateInstruction(\r\n isaContributionInstruction,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n batchId\r\n );\r\n }\r\n }\r\n\r\n public static saveInstruction(from, data: any, type, callback?: (data) => void): void {\r\n if (SubAccountTypeHelper.isPP(type)) {\r\n const giaContributionInstruction = new GiaContributionInstructionClient();\r\n const promise = giaContributionInstruction.put(data, \"\");\r\n this.updateWhatiIfInstructionStore(promise, callback);\r\n } else if (SubAccountTypeHelper.isIsa(type)) {\r\n const client = new IsaContributionInstructionClient();\r\n const promise = client.put(data);\r\n this.updateWhatiIfInstructionStore(promise, callback);\r\n } else {\r\n callback([]);\r\n }\r\n }\r\n\r\n public static deleteInstruction(id, callback?: VoidFunction): void {\r\n const client = new SubAccountAmendmentInstructionClient();\r\n const promise = client.delete(id);\r\n promise.onSuccess((result) => {\r\n if (callback) {callback();}\r\n });\r\n }\r\n\r\n private static getOrCreateInstruction(\r\n client: IsaContributionInstructionClient | GiaContributionInstructionClient,\r\n id,\r\n hierarchyId,\r\n subAccountHierarchyId,\r\n clientId,\r\n batchId\r\n ) {\r\n if (!CommonHelper.isNullOrEmpty(id)) {\r\n // Have instructionId\r\n const promise = client.get(id, clientId, \"\", batchId);\r\n this.updateWhatiIfInstructionStore(promise);\r\n } else {\r\n // Create new instruction\r\n const promise = client.post(subAccountHierarchyId, hierarchyId, ProcessType.WhatIfTool);\r\n promise.onSuccess((result) => {\r\n const instructionId = result.Result;\r\n const model = client.get(instructionId, clientId, \"\", batchId);\r\n this.updateWhatiIfInstructionStore(model);\r\n });\r\n\r\n promise.onError((err) => {\r\n WhatIfToolDisaptcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n }\r\n\r\n private static updateWhatiIfInstructionStore(promise: any, callback?: (data) => void) {\r\n promise.onSuccess((result) => {\r\n WhatIfToolDisaptcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n if (result.Errors != null && result.Errors.length > 0) {\r\n callback(result.Errors.map((ele) => ele.UserMessage));\r\n } else {\r\n callback(result);\r\n }\r\n });\r\n\r\n promise.onError((err) => {\r\n WhatIfToolDisaptcher.dispatch({\r\n actionType: ActionType.Error,\r\n payload: err,\r\n });\r\n });\r\n }\r\n\r\n public static getPrepopulateData(\r\n subAccountHierarchyId: string,\r\n headHierarchyId: string,\r\n batchId: number,\r\n callback\r\n ) {\r\n const client = new WhatIfToolInstructionClient();\r\n const promise = client.get(subAccountHierarchyId, headHierarchyId, batchId);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n\r\n public static submitInstruction(instructionId: string, callback) {\r\n const client = new WhatIfToolInstructionClient();\r\n const promise = client.put(instructionId);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n\r\n public static copyInstruction(instructionId: string, subHierarchyId: string, type: SubAccountType, callback) {\r\n const client = new WhatIfToolCopyClient();\r\n const promise = client.put(instructionId, subHierarchyId, type);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { RadiosEditor } from \"../../../../../../react-core/Html/RadiosEditor\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Frequency } from \"../../../../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { SubAccount } from \"../../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { WhatIfToolDetailModel } from \"../../../../../../Wrap/Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel\";\r\nimport { MoneyOrPercentage } from \"../../../../../../Wrap/Models/Models/Shared/MoneyOrPercentage\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { PercentageOrMoney } from \"../../../../../Shared/PercentageOrMoney/PercentageOrMoney\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\nimport { FrequencyArraysMap, FrequencyTypeArrays } from \"../../Common/Resource/Contents\";\r\n\r\ninterface IAdHocAdviserChargesProps extends IProcessComponentProps {\r\n data: GiaContributionModel | IsaContributionModel;\r\n type: SubAccountType;\r\n extraInfo: WhatIfToolDetailModel;\r\n}\r\n\r\ninterface IAdHocAdviserChargesState {\r\n includeOAC: boolean;\r\n}\r\n\r\ninterface IdisplayOac {\r\n subAccount: SubAccount;\r\n oac: MoneyOrPercentage;\r\n}\r\n\r\nexport class AdHocAdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n includeOAC: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if (this.props.data?.Contribution?.OngoingAdviserChargeInstructions.length > 0) {\r\n this.setState({ includeOAC: true });\r\n }\r\n }\r\n\r\n private generateSubaccountOAC(): IdisplayOac[] {\r\n const instructions = this.props.data?.Contribution?.OngoingAdviserChargeInstructions || [];\r\n const detail = this.props.extraInfo?.OngoingAdviceCharge || [];\r\n const subAccount = (ClientAccountStore.getClientAccountInfo()?.SubAccounts || []).filter(\r\n (ele) =>\r\n ele.HierarchyId !== getQueryParameters()[\"subaccounthierarchyid\"] &&\r\n ele.SubAccountType !== SubAccountType.WrapCash\r\n );\r\n const OACs: IdisplayOac[] = subAccount.map((ele) => {\r\n const instructionIndex = instructions.findIndex((item) => item.HierarchyId == ele.HierarchyId);\r\n const detailIndex = detail.findIndex((item) => item.SubAccountHierarchyId == ele.HierarchyId);\r\n if (instructionIndex > -1) {\r\n return { subAccount: ele, oac: instructions[instructionIndex]?.MoneyOrPercentage };\r\n } else if (detailIndex > -1) {\r\n return { subAccount: ele, oac: detail[detailIndex].AdviserCharge };\r\n } else {\r\n return {\r\n subAccount: ele,\r\n oac: {\r\n Money: { Amount: 0, Currency: CurrencyCode.GBP },\r\n Frequency: Frequency.Monthly,\r\n Type: MoneyOrPercentageType.Money,\r\n Percentage: 0,\r\n },\r\n };\r\n }\r\n });\r\n return OACs;\r\n }\r\n\r\n private renderOACCheckbox(displayOac: IdisplayOac): JSX.Element {\r\n const { data, onChange } = this.props;\r\n const isSetDefaultValue = displayOac.oac ? false : true\r\n return (\r\n <>\r\n {\r\n let instructions = [];\r\n if (v) {\r\n instructions = (\r\n this.props.data?.Contribution?.OngoingAdviserChargeInstructions || []\r\n ).concat({\r\n HierarchyId: displayOac.subAccount.HierarchyId,\r\n MoneyOrPercentage: displayOac.oac,\r\n });\r\n } else {\r\n instructions = (\r\n this.props.data?.Contribution?.OngoingAdviserChargeInstructions || []\r\n ).filter((ele) => ele.HierarchyId == displayOac.subAccount.HierarchyId);\r\n }\r\n this.onDataChange(\r\n onChange,\r\n {\r\n ...data?.Contribution,\r\n OngoingAdviserChargeInstructions: instructions,\r\n },\r\n data?.Contribution,\r\n \"Contribution\"\r\n );\r\n }}\r\n value={data?.Contribution?.OngoingAdviserChargeInstructions.some(\r\n (ele) => ele.HierarchyId == displayOac.subAccount.HierarchyId\r\n )}\r\n />\r\n
    \r\n
    \r\n {\r\n const instructions = (\r\n this.props.data?.Contribution?.OngoingAdviserChargeInstructions || []\r\n ).concat();\r\n const index = instructions.findIndex(\r\n (ele) => ele.HierarchyId == displayOac.subAccount.HierarchyId\r\n );\r\n const newInstruction = {\r\n ...instructions[index],\r\n MoneyOrPercentage: { ...instructions[index]?.MoneyOrPercentage, ...changes },\r\n };\r\n instructions[index] = newInstruction;\r\n this.onDataChange(\r\n onChange,\r\n {\r\n ...data?.Contribution,\r\n OngoingAdviserChargeInstructions: instructions,\r\n },\r\n data?.Contribution,\r\n \"Contribution\"\r\n );\r\n }}\r\n disabled={\r\n !data?.Contribution?.OngoingAdviserChargeInstructions.some(\r\n (ele) => ele.HierarchyId == displayOac.subAccount.HierarchyId\r\n )\r\n }\r\n onRef={(ref) => this.appendChild(ref)}\r\n cssPercentageOrMoneyClasses=\"control-size-115\"\r\n setDefaultValue={isSetDefaultValue}\r\n />\r\n
    \r\n
    \r\n {\r\n if (v == Frequency.Yearly) {return \"Annually\";}\r\n return FrequencyArraysMap[v];\r\n }}\r\n selected={displayOac?.oac?.Frequency}\r\n label=\"Deduction frequency\"\r\n onChange={(v) => {}}\r\n disabled\r\n />\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, extraInfo } = this.props;\r\n const oacs = this.generateSubaccountOAC();\r\n const adHocAdviserChargeAmount = (data?.Contribution?.AdHocAdviserCharge?.Amount) ? (data?.Contribution?.AdHocAdviserCharge?.Amount) : 0\r\n return (\r\n <>\r\n

    Add Ad-hoc adviser charge

    \r\n {\r\n this.onDataChange(\r\n onChange,\r\n {\r\n ...data?.Contribution,\r\n AdHocAdviserCharge: { Amount: v, Currency: CurrencyCode.GBP },\r\n },\r\n data?.Contribution,\r\n \"Contribution\"\r\n );\r\n }}\r\n cssWrapper={\"control-size-430\"}\r\n />\r\n
    \r\n (o ? \"Yes\" : \"No\")}\r\n onChange={(v) => {\r\n if (!v) {\r\n this.onDataChange(\r\n onChange,\r\n {\r\n ...data?.Contribution,\r\n OngoingAdviserChargeInstructions: [],\r\n },\r\n data?.Contribution,\r\n \"Contribution\"\r\n );\r\n }\r\n this.setState({ includeOAC: v });\r\n }}\r\n selected={this.state.includeOAC}\r\n cssWrapper=\"radio-group rg-inline\"\r\n />\r\n {this.state.includeOAC && (\r\n <>\r\n {oacs.length == 0 ? (\r\n \r\n ) : (\r\n <>\r\n {oacs.map((oac) => {\r\n return this.renderOACCheckbox(oac);\r\n })}\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { WhatIfToolDetailModel } from \"../../../../../../Wrap/Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Withdrawals } from \"../../Common/Withdrawals/Withdrawals\";\r\n\r\ninterface IAddEditRegularWithdrawalsProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n extraInfo: WhatIfToolDetailModel;\r\n}\r\n\r\ninterface IAddEditRegularWithdrawalsState {}\r\n\r\nexport class AddEditRegularWithdrawals extends ProcessComponent<\r\n IAddEditRegularWithdrawalsProps,\r\n IAddEditRegularWithdrawalsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { type, data } = this.props;\r\n return (\r\n <>\r\n \r\n this.appendChild(ref)}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { MoneyDisplayHelper } from \"../../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { MoneyTextBoxEditor } from \"../../../../../../react-core/Html/Money/MoneyTextBoxEditor\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { WhatIfToolDetailModel } from \"../../../../../../Wrap/Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { InvestmentsAction } from \"../../PortfolioDashboard/Components/Investment/Action/InvestmentAction\";\r\nimport { ChargesHelper } from \"../../Common/Helpers/ChargesHelper\";\r\n\r\ninterface IAddOneOffWithdrawalProps extends IProcessComponentProps {\r\n data: IsaContributionModel | GiaContributionModel;\r\n type: SubAccountType;\r\n extraInfo: WhatIfToolDetailModel;\r\n}\r\n\r\ninterface IAddOneOffWithdrawalState {}\r\n\r\nexport class AddOneOffWithdrawal extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private calculateMaxSingleWithdrawal(): number {\r\n const currentTotal = InvestmentsAction.getInvestmentData(this.props.extraInfo?.CurrentHoldings)?.total\r\n ?.MarketValue?.Amount;\r\n const previousAmount = ChargesHelper.getTotalForIACEstimation(this.props.data?.Contribution, this.props.type);\r\n return (currentTotal || 0) + (previousAmount || 0);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { type, data, onChange } = this.props;\r\n return (\r\n <>\r\n \r\n \r\n \r\n this.onDataChange(\r\n onChange,\r\n {\r\n OneOffWithdrawal: {\r\n ...data?.Contribution?.OneOffWithdrawal,\r\n Amount: { Amount: v, CurrencyCode: CurrencyCode.GBP },\r\n },\r\n },\r\n data,\r\n \"Contribution\"\r\n )\r\n }\r\n cssWrapper={\"control-size-430\"}\r\n atMost={{\r\n value: this.calculateMaxSingleWithdrawal(),\r\n errorMessage: \"Cannot be larger than maximum single withdrawal value\",\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DistributionDividendPreference } from \"../../../../../../Wrap/Constants/Enums/Domain/DistributionDividendPreference\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MoneyOrPercentageType } from \"../../../../../../Wrap/Constants/Enums/MoneyOrPercentageType\";\r\nimport { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { WhatIfToolDetailModel } from \"../../../../../../Wrap/Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel\";\r\nimport { CheckboxGroup } from \"../../../../../Shared/CheckboxGroup/CheckboxGroup\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { SectionHeader } from \"../../Common/SharedComponents\";\r\nimport { whatIfModelArray, whatifProcess } from \"../Resource/Contents\";\r\n\r\ninterface IChangesToTheModelProps extends IProcessComponentProps {\r\n data: GiaContributionModel | IsaContributionModel;\r\n type: SubAccountType;\r\n extraInfo: WhatIfToolDetailModel;\r\n}\r\n\r\ninterface IChangesToTheModelState {}\r\n\r\nexport class ChangesToTheModel extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n isValid() {\r\n if (this.props.data?.Contribution?.ChangesToBeModeled.split(\",\").filter((ele) => ele != \"\").length == 0) {\r\n this.props.showErrorMsgPopUp([\"Please at least select one model\"]);\r\n return false;\r\n }\r\n return super.isValid();\r\n }\r\n\r\n private clearData = (model: whatifProcess) => {\r\n const { data, onChange, type } = this.props;\r\n const transferName = SubAccountTypeHelper.isPP(type) ? \"GiaTransfers\" : \"IsaTransfers\";\r\n const originSelected = (data?.Contribution?.ChangesToBeModeled || \"\").split(\",\");\r\n switch (model) {\r\n case whatifProcess.editPaymentIn:\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n ClientSinglePayment: null,\r\n ThirdPartySinglePayment: null,\r\n ClientRegularPyament: null,\r\n ThirdPartyRegularPayment: null,\r\n InstrumentSelections: {\r\n Type: MoneyOrPercentageType.Percentage,\r\n Instruments: [],\r\n DistributionDividendPreference: DistributionDividendPreference.NotSpecified,\r\n },\r\n [transferName]: [],\r\n ChangesToBeModeled: originSelected\r\n .filter((ele) => {\r\n ![\r\n whatifProcess.editInvestmentSeletion,\r\n whatifProcess.editAdviserCharges,\r\n whatifProcess.editPaymentIn,\r\n ].includes(ele as whatifProcess);\r\n })\r\n .toString(),\r\n },\r\n });\r\n break;\r\n case whatifProcess.editAdviserCharges:\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n InitialAdviserCharge: null,\r\n OngoingAdviceCharge: null,\r\n ChangesToBeModeled: originSelected.filter((ele) => ele != model).toString(),\r\n },\r\n });\r\n break;\r\n case whatifProcess.AddAdditionalAdviserCharge:\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n AdHocAdviserCharge: { Amount: null, Currency: CurrencyCode.GBP },\r\n ChangesToBeModeled: originSelected.filter((ele) => ele != model).toString(),\r\n },\r\n });\r\n break;\r\n case whatifProcess.AddEditRegularWithdrawals:\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n RegularWithdrawalModel: [],\r\n ChangesToBeModeled: originSelected.filter((ele) => ele != model).toString(),\r\n },\r\n });\r\n break;\r\n case whatifProcess.AddOneOffWithdrawal:\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n OneOffWithdrawal: {\r\n ...data?.Contribution?.OneOffWithdrawal,\r\n Amount: { Amount: null, Currency: CurrencyCode.GBP },\r\n },\r\n ChangesToBeModeled: originSelected.filter((ele) => ele != model).toString(),\r\n },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n private formatChangesToBeModeled(orgin = \"\", add: string[]) {\r\n const orginArray = (orgin || \"\").split(\",\");\r\n const newArray = orginArray.concat(add).filter((ele) => ele !== \"\");\r\n return newArray.toString();\r\n }\r\n\r\n private prepopulateData = (model: whatifProcess) => {\r\n const { data, onChange, extraInfo } = this.props;\r\n const origin = data?.Contribution?.ChangesToBeModeled || \"\";\r\n const add = [model];\r\n switch (model) {\r\n case whatifProcess.editPaymentIn:\r\n add.push(whatifProcess.editInvestmentSeletion);\r\n if (!origin.split(\",\").includes(whatifProcess.editAdviserCharges)) {\r\n add.push(whatifProcess.editAdviserCharges);\r\n }\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n ClientRegularPayment: extraInfo?.ClientRegularPayment\r\n ? {\r\n ...extraInfo?.ClientRegularPayment,\r\n WasPaymentChanged: true,\r\n FirstCollectionDate: extraInfo?.ClientRegularPayment?.NextPaymentDate,\r\n }\r\n : null,\r\n ThirdPartyRegularPayment: extraInfo?.ThirdPartyRegularPayment\r\n ? {\r\n ...extraInfo?.ThirdPartyRegularPayment,\r\n WasPaymentChanged: true,\r\n FirstCollectionDate: extraInfo?.ThirdPartyRegularPayment?.NextPaymentDate,\r\n }\r\n : null,\r\n InstrumentSelections: extraInfo?.InstrumentSelections,\r\n OngoingAdviceCharge: extraInfo?.OngoingAdviceCharge,\r\n ChangesToBeModeled: this.formatChangesToBeModeled(origin, add),\r\n },\r\n });\r\n break;\r\n case whatifProcess.editAdviserCharges:\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n OngoingAdviceCharge: extraInfo?.OngoingAdviceCharge,\r\n ChangesToBeModeled: this.formatChangesToBeModeled(origin, add),\r\n },\r\n });\r\n break;\r\n case whatifProcess.AddAdditionalAdviserCharge:\r\n this.onDataChange(\r\n onChange,\r\n {\r\n ChangesToBeModeled: this.formatChangesToBeModeled(origin, add),\r\n },\r\n data,\r\n \"Contribution\"\r\n );\r\n break;\r\n case whatifProcess.AddEditRegularWithdrawals:\r\n onChange({\r\n Contribution: {\r\n ...data?.Contribution,\r\n RegularWithdrawalModel: extraInfo?.RegularWithdraws,\r\n ChangesToBeModeled: this.formatChangesToBeModeled(origin, add),\r\n },\r\n });\r\n break;\r\n case whatifProcess.AddOneOffWithdrawal:\r\n this.onDataChange(\r\n onChange,\r\n {\r\n ChangesToBeModeled: this.formatChangesToBeModeled(origin, add),\r\n },\r\n data,\r\n \"Contribution\"\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n private getOptions = () => {\r\n const { data } = this.props;\r\n const selectedModel = (data?.Contribution?.ChangesToBeModeled || \"\").split(\",\");\r\n\r\n const options = [];\r\n\r\n whatIfModelArray.forEach((type) => {\r\n options.push({\r\n label: type,\r\n value: selectedModel.includes(type),\r\n disabled:\r\n type == whatifProcess.editInvestmentSeletion ||\r\n (type == whatifProcess.editAdviserCharges && selectedModel.includes(whatifProcess.editPaymentIn)),\r\n onChange: (v) => {\r\n if (v) {\r\n this.prepopulateData(type);\r\n } else {\r\n this.clearData(type);\r\n }\r\n },\r\n });\r\n });\r\n\r\n return options;\r\n };\r\n\r\n public render(): JSX.Element {\r\n const options = this.getOptions();\r\n const account = ClientAccountStore.getClientAccountInfo()?.SubAccounts.find(\r\n (ele) => ele.HierarchyId == getQueryParameters()[\"subaccounthierarchyid\"]\r\n );\r\n return (\r\n <>\r\n

    {`${account?.ProductDisplayName} ${account?.ClAccountId}`}

    \r\n {SectionHeader(\"Changes to be modelled\")}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ClientDetails } from \"../../../../../../Wrap/Models/Models/Processes/Quote/ClientDetails\";\r\nimport { WhatIfToolDetailModel } from \"../../../../../../Wrap/Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel\";\r\nimport { GenderMap } from \"../../../../../Shared/Entities/Maps/GenderMap\";\r\nimport { TitleMap } from \"../../../../../Shared/Entities/Maps/TitleMap\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { dateParser } from \"../../Common/Review/ReviewParser\";\r\n\r\ninterface IClientDetailsForWhatIfProps extends IProcessComponentProps {\r\n extraInfo: WhatIfToolDetailModel;\r\n}\r\n\r\ninterface IClientDetailsForWhatIfState {}\r\n\r\nexport class ClientDetailsForWhatIf extends ProcessComponent<\r\n IClientDetailsForWhatIfProps,\r\n IClientDetailsForWhatIfState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private config = (data: ClientDetails) => [\r\n {\r\n title: \"Title\",\r\n data: TitleMap.getString(data?.Title),\r\n },\r\n {\r\n title: \"First name(s)\",\r\n data: data?.FirstName,\r\n },\r\n {\r\n title: \"Surname\",\r\n data: data?.LastName,\r\n },\r\n {\r\n title: \"Gender\",\r\n data: GenderMap.getString(data?.Gender),\r\n },\r\n {\r\n title: \"Date of birth\",\r\n data: dateParser(data?.DateOfBirth),\r\n },\r\n ];\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {this.props.extraInfo?.PrimaryClientDetails && (\r\n <>\r\n

    Client details

    \r\n \r\n \r\n )}\r\n {this.props.extraInfo?.SecondaryClientDetails && (\r\n <>\r\n

    Client details

    \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ChargesOnIllustration } from \"../../Common/AdviserCharges/Components/ChargesOnIlustration\";\r\nimport { IAC } from \"../../Common/AdviserCharges/Components/IAC\";\r\nimport { OAC } from \"../../Common/AdviserCharges/Components/OAC\";\r\n\r\ninterface IEditAdviserChargesProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IEditAdviserChargesState {}\r\n\r\nexport class EditAdviserCharges extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { type } = this.props;\r\n return (\r\n <>\r\n

    Edit Adviser charges

    \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { AccountAdviceType } from \"../../../../../../Wrap/Constants/Enums/Apply/AccountAdviceType\";\r\nimport { CurrencyCode } from \"../../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { InstrumentSelections } from \"../../../../../../Wrap/Models/Models/InstrumentSelection/InstrumentSelections\";\r\nimport { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { WhatIfToolDetailModel } from \"../../../../../../Wrap/Models/Models/Processes/WhatIfTool/WhatIfToolDetailModel\";\r\nimport { getISTPaymentAmount, initWeighting } from \"../../../../../Shared/IST/Components/Shared/Utils\";\r\nimport { InvestmentSelectionTool } from \"../../../../../Shared/IST/InvestmentSelectionTool\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { getQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\n\r\ninterface IEditInvestmentSelectionProps extends IProcessComponentProps {\r\n data: GiaContributionModel | IsaContributionModel;\r\n type: SubAccountType;\r\n extraInfo: WhatIfToolDetailModel;\r\n}\r\n\r\ninterface IEditInvestmentSelectionState {}\r\n\r\nexport class EditInvestmentSelection extends ProcessComponent<\r\n IEditInvestmentSelectionProps,\r\n IEditInvestmentSelectionState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private setPrepopulateToReadOnly(investments: InstrumentSelections) {\r\n const { extraInfo } = this.props;\r\n if (!extraInfo.CurrentHoldings || extraInfo.CurrentHoldings.length == 0) {\r\n return investments;\r\n }\r\n const instructionData: any[] = (investments?.Instruments || []).concat();\r\n extraInfo?.CurrentHoldings[0].IndividualInvestments.forEach((ele) => {\r\n ele.Investments.forEach((fund) => {\r\n const index = instructionData.findIndex((item) => item.Instrument?.ProductId == fund.ProductId);\r\n if (index > -1) {\r\n instructionData[index].ExistingFund = Number((fund.Allocation * 100).toFixed(2));\r\n } else {\r\n instructionData.push({\r\n Instrument: { ...fund, ProductCode: fund.InstrumentCode, Name: fund.DisplayName },\r\n Single: initWeighting(),\r\n Transfer: initWeighting(),\r\n Regular: initWeighting(),\r\n ExistingFund: Number((fund.Allocation * 100).toFixed(2)),\r\n });\r\n }\r\n });\r\n });\r\n\r\n extraInfo?.CurrentHoldings[0].ModelPortfolioInvestments.forEach((ele) => {\r\n ele.Investments.forEach((fund) => {\r\n const index = instructionData.findIndex((item) => item.Instrument?.ProductId == fund.ProductId);\r\n if (index > -1) {\r\n instructionData[index].ExistingFund = Number((fund.Allocation * 100).toFixed(2));\r\n } else {\r\n instructionData.push({\r\n Instrument: { ...fund, ProductCode: fund.InstrumentCode, Name: fund.DisplayName },\r\n Single: initWeighting(),\r\n Transfer: initWeighting(),\r\n Regular: initWeighting(),\r\n ExistingFund: Number((fund.Allocation * 100).toFixed(2)),\r\n });\r\n }\r\n });\r\n });\r\n return { ...this.props.data?.Contribution?.InstrumentSelections, Instruments: instructionData };\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { onChange, data, type } = this.props;\r\n const paymentAmount = getISTPaymentAmount(\r\n data?.Contribution,\r\n SubAccountTypeHelper.isPP(type) ? \"GiaTransfers\" : \"IsaTransfers\"\r\n );\r\n const modelData = JSON.parse(JSON.stringify(data?.Contribution));\r\n modelData.CashInstrument = data.CashInstrument;\r\n modelData.OwnerHierarchyId = data.OwnerHierarchyId;\r\n const params = getQueryParameters();\r\n const clAccountId = params[\"clAccountId\"];\r\n\r\n return (\r\n
    \r\n

    Investment selection

    \r\n this.appendChild(ref)}\r\n onChange={(changes) =>\r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution,\r\n \"InstrumentSelections\"\r\n )\r\n }\r\n showErrorMsgPopUp={(msg) => this.props.showErrorMsgPopUp(msg)}\r\n type={ProcessType.WhatIf}\r\n hiercharyId={params[\"subaccounthierarchyid\"]}\r\n headAccountHierarchyId={params[\"hierarchyid\"]}\r\n companyCode={ClientAccountStore.getClientAccountInfo()?.Company}\r\n claccountId={clAccountId}\r\n product={this.props.type}\r\n paymentAmount={{ Amount: paymentAmount, Currency: CurrencyCode.GBP }}\r\n bankAccounts={[]}\r\n onBankChange={(bankInfo) => {}}\r\n onDistributionDividendOptions={(changes) => {}}\r\n decisionMakerHierarchyId={data?.Contribution?.HierarchyId}\r\n accountAdviceType={\r\n ClientAccountStore.getClientAccountInfo()?.Discretionary\r\n ? AccountAdviceType.Discretionary\r\n : AccountAdviceType.NonDiscretionary\r\n }\r\n accountServiceProposition={data?.AccountServiceProposition}\r\n onDecisionMakerChange={(v) => this.onDataChange(onChange, v, data, \"Contribution\")}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { ClientAccountStore } from \"../../../../Stroes/Variable\";\r\nimport { SubAccountTypeHelper } from \"../../Common/Helpers/SubAccountTypeHelper\";\r\nimport { RegularPayment } from \"../../Common/PaymentsIn/RegularPayment/RegularPayment\";\r\nimport { SinglePayment } from \"../../Common/PaymentsIn/SinglePayment/SinglePayment\";\r\nimport { TransferIn } from \"../../Common/PaymentsIn/TransferIn/TransferIn\";\r\nimport { PaymentType, processTypeEnum } from \"../../Common/Resource/Contents\";\r\n\r\ninterface IEditPaymentsInProps extends IProcessComponentProps {\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IEditPaymentsInState {}\r\n\r\nexport class EditPaymentsIn extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getProps = (key) => {\r\n const { onChange, data, showErrorMsgPopUp, isReview } = this.props;\r\n return {\r\n data: data[key],\r\n onRef: (ref) => this.appendChild(ref),\r\n showErrorMsgPopUp: (msg, isShow) => showErrorMsgPopUp(msg, isShow),\r\n onChange: (changes) => this.onDataChange(onChange, changes, data, key),\r\n isReview: isReview,\r\n };\r\n };\r\n\r\n public render(): JSX.Element {\r\n const { data, onChange, type } = this.props;\r\n return (\r\n
    \r\n

    Payments in

    \r\n \r\n
    \r\n \r\n
    \r\n \r\n this.onDataChange(\r\n (changes) => this.onDataChange(onChange, changes, data, \"Contribution\"),\r\n changes,\r\n data.Contribution\r\n )\r\n }\r\n isReview={this.props.isReview}\r\n showErrorMsgPopUp={this.props.showErrorMsgPopUp}\r\n onRef={(ref) => this.appendChild(ref)}\r\n hasCashIsa={ClientAccountStore.getClientAccountInfo().SubAccounts.some(\r\n (ele) => ele.SubAccountType == SubAccountType.CashIsa\r\n )}\r\n accountServiceProposition={this.props.data.AccountServiceProposition}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { ProcessType } from \"../../../../../Shared/IST/Resource/Content\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { Typography } from \"../../../../../Shared/Typography/Typography\";\r\nimport { getQueryParameters, setQueryParameters } from \"../../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { subAccountTypeMap } from \"../../PortfolioDashboard/Components/Performance/Resource/Contents\";\r\nimport { AdHocAdviserChargeReview } from \"../../Common/Review/Component/AdHocAdviserChargeReview\";\r\nimport { AdviceChargeReview } from \"../../Common/Review/Component/AdviceChargeReview\";\r\nimport { InvestmentReview } from \"../../Common/Review/Component/InvestmentReview\";\r\nimport { OneOffWithdrawalReview } from \"../../Common/Review/Component/OneOffWithdrawalReview\";\r\nimport { PaymentsInReview } from \"../../Common/Review/Component/PaymentsInReview\";\r\nimport { WithDrawalReview } from \"../../Common/Review/Component/WithDrawalReview\";\r\nimport { WhatIfAction } from \"../Action/WhatIfAction\";\r\nimport { whatifProcess } from \"../Resource/Contents\";\r\nimport { IllustrationsAvailable } from \"../../Common/Documents/Components/IllustrationsAvailable\";\r\nimport { InstructionDocumentTypeRequestTriggerActionsCreator } from \"../../Common/Documents/Actions/InstructionDocumentTypeRequestTriggerActionsCreator\";\r\nimport { DocumentCategory } from \"../../../../../../Wrap/Constants/Enums/Domain/DocumentCategory\";\r\n\r\ninterface IReviewProps extends IProcessComponentProps {\r\n data: GiaContributionModel | IsaContributionModel;\r\n type: SubAccountType;\r\n}\r\n\r\ninterface IReviewState {}\r\n\r\nexport class Review extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private getStepReviewProps = () => {\r\n return {\r\n data: this.props.data?.Contribution,\r\n subAccountType: this.props.type,\r\n process: ProcessType.Quote,\r\n colNum: 2,\r\n };\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n InstructionDocumentTypeRequestTriggerActionsCreator.triggerByInstructionId(\r\n getQueryParameters()[\"id\"] as string,\r\n [DocumentCategory.Illustration]\r\n );\r\n }\r\n\r\n private copyInstruction(path: string) {\r\n const { data, type } = this.props;\r\n const params = getQueryParameters();\r\n WhatIfAction.copyInstruction(data?.HierarchyId, params[\"subaccounthierarchyid\"], type, (id) => {\r\n params[\"id\"] = id;\r\n window.location.assign(path + setQueryParameters(params));\r\n });\r\n }\r\n\r\n private successLabelRender() {\r\n const { data, type } = this.props;\r\n const createdDate = JsonDateParser.getFormatDateString(new Date(), \"dd MM yyyy\", true);\r\n const reference = data?.HierarchyId;\r\n const config = [\r\n {\r\n title: \"Created:\",\r\n data: createdDate,\r\n },\r\n {\r\n title: \"Wrapper:\",\r\n data: subAccountTypeMap[type],\r\n },\r\n ];\r\n return (\r\n
    \r\n

    \r\n Illustration {reference} successfully created\r\n

    \r\n
    \r\n

    Illustration No. {reference}

    \r\n \r\n this.appendChild(ref)} onChange={() => {}} data={data} />\r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const { data, type } = this.props;\r\n return (\r\n <>\r\n {this.successLabelRender()}\r\n {data?.Contribution?.ChangesToBeModeled.includes(whatifProcess.editPaymentIn) && (\r\n this.copyInstruction(Urls.get().WhatIfToolPaymentsIn.getFullRoutePath())}\r\n />\r\n )}\r\n {data?.Contribution?.ChangesToBeModeled.includes(whatifProcess.editAdviserCharges) && (\r\n this.copyInstruction(Urls.get().WhatIfToolAdviserCharge.getFullRoutePath())}\r\n />\r\n )}\r\n {data?.Contribution?.ChangesToBeModeled.includes(whatifProcess.AddAdditionalAdviserCharge) && (\r\n this.copyInstruction(Urls.get().WhatIfToolAdHocCharge.getFullRoutePath())}\r\n />\r\n )}\r\n {data?.Contribution?.ChangesToBeModeled.includes(whatifProcess.editInvestmentSeletion) && (\r\n \r\n this.copyInstruction(Urls.get().WhatIfToolInvestmentSelection.getFullRoutePath())\r\n }\r\n />\r\n )}\r\n {data?.Contribution?.ChangesToBeModeled.includes(whatifProcess.AddOneOffWithdrawal) && (\r\n \r\n this.copyInstruction(Urls.get().WhatIfToolOneOffWithdrawal.getFullRoutePath())\r\n }\r\n />\r\n )}\r\n {data?.Contribution?.ChangesToBeModeled.includes(whatifProcess.AddEditRegularWithdrawals) && (\r\n \r\n this.copyInstruction(Urls.get().WhatIfToolRegularWithdrawal.getFullRoutePath())\r\n }\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","export const enum whatifProcess {\r\n editPaymentIn = \"Edit payments in\",\r\n editAdviserCharges = \"Edit adviser charges\",\r\n AddAdditionalAdviserCharge = \"Add additional adviser charge\",\r\n editInvestmentSeletion = \"Edit investment selection\",\r\n AddEditRegularWithdrawals = \"Add/edit regular withdrawals\",\r\n AddOneOffWithdrawal = \"Add one-off withdrawal\",\r\n}\r\n\r\nexport const whatIfModelArray = [\r\n whatifProcess.editPaymentIn,\r\n whatifProcess.editAdviserCharges,\r\n whatifProcess.AddAdditionalAdviserCharge,\r\n whatifProcess.editInvestmentSeletion,\r\n whatifProcess.AddEditRegularWithdrawals,\r\n whatifProcess.AddOneOffWithdrawal,\r\n];\r\n\r\nexport const stepTitle = {\r\n ClientDetails: \"Client details\",\r\n ChangesToBeModelled: \"Changes to be modelled\",\r\n EditPaymentIn: \"Edit payments in\",\r\n EditAdviserCharges: \"Edit adviser charges\",\r\n editInvestmentSeletion: \"Edit investment selection\",\r\n AddAdditionAdviserCharges: \"Add additional adviser charge\",\r\n addEditRegularWithdrawals: \"Add/edit regular withdrawals\",\r\n addOneOffWithdrawal: \"Add one-off withdrawal\",\r\n review: \"Illustration ready\",\r\n confirm: \"Confirmation\",\r\n};\r\n","import { GiaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/Apply/PersonalPortfolio/GiaContributionModel\";\r\nimport { IsaContributionModel } from \"../../../../../../Wrap/Models/Models/Processes/OneOffPayment/Isa/IsaContributionModel\";\r\nimport { SingleDataStore } from \"../../../../../Shared/Stores/SingleDataStore\";\r\nimport { SingleDataStoreDispacher } from \"../../../../../Shared/Stores/SingleDataStoreDispacher\";\r\n\r\nexport const WhatIfToolDisaptcher: SingleDataStoreDispacher<\r\n GiaContributionModel | IsaContributionModel\r\n> = new SingleDataStoreDispacher();\r\n\r\nexport const WhatIfToolStore: SingleDataStore = new SingleDataStore<\r\n GiaContributionModel | IsaContributionModel\r\n>(WhatIfToolDisaptcher);\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { InstructionStatus } from \"../../../../../Wrap/Constants/Enums/Domain/InstructionStatus\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { getQueryParameters } from \"../../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { AccountRoleStore, ClientAccountStore } from \"../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { WhatIfAction } from \"./Action/WhatIfAction\";\r\nimport { AddEditRegularWithdrawals } from \"./Components/AddEditRegularWithdrawals\";\r\nimport { AddOneOffWithdrawal } from \"./Components/AddOneOffWithdrawal\";\r\nimport { AdHocAdviserCharges } from \"./Components/AdHocAdviserCharges\";\r\nimport { ChangesToTheModel } from \"./Components/ChangesToTheModel\";\r\nimport { ClientDetailsForWhatIf } from \"./Components/ClientDetails\";\r\nimport { EditAdviserCharges } from \"./Components/EditAdviserCharges\";\r\nimport { EditInvestmentSelection } from \"./Components/EditInvestmentSelection\";\r\nimport { EditPaymentsIn } from \"./Components/EditPaymentsIn\";\r\nimport { Review } from \"./Components/Review\";\r\nimport { stepTitle, whatifProcess } from \"./Resource/Contents\";\r\nimport { WhatIfToolStore } from \"./Store/Variable\";\r\nimport {\r\n AccountContextWizardComponent,\r\n IAccountContextWizardComponentState,\r\n} from \"../../../../Shared/Process/AccountContextWizardComponent\";\r\nimport { RoutingActions } from \"../../../../../react-core/Flux/Variables\";\r\nimport { getUrl } from \"../PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { SPTAction } from \"../SinglePaymentTransferWizard/Actions/SPTActions\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { ProcessType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\ninterface IWhatIfToolWizardState extends IAccountContextWizardComponentState {\r\n extraInfo?: any;\r\n}\r\n\r\nexport class WhatIfToolWizard extends AccountContextWizardComponent {\r\n initState() {\r\n this.state = {\r\n data: null,\r\n errorMsg: [],\r\n isShowErrorMsg: false,\r\n isLoading: true,\r\n onPosting: false,\r\n active: true,\r\n isSubmitting: false,\r\n customer: null,\r\n clientAccount: null,\r\n extraInfo: null,\r\n };\r\n }\r\n constructor(props: any) {\r\n super(props);\r\n this.subscribeToStore(WhatIfToolStore, () => this.onInstructionStoreChange());\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const params = getQueryParameters();\r\n const { clientAccount, customer } = this.state;\r\n if (clientAccount && customer && !this.state.data) {\r\n WhatIfAction.getInstruction(\r\n params[\"id\"],\r\n params[\"hierarchyid\"],\r\n params[\"subaccounthierarchyid\"],\r\n customer.CustomerId,\r\n this.getCurProductType(),\r\n params[\"batchid\"]\r\n );\r\n }\r\n }\r\n\r\n onInstructionStoreChange() {\r\n const data = WhatIfToolStore.getData();\r\n this.setState({\r\n isLoading: CommonHelper.isNullOrEmpty(data) || Object.keys(this.state.extraInfo || {}).length === 0,\r\n data: data,\r\n onPosting: false,\r\n active: data.Status === InstructionStatus.Pending || data.Status === InstructionStatus.NotSpecified,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const params = getQueryParameters();\r\n WhatIfAction.getPrepopulateData(\r\n params[\"subaccounthierarchyid\"],\r\n params[\"hierarchyid\"],\r\n params[\"batchid\"],\r\n (info) => {\r\n this.setState({\r\n extraInfo: info,\r\n isLoading: CommonHelper.isNullOrEmpty(this.state.data) || CommonHelper.isNullOrEmpty(info),\r\n });\r\n }\r\n );\r\n }\r\n\r\n onSubmit() {}\r\n\r\n saveInstruction(from, to, toUrl, params, stepLength) {\r\n if (!params[\"id\"]) {\r\n params[\"id\"] = this.state.data.HierarchyId;\r\n SPTAction.postInstructionProcess(\r\n HierarchyIdHelper.generateHierarchyId(this.state.data.HierarchyId).entityId,\r\n ProcessType.WhatIfTool\r\n );\r\n }\r\n if (to < stepLength - 1) {\r\n WhatIfAction.saveInstruction(from, this.state.data, this.getCurProductType(), (result) => {\r\n this.setState({ onPosting: false });\r\n if (result?.length > 0) {\r\n this.setState({\r\n errorMsg: result,\r\n isShowErrorMsg: true,\r\n });\r\n } else {\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: {\r\n ...params,\r\n id: WhatIfToolStore.getData()?.HierarchyId,\r\n },\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n }\r\n });\r\n } else {\r\n WhatIfAction.saveInstruction(from, this.state.data, this.getCurProductType(), (result) => {\r\n WhatIfAction.submitInstruction(this.state.data?.HierarchyId, () => {\r\n this.setState({\r\n isSubmitting: false,\r\n onPosting: false,\r\n active: false,\r\n isShowErrorMsg: false,\r\n errorMsg: [],\r\n });\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n Navigator.navigateTo(toUrl, {\r\n queryParamsObject: {\r\n ...params,\r\n id: WhatIfToolStore.getData()?.HierarchyId,\r\n },\r\n scrollAfterNavigating: true,\r\n });\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n onCancel() {\r\n // WhatIfAction.deleteInstruction(WhatIfToolStore.getData()?.HierarchyId, () => this.onExit());\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n const query = getQueryParameters();\r\n const accountRoles = AccountRoleStore.getAccountRoles();\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n RoutingActions.navigateTo(getUrl(clientAccount, accountRoles, \"summary\"));\r\n }\r\n\r\n private getCurProductType(): SubAccountType {\r\n const clientInfo = ClientAccountStore.getClientAccountInfo();\r\n const params = getQueryParameters();\r\n const productType = (clientInfo.SubAccounts || []).find(\r\n (ele) => ele.HierarchyId == params[\"subaccounthierarchyid\"]\r\n )?.SubAccountType;\r\n return productType;\r\n }\r\n\r\n getStepProps(index) {\r\n const stepProps = super.getStepProps(index);\r\n return stepProps;\r\n }\r\n\r\n setStepperConfig() {\r\n const productType = this.getCurProductType();\r\n const { data } = this.state;\r\n const selectedModel = (data?.Contribution?.ChangesToBeModeled || \"\").split(\",\");\r\n this.stepperConfig = [\r\n {\r\n title: stepTitle.ChangesToBeModelled,\r\n url: Urls.get().WhatIfToolChangesModel,\r\n path: Contents.URLMap.wrapperSelection,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n },\r\n {\r\n title: stepTitle.ClientDetails,\r\n url: Urls.get().WhatIfToolClientDetail,\r\n path: Contents.URLMap.clientDetails,\r\n component: ,\r\n },\r\n ];\r\n\r\n // Group the changes to be modelled under current product\r\n const subaccounthierarchyId = getQueryParameters()[\"subaccounthierarchyid\"];\r\n const subAccount = ClientAccountStore.getClientAccountInfo()?.SubAccounts.find(\r\n (acc) => acc.HierarchyId === subaccounthierarchyId\r\n );\r\n const productName = subAccount?.ProductDisplayName;\r\n if (selectedModel.includes(whatifProcess.editPaymentIn)) {\r\n this.stepperConfig.push({\r\n title: stepTitle.EditPaymentIn,\r\n url: Urls.get().WhatIfToolPaymentsIn,\r\n path: Contents.URLMap.paymentIn,\r\n group: productName,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n }\r\n if (selectedModel.includes(whatifProcess.editAdviserCharges)) {\r\n this.stepperConfig.push({\r\n title: stepTitle.EditAdviserCharges,\r\n url: Urls.get().WhatIfToolAdviserCharge,\r\n path: Contents.URLMap.adviserCharges,\r\n group: productName,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: ,\r\n });\r\n }\r\n if (selectedModel.includes(whatifProcess.AddAdditionalAdviserCharge)) {\r\n this.stepperConfig.push({\r\n title: stepTitle.AddAdditionAdviserCharges,\r\n url: Urls.get().WhatIfToolAdHocCharge,\r\n path: Contents.URLMap.adHocAdviserCharge,\r\n group: productName,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n });\r\n }\r\n if (selectedModel.includes(whatifProcess.editInvestmentSeletion)) {\r\n this.stepperConfig.push({\r\n title: stepTitle.editInvestmentSeletion,\r\n url: Urls.get().WhatIfToolInvestmentSelection,\r\n path: Contents.URLMap.ist,\r\n group: productName,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n });\r\n }\r\n if (selectedModel.includes(whatifProcess.AddEditRegularWithdrawals)) {\r\n this.stepperConfig.push({\r\n title: stepTitle.addEditRegularWithdrawals,\r\n url: Urls.get().WhatIfToolRegularWithdrawal,\r\n path: Contents.URLMap.regularWithdrawals,\r\n group: productName,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n });\r\n }\r\n if (selectedModel.includes(whatifProcess.AddOneOffWithdrawal)) {\r\n this.stepperConfig.push({\r\n title: stepTitle.addOneOffWithdrawal,\r\n url: Urls.get().WhatIfToolOneOffWithdrawal,\r\n path: Contents.URLMap.oneOffWithdrawal,\r\n group: productName,\r\n onStepLeave: (from, to) => {\r\n this.onStepperLeave(from, to);\r\n },\r\n component: (\r\n \r\n ),\r\n });\r\n }\r\n\r\n this.stepperConfig.push({\r\n title: stepTitle.review,\r\n url: Urls.get().WhatIfToolReview,\r\n path: Contents.URLMap.review,\r\n component: ,\r\n });\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.processTitle = \"What if tool\";\r\n return processProps;\r\n }\r\n}\r\n","import { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { BusinessDaysClient } from \"../../../../../../Wrap/Api/Common/BusinessDays\";\r\n\r\nexport class BusinessDaysAction {\r\n public static GetBusinessDays(BaseDate: Date, Future: boolean, NumberOfDays: number, Max: boolean, callback) {\r\n const client = new BusinessDaysClient();\r\n client.get(NumberOfDays, Future ? 1 : 2, JsonDateParser.toJsonDateNoOffset(BaseDate), Max).onSuccess((d) => {\r\n callback(d);\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { PortfolioViewMenuAdditionalInfoClient } from \"../../../../../Wrap/Api/Dashboard/PortfolioViewMenuAdditionalInfo\";\r\nimport { PortfolioRegularPaymentClient } from \"../../../../../Wrap/Api/Payments/PortfolioRegularPayment\";\r\nimport { PortfolioViewMenuAdditionalInfoDisaptcher } from \"../Store/Variable\";\r\n\r\nexport class PortfolioViewActionMenuAdditionalInfoAction {\r\n public static get(hierarchyId: string) {\r\n const client = new PortfolioViewMenuAdditionalInfoClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((data) => {\r\n PortfolioViewMenuAdditionalInfoDisaptcher.dispatch({ payload: data, actionType: ActionType.Success });\r\n });\r\n }\r\n\r\n public static getRegularPayment(hierarchyId: string, callback) {\r\n const client = new PortfolioRegularPaymentClient();\r\n const promise = client.get(hierarchyId);\r\n promise.onSuccess((data) => {\r\n if (callback) {callback(data);}\r\n });\r\n }\r\n}\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\n\r\ninterface IClientBarProps {\r\n mainHeader: string;\r\n showBack: boolean;\r\n onBackClick: () => void;\r\n subHeader?: string;\r\n isFz: boolean;\r\n}\r\nexport class ActionMenuHeader extends React.Component {\r\n public render(): JSX.Element {\r\n if (!this.props.mainHeader) {return null;}\r\n return (\r\n \r\n {\r\n this.props.onBackClick();\r\n }}\r\n >\r\n \r\n \r\n Back\r\n one menu level up\r\n \r\n \r\n
    \r\n \r\n {this.props.mainHeader}\r\n \r\n
    {this.props.subHeader ? this.props.subHeader : null}
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { footerLabels } from \"../../../Resoures/Contents\";\r\nimport { Link } from \"react-router\";\r\n\r\ninterface IFooterProps {\r\n onClose: () => void;\r\n}\r\n\r\nexport const Footer = (props: IFooterProps) => {\r\n const closeLightbox = (event: any) => {\r\n event.preventDefault();\r\n props.onClose();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n {footerLabels.supportLabel}\r\n

    \r\n
      \r\n
    • \r\n \r\n {footerLabels.helpAndSupportLabel}\r\n \r\n
    • \r\n
    • \r\n \r\n {footerLabels.newsLabel}\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n {footerLabels.platformSettingsLabel}\r\n

    \r\n
      \r\n
    • \r\n \r\n {footerLabels.settingsLabel}\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { DropdownPrimary } from \"../../../../../react-core/Html/DropdownPrimary\";\r\nimport { MenuItem } from \"../../../../../Wrap/Models/Domains/Menu/MenuItem\";\r\nimport { Objects } from \"../../../../../react-core/Utils/Objects\";\r\nimport { IconMap } from \"../Entities/IconMap\";\r\nimport { SubaccountSideMenuMap } from \"../Entities/SubaccountSideMenuMap\";\r\nimport { isNullOrEmpty } from \"../../../../../react-core/Utils/Arrays\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { StaticUrls } from \"../../../Resoures/StaticUrls\";\r\nimport { ClientAccountStore, UserStore } from \"../../../Stroes/Variable\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { SideMenu } from \"../../../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\nimport * as classNames from \"classnames\";\r\nimport { RestrictionStore } from \"../../Clients/Common/Restrictions/Variable\";\r\nimport { Lightbox, LightboxType } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { BusinessManagementPropositionStore } from \"../../BusinessManagement/Store/Variable\";\r\nimport {\r\n ServiceProposition,\r\n ServiceProposition as ServicePropositionEnum,\r\n} from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { IActionMenuParamsModel, subAccountActionMenu } from \"../IParameterModel\";\r\nimport { HierarchyIdHelper } from \"../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ContextStore } from \"../../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { TrustDetail } from \"../../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { subMenuLabels } from \"../../../Resoures/Contents\";\r\nimport { setActionMenuParams } from \"../../../../DLU/DLUHelper\";\r\nimport { PortfolioRegularPayment } from \"../../../../../Wrap/Models/Domains/Valuation/PortfolioRegularPayment\";\r\nimport { CustomerType } from \"../../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { Organisation } from \"../../../../../Wrap/Models/Models/Customer/Organisation\";\r\nimport { ClientRecordTab } from \"../../Clients/ClientRecord/Resource/Contents\";\r\nimport { ClientRecordStore } from \"../../Clients/ClientRecord/Store/Variable\";\r\nimport { OldNewTrustWizard } from \"../../Clients/AddClient/Resource/Contents\";\r\nimport { PortfolioViewMenuAdditionalInfoStore } from \"../Store/Variable\";\r\nimport { findHeadAccount } from \"../../Clients/PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { PersonalDetail } from \"../../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { ProcessType } from \"../../../../Shared/IST/Resource/Content\";\r\nimport { WizardLinkRestriction } from \"../../Clients/Common/Restrictions/WizardLinkRestriction\";\r\nimport { SubAccountTypeHelper } from \"../../Clients/Common/Helpers/SubAccountTypeHelper\";\r\nimport { AccountStatus } from \"../../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { Action } from \"../../../Actions/Action\";\r\nimport { CashPaymentTypeQuery } from \"../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentTypeQuery\";\r\nimport { CashPaymentFrequencyQuery } from \"../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPaymentFrequencyQuery\";\r\nimport { CashPayment } from \"../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/CashPayment\";\r\nimport { PaymentSource } from \"../../../../../Wrap/Constants/Enums/Domain/PaymentSource\";\r\nimport { SelectRegularPaymentPop } from \"../../Clients/PortfolioDashboard/Components/Common/SelectRegularPaymentPop\";\r\nimport { InstructionType } from \"../../../../../Wrap/Models/Models/PortfolioAnalysis/Payment/InstructionType\";\r\nimport { PaymentStatus } from \"../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/PaymentStatus\";\r\nimport { FsaPermission } from \"../../../../../Wrap/Models/Models/Company/FsaPermission\";\r\nimport { TransactionEnum } from \"../../Clients/PortfolioDashboard/Components/Transactions/Resource/Contents\";\r\n\r\ninterface INavigationSectionsProps {\r\n navigationConfig: MenuItem[];\r\n heading?: string;\r\n onHierarchyIdClick: (sideMenu: SideMenu, hiercharyId: string) => void;\r\n sideMenu: SideMenu;\r\n urlParams: IActionMenuParamsModel;\r\n trustDetail: TrustDetail;\r\n productdetail: PortfolioRegularPayment;\r\n accountStatus: AccountStatus;\r\n headClAccountId: string;\r\n companyFsaPermission: FsaPermission[];\r\n}\r\ninterface INavigationSectionsStates {\r\n showLightbox: boolean;\r\n errorMsg: string;\r\n clientdetail: PersonalDetail;\r\n clientRegularPayment: CashPayment[];\r\n multiPaymentType: ProcessType;\r\n}\r\n\r\nexport class NavigationSections extends BaseComponent {\r\n constructor(props: null) {\r\n super(props);\r\n this.state = {\r\n showLightbox: false,\r\n errorMsg: \"\",\r\n clientdetail: ClientRecordStore.getData()?.[ClientRecordTab.PersonalDetail],\r\n clientRegularPayment: [],\r\n multiPaymentType: null,\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => {\r\n this.setState({ clientdetail: ClientRecordStore.getData()?.[ClientRecordTab.PersonalDetail] });\r\n });\r\n }\r\n\r\n private transactionurl = (view: TransactionEnum) => {\r\n return StaticUrls.transactionViewsUrls(\r\n ContextStore.getUrlParamsHierarchyId(ContextType.Customer) ?? this.props.urlParams.levelHierarchyId,\r\n view,\r\n this.props.urlParams.headaccounthierarchyId\r\n );\r\n };\r\n\r\n private nativeHrefClick = (event: React.MouseEvent, url: string) => {\r\n if (\r\n url.indexOf(\"/client/new-business/full-client-detail\") > 0 &&\r\n url.indexOf(\"hierarchyid\") > 0 &&\r\n this.props.accountStatus !== AccountStatus.Active\r\n ) {\r\n event.preventDefault();\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You can not process this action until the account is active.\",\r\n });\r\n return false;\r\n }\r\n setActionMenuParams(this.props.urlParams);\r\n };\r\n\r\n private itemIsDropdown(item: MenuItem, key: number) {\r\n const storeData: ServiceProposition[] = BusinessManagementPropositionStore.getData();\r\n if (\r\n this.props.sideMenu == SideMenu.BusinessManagement &&\r\n (storeData || []).filter((x) => x == ServicePropositionEnum.Fundzone).length > 0 &&\r\n item.MenuCaption == \"Mandates\"\r\n ) {\r\n return null;\r\n } else\r\n {return (\r\n
    \r\n \r\n {item.SubMenu.map((dropitem: MenuItem, key: number) => {\r\n /**\r\n * Transaction dropdown\r\n */\r\n\r\n if (dropitem?.MenuCaption == \"Edit adviser access\") {\r\n const url = dropitem.Url;\r\n return (\r\n {\r\n setActionMenuParams(this.props.urlParams);\r\n }}\r\n key={key}\r\n className=\"item\"\r\n href={url}\r\n >\r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Investments\") {\r\n return (\r\n \r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Cash\") {\r\n return (\r\n \r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Payments/withdrawal\") {\r\n return (\r\n \r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Account transfer\") {\r\n return (\r\n \r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Corporate actions\") {\r\n return (\r\n \r\n Dividend summary\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Other corporate actions\") {\r\n return (\r\n \r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Charges\") {\r\n return (\r\n \r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Take pension benefits\") {\r\n return (\r\n {\r\n if (RestrictionStore.WithdrawDisabled()) {\r\n this.setState({ showLightbox: true });\r\n }\r\n }}\r\n href=\"javascript:void(0);\"\r\n >\r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == subMenuLabels.newBusinessLabel) {\r\n return (\r\n {\r\n if (\r\n !this.props.trustDetail ||\r\n this.props.trustDetail?.TrustType == \"GIFTPLAN\" ||\r\n this.props.trustDetail?.NewOrExistingTrust == \"Existing\"\r\n ) {\r\n window.location.assign(dropitem.Url);\r\n } else {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg:\r\n \"New product journey not available for this type of Account.\",\r\n });\r\n }\r\n }}\r\n href=\"javascript:void(0);\"\r\n >\r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n if (dropitem?.MenuCaption == \"Configure my Client Portal\") {\r\n const companyId = UserStore.getUserInfo()?.CompanyId;\r\n const hierarchy = HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Company,\r\n companyId\r\n );\r\n const url = `/wpadviser/en-gb/customer/home/${hierarchy}/landingpage?hierarchyId=${hierarchy}`;\r\n return (\r\n {\r\n setActionMenuParams(this.props.urlParams);\r\n }}\r\n href={url}\r\n >\r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n }\r\n return (\r\n {\r\n setActionMenuParams(this.props.urlParams);\r\n }}\r\n href={\r\n dropitem?.Url\r\n ? CommonHelper.ReplaceSpecialSymbols(dropitem?.Url)\r\n : \"javascript:void(0);\"\r\n }\r\n >\r\n {dropitem?.MenuCaption}\r\n \r\n );\r\n })}\r\n \r\n
    \r\n );}\r\n }\r\n private itemIsLink(item: MenuItem, key: number) {\r\n if (item && item.MenuCaption == \"Legacy client reports\") {\r\n let url = CommonHelper.ReplaceSpecialSymbols(item.Url);\r\n if (!url.includes(\"customerhierarchyid\")) {\r\n url = url + \"&customerhierarchyid=\" + ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n }\r\n return (\r\n {\r\n setActionMenuParams(this.props.urlParams);\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n\r\n if (item.HierarchyId) {\r\n return (\r\n {\r\n const type = HierarchyIdHelper.generateHierarchyId(item.HierarchyId).hierarchyLevel;\r\n if (type == HierarchyLevelName.SubAccount) {\r\n const selectedSideMenu = SubaccountSideMenuMap.getSubaccountSideMenu(item.MenuCaption);\r\n this.props.onHierarchyIdClick(selectedSideMenu, item.HierarchyId);\r\n } else if (type == HierarchyLevelName.Account) {\r\n this.props.onHierarchyIdClick(SideMenu.Portfolio, item.HierarchyId);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n } else if (\r\n subAccountActionMenu.includes(this.props.sideMenu) ||\r\n [SideMenu.Portfolio, SideMenu.Account, SideMenu.ConsolidatedAccount].includes(this.props.sideMenu)\r\n ) {\r\n return this.generateDataForSubAccount(item, key);\r\n } else if (item.MenuCaption == \"Create/Edit Links\") {\r\n return (\r\n \r\n {\"Add/Edit family discounts\"}\r\n \r\n );\r\n } else {\r\n return (\r\n setActionMenuParams(this.props.urlParams)} href={CommonHelper.ReplaceSpecialSymbols(item.Url)}>\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n }\r\n\r\n private getSections() {\r\n const sections: MenuItem[][] = [];\r\n if (!isNullOrEmpty(this.props.navigationConfig)) {\r\n const menuList = Objects.cloneObject(this.props.navigationConfig);\r\n const chunk_size = 4;\r\n for (let index = 0; index < menuList.length; index += chunk_size) {\r\n const subArray = menuList.slice(index, index + chunk_size);\r\n sections.push(subArray);\r\n }\r\n }\r\n return sections;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const sections = this.getSections();\r\n return (\r\n <>\r\n {this.state.showLightbox && (\r\n this.setState({ showLightbox: false, errorMsg: \"\" })}\r\n type={LightboxType.Modal}\r\n unclosable={true}\r\n noOverlay={false}\r\n noAutofocus={true}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

    {this.state.errorMsg}

    \r\n\r\n this.setState({ showLightbox: false, errorMsg: \"\" })}\r\n >\r\n OK\r\n \r\n \r\n )}\r\n {\r\n this.setState({ clientRegularPayment: [] });\r\n }}\r\n onSelect={(id) => {\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n\r\n const subaccount = (clientAccount?.SubAccounts || []).find(\r\n (ele) => ele.HierarchyId == this.props.urlParams.subaccountHierarchyId\r\n );\r\n\r\n let url = StaticUrls.RegularPaymentUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId,\r\n \"edit\",\r\n id\r\n );\r\n if (this.state.multiPaymentType == ProcessType.WhatIf) {\r\n url = StaticUrls.WhatIfToolUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId,\r\n id\r\n );\r\n }\r\n window.location.assign(url);\r\n }}\r\n />\r\n
    \r\n {sections &&\r\n sections.map((section: MenuItem[], key: number) => {\r\n return (\r\n
    \r\n
    {key == 0 ? this.props.heading : \"\"}
    \r\n
    \r\n {section.map((column: MenuItem, key2: number) => {\r\n const storeData: ServiceProposition[] = BusinessManagementPropositionStore.getData();\r\n if (\r\n this.props.sideMenu == SideMenu.BusinessManagement &&\r\n (storeData || []).some((x) => x == ServicePropositionEnum.Fundzone) &&\r\n column.MenuCaption == \"Bulk\"\r\n ) {\r\n return null;\r\n } else\r\n {return (\r\n
    \r\n
    \r\n \r\n \r\n {column.MenuCaption}\r\n \r\n {column.SubMenu &&\r\n column.SubMenu.map((item: MenuItem, key3: number) => {\r\n return !isNullOrEmpty(item.SubMenu)\r\n ? this.itemIsDropdown(item, key3)\r\n : this.itemIsLink(item, key3);\r\n }).filter((x) => x != null)}\r\n
    \r\n
    \r\n );}\r\n })}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n );\r\n }\r\n\r\n private getIcon(menuString: string): string {\r\n return IconMap.getIcon(menuString);\r\n }\r\n\r\n private generateDataForSubAccount(item: MenuItem, key: number): JSX.Element {\r\n const { urlParams } = this.props;\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n const productDetail = this.props.productdetail?.ProductPayments;\r\n\r\n const subaccount = (clientAccount?.SubAccounts || []).find(\r\n (ele) => ele.HierarchyId == urlParams.subaccountHierarchyId\r\n );\r\n const data = (productDetail || []).find((ele) => ele.ClAccountId == subaccount?.ClAccountId)?.Payments || [];\r\n const allAccounts =\r\n PortfolioViewMenuAdditionalInfoStore.getData()?.UnderlyingClientAccount ||\r\n (ClientAccountStore.getClientAccountInfo() ? [ClientAccountStore.getClientAccountInfo()] : []);\r\n const headAccount = findHeadAccount(\r\n allAccounts,\r\n urlParams.headaccounthierarchyId || urlParams.subaccountHierarchyId\r\n );\r\n let blockTrustTopupAndWithdrawal = false;\r\n if (this.props.trustDetail) {\r\n blockTrustTopupAndWithdrawal = [\"loanplan\", \"discountedgiftplan\"].includes(\r\n (this.props.trustDetail?.TrustType || \"\").toLowerCase()\r\n );\r\n }\r\n\r\n let disableAllProductByFsa = false;\r\n const disableSippByFsa = false;\r\n if (\r\n SubAccountTypeHelper.isLegacyProduct(subaccount?.SubAccountType) &&\r\n this.props.companyFsaPermission != null\r\n ) {\r\n disableAllProductByFsa = !this.props.companyFsaPermission.some(\r\n (ele) =>\r\n ele?.FsaRegulatedActivity?.Name?.toLowerCase() == \"AdviseInvestments\".toLowerCase() &&\r\n ele.IsInclude &&\r\n ele.IsPermit\r\n );\r\n }\r\n\r\n if (item.MenuCaption == \"Buy\") {\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.Buy);\r\n let url = StaticUrls.BuyUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId\r\n );\r\n if (this.props.trustDetail) {\r\n url = StaticUrls.CreateOrder(subaccount?.ClAccountId);\r\n }\r\n return (\r\n checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else if (this.props.trustDetail) {\r\n setActionMenuParams(urlParams);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"Sell\") {\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.Sell);\r\n let url = StaticUrls.SellUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId\r\n );\r\n if (this.props.trustDetail) {\r\n url = StaticUrls.CreateOrder(subaccount?.ClAccountId);\r\n }\r\n return (\r\n checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else if (this.props.trustDetail) {\r\n setActionMenuParams(urlParams);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"Switch\") {\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.Switch);\r\n let url = StaticUrls.SwitchUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId\r\n );\r\n if (this.props.trustDetail) {\r\n url = StaticUrls.CreateOrder(subaccount?.ClAccountId);\r\n }\r\n return (\r\n checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else if (this.props.trustDetail) {\r\n setActionMenuParams(urlParams);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item?.MenuCaption == \"Transaction summary\") {\r\n return (\r\n \r\n {item?.MenuCaption}\r\n \r\n );\r\n }\r\n if (item.MenuCaption == \"Single payments/transfers\") {\r\n const isBlock = WizardLinkRestriction(\r\n headAccount,\r\n urlParams.subaccountHierarchyId,\r\n ProcessType.SinglePayment\r\n );\r\n\r\n let url = StaticUrls.SinglePaymentUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId\r\n );\r\n\r\n if (this.props.trustDetail) {\r\n url = StaticUrls.NBEC(\r\n subaccount?.ClAccountId,\r\n SubAccountTypeHelper.isLegacyProduct(subaccount?.SubAccountType)\r\n );\r\n }\r\n return (\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else if (disableAllProductByFsa || disableSippByFsa) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"FCA Permissions prevents the following action.\",\r\n });\r\n } else if (blockTrustTopupAndWithdrawal) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"This journey is not available for this type of Trust.\",\r\n });\r\n } else if (this.props.trustDetail) {\r\n setActionMenuParams(urlParams);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"Add regular payment\") {\r\n if (data?.length > 0) {return null;}\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.AddRegular);\r\n let url = StaticUrls.RegularPaymentUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId,\r\n \"add\"\r\n );\r\n if (this.props.trustDetail) {\r\n url = StaticUrls.NBEC(\r\n subaccount?.ClAccountId,\r\n SubAccountTypeHelper.isLegacyProduct(subaccount?.SubAccountType)\r\n );\r\n }\r\n return (\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else if (disableAllProductByFsa || disableSippByFsa) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"FCA Permissions prevents the following action.\",\r\n });\r\n } else if (blockTrustTopupAndWithdrawal) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"This journey is not available for this type of Trust.\",\r\n });\r\n } else if (this.props.trustDetail) {\r\n setActionMenuParams(urlParams);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"Edit regular payment\") {\r\n const isBlock = WizardLinkRestriction(\r\n headAccount,\r\n urlParams.subaccountHierarchyId,\r\n ProcessType.EditRegular\r\n );\r\n if (data?.length <= 0) {return null;}\r\n let url = \"javascript:void(0);\";\r\n if (this.props.trustDetail) {\r\n url = StaticUrls.NBEC(\r\n subaccount?.ClAccountId,\r\n SubAccountTypeHelper.isLegacyProduct(subaccount?.SubAccountType)\r\n );\r\n }\r\n return (\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else if (disableAllProductByFsa || disableSippByFsa) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"FCA Permissions prevents the following action.\",\r\n });\r\n } else if (blockTrustTopupAndWithdrawal) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"This journey is not available for this type of Trust.\",\r\n });\r\n } else if (this.props.trustDetail) {\r\n setActionMenuParams(urlParams);\r\n } else {\r\n Action.getRegularPaymentCashEntry(\r\n urlParams.subaccountHierarchyId,\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentFrequencyQuery.Regular,\r\n (result: CashPayment[]) => {\r\n const clientRegularPayment = result.filter(\r\n (cashEntry) =>\r\n (cashEntry.Source == PaymentSource.Employee ||\r\n cashEntry.Source == PaymentSource.NotSpecified) &&\r\n cashEntry.InstructionType == InstructionType.Standing &&\r\n cashEntry.Status == PaymentStatus.Authorised\r\n );\r\n if (clientRegularPayment.length > 1) {\r\n this.setState({\r\n clientRegularPayment: clientRegularPayment,\r\n multiPaymentType: ProcessType.EditRegular,\r\n });\r\n } else {\r\n const url = StaticUrls.RegularPaymentUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId,\r\n \"edit\",\r\n clientRegularPayment[0]?.BatchId\r\n );\r\n window.location.assign(url);\r\n }\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"Move assets to new owner\") {\r\n const isBlock = WizardLinkRestriction(\r\n headAccount,\r\n urlParams.subaccountHierarchyId,\r\n ProcessType.MoveAssetsToNewOwner\r\n );\r\n return (\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"Launch 'What if' tool\") {\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.WhatIf);\r\n const url = StaticUrls.WhatIfToolUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId\r\n );\r\n return (\r\n checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else {\r\n Action.getRegularPaymentCashEntry(\r\n urlParams.subaccountHierarchyId,\r\n CashPaymentTypeQuery.Deposit,\r\n CashPaymentFrequencyQuery.Regular,\r\n (result: CashPayment[]) => {\r\n const clientRegularPayment = result.filter(\r\n (cashEntry) =>\r\n (cashEntry.Source == PaymentSource.Employee ||\r\n cashEntry.Source == PaymentSource.NotSpecified) &&\r\n cashEntry.InstructionType == InstructionType.Standing &&\r\n cashEntry.Status == PaymentStatus.Authorised\r\n );\r\n if (clientRegularPayment.length > 1) {\r\n this.setState({\r\n clientRegularPayment: clientRegularPayment,\r\n multiPaymentType: ProcessType.WhatIf,\r\n });\r\n } else if (\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ) {\r\n const url = StaticUrls.WhatIfToolUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId,\r\n clientRegularPayment[0]?.BatchId\r\n );\r\n window.location.assign(url);\r\n }\r\n }\r\n );\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"No change illustration\") {\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.NoChange);\r\n const url = StaticUrls.NoChangeToolUrl(\r\n subaccount?.SubAccountType.toString(),\r\n subaccount?.ClAccountId,\r\n clientAccount?.HierarchyId,\r\n subaccount?.HierarchyId\r\n );\r\n return (\r\n checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite) && (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n )\r\n );\r\n }\r\n if (item.MenuCaption == \"Take pension benefits\" && RestrictionStore.WithdrawDisabled()) {\r\n return (\r\n {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"An account with suspended or restricted activities cannot setup withdrawals.\",\r\n });\r\n }}\r\n href=\"javascript:void(0);\"\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n if (item.MenuCaption == \"PP to S&S ISA\") {\r\n const isBlock = WizardLinkRestriction(\r\n headAccount,\r\n urlParams.subaccountHierarchyId,\r\n ProcessType.MoveAssetsToNewOwner\r\n );\r\n const url = StaticUrls.ppToSsIsaUrl(subaccount?.ClAccountId);\r\n return (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else {\r\n setActionMenuParams(urlParams);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n if (item.MenuCaption == \"Withdrawals\") {\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.Withdrawal);\r\n return (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg:\r\n \"An account with suspended or restricted activities cannot setup withdrawals.\",\r\n });\r\n } else if (blockTrustTopupAndWithdrawal) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"This journey is not available for this type of Trust.\",\r\n });\r\n } else {\r\n const url = StaticUrls.WithdrawUrl(subaccount?.ClAccountId);\r\n setActionMenuParams(urlParams);\r\n window.location.assign(url);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n\r\n if (item.MenuCaption == \"Create client portfolio report\") {\r\n const url = StaticUrls.createClientPortfolioReportUrl(\r\n urlParams.levelHierarchyId,\r\n urlParams.headaccounthierarchyId\r\n );\r\n return (\r\n \r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n if (item.MenuCaption == \"Existing client new business (including quote)\") {\r\n const isBlock = WizardLinkRestriction(headAccount, urlParams.subaccountHierarchyId, ProcessType.NBEC);\r\n if (subaccount != null && !CommonHelper.isNullOrEmpty(subaccount?.ClAccountId)) {\r\n const url = StaticUrls.NBEC(\r\n subaccount?.ClAccountId,\r\n SubAccountTypeHelper.isLegacyProduct(subaccount?.SubAccountType)\r\n );\r\n return (\r\n {\r\n if (isBlock) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"You cannot process this action until the account is active\",\r\n });\r\n } else if (disableAllProductByFsa || disableSippByFsa) {\r\n this.setState({\r\n showLightbox: true,\r\n errorMsg: \"FCA Permissions prevents the following action.\",\r\n });\r\n } else {\r\n setActionMenuParams(urlParams);\r\n }\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n } else {\r\n return (\r\n {}}>\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n }\r\n if (item.MenuCaption == \"Add new account\") {\r\n const data = ClientRecordStore.getData();\r\n if (data != null && !CommonHelper.isNullOrEmpty(data[ClientRecordTab.OrganisationDetails])) {\r\n const organisation: Organisation = data[ClientRecordTab.OrganisationDetails];\r\n if (organisation?.CustomerType && organisation?.CustomerType !== CustomerType.Company) {\r\n return (\r\n {\r\n setActionMenuParams(this.props.urlParams);\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n } else {\r\n return (\r\n {}}>\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n {\r\n setActionMenuParams(this.props.urlParams);\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n }\r\n return (\r\n ) => {\r\n this.nativeHrefClick(event, CommonHelper.ReplaceSpecialSymbols(item.Url));\r\n }}\r\n >\r\n {item.MenuCaption}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { RadiosEditor } from \"../../../../../react-core/Html/RadiosEditor\";\r\nimport { PortfolioViewMenuAdditionalInfo } from \"../../../../../Wrap/Models/Domains/Menu/PortfolioViewMenuAdditionalInfo\";\r\nimport { isConsolidate } from \"../../Clients/PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { ConsolidatedAccountStore } from \"../../Clients/PortfolioDashboard/Store/Variable\";\r\n\r\ninterface IPortfolioViewActionMenuOverlayProps {\r\n additionalInfo: PortfolioViewMenuAdditionalInfo;\r\n selectedHeadAccount: string;\r\n onChangeHeadAccount: (hierarchyId: string) => void;\r\n}\r\n\r\ninterface IPortfolioViewActionMenuOverlayState {}\r\n\r\nexport class PortfolioViewActionMenuOverlay extends BaseComponent<\r\n IPortfolioViewActionMenuOverlayProps,\r\n IPortfolioViewActionMenuOverlayState\r\n> {\r\n constructor(props: IPortfolioViewActionMenuOverlayProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { additionalInfo } = this.props;\r\n const options = additionalInfo.UnderlyingClientAccount;\r\n return (\r\n <>\r\n

    Select a head account to view

    \r\n ele.HierarchyId)}\r\n getText={(option) => {\r\n const account = options.find((ele) => ele.HierarchyId == option);\r\n return account.AccountName + \" - \" + account.HeadClAccountId;\r\n }}\r\n onChange={(value) => {\r\n if (value !== this.props.selectedHeadAccount) {\r\n this.props.onChangeHeadAccount(value);\r\n }\r\n }}\r\n selected={this.props.selectedHeadAccount}\r\n />\r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import { Action } from \"../../Actions/Action\";\r\nimport * as React from \"react\";\r\nimport { IActionMenuParamsModel, IParameterModel, subAccountActionMenu } from \"./IParameterModel\";\r\nimport { SecuredCustomNavigationMenuOverlay } from \"./SecuredCustomNavigationMenuOverlay\";\r\nimport { NavigationSections } from \"./Component/NavigationSections\";\r\nimport { Contents, overlayLabels, productActionsLabels, subMenuLabels } from \"../../Resoures/Contents\";\r\nimport { SideMenu } from \"../../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\nimport { SubaccountSideMenuMap } from \"./Entities/SubaccountSideMenuMap\";\r\nimport { ClientAccount } from \"../../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { isNullOrEmpty } from \"../../../../react-core/Utils/Arrays\";\r\nimport { PensionSubAccountSettings } from \"../../../../Wrap/Models/Domains/SubAccount/PensionSubAccountSettings\";\r\nimport { SubAccountType } from \"../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { MenuItemsHelper } from \"./Entities/MenuItemsHelper\";\r\nimport { CappedArrangementDetails } from \"../../../../Wrap/Models/Domains/Drawdown/CappedArrangementDetails\";\r\nimport { RestrictionAction } from \"../Clients/Common/Restrictions/RestrictionAction\";\r\nimport { ClientAccountStore } from \"../../Stroes/Variable\";\r\nimport { checkPermission } from \"../../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { InvestorType } from \"../../../../Wrap/Models/Domains/Account/SlAccounts/InvestorType\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { MenuItem } from \"../../../../Wrap/Models/Domains/Menu/MenuItem\";\r\nimport { ContextStore } from \"../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { HierarchyIdHelper } from \"../../../Shared/Common/HierarchyIdHelper\";\r\nimport { AccountInfoAction } from \"../Clients/PortfolioDashboard/Components/Role/Action/AccountInfoAction\";\r\nimport { TrustDetail } from \"../../../../Wrap/Models/Domains/Account/TrustDetail\";\r\nimport { isConsolidate } from \"../Clients/PortfolioDashboard/Components/Common/PortfolioDashboardHelper\";\r\nimport { PortfolioViewMenuAdditionalInfoStore } from \"./Store/Variable\";\r\nimport { PortfolioViewActionMenuAdditionalInfoAction } from \"./Action/PortfolioViewActionMenuAdditionalInfoAction\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { ObjectComparer } from \"../../../../react-core/Utils/ObjectComparer\";\r\nimport { PortfolioViewMenuAdditionalInfo } from \"../../../../Wrap/Models/Domains/Menu/PortfolioViewMenuAdditionalInfo\";\r\nimport { PortfolioViewActionMenuOverlay } from \"./Component/PortfolioViewActionMenuOverlay\";\r\nimport { PortfolioRegularPayment } from \"../../../../Wrap/Models/Domains/Valuation/PortfolioRegularPayment\";\r\nimport { HierarchyLevelName } from \"../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { ClientRecordAction } from \"../Clients/ClientRecord/Action/ClientRecordAction\";\r\nimport { ClientRecordStore } from \"../Clients/ClientRecord/Store/Variable\";\r\nimport { PersonalDetail } from \"../../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { ClientRecordTab } from \"../Clients/ClientRecord/Resource/Contents\";\r\nimport { CustomerStatus } from \"../../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { AccountStatus } from \"../../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { ServiceProposition } from \"../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport {\r\n ConsolidatedAccountStore,\r\n PortfolioDashboardStore,\r\n PortfolioDashboardAccountRolesStore,\r\n PortfolioDashboardMultiSelectionStore,\r\n} from \"../Clients/PortfolioDashboard/Store/Variable\";\r\nimport { AccountRole } from \"../../../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { IsaAllowance } from \"../../../../Wrap/Models/Domains/IsaAllowance/IsaAllowance\";\r\nimport { IsaAllowanceOverviewClient } from \"../../../../Wrap/Api/ProductOverview/PaymentsIn/IsaAllowanceOverview\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { CompanyWizardAction } from \"../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { FsaPermission } from \"../../../../Wrap/Models/Models/Company/FsaPermission\";\r\nimport { SubAccountTypeHelper } from \"../Clients/Common/Helpers/SubAccountTypeHelper\";\r\nimport { PortfolioDashboardAction } from \"../Clients/PortfolioDashboard/Action/PortfolioDashboardAction\";\r\nimport { AccountRoleWithAccountDetails } from \"../../../../Wrap/Models/Domains/Customers/AccountRoleWithAccountDetails\";\r\nimport { RoleType } from \"../../../../Wrap/Constants/Enums/RoleType\";\r\nimport { RoleStatus } from \"../../../../Wrap/Constants/Enums/RoleStatus\";\r\nimport { CustomerType } from \"../../../../Wrap/Constants/Enums/Customer/CustomerType\";\r\nimport { Organisation } from \"../../../../Wrap/Models/Models/Customer/Organisation\";\r\n\r\ninterface ICustomNavigationMenuProps {\r\n onClick: (methodName: string) => void;\r\n urlParams: IActionMenuParamsModel;\r\n}\r\n\r\ninterface ICustomNavigationMenuState {\r\n menu: MenuItem[];\r\n customNavigationVisibility: boolean;\r\n currentSideMenu: SideMenu;\r\n clientAccount: ClientAccount;\r\n pensionSubAccountSettings: PensionSubAccountSettings;\r\n cappedArrangmentDetails: Array;\r\n urlParams: IActionMenuParamsModel;\r\n trustDetail: TrustDetail;\r\n additionalInfo: PortfolioViewMenuAdditionalInfo;\r\n productdetail: PortfolioRegularPayment;\r\n clientdetail: PersonalDetail;\r\n canNewProduct: boolean;\r\n roles: AccountRole[];\r\n currentTaxYearISAAllowance: IsaAllowance;\r\n lastTaxYearISAAllowance: IsaAllowance;\r\n companyFsaPermission: FsaPermission[];\r\n actorUserID?: number;\r\n isLoading: boolean;\r\n accountRoleDetails: AccountRoleWithAccountDetails;\r\n customerType: CustomerType;\r\n}\r\n\r\nexport class CustomNavigationMenu extends BaseComponent {\r\n constructor(props: ICustomNavigationMenuProps) {\r\n super(props);\r\n this.state = {\r\n menu: [],\r\n customNavigationVisibility: true,\r\n currentSideMenu: props.urlParams.SideMenu,\r\n clientAccount: null,\r\n pensionSubAccountSettings: null,\r\n cappedArrangmentDetails: [],\r\n urlParams: props.urlParams,\r\n trustDetail: null,\r\n additionalInfo: null,\r\n productdetail: null,\r\n clientdetail: null,\r\n canNewProduct: true,\r\n roles: [],\r\n currentTaxYearISAAllowance: null,\r\n lastTaxYearISAAllowance: null,\r\n companyFsaPermission: null,\r\n actorUserID: null,\r\n isLoading: false,\r\n accountRoleDetails: null,\r\n customerType: CustomerType.NotSpecified,\r\n };\r\n this.subscribeToStore(ClientAccountStore, () => this.onClientAccountStoreChange());\r\n this.subscribeToStore(PortfolioViewMenuAdditionalInfoStore, () => this.onStoreChange());\r\n this.subscribeToStore(ClientRecordStore, () => {\r\n this.setState({ clientdetail: ClientRecordStore.getData()?.[ClientRecordTab.PersonalDetail] });\r\n });\r\n }\r\n\r\n shouldComponentUpdate(nextProps: ICustomNavigationMenuProps, nextState: ICustomNavigationMenuState) {\r\n if (nextState.customNavigationVisibility == false) {\r\n return true;\r\n }\r\n if (!ObjectComparer.isSame(nextState.productdetail, this.state.productdetail)) {\r\n return true;\r\n }\r\n if (!ObjectComparer.isSame(nextState.currentTaxYearISAAllowance, this.state.currentTaxYearISAAllowance)) {\r\n return true;\r\n }\r\n if (!ObjectComparer.isSame(nextState.lastTaxYearISAAllowance, this.state.lastTaxYearISAAllowance)) {\r\n return true;\r\n }\r\n if (!ObjectComparer.isSame(nextState.roles, this.state.roles)) {\r\n return true;\r\n }\r\n if (!ObjectComparer.isSame(nextState.trustDetail, this.state.trustDetail)) {\r\n return true;\r\n }\r\n return ObjectComparer.arraysDiffer(this.state.menu, nextState.menu);\r\n }\r\n\r\n onClientAccountStoreChange(): void {\r\n const clientAccount = ClientAccountStore.getClientAccountInfo();\r\n const subAccount = (clientAccount?.SubAccounts || []).find(\r\n (ele) => ele.HierarchyId == this.state.urlParams.subaccountHierarchyId\r\n );\r\n const sideMenu = subAccount\r\n ? SubaccountSideMenuMap.getSubMenuBySubAccountType(subAccount.SubAccountType)\r\n : this.state.urlParams.SideMenu;\r\n\r\n this.setState(\r\n {\r\n clientAccount: clientAccount,\r\n currentSideMenu: sideMenu,\r\n urlParams: { headaccounthierarchyId: clientAccount?.HierarchyId, ...this.state.urlParams },\r\n isLoading: true,\r\n },\r\n () => {\r\n this.getActionMenu(sideMenu);\r\n if (subAccount) {\r\n this.getPensionData();\r\n this.getIsaCashData();\r\n PortfolioViewActionMenuAdditionalInfoAction.getRegularPayment(clientAccount.HierarchyId, (val) => {\r\n this.setState({ productdetail: val });\r\n });\r\n if (SubAccountTypeHelper.isLegacyProduct(subAccount.SubAccountType)) {\r\n CompanyWizardAction.getCompanyFsaPermissionDetail(clientAccount.Company, (data) => {\r\n this.setState({ companyFsaPermission: data });\r\n });\r\n }\r\n }\r\n if (clientAccount.InvestorType == InvestorType.Trust) {\r\n ClientRecordAction.getTrustDetails(clientAccount.HierarchyId, (result) => {\r\n this.setState({ trustDetail: result, isLoading: false });\r\n });\r\n } else {\r\n this.setState({ isLoading: false });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private getDataForPortfolioActionMenu(\r\n clientAccount: ClientAccount,\r\n sideMenu,\r\n levelHierarchyId,\r\n subAccountHierarchyId\r\n ) {\r\n this.setState(\r\n {\r\n clientAccount: clientAccount,\r\n currentSideMenu: sideMenu,\r\n urlParams: {\r\n SideMenu: sideMenu,\r\n subaccountHierarchyId: subAccountHierarchyId,\r\n headaccounthierarchyId: clientAccount.HierarchyId,\r\n levelHierarchyId: levelHierarchyId,\r\n },\r\n },\r\n () => {\r\n this.getActionMenu(sideMenu);\r\n if (clientAccount.InvestorType == InvestorType.Trust) {\r\n ClientRecordAction.getTrustDetails(clientAccount.HierarchyId, (result) => {\r\n this.setState({ trustDetail: result });\r\n });\r\n }\r\n //consolidate underlying account\r\n if (isConsolidate() && sideMenu != SideMenu.ConsolidatedAccount) {\r\n AccountInfoAction.getAccountRoles(clientAccount.HierarchyId, (roles) => {\r\n this.setState({ roles: roles });\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n onStoreChange(): void {\r\n const accountRoleDetails = PortfolioDashboardAccountRolesStore.getData();\r\n this.setState({ accountRoleDetails: accountRoleDetails });\r\n const { urlParams } = this.state;\r\n const additionalInfo = PortfolioViewMenuAdditionalInfoStore.getData();\r\n this.setState({ additionalInfo: additionalInfo });\r\n if (\r\n urlParams.SideMenu == SideMenu.ConsolidatedAccount &&\r\n urlParams.headaccounthierarchyId == ConsolidatedAccountStore.getData()?.HierarchyId\r\n ) {\r\n this.getDataForPortfolioActionMenu(\r\n ConsolidatedAccountStore.getData(),\r\n SideMenu.ConsolidatedAccount,\r\n urlParams.headaccounthierarchyId,\r\n null\r\n );\r\n } else if (additionalInfo?.UnderlyingClientAccount?.length === 0) {\r\n //prospect customer\r\n this.getActionMenu(SideMenu.Account);\r\n } else if (additionalInfo?.UnderlyingClientAccount?.length === 1) {\r\n // only one account\r\n this.getDataForPortfolioActionMenu(\r\n additionalInfo?.UnderlyingClientAccount?.[0],\r\n SideMenu.Portfolio,\r\n urlParams.levelHierarchyId,\r\n null\r\n );\r\n } else {\r\n this.getDataForPortfolioActionMenu(\r\n additionalInfo?.UnderlyingClientAccount?.find(\r\n (ele) => ele.HierarchyId == urlParams.headaccounthierarchyId\r\n ) || additionalInfo?.UnderlyingClientAccount?.[0],\r\n SideMenu.Portfolio,\r\n urlParams.headaccounthierarchyId || additionalInfo?.UnderlyingClientAccount?.[0].HierarchyId,\r\n null\r\n );\r\n }\r\n }\r\n\r\n private noPendingDataActionMenu = (): SideMenu[] => {\r\n return [SideMenu.BusinessManagement, SideMenu.Admin, SideMenu.ToolLiterature, SideMenu.Dashboard];\r\n };\r\n\r\n private getDataForSideMenu(\r\n sideMenu: SideMenu,\r\n levelhierarchyId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string\r\n ) {\r\n this.setState(\r\n {\r\n urlParams: {\r\n SideMenu: sideMenu,\r\n subaccountHierarchyId: subAccountHierarchyId,\r\n headaccounthierarchyId: headAccountHierarchyId,\r\n levelHierarchyId: levelhierarchyId,\r\n },\r\n },\r\n () => {\r\n if (\r\n HierarchyIdHelper.generateHierarchyId(levelhierarchyId)?.hierarchyLevel ==\r\n HierarchyLevelName.Customer &&\r\n this.state.clientdetail == null\r\n ) {\r\n ClientRecordAction.getPersonalDetail(this.getCustomerId().toString());\r\n }\r\n if (this.noPendingDataActionMenu().includes(sideMenu)) {\r\n this.setState({ currentSideMenu: sideMenu }, () => this.getActionMenu(sideMenu));\r\n } else if (\r\n [SideMenu.NotSpecified, SideMenu.Portfolio].includes(sideMenu) ||\r\n subAccountActionMenu.includes(sideMenu)\r\n ) {\r\n // If navigate to old aspx page we won't get hierarchyId\r\n if (headAccountHierarchyId || subAccountHierarchyId) {\r\n Action.getClientAccount(headAccountHierarchyId || subAccountHierarchyId);\r\n RestrictionAction.getRestrictionByHierarchyId(headAccountHierarchyId || subAccountHierarchyId);\r\n }\r\n } else if (sideMenu === SideMenu.Account || sideMenu == SideMenu.ConsolidatedAccount) {\r\n PortfolioViewActionMenuAdditionalInfoAction.get(levelhierarchyId);\r\n }\r\n }\r\n );\r\n }\r\n\r\n public componentDidMount() {\r\n const { urlParams } = this.props;\r\n if (isConsolidate()) {\r\n urlParams.SideMenu = SideMenu.ConsolidatedAccount;\r\n urlParams.headaccounthierarchyId = ConsolidatedAccountStore.getData()?.HierarchyId;\r\n }\r\n this.getDataForSideMenu(\r\n urlParams.SideMenu,\r\n urlParams.levelHierarchyId,\r\n urlParams.headaccounthierarchyId,\r\n urlParams.subaccountHierarchyId\r\n );\r\n if (this.getCustomerId() && !isConsolidate()) {\r\n PortfolioDashboardAction.getAccountRoleWithAccountDetails(this.getCustomerId(), (data) => {\r\n this.setState({ actorUserID: data.ActorUserId });\r\n });\r\n }\r\n const clientDetailData = ClientRecordStore.getData();\r\n if (clientDetailData && !CommonHelper.isNullOrEmpty(clientDetailData[ClientRecordTab.PersonalDetail])) {\r\n this.setState({\r\n customerType: CustomerType.Individual,\r\n });\r\n }\r\n if (clientDetailData && !CommonHelper.isNullOrEmpty(clientDetailData[ClientRecordTab.OrganisationDetails])) {\r\n const organisation: Organisation = clientDetailData[ClientRecordTab.OrganisationDetails];\r\n if (organisation?.CustomerType && organisation?.CustomerType !== CustomerType.Company) {\r\n this.setState({\r\n customerType: organisation.CustomerType,\r\n });\r\n } else {\r\n if (!CommonHelper.isNullOrEmpty(clientDetailData[ClientRecordTab.CompanyDetails])) {\r\n this.setState({\r\n customerType: CustomerType.Company,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getHeader = (): { mainHeader: string; subHeader: string } => {\r\n const { currentSideMenu, urlParams, clientAccount, additionalInfo } = this.state;\r\n if (\r\n (currentSideMenu == SideMenu.Account && this.getCustomerId()) ||\r\n currentSideMenu == SideMenu.Portfolio ||\r\n currentSideMenu == SideMenu.ConsolidatedAccount\r\n ) {\r\n return {\r\n mainHeader: `${additionalInfo == null || additionalInfo == undefined ? `` : additionalInfo.Name}`,\r\n subHeader: `${\r\n currentSideMenu == SideMenu.ConsolidatedAccount ? \"ACCOUNT ID\" : \"CLIENT ID\"\r\n }: ${this.getCustomerId()}`,\r\n };\r\n }\r\n if (subAccountActionMenu.includes(currentSideMenu)) {\r\n const subAccount = (clientAccount?.SubAccounts || []).find(\r\n (ele) => ele.HierarchyId == urlParams.subaccountHierarchyId\r\n );\r\n return {\r\n mainHeader: `${subAccount?.ProductDisplayName}`,\r\n subHeader: subAccount?.ClAccountId,\r\n };\r\n }\r\n return null;\r\n };\r\n\r\n private canCreateOrEditUser() {\r\n //conditions to hide create user :\r\n //1. hold ShareholderGT25 only\r\n //2. hold LetterOfAuthority only\r\n //3. hold both LetterOfAuthority and ShareholderGT25 only\r\n //4. hold no roles\r\n //5. organisation but not corporate trustee\r\n //TODO : some condition above may not valid need to check with Dan\r\n const { accountRoleDetails } = this.state;\r\n const _accountroles = accountRoleDetails?.AccountRoles || [];\r\n const shareholderGT25Len = _accountroles.filter((ele) => ele.AccountRoleType == RoleType.ShareholderGT25)\r\n .length;\r\n const letterOfAuthLen = _accountroles.filter((ele) => ele.AccountRoleType == RoleType.ShareholderGT25).length;\r\n const invalidLen = shareholderGT25Len + letterOfAuthLen;\r\n if (\r\n _accountroles.some(\r\n (ele) => ele.AccountRoleType == RoleType.Trustee && ele.AccountRoleStatus == RoleStatus.Active\r\n ) &&\r\n this.state.customerType != CustomerType.Individual\r\n ) {\r\n return true;\r\n }\r\n if (\r\n invalidLen == _accountroles.length ||\r\n (accountRoleDetails?.AccountRoles || []).filter(\r\n (role) =>\r\n role.AccountStatus.toLowerCase() != \"inprogress\" && role.AccountRoleStatus != RoleStatus.Inactive\r\n ).length == 0 ||\r\n this.state.customerType != CustomerType.Individual\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const menu = this.getMenu();\r\n const additionalInfo = this.state.additionalInfo;\r\n return (\r\n <>\r\n this.onClick(method)}\r\n customNavigationVisibility={this.state.customNavigationVisibility}\r\n subHeader={this.getHeader()?.subHeader}\r\n onBackClick={() => {\r\n const type = HierarchyIdHelper.generateHierarchyId(this.props.urlParams?.levelHierarchyId)\r\n .hierarchyLevel;\r\n if (type == HierarchyLevelName.Customer) {\r\n //if previous level is portfolio level, then get sidemenu by customer hierarchyId\r\n this.getDataForSideMenu(\r\n SideMenu.Account,\r\n this.props.urlParams.levelHierarchyId,\r\n null,\r\n null\r\n );\r\n } else {\r\n this.getDataForSideMenu(\r\n SideMenu.Account,\r\n this.props.urlParams.levelHierarchyId,\r\n this.state.clientAccount.HierarchyId,\r\n null\r\n );\r\n }\r\n }}\r\n showBack={this.shouldShowBackOption()}\r\n >\r\n <>\r\n {[SideMenu.Portfolio, SideMenu.ConsolidatedAccount].includes(this.state.urlParams.SideMenu) &&\r\n additionalInfo?.UnderlyingClientAccount?.length > 1 && (\r\n {\r\n const isCon = hierarchyId == ConsolidatedAccountStore.getData()?.HierarchyId;\r\n this.getDataForPortfolioActionMenu(\r\n additionalInfo?.UnderlyingClientAccount?.find(\r\n (ele) => ele.HierarchyId == hierarchyId\r\n ),\r\n isCon ? SideMenu.ConsolidatedAccount : SideMenu.Portfolio,\r\n this.state.urlParams.levelHierarchyId,\r\n null\r\n );\r\n }}\r\n selectedHeadAccount={this.state.urlParams.headaccounthierarchyId}\r\n />\r\n )}\r\n {!this.state.isLoading && (\r\n {\r\n this.getDataForSideMenu(\r\n sideMenu,\r\n this.state.urlParams.levelHierarchyId,\r\n sideMenu === SideMenu.Portfolio\r\n ? hierarchyId\r\n : this.state.urlParams.headaccounthierarchyId,\r\n sideMenu === SideMenu.Portfolio ? null : hierarchyId\r\n );\r\n }}\r\n trustDetail={this.state.trustDetail}\r\n sideMenu={this.state.currentSideMenu}\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private getPensionData(): void {\r\n const nprSubAccount = (this.state.clientAccount?.SubAccounts || []).find(\r\n (subAccount) => subAccount.SubAccountType === SubAccountType.Npr\r\n );\r\n if (nprSubAccount) {\r\n Action.getCappedArrangementDetails(nprSubAccount.HierarchyId, (val) => {\r\n this.setState({\r\n cappedArrangmentDetails: val,\r\n });\r\n });\r\n Action.getPensionSubAccountSettings(nprSubAccount.HierarchyId, (val) => {\r\n this.setState({\r\n pensionSubAccountSettings: val,\r\n });\r\n });\r\n }\r\n }\r\n\r\n private getIsaCashData(): void {\r\n const isaCash = (this.state.clientAccount?.SubAccounts || []).find(\r\n (subAccount) => subAccount.SubAccountType === SubAccountType.CashIsa\r\n );\r\n if (isaCash) {\r\n new IsaAllowanceOverviewClient().get(this.state.clientAccount.HierarchyId, 1).onSuccess((x) => {\r\n this.setState({ lastTaxYearISAAllowance: x });\r\n });\r\n new IsaAllowanceOverviewClient().get(this.state.clientAccount.HierarchyId, 0).onSuccess((x) => {\r\n this.setState({ currentTaxYearISAAllowance: x });\r\n });\r\n }\r\n }\r\n\r\n private getCustomerId(): number {\r\n const hierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n if (!hierarchyId) {\r\n return HierarchyIdHelper.generateHierarchyId(this.state.urlParams.levelHierarchyId).entityId;\r\n }\r\n return HierarchyIdHelper.generateHierarchyId(hierarchyId).entityId;\r\n }\r\n\r\n private getActionMenu(sideMenu: SideMenu): void {\r\n const { clientAccount } = this.state;\r\n Action.getActionMenus(\r\n sideMenu,\r\n clientAccount?.HierarchyId,\r\n (clientAccount?.SubAccounts || []).find(\r\n (ele) => ele.HierarchyId == this.props.urlParams.subaccountHierarchyId\r\n )?.HierarchyId,\r\n clientAccount?.HeadClAccountId,\r\n this.getCustomerId(),\r\n (val) => {\r\n const menu = val.concat();\r\n\r\n this.setState({\r\n menu: menu,\r\n currentSideMenu: sideMenu,\r\n });\r\n }\r\n );\r\n }\r\n\r\n private shouldShowBackOption(): boolean {\r\n return subAccountActionMenu.some((menu) => menu === this.state.currentSideMenu);\r\n }\r\n\r\n private onClick(method: string) {\r\n this.setState({ customNavigationVisibility: method !== Contents.Method_CloseMenu }, () => {\r\n this.props.onClick(method);\r\n });\r\n }\r\n\r\n private getMenu(): MenuItem[] {\r\n let menu = this.state.menu.concat();\r\n const { currentSideMenu } = this.state;\r\n const { accountRoleDetails } = this.state;\r\n /**\r\n * onshore bond and offshore bond, data backfill\r\n */\r\n if (currentSideMenu == SideMenu.OnshoreBond || currentSideMenu == SideMenu.OffshoreBond) {\r\n let subaccount = null;\r\n if (currentSideMenu == SideMenu.OnshoreBond) {\r\n subaccount = (this.state.clientAccount?.SubAccounts || []).find(\r\n (x) =>\r\n x.SubAccountType == SubAccountType.OnshoreBond &&\r\n x.HierarchyId == this.state.urlParams.subaccountHierarchyId\r\n );\r\n }\r\n if (currentSideMenu == SideMenu.OffshoreBond) {\r\n subaccount = (this.state.clientAccount?.SubAccounts || []).find(\r\n (x) =>\r\n x.SubAccountType == SubAccountType.OffshoreBond &&\r\n x.HierarchyId == this.state.urlParams.subaccountHierarchyId\r\n );\r\n }\r\n if (checkPermission(UserClaim.AdviserPortalAccountInfoCanView)) {\r\n const data: MenuItem = {\r\n MenuCaption: \"Bond options\",\r\n SubMenu: [\r\n {\r\n MenuCaption: \"Account info\",\r\n Url: `/clients/clientdetails/clientdetails-accountinfo.aspx?claccountid=${subaccount?.ClAccountId}&subaccounttype=${subaccount?.SubAccountType}`,\r\n },\r\n ],\r\n };\r\n menu.push(data);\r\n }\r\n }\r\n let quickDeposit = menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Payments\".toLowerCase())?.SubMenu;\r\n if (quickDeposit) {\r\n quickDeposit = quickDeposit.filter((a) => a.MenuCaption.toLowerCase() != \"Quick deposit\".toLowerCase());\r\n menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Payments\".toLowerCase()).SubMenu = quickDeposit;\r\n }\r\n if (currentSideMenu == SideMenu.Account && !isConsolidate()) {\r\n let sub = menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Client Details\".toLowerCase())?.SubMenu;\r\n if (sub) {\r\n sub = checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView)\r\n ? [\r\n {\r\n HierarchyId: null,\r\n MenuCaption: \"Personal details\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/customer/${this.props.urlParams.levelHierarchyId}/detail`,\r\n },\r\n {\r\n MenuCaption: \"Interested Parties\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/customer/${this.props.urlParams.levelHierarchyId}/roles`,\r\n },\r\n ]\r\n : [];\r\n menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Client Details\".toLowerCase()).SubMenu = sub;\r\n }\r\n }\r\n if (currentSideMenu == SideMenu.Portfolio) {\r\n let sub = menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Client details\".toLowerCase())?.SubMenu;\r\n if (sub) {\r\n let updatedSub = sub.map((item) => {\r\n if (item.MenuCaption.toLowerCase() == \"Personal details\".toLowerCase()) {\r\n return {\r\n ...item,\r\n Url: isConsolidate()\r\n ? `/wpadviser/en-gb/dashboard/home/main/customer/${\r\n this.state.roles.find((ele) => ele.IsPrimary)?.Customer?.HierarchyId\r\n }/detail`\r\n : `/wpadviser/en-gb/dashboard/home/main/customer/${this.props.urlParams.levelHierarchyId}/detail`,\r\n };\r\n }\r\n if (item.MenuCaption.toLowerCase() == \"Account details\".toLowerCase()) {\r\n return {\r\n ...item,\r\n Url:\r\n this.state.clientAccount?.InvestorType == InvestorType.Trust\r\n ? `/clients/clientdetails/clientdetails-accountinfo.aspx?claccountid=${this.state.clientAccount?.HeadClAccountId}`\r\n : `/wpadviser/en-gb/dashboard/home/main/customer/${\r\n isConsolidate()\r\n ? this.state.roles.find((ele) => ele.IsPrimary)?.Customer?.HierarchyId\r\n : this.props.urlParams.levelHierarchyId\r\n }/roles?showaccountinfo=${this.state.clientAccount?.HierarchyId}`,\r\n };\r\n }\r\n return item;\r\n });\r\n if (!checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView)) {\r\n updatedSub = updatedSub.filter(\r\n (x) => x.MenuCaption.toLowerCase() != \"Personal details\".toLowerCase()\r\n );\r\n }\r\n if (\r\n !checkPermission(UserClaim.AdviserPortalAccountInfoCanView) &&\r\n this.state.clientAccount?.InvestorType == InvestorType.Trust\r\n ) {\r\n updatedSub = updatedSub.filter(\r\n (x) => x.MenuCaption.toLowerCase() != \"Account details\".toLowerCase()\r\n );\r\n }\r\n if (\r\n !checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView) &&\r\n this.state.clientAccount?.InvestorType != InvestorType.Trust\r\n ) {\r\n updatedSub = updatedSub.filter(\r\n (x) => x.MenuCaption.toLowerCase() != \"Account details\".toLowerCase()\r\n );\r\n }\r\n menu.find(\r\n (ele) => ele.MenuCaption.toLowerCase() == \"Client details\".toLowerCase()\r\n ).SubMenu = updatedSub;\r\n }\r\n //modify the menu button according to different condition\r\n if (\r\n this.canCreateOrEditUser() &&\r\n ((checkPermission(UserClaim.AdviserPortalDluEditUserCanView) && accountRoleDetails?.ActorUserId > 0) ||\r\n ((accountRoleDetails?.ActorUserId == 0 || accountRoleDetails?.ActorUserId == undefined) &&\r\n checkPermission(UserClaim.AdviserPortalDluNewUserCanView)))\r\n ) {\r\n const sub =\r\n this.state.actorUserID > 0\r\n ? [\r\n {\r\n MenuCaption: \"Edit User\",\r\n Url: `/admin/users/edituser.aspx?searchuserid=${this.state.actorUserID}&type=EDIT`,\r\n },\r\n ]\r\n : [\r\n {\r\n MenuCaption: \"Create User\",\r\n Url: `/admin/users/newuser.aspx?customerid=${this.getCustomerId()}`,\r\n },\r\n ];\r\n\r\n const userAccessMenu = menu.find(\r\n (ele) => ele.MenuCaption.toLowerCase() === \"User Access\".toLowerCase()\r\n );\r\n if (userAccessMenu) {\r\n userAccessMenu.SubMenu = sub;\r\n }\r\n } else {\r\n menu = menu.filter((ele) => ele.MenuCaption.toLowerCase() !== \"User Access\".toLowerCase());\r\n }\r\n }\r\n if (currentSideMenu == SideMenu.ConsolidatedAccount) {\r\n let sub = menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Client Details\".toLowerCase())?.SubMenu;\r\n if (sub) {\r\n let updatedSub = sub.map((item) => {\r\n if (item.MenuCaption.toLowerCase() == \"Account details\".toLowerCase()) {\r\n return {\r\n ...item,\r\n Url: `/clients/clientdetails/clientdetails-accountinfo.aspx?claccountid=${\r\n ConsolidatedAccountStore.getData()?.HeadClAccountId\r\n }`,\r\n };\r\n }\r\n return item;\r\n });\r\n\r\n if (!checkPermission(UserClaim.AdviserPortalAccountInfoCanView)) {\r\n updatedSub = updatedSub.filter(\r\n (x) => x.MenuCaption.toLowerCase() != \"Account details\".toLowerCase()\r\n );\r\n }\r\n menu.find(\r\n (ele) => ele.MenuCaption.toLowerCase() == \"Client Details\".toLowerCase()\r\n ).SubMenu = updatedSub;\r\n }\r\n }\r\n /**\r\n * head account level, data backfill\r\n */\r\n if (this.state.currentSideMenu == SideMenu.Portfolio) {\r\n const subMenus: MenuItem[] = (this.state.clientAccount?.SubAccounts || []).map((subaccount) => {\r\n let menuCaption = subaccount.ProductDisplayName;\r\n if (subaccount.ProductDisplayName.toLowerCase() == \"Personal Portfolio\".toLowerCase()) {\r\n menuCaption = subaccount.ProductDisplayName + \"-\" + subaccount.ClAccountId.slice(-3);\r\n }\r\n return { MenuCaption: menuCaption, HierarchyId: subaccount.HierarchyId };\r\n });\r\n const hierarchyid = this.state.clientAccount?.HierarchyId;\r\n const customerid = this.getCustomerId();\r\n if (this.state.clientdetail?.CustomerStatus != CustomerStatus.Deceased) {\r\n if (\r\n this.state.clientAccount?.InvestorType == InvestorType.Trust &&\r\n checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ) {\r\n if (this.state.canNewProduct) {\r\n const headClaccountId = this.state.clientAccount?.HeadClAccountId;\r\n subMenus.push({\r\n MenuCaption: subMenuLabels.newProductLabel,\r\n Url:\r\n \"/clients/newbusiness/newtransfer.aspx?filter=newbusinessexistingclient&needclient=1&claccountid=\" +\r\n headClaccountId,\r\n });\r\n }\r\n } else if (\r\n this.state.clientAccount?.InvestorType != InvestorType.Trust &&\r\n checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ) {\r\n subMenus.push({\r\n MenuCaption: subMenuLabels.newProductLabel,\r\n Url: `/wpadviser/en-gb/dashboard/home/main/client/new-business/full-client-detail?customerid=${customerid}&hierarchyid=${hierarchyid}`,\r\n });\r\n }\r\n if (\r\n this.state.clientAccount?.InvestorType != InvestorType.Trust &&\r\n checkPermission(UserClaim.AdviserPortalPortfolioViewAddNewAccountReadWrite) &&\r\n !PortfolioDashboardStore.hasInProgressAccounts()\r\n ) {\r\n subMenus.push({\r\n MenuCaption: subMenuLabels.createNB,\r\n Url: `/wpadviser/en-gb/dashboard/home/main/client/new-business/full-client-detail?customerid=${customerid}`,\r\n });\r\n }\r\n }\r\n\r\n const productActions: MenuItem[] = [\r\n {\r\n MenuCaption: productActionsLabels.heading,\r\n SubMenu: subMenus,\r\n },\r\n ];\r\n if (\r\n [\r\n InvestorType.Individual,\r\n InvestorType.Joint,\r\n InvestorType.Trust,\r\n InvestorType.JointIndividual,\r\n ].includes(this.state.clientAccount?.InvestorType)\r\n ) {\r\n // todo confirm with Dan\r\n const clientDetailsMenuItem = menu.find((ele) => ele.MenuCaption.toLowerCase() === \"client details\".toLowerCase());\r\n\r\n if (clientDetailsMenuItem) {\r\n \r\n let sub = clientDetailsMenuItem.SubMenu.filter((x) => x.MenuCaption.toLowerCase() !== \"capital gains settings\".toLowerCase());\r\n\r\n if (!Array.isArray(sub)) {\r\n sub = [];\r\n }\r\n\r\n sub.push({\r\n MenuCaption: \"Capital Gains Settings\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/client/cgt/cgt?clienthierarchyid=${\r\n isConsolidate()\r\n ? this.state.roles.find((ele) => ele.IsPrimary)?.Customer?.HierarchyId\r\n : this.props.urlParams.levelHierarchyId\r\n }&hierarchyid=${hierarchyid}&customerid=${\r\n isConsolidate()\r\n ? this.state.roles.find((ele) => ele.IsPrimary)?.Customer?.CustomerId\r\n : customerid\r\n }`,\r\n });\r\n\r\n clientDetailsMenuItem.SubMenu = sub;\r\n } else {\r\n console.warn(\"Menu item 'Client details' not found.\");\r\n }\r\n }\r\n if (\r\n checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView) &&\r\n menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Client details\".toLowerCase()) != undefined\r\n ) {\r\n let sub: MenuItem[] = menu\r\n .find((ele) => ele.MenuCaption.toLowerCase() == \"Client details\".toLowerCase())\r\n ?.SubMenu.filter((x) => x.MenuCaption != \"Interested Parties\");\r\n sub.push({\r\n MenuCaption: \"Interested Parties\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/customer/${\r\n isConsolidate()\r\n ? this.state.roles.find((ele) => ele.IsPrimary)?.Customer?.HierarchyId\r\n : this.props.urlParams.levelHierarchyId\r\n }/roles`,\r\n });\r\n menu.find((ele) => ele.MenuCaption.toLowerCase() == \"Client details\".toLowerCase()).SubMenu = sub;\r\n }\r\n menu = productActions.concat(menu);\r\n }\r\n /**\r\n * NPR, data backfill\r\n */\r\n if (this.state.currentSideMenu == SideMenu.NewSipp) {\r\n const nprSubAccount = this.state.clientAccount?.SubAccounts.filter(\r\n (subAccount) =>\r\n subAccount.SubAccountType === SubAccountType.Npr &&\r\n subAccount.HierarchyId == this.state.urlParams.subaccountHierarchyId\r\n )[0];\r\n\r\n const queryParameter: IParameterModel = {\r\n SideMenu: currentSideMenu,\r\n clAccountId: this.state.clientAccount?.HeadClAccountId,\r\n hierarchyId: this.state.clientAccount?.HierarchyId,\r\n customerId: this.getCustomerId(),\r\n };\r\n const conditionalSubMenus: MenuItem[] = MenuItemsHelper.getConditionalMenuItems(\r\n this.state.pensionSubAccountSettings,\r\n this.state.cappedArrangmentDetails,\r\n queryParameter,\r\n nprSubAccount\r\n );\r\n //todo add permission check when we build pension\r\n if (!isNullOrEmpty(menu)) {\r\n menu.forEach((item) => {\r\n if (item.MenuCaption.toLowerCase() === \"Drawdown\".toLowerCase()) {\r\n item.SubMenu.push({\r\n MenuCaption: \"More\",\r\n SubMenu: conditionalSubMenus,\r\n Url: \"\",\r\n });\r\n }\r\n });\r\n }\r\n }\r\n /**\r\n * sub account data backfill\r\n */\r\n if (this.state.currentSideMenu == SideMenu.IsaCash) {\r\n if (!this.state.currentTaxYearISAAllowance || !this.state.lastTaxYearISAAllowance) {\r\n menu = [];\r\n } else {\r\n const index = menu.findIndex((x) => x.MenuCaption.toLowerCase() == \"Payments\".toLowerCase());\r\n const canDoContribution =\r\n (this.state.currentTaxYearISAAllowance?.Expected.Amount > 0 ||\r\n this.state.currentTaxYearISAAllowance?.Used.Amount > 0 ||\r\n this.state.lastTaxYearISAAllowance?.Expected.Amount > 0 ||\r\n this.state.lastTaxYearISAAllowance?.Used.Amount > 0) &&\r\n JsonDateParser.toDate(this.state.currentTaxYearISAAllowance?.StopIsaCashDate) >= new Date();\r\n if (!canDoContribution) {\r\n menu.splice(index, 1);\r\n }\r\n }\r\n }\r\n if (\r\n this.state.currentSideMenu == SideMenu.PersonalPortfolio ||\r\n this.state.currentSideMenu == SideMenu.IsaStocks\r\n ) {\r\n const index = menu.findIndex((x) => x.MenuCaption.toLowerCase() == \"Projections\".toLowerCase());\r\n if (index > -1 && this.state.clientAccount?.InvestorType == InvestorType.Trust) {\r\n const indexWhatIf = menu[index].SubMenu.findIndex(\r\n (x) => x.MenuCaption.toLowerCase() == \"Launch 'What if' tool\".toLowerCase()\r\n );\r\n if (indexWhatIf > -1) {\r\n menu[index].SubMenu.splice(indexWhatIf, 1);\r\n }\r\n }\r\n }\r\n\r\n return menu;\r\n }\r\n}\r\n","export class IconMap {\r\n /**\r\n * Get icon by menu item's title.\r\n * @param menuTitle - title of menu item\r\n */\r\n public static getIcon(menuTitle: string): string | undefined {\r\n return typeof menuTitle === 'string' ? IconMap.mappings.get(menuTitle.toLowerCase()) : undefined;\r\n }\r\n\r\n /**\r\n * Create a map of menu's titles to icons.\r\n * Menu's titles will be converted to lower case.\r\n */\r\n private static getMap(): Map {\r\n const titleToIcons: [string, string][] = [\r\n [\"Client activity\", \"e942\"],\r\n [\"Investments\", \"e93f\"],\r\n [\"Reporting\", \"e93b\"],\r\n [\"Bulk\", \"e934\"],\r\n [\"Tracking\", \"e939\"],\r\n [\"Transactions\", \"e938\"],\r\n [\"Users and access\", \"e921\"],\r\n [\"Product actions\", \"e93a\"],\r\n [\"Charges\", \"e935\"],\r\n [\"Orders\", \"e93e\"],\r\n [\"Workflow\", \"e936\"],\r\n [\"Client details\", \"e942\"],\r\n [\"Transaction history\", \"e93c\"],\r\n [\"Payments\", \"e93d\"],\r\n [\"Money out\", \"e941\"],\r\n [\"Manage portfolio service\", \"e940\"],\r\n [\"Drawdown\", \"e941\"],\r\n [\"Trading\", \"e93c\"],\r\n [\"Tools\", \"e93d\"],\r\n [\"Others\", \"e91b\"],\r\n [\"Transation history\", \"e93c\"],\r\n\r\n // Icons for \"Admin\" page\r\n [\"Cash\", \"e934\"],\r\n [\"Platform set-up\", \"e921\"],\r\n [\"Bits n bobs\", \"e938\"],\r\n [\"Transfers\", \"e939\"],\r\n [\"Authorisations & Corrections\", \"e942\"],\r\n [\"MI & Reports\", \"e938\"],\r\n [\"Configuration\", \"e939\"],\r\n ];\r\n\r\n // Convert the title to lower case to make the function more robust,\r\n // It will not break when the title changes letter case style in the future.\r\n const map = new Map(titleToIcons.map(([title, icon]) => [title.toLowerCase(), icon]));\r\n return map;\r\n }\r\n\r\n // Cache the mapping object to improve performance\r\n private static mappings: Map = IconMap.getMap();\r\n}\r\n","import { SubAccount } from \"../../../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\nimport { CappedArrangementDetails } from \"../../../../../Wrap/Models/Domains/Drawdown/CappedArrangementDetails\";\r\nimport { MenuItem } from \"../../../../../Wrap/Models/Domains/Menu/MenuItem\";\r\nimport { PensionSubAccountSettings } from \"../../../../../Wrap/Models/Domains/SubAccount/PensionSubAccountSettings\";\r\nimport { Contents } from \"../../../Resoures/Contents\";\r\nimport { IParameterModel } from \"../IParameterModel\";\r\n\r\nexport class MenuItemsHelper {\r\n public static getConditionalMenuItems(\r\n pensionSubAccountSettings: PensionSubAccountSettings,\r\n cappedArrangementDetails: Array,\r\n queryParameter: IParameterModel,\r\n nprSubAccount: SubAccount\r\n ) {\r\n const menuItems: MenuItem[] = [];\r\n if (pensionSubAccountSettings) {\r\n if (pensionSubAccountSettings.CanEditRegularCrystallisation) {\r\n //TODO : add permission check when build pension permission\r\n menuItems.push({ MenuCaption: \"Edit income drawdown\", Url: \"\", SubMenu: null });\r\n }\r\n if (pensionSubAccountSettings.CanEditIncome) {\r\n //TODO : add permission check when build pension permission\r\n menuItems.push({ MenuCaption: \"Edit income payments\", Url: \"\", SubMenu: null });\r\n }\r\n if (pensionSubAccountSettings.CanEditRegularCrystallisation) {\r\n //TODO : add permission check when build pension permission\r\n menuItems.push({\r\n MenuCaption: \"Cancel regular crystallisation\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/client/cancel-regular-crystallisation/review?&claccountid=${queryParameter.clAccountId}&hierarchyid=${queryParameter.hierarchyId}&subaccounthierarchyid=${nprSubAccount.HierarchyId}`,\r\n SubMenu: null,\r\n });\r\n }\r\n if (\r\n pensionSubAccountSettings.GadReviewEnabled &&\r\n cappedArrangementDetails != null &&\r\n cappedArrangementDetails.length > 0\r\n ) {\r\n //TODO : add permission check when build pension permission\r\n cappedArrangementDetails.forEach((arrangement) => {\r\n menuItems.push({\r\n MenuCaption: `GAD review (${arrangement.ArrangementId})`,\r\n Url: `/wpadviser/en-gb/dashboard/home/main/client/gad-review/income-payment?claccountid=${queryParameter.clAccountId}&hierarchyid=${queryParameter.hierarchyId}&subaccounthierarchyid=${nprSubAccount.HierarchyId}&arrangementid=${arrangement.ArrangementId}`,\r\n SubMenu: null,\r\n });\r\n });\r\n }\r\n //TODO : add permission check when build pension permission\r\n menuItems.push({\r\n MenuCaption: \"Update LTA\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/client/update-lifetime-allowance/update-lifetime-allowance-detail?hierarchyid=${queryParameter.hierarchyId}`,\r\n SubMenu: null,\r\n });\r\n if (pensionSubAccountSettings.CanConvertToFlexi) {\r\n //TODO : add permission check when build pension permission\r\n menuItems.push({\r\n MenuCaption: \"Convert capped to flexi\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/client/convert-capped-to-flexi/select-arrangement?hierarchyid=${queryParameter.hierarchyId}&claccountid=${queryParameter.clAccountId}`,\r\n SubMenu: null,\r\n });\r\n }\r\n if (pensionSubAccountSettings.CanEditIncome) {\r\n //TODO : add permission check when build pension permission\r\n menuItems.push({ MenuCaption: \"One-off income payment\", Url: \"\", SubMenu: null });\r\n menuItems.push({\r\n MenuCaption: \"Edit income payment\",\r\n Url: `/wpadviser/en-gb/dashboard/home/main/${Contents.URLMap.client}/${Contents.URLMap.editIncomeWithdrawals}/${Contents.URLMap.incomePayment}?claccountid=${queryParameter.clAccountId}&hierarchyid=${queryParameter.hierarchyId}&subaccounthierarchyid=${nprSubAccount.HierarchyId}`,\r\n SubMenu: null,\r\n });\r\n }\r\n }\r\n return menuItems;\r\n }\r\n}\r\n","import { SideMenu } from \"../../../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\n\r\nexport class SubaccountSideMenuMap {\r\n public static getSubaccountSideMenu(menuString: string): SideMenu {\r\n let menu = menuString;\r\n if (menuString.includes(\"Personal Portfolio\") || menuString.includes(\"PP - \")) {\r\n menu = \"Personal Portfolio\";\r\n }\r\n return this.getSideMenuMap().get(menu);\r\n }\r\n\r\n private static getSideMenuMap(): Map {\r\n const map = new Map();\r\n map.set(\"ISA Stocks & Shares\", SideMenu.IsaStocks);\r\n map.set(\"Offshore Bond\", SideMenu.OffshoreBond);\r\n map.set(\"SIPP\", SideMenu.OldSipp);\r\n map.set(\"Personal Portfolio\", SideMenu.PersonalPortfolio);\r\n map.set(\"Cash Account\", SideMenu.WrapCash);\r\n map.set(\"Onshore Bond\", SideMenu.OnshoreBond);\r\n map.set(\"ISA Cash\", SideMenu.IsaCash);\r\n map.set(\"Pension\", SideMenu.NewSipp);\r\n return map;\r\n }\r\n\r\n public static getSubaccountName(sideMenu: SideMenu): string {\r\n return this.getSubaccountNameMap().get(sideMenu);\r\n }\r\n\r\n private static getSubaccountNameMap(): Map {\r\n const map = new Map();\r\n map.set(SideMenu.IsaStocks, \"ISA Stocks & Shares\");\r\n map.set(SideMenu.OffshoreBond, \"Offshore Bond\");\r\n map.set(SideMenu.WrapCash, \"Wrap Cash\");\r\n map.set(SideMenu.OnshoreBond, \"Onshore Bond\");\r\n map.set(SideMenu.PersonalPortfolio, \"Personal Portfolio\");\r\n map.set(SideMenu.OldSipp, \"SIPP\");\r\n map.set(SideMenu.IsaCash, \"ISA Cash\");\r\n map.set(SideMenu.NewSipp, \"Pension\");\r\n return map;\r\n }\r\n\r\n public static getSubMenuBySubAccountType(subAccountType: SubAccountType): SideMenu {\r\n return this.getSideMenuMapBySubAccountType().get(subAccountType);\r\n }\r\n\r\n private static getSideMenuMapBySubAccountType(): Map {\r\n const map = new Map();\r\n map.set(SubAccountType.StocksIsa, SideMenu.IsaStocks);\r\n map.set(SubAccountType.OffshoreBond, SideMenu.OffshoreBond);\r\n map.set(SubAccountType.Sipp, SideMenu.OldSipp);\r\n map.set(SubAccountType.PersonalPortfolio, SideMenu.PersonalPortfolio);\r\n map.set(SubAccountType.InvestmentAccount, SideMenu.PersonalPortfolio);\r\n map.set(SubAccountType.WrapCash, SideMenu.WrapCash);\r\n map.set(SubAccountType.OnshoreBond, SideMenu.OnshoreBond);\r\n map.set(SubAccountType.CashIsa, SideMenu.IsaCash);\r\n map.set(SubAccountType.Pension, SideMenu.NewSipp);\r\n map.set(SubAccountType.Npr, SideMenu.NewSipp);\r\n return map;\r\n }\r\n\r\n public static IsSubAccountSideMenu(sideMenu: SideMenu): boolean {\r\n return !CommonHelper.isNullOrEmpty(this.getSubaccountNameMap().get(sideMenu));\r\n }\r\n}\r\n","import { SideMenu } from \"../../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\n\r\nexport interface IParameterModel {\r\n SideMenu: SideMenu;\r\n clAccountId?: string;\r\n hierarchyId?: string;\r\n customerId?: number;\r\n}\r\n\r\nexport interface IActionMenuParamsModel {\r\n SideMenu: SideMenu;\r\n subaccountHierarchyId: string;\r\n headaccounthierarchyId: string;\r\n levelHierarchyId: string;\r\n}\r\n\r\nexport const subAccountActionMenu = [\r\n SideMenu.WrapCash,\r\n SideMenu.PersonalPortfolio,\r\n SideMenu.IsaCash,\r\n SideMenu.IsaStocks,\r\n SideMenu.OldSipp,\r\n SideMenu.NewSipp,\r\n SideMenu.OffshoreBond,\r\n SideMenu.OnshoreBond,\r\n];\r\n","import * as React from \"react\";\r\nimport { Contents } from \"../../Resoures/Contents\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { Urls } from \"../../Urls\";\r\nimport { SideMenu } from \"../../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\nimport { CustomNavigationMenu } from \"./CustomNavigationMenu\";\r\nimport { isDLU } from \"../../Resoures/DashboardContents\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { getQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { ContextStore } from \"../../../../react-core/Flux/Variables\";\r\nimport { ContextType } from \"../../../../Wrap/Constants/Enums/ContextType\";\r\nimport { IActionMenuParamsModel } from \"./IParameterModel\";\r\nimport { getParams } from \"../../../DLU/DLUHelper\";\r\nimport CoachMarker from \"../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { isAdminSpecificPage } from \"../../../Admin/Dashboard/AdminDashboard\";\r\n\r\ninterface ISecuredCustomNavigationProps {}\r\n\r\ninterface ISecuredCustomNavigationState {\r\n actionName?: string;\r\n overlayHTML?: JSX.Element;\r\n}\r\n\r\n// action menu\r\nexport class SecuredCustomNavigation extends BaseComponent<\r\n ISecuredCustomNavigationProps,\r\n ISecuredCustomNavigationState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n actionName: null,\r\n overlayHTML: null,\r\n };\r\n }\r\n\r\n private onClick(method: string) {\r\n const _Content = Contents;\r\n switch (method) {\r\n case _Content.Method_CloseMenu:\r\n this.setState({ overlayHTML: null });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n private onBtnClick() {\r\n let _overlayHTML: JSX.Element = null;\r\n const params = getQueryParameters();\r\n const key = Urls.getCurrentUrl();\r\n const headAccountHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.Account);\r\n const subAccountHierarchyId = ContextStore.getUrlParamsHierarchyId(ContextType.SubAccount);\r\n const customerId = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n let urlParams: IActionMenuParamsModel = {\r\n headaccounthierarchyId: headAccountHierarchyId,\r\n subaccountHierarchyId: subAccountHierarchyId,\r\n levelHierarchyId: customerId,\r\n SideMenu: SideMenu.NotSpecified,\r\n };\r\n\r\n if (isAdminSpecificPage()) {\r\n urlParams.SideMenu = SideMenu.Admin;\r\n } else if (isDLU()) {\r\n urlParams = getParams();\r\n } else if (subAccountHierarchyId) {\r\n urlParams.SideMenu = SideMenu.NotSpecified;\r\n } else if (headAccountHierarchyId) {\r\n urlParams.SideMenu = SideMenu.Portfolio;\r\n } else {\r\n // left hand navigation\r\n switch (key) {\r\n case Contents.URLMap.dashboard:\r\n case Contents.URLMap.reports:\r\n urlParams.SideMenu = SideMenu.Dashboard;\r\n break;\r\n case Contents.URLMap.admin:\r\n urlParams.SideMenu = SideMenu.Admin;\r\n break;\r\n //TODO: will remove after portfolio view done\r\n case Contents.URLMap.account:\r\n urlParams.SideMenu = !CommonHelper.isNullOrEmpty(params[\"hierarchyId\"])\r\n ? SideMenu.Portfolio\r\n : SideMenu.Dashboard;\r\n\r\n urlParams.headaccounthierarchyId = params[\"hierarchyId\"];\r\n break;\r\n case Contents.URLMap.customer:\r\n urlParams.SideMenu = customerId ? SideMenu.Account : SideMenu.Dashboard;\r\n break;\r\n case Contents.URLMap.BusinessManagement:\r\n urlParams.SideMenu = SideMenu.BusinessManagement;\r\n break;\r\n case Contents.URLMap.toolsAndLiterature:\r\n urlParams.SideMenu = SideMenu.ToolLiterature;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n _overlayHTML = this.onClick(method)} urlParams={urlParams} />;\r\n\r\n this.setState({ overlayHTML: _overlayHTML });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { overlayHTML } = this.state;\r\n const isNotShow = Urls.getCurrentUrl() == Contents.URLMap.settings;\r\n return isNotShow ? null : (\r\n
    \r\n \r\n \r\n {overlayHTML !== null ? overlayHTML : null}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Contents } from \"../../Resoures/Contents\";\r\nimport { CSSTransition } from \"react-transition-group\";\r\nimport { Footer } from \"./Component/Footer\";\r\nimport { ActionMenuHeader } from \"./Component/ActionMenuHeader\";\r\nimport { FirmLogoStore } from \"../../Stroes/Variable\";\r\nimport { AddLogoAction } from \"../Settings/AddLogo/Action/AddLogoAction\";\r\nimport { CompanyLogo } from \"../../../../Wrap/Models/Domains/Company/CompanyLogo\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { UIThemeAction } from \"../Settings/Action/UIThemeAction\";\r\nimport { Lightbox } from \"../../../../react-core/Html/Components/Lightbox\";\r\nimport { UserStore } from \"../../../Dashboard/Stroes/Variable\";\r\nimport { UserClient } from \"../../../../Wrap/Api/User/User\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { UserDispatcher } from \"../../Stroes/Variable\";\r\n\r\ninterface ISecuredCustomNavigationMenuOverlayProps {\r\n onClick: (methodName: string, parameters?: any) => void;\r\n mainHeader: string;\r\n subHeader: string;\r\n customNavigationVisibility: boolean;\r\n showBack: boolean;\r\n onBackClick: () => void;\r\n isFz: boolean;\r\n}\r\n\r\ninterface ISecuredCustomNavigationMenuOverlayState {\r\n logoUrl: CompanyLogo;\r\n isLoading: boolean;\r\n}\r\n// action menu layout overlay\r\nexport class SecuredCustomNavigationMenuOverlay extends BaseComponent<\r\n ISecuredCustomNavigationMenuOverlayProps,\r\n ISecuredCustomNavigationMenuOverlayState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { logoUrl: null, isLoading: true };\r\n this.subscribeToStore(FirmLogoStore, () => this.onFirmLogoStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n const maybeUser = UserStore.getUserInfo();\r\n\r\n if (!maybeUser) {\r\n const client = new UserClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((result) => {\r\n UserDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n this.getFirmLogo();\r\n });\r\n\r\n promise.onError((err) => {});\r\n } else {\r\n this.getFirmLogo();\r\n }\r\n }\r\n\r\n private getFirmLogo() {\r\n const data = FirmLogoStore.getFirmLogoInfo();\r\n const isAdmin = UserStore.getUserInfo()?.IsAdmin != null ? UserStore.getUserInfo().IsAdmin : true;\r\n if (!data) {\r\n AddLogoAction.getLogo(isAdmin);\r\n } else {\r\n this.setState({ logoUrl: data, isLoading: false });\r\n }\r\n }\r\n\r\n private onFirmLogoStoreChange() {\r\n const data = FirmLogoStore.getFirmLogoInfo();\r\n this.setState({ logoUrl: data, isLoading: false });\r\n }\r\n\r\n private onClick(method: string) {\r\n this.props.onClick(method);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const _Content = Contents;\r\n const logoStyle = UIThemeAction.getLogoUrl(this.state.logoUrl, true);\r\n return (\r\n <>\r\n {this.props.customNavigationVisibility && (\r\n this.onClick(_Content.Method_CloseMenu)}\r\n title=\"Main navigation\"\r\n >\r\n
    \r\n
    \r\n
    \r\n {!this.state.isLoading && (\r\n \r\n {CommonHelper.isNullOrEmpty(this.state.logoUrl?.LocalUrl) &&\r\n CommonHelper.isNullOrEmpty(this.state.logoUrl?.UploadUrl) && (\r\n Abrdn Advisor platform\r\n )}\r\n \r\n )}\r\n this.onClick(_Content.Method_CloseMenu)}\r\n >\r\n \r\n Close menu\r\n \r\n
    \r\n
    \r\n
    \r\n this.props.onBackClick()}\r\n showBack={this.props.showBack}\r\n />\r\n
    \r\n \r\n {this.props.children}\r\n \r\n
    \r\n
    this.onClick(_Content.Method_CloseMenu)} />\r\n
    \r\n
    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { PortfolioViewMenuAdditionalInfo } from \"../../../../../Wrap/Models/Domains/Menu/PortfolioViewMenuAdditionalInfo\";\r\nimport { SingleDataStore } from \"../../../../Shared/Stores/SingleDataStore\";\r\nimport { SingleDataStoreDispacher } from \"../../../../Shared/Stores/SingleDataStoreDispacher\";\r\n\r\nexport const PortfolioViewMenuAdditionalInfoDisaptcher: SingleDataStoreDispacher = new SingleDataStoreDispacher<\r\n PortfolioViewMenuAdditionalInfo\r\n>();\r\nexport const PortfolioViewMenuAdditionalInfoStore: SingleDataStore = new SingleDataStore<\r\n PortfolioViewMenuAdditionalInfo\r\n>(PortfolioViewMenuAdditionalInfoDisaptcher);\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { InstructionWorkflowClient } from \"../../../../../Wrap/Api/Instruction/InstructionWorkflow\";\r\nimport { AdvisersClient } from \"../../../../../Wrap/Api/Network/Advisers\";\r\nimport { DashboardFilterClient } from \"../../../../../Wrap/Api/User/DashboardFilter\";\r\nimport { DashboardFilterReorderClient } from \"../../../../../Wrap/Api/User/DashboardFilterReorder\";\r\nimport { DashboardFiltersClient } from \"../../../../../Wrap/Api/User/DashboardFilters\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { DashboardFilterDispatcher, DashboardFilterStore } from \"../Store/Variable\";\r\n\r\nexport class DashboardAction {\r\n public static getFilterList() {\r\n const client = new DashboardFilterClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static updateFilterList(companyCode: string, adviserId: number, callback?) {\r\n const client = new DashboardFiltersClient();\r\n const promise = client.put(companyCode, adviserId);\r\n promise.onSuccess((data) => {\r\n if (callback) {callback(data);}\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getAdviserIds() {\r\n const client = new AdvisersClient();\r\n const promise = client.get(\"\", \"\", 1, 9999999, false);\r\n promise.onSuccess((data) => {\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Loading, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static setPressedId(id: number, save?: boolean) {\r\n const currentId = DashboardFilterStore.getPressedId();\r\n let pressedId = null;\r\n if (save && currentId == id) {\r\n return DashboardFilterDispatcher.dispatch({ actionType: ActionType.Update, payload: id });\r\n }\r\n if (save != true) {\r\n if (id !== currentId) {\r\n pressedId = id;\r\n }\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Update, payload: pressedId });\r\n }\r\n }\r\n\r\n public static postDashboardFilter(data: ClientDashboardFiltersModel) {\r\n const client = new DashboardFilterClient();\r\n const promise = client.post(data);\r\n\r\n promise.onSuccess((data) => {\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static putDashboardFilter(data: ClientDashboardFiltersModel) {\r\n const client = new DashboardFilterClient();\r\n const promise = client.put(data);\r\n\r\n promise.onSuccess((d) => {\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: d });\r\n DashboardAction.setPressedId(data.FilterId, true);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static orderDashboardFilter(data: ClientDashboardFiltersModel[]) {\r\n const client = new DashboardFilterReorderClient();\r\n const promise = client.put(data);\r\n\r\n promise.onSuccess((data) => {\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static deleteDashboardFilter(data: ClientDashboardFiltersModel) {\r\n const client = new DashboardFilterClient();\r\n const promise = client.delete(data);\r\n promise.onSuccess((d) => {\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: d });\r\n if (data?.FilterId == DashboardFilterStore.getPressedId()) {\r\n DashboardFilterDispatcher.dispatch({ actionType: ActionType.Update, payload: null });\r\n }\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getWorkflowTable(query, callback) {\r\n const client = new InstructionWorkflowClient();\r\n const promise = client.get(\r\n query.beginDate,\r\n query.endDate,\r\n query.advisers,\r\n query.product,\r\n query.activity,\r\n query.status,\r\n query.company,\r\n query.network,\r\n query.start,\r\n query.count,\r\n query.headAccountHierarchyIds,\r\n query.subAccountHierarchyIds,\r\n query.customerId\r\n );\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { AdvisersClient } from \"../../../../../Wrap/Api/Network/Advisers\";\r\nimport { NotificationsClient } from \"../../../../../Wrap/Api/Notifications/Notifications\";\r\nimport { NotificationFilterClient } from \"../../../../../Wrap/Api/User/NotificationFilter\";\r\nimport { NotificationFilterReorderClient } from \"../../../../../Wrap/Api/User/NotificationFilterReorder\";\r\nimport { ThreadQuery } from \"../../../../../Wrap/Models/Domains/Threads/ThreadQuery\";\r\nimport { ThreadResponse } from \"../../../../../Wrap/Models/Domains/Threads/ThreadResponse\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport { NotificationFilterDispatcher, NotificationFilterStore } from \"../Store/Variable\";\r\nimport { NotificationAlertEmaiAddressesClient } from \"../../../../../Wrap/Api/Notifications/NotificationAlertEmaiAddresses\";\r\nimport { NotificationsDefinitionsClient } from \"../../../../../Wrap/Api/Notifications/NotificationsDefinitions\";\r\nimport { NotificationDefinitionCategoryClient } from \"../../../../../Wrap/Api/Notifications/NotificationDefinitionCategory\";\r\nimport { NotificationConfigurationClient } from \"../../../../../Wrap/Api/Notifications/NotificationConfiguration\";\r\nimport { NotificationConfiguration } from \"../../../../../Wrap/Models/Domains/Threads/NotificationConfiguration\";\r\nimport { NotificationEmailConfiguration } from \"../../../../../Wrap/Models/Domains/Threads/NotificationEmailConfiguration\";\r\nimport { AlertTriggerInfoClient } from \"../../../../../Wrap/Api/Notifications/AlertTriggerInfo\";\r\n\r\nexport class NotificationAction {\r\n public static getFilterList() {\r\n const client = new NotificationFilterClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getAdviserIds() {\r\n const client = new AdvisersClient();\r\n const promise = client.get(\"\", \"\", 1, 9999999, false);\r\n promise.onSuccess((data) => {\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Loading, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static setPressedId(id: number, save?: boolean) {\r\n const currentId = NotificationFilterStore.getPressedId();\r\n let pressedId = null;\r\n if (save && currentId == id) {\r\n return NotificationFilterDispatcher.dispatch({ actionType: ActionType.Update, payload: id });\r\n }\r\n if (save != true) {\r\n if (id !== currentId) {\r\n pressedId = id;\r\n }\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Update, payload: pressedId });\r\n }\r\n }\r\n\r\n public static postNotificationFilter(data: ClientNotificationFiltersModel) {\r\n const client = new NotificationFilterClient();\r\n const promise = client.post(data);\r\n\r\n promise.onSuccess((data) => {\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n NotificationAction.setPressedId(data?.[data?.length - 1]?.FilterId, true);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static putNotificationFilter(data: ClientNotificationFiltersModel) {\r\n const client = new NotificationFilterClient();\r\n const promise = client.put(data);\r\n\r\n promise.onSuccess((d) => {\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: d });\r\n NotificationAction.setPressedId(data.FilterId, true);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static orderNotificationFilter(data: ClientNotificationFiltersModel[]) {\r\n const client = new NotificationFilterReorderClient();\r\n const promise = client.put(data);\r\n\r\n promise.onSuccess((data) => {\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: data });\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static deleteNotificationFilter(data: ClientNotificationFiltersModel) {\r\n const client = new NotificationFilterClient();\r\n const promise = client.delete(data);\r\n promise.onSuccess((d) => {\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Success, payload: d });\r\n if (data?.FilterId == NotificationFilterStore.getPressedId()) {\r\n NotificationFilterDispatcher.dispatch({ actionType: ActionType.Update, payload: null });\r\n }\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getNotificationTable(query: ThreadQuery, callback) {\r\n const client = new NotificationsClient();\r\n const promise = client.post(query);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getNotificationDefinitionCategories(callback) {\r\n const client = new NotificationDefinitionCategoryClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getNotificationDefinitions(callback) {\r\n const client = new NotificationsDefinitionsClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getNotificationConfiguration(callback) {\r\n const client = new NotificationConfigurationClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getNotificationEmailConfiguration(callback) {\r\n const client = new NotificationAlertEmaiAddressesClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static updateNotificationEmailConfiguration(emailConfig: NotificationEmailConfiguration, callback) {\r\n const client = new NotificationAlertEmaiAddressesClient();\r\n const promise = client.put(emailConfig);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static updateNotificationConfiguration(configurations: Array, callback) {\r\n const client = new NotificationConfigurationClient();\r\n const promise = client.put(configurations);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static updateThread(query: ThreadResponse, callback) {\r\n const client = new NotificationsClient();\r\n const promise = client.put(query);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n\r\n public static getTriggerInformation(callback) {\r\n const client = new AlertTriggerInfoClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Contents } from \"../../../../../Shared/Components/Resource/Contents\";\r\nimport { DatePicker } from \"../../../../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditorFactory } from \"../../../../../../react-core/Html/Factories/SelectEditorFactory\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { DashboardDateRangeOption, DashboardDateRangeOptions } from \"../../Resource/Content\";\r\nimport { DateHelper } from \"../../../../../../react-core/Helpers/DateHelper\";\r\nimport { addDays } from \"../../../../../../react-core/utils/date\";\r\n\r\ninterface IDateRangeProps {\r\n minDate?: Date;\r\n optionKey: DashboardDateRangeOption;\r\n beginDate?: Date;\r\n showDateRangeText?: boolean;\r\n endDate?: Date;\r\n disabled?: boolean;\r\n onChange: (beginDate: Date, endDate: Date, optionKey: string, isFromAndTo?: boolean) => void;\r\n}\r\n\r\ninterface IDateRangeState {\r\n optionKey?: string;\r\n fromDateSelected?: Date;\r\n toDateSelected?: Date;\r\n}\r\n\r\nexport class DashboardDateRange extends BaseComponent {\r\n constructor(props: IDateRangeProps) {\r\n super(props);\r\n const initDataRangeOption = this.onDateSelectChange(props.optionKey || \"Past 6 months\");\r\n\r\n this.state = {\r\n optionKey: props.optionKey ? props.optionKey : \"Past 6 months\",\r\n fromDateSelected: props.beginDate ? props.beginDate : initDataRangeOption.fromDateSelected,\r\n toDateSelected: props.endDate ? props.endDate : initDataRangeOption.toDateSelected,\r\n };\r\n }\r\n\r\n private isLeapDay(endDate: Date) {\r\n const year = endDate.getFullYear();\r\n const isLeapYear = year % 100 === 0 ? year % 400 === 0 : year % 4 === 0;\r\n const leapdaystr = endDate.getFullYear() + \"/02/29\";\r\n const todaystr = JsonDateParser.getFormatDateString(endDate, \"yyyy/MM/dd\");\r\n return isLeapYear && todaystr === leapdaystr;\r\n }\r\n\r\n private getPastYear(endDate: Date): Date {\r\n return this.isLeapDay(endDate)\r\n ? new Date(endDate.getFullYear() - 1, 2, 1)\r\n : new Date(endDate.getFullYear() - 1, endDate.getMonth(), endDate.getDate() + 1);\r\n }\r\n\r\n public componentDidMount() {\r\n this.props.onChange(this.state.fromDateSelected, this.state.toDateSelected, this.state.optionKey);\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IDateRangeProps) {\r\n if (nextProps.optionKey != this.props.optionKey) {\r\n this.setState({ optionKey: nextProps.optionKey });\r\n }\r\n\r\n if (nextProps.beginDate != this.props.beginDate) {\r\n this.setState({ fromDateSelected: nextProps.beginDate });\r\n }\r\n if (nextProps.endDate != this.props.endDate) {\r\n this.setState({ toDateSelected: nextProps.endDate });\r\n }\r\n }\r\n\r\n private onDateSelectChange(key: string) {\r\n let beginDate: Date = null;\r\n let endDate: Date = null;\r\n let fromYear = null;\r\n let toYear = null;\r\n const now = new Date();\r\n now.setHours(0, 0, 0);\r\n const nowStr = JsonDateParser.getFormatDateString(now, \"yyyy/MM/dd\").split(\"/\");\r\n const pointDate = new Date(Number(nowStr[0]), 3, 6);\r\n\r\n switch (key) {\r\n case \"Past tax year\":\r\n if (now > pointDate) {\r\n fromYear = Number(nowStr[0]) - 1;\r\n toYear = Number(nowStr[0]);\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = new Date(toYear, 3, 5);\r\n } else {\r\n fromYear = Number(nowStr[0]) - 2;\r\n toYear = Number(nowStr[0]) - 1;\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = new Date(toYear, 3, 5);\r\n }\r\n break;\r\n case \"Current tax year\": //\"Current tax year\"\r\n if (now > pointDate) {\r\n fromYear = Number(nowStr[0]);\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = now;\r\n } else {\r\n fromYear = Number(nowStr[0]) - 1;\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = now;\r\n }\r\n break;\r\n case \"Custom\": //\"Custom\"\r\n beginDate = this.getPastYear(now);\r\n endDate = now;\r\n break;\r\n case \"Past year\": //\"Past year\"\r\n beginDate = this.getPastYear(now);\r\n endDate = now;\r\n break;\r\n case \"Past 6 months\": //\"Past 6 months\"\r\n beginDate = this.isLeapDay(now)\r\n ? new Date(now.getFullYear() - 1, 8, 1)\r\n : new Date(now.getFullYear(), now.getMonth() - 6, now.getDate() + 1);\r\n endDate = now;\r\n break;\r\n case \"Past 3 months\":\r\n beginDate = this.isLeapDay(now)\r\n ? new Date(now.getFullYear() - 1, 12, 1)\r\n : new Date(now.getFullYear(), now.getMonth() - 3, now.getDate() + 1);\r\n endDate = now;\r\n break;\r\n case \"Past month\":\r\n beginDate = this.isLeapDay(now)\r\n ? new Date(now.getFullYear(), 2, 1)\r\n : new Date(now.getFullYear(), now.getMonth() - 1, now.getDate() + 1);\r\n endDate = now;\r\n break;\r\n }\r\n return { optionKey: key, fromDateSelected: beginDate, toDateSelected: endDate };\r\n }\r\n\r\n private renderFromDate(): JSX.Element {\r\n const { fromDateSelected, toDateSelected, optionKey } = this.state;\r\n\r\n if (optionKey !== \"Custom\") {\r\n return null;\r\n }\r\n const _selected = fromDateSelected ? fromDateSelected : new Date();\r\n\r\n const minFromDate = toDateSelected ? addDays(toDateSelected, -365) : null;\r\n\r\n return (\r\n
    \r\n \r\n this.setState({ fromDateSelected: d }, () => {\r\n this.props.onChange(d, toDateSelected, optionKey, true);\r\n })\r\n }\r\n todayButton=\"Today\"\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\r\n \"dd/MM/yyyy\",\r\n \"dd-MM-yyyy\",\r\n \"ddMMyyyy\",\r\n \"dd.MM.yyyy\",\r\n \"dd_MM_yyyy\",\r\n \"dd MM yyyy\",\r\n ]}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n
    \r\n );\r\n }\r\n\r\n private renderToDate(): JSX.Element {\r\n const { fromDateSelected, toDateSelected, optionKey } = this.state;\r\n const now = new Date();\r\n if (optionKey !== \"Custom\") {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n this.setState({ toDateSelected: d }, () => {\r\n this.props.onChange(fromDateSelected, d, optionKey, true);\r\n })\r\n }\r\n todayButton=\"Today\"\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\"dd/MM/yyyy\", \"dd-MM-yyyy\", \"ddMMyyyy\"]}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n
    \r\n );\r\n }\r\n\r\n private renderDateRangeStaticText(): string {\r\n const { fromDateSelected, toDateSelected } = this.state;\r\n return `From ${DateHelper.getDateStringAsddmmmyyyy(\r\n fromDateSelected,\r\n true\r\n )} until ${DateHelper.getDateStringAsddmmmyyyy(toDateSelected, true)}`;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { optionKey } = this.state;\r\n\r\n const DateRange = SelectEditorFactory.create();\r\n return (\r\n <>\r\n
    \r\n
    \r\n x}\r\n onChange={(val) => {\r\n const { fromDateSelected, toDateSelected, optionKey } = this.onDateSelectChange(val);\r\n this.setState({ fromDateSelected, toDateSelected, optionKey }, () => {\r\n this.props.onChange(fromDateSelected, toDateSelected, optionKey);\r\n });\r\n }}\r\n />\r\n
    \r\n {this.props.showDateRangeText && (\r\n
    \r\n

    \r\n From {DateHelper.getDateStringAsddmmmyyyy(this.state.fromDateSelected)} until{\" \"}\r\n {DateHelper.getDateStringAsddmmmyyyy(this.state.toDateSelected)}\r\n

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {this.renderFromDate()}\r\n {this.renderToDate()}\r\n
    \r\n
    \r\n
    \r\n

    {this.renderDateRangeStaticText()}

    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { DashboardFilterStore, NotificationFilterStore } from \"../../Store/Variable\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { DateRangeOptionType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/DateRangeOptionType\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { DashboardFilterForm } from \"../Workflow/DashboardFilterForm\";\r\nimport { DashboardTab, OpreationType } from \"../../Resource/Content\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport { NotificationFilterForm } from \"../Notification/NotificationFilterForm\";\r\n\r\ninterface IDashBoardFilterEditorProps {\r\n onSave?: (data) => void;\r\n onAdd?: (data) => void;\r\n onCancel: VoidFunction;\r\n onDelete: (filterId: number) => void;\r\n setDeletelightbox?: (value: boolean) => void;\r\n FilterId?: number;\r\n dashBoardFilterCount?: number;\r\n currentTabIndex: DashboardTab;\r\n}\r\n\r\ninterface IDashBoardFilterEditorState {\r\n data?: ClientDashboardFiltersModel | ClientNotificationFiltersModel;\r\n showErrorMsg: boolean;\r\n errorMessage?: string;\r\n}\r\n\r\nexport class DashboardFilterLightbox extends FormComponent {\r\n constructor(props: IDashBoardFilterEditorProps) {\r\n super(props);\r\n this.state = {\r\n data:\r\n props.currentTabIndex == DashboardTab.Workflow\r\n ? DashboardFilterStore.getFilterItemById(props.FilterId)\r\n : NotificationFilterStore.getFilterItemById(props.FilterId),\r\n showErrorMsg: false,\r\n errorMessage: \"\",\r\n };\r\n }\r\n\r\n private isEdit = !CommonHelper.isNullOrEmpty(this.props.FilterId);\r\n\r\n private onDataChange = (operation: OpreationType, data: any, dashBoardFilterCount?: number) => {\r\n if (this.state.data?.FilterName === \"\") {\r\n this.setState({ showErrorMsg: true, errorMessage: \"Filter name can't be null\" });\r\n return;\r\n }\r\n if (operation === OpreationType.Add) {\r\n if (this.props.dashBoardFilterCount >= 15) {\r\n this.setState({ showErrorMsg: true, errorMessage: \"Total filters cannot exceed 15\" });\r\n return;\r\n }\r\n\r\n this.props.onAdd(data);\r\n } else if (operation === OpreationType.Save) {\r\n this.props.onSave(data);\r\n } else if (operation === OpreationType.Delete) {\r\n if (dashBoardFilterCount <= 1) {\r\n this.setState({ showErrorMsg: true, errorMessage: \"Must have at least 1 filter\" });\r\n return;\r\n }\r\n this.props.onDelete(data.FilterId);\r\n }\r\n this.props.onCancel();\r\n };\r\n\r\n private form = null;\r\n\r\n render() {\r\n const { data } = this.state;\r\n\r\n return (\r\n <>\r\n this.props.onCancel()}\r\n show={true}\r\n isClickOutsideClose={false}\r\n title={\r\n this.isEdit\r\n ? `Edit ${this.props.currentTabIndex.toLowerCase()} filter`\r\n : `Create ${this.props.currentTabIndex.toLowerCase()} filter`\r\n }\r\n >\r\n <>\r\n {this.props.currentTabIndex == DashboardTab.Workflow && (\r\n (this.form = v)}\r\n isLightbox\r\n isActivity={false}\r\n />\r\n )}\r\n {this.props.currentTabIndex == DashboardTab.Notification && (\r\n (this.form = v)}\r\n isLightbox\r\n />\r\n )}\r\n {this.state.showErrorMsg && (\r\n \r\n )}\r\n
    \r\n {this.isEdit && (\r\n
    \r\n {\r\n if (this.props.dashBoardFilterCount <= 1) {\r\n this.setState({\r\n showErrorMsg: true,\r\n errorMessage: \"Filter can't be less than 1\",\r\n });\r\n return;\r\n }\r\n this.props.setDeletelightbox(true);\r\n }}\r\n >\r\n \r\n Delete filter\r\n \r\n
    \r\n )}\r\n
    \r\n {\r\n this.props.onCancel();\r\n }}\r\n >\r\n Cancel\r\n \r\n
    \r\n
    \r\n {\r\n if (!this.isValid() || !this.form.isValid()) {return;}\r\n const _data = { ...this.form.getData() };\r\n if (this.isEdit) {\r\n this.onDataChange(OpreationType.Save, _data);\r\n } else {\r\n this.onDataChange(OpreationType.Add, _data);\r\n }\r\n }}\r\n >\r\n {\"Save\"}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DashboardAction } from \"../../Action/DashboardAction\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\nimport { DashboardTab } from \"../../Resource/Content\";\r\nimport { DashboardFilterStore, NotificationFilterStore } from \"../../Store/Variable\";\r\n\r\nexport interface DashboardFiltersProps {\r\n onEdit?: (FilterId: number) => void;\r\n data?: any;\r\n pressedId?: number;\r\n tab: DashboardTab;\r\n}\r\nexport const DashboardFilters = (props: DashboardFiltersProps): JSX.Element => {\r\n const [ResultCount, setResultCount] = useState(null);\r\n\r\n useEffect(() => {\r\n if (props.tab == DashboardTab.Workflow) {\r\n const query = DashboardFilterStore.convertDashboardFilterToQuery(props.data, 1, null, null, null);\r\n\r\n DashboardAction.getWorkflowTable(query, (d) => {\r\n setResultCount(d?.TotalNumberOfResults);\r\n });\r\n } else {\r\n const query = NotificationFilterStore.convertDashboardFilterToQuery(props.data, 1);\r\n\r\n NotificationAction.getNotificationTable(query, (d) => {\r\n setResultCount(d?.Pager?.TotalRecords);\r\n });\r\n }\r\n });\r\n\r\n return (\r\n {\r\n e.stopPropagation();\r\n props.tab == DashboardTab.Workflow\r\n ? DashboardAction.setPressedId(props.data.FilterId)\r\n : NotificationAction.setPressedId(props.data?.FilterId);\r\n }}\r\n >\r\n
    \r\n \r\n {ResultCount != null ? (\r\n {ResultCount}\r\n ) : (\r\n
    \r\n )}\r\n {props.data?.FilterName}\r\n \r\n
    \r\n
    \r\n {\r\n e.stopPropagation();\r\n props.onEdit(props.data.FilterId);\r\n }}\r\n >\r\n Edit {props.data.FilterName}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { DashboardFilterLightbox } from \"./DashboardFilterLightbox\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { SavedFiltersDropdown } from \"./SavedFiltersDropdown\";\r\nimport { DashboardFilters } from \"./DashboardFilters\";\r\nimport { DashboardTab } from \"../../Resource/Content\";\r\nimport { DeleteLightbox } from \"../../../../Common/DeleteLightbox\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\n\r\ninterface IDashboardSummaryTilesProps {\r\n currentTabIndex: DashboardTab;\r\n data: any[];\r\n onAdd: (changes: ClientDashboardFiltersModel | ClientNotificationFiltersModel) => void;\r\n onSave: (changes: ClientDashboardFiltersModel | ClientNotificationFiltersModel) => void;\r\n onDelete: (id: number) => void;\r\n onReOrder: (newList: ClientDashboardFiltersModel[] | ClientNotificationFiltersModel[]) => void;\r\n pressedId: number;\r\n}\r\n\r\ninterface IDashboardSummaryTilesState {\r\n showLightbox: boolean;\r\n showDeletelightbox: boolean;\r\n filterId?: number;\r\n}\r\n\r\nexport class DashboardSummaryTiles extends BaseComponent {\r\n constructor(props: IDashboardSummaryTilesProps) {\r\n super(props);\r\n this.state = {\r\n showLightbox: false,\r\n showDeletelightbox: false,\r\n filterId: null,\r\n };\r\n }\r\n\r\n public setDeletelightbox = (value: boolean) => {\r\n this.setState({ showDeletelightbox: value });\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n
    \r\n {this.props.data &&\r\n this.props.data?.slice(0, 3)?.map((ele, i) => {\r\n return (\r\n {\r\n this.setState({ showLightbox: true, filterId: filterId });\r\n }}\r\n tab={this.props.currentTabIndex}\r\n />\r\n );\r\n })}\r\n
    \r\n this.setState({ showDeletelightbox: true, filterId: id })}\r\n onEdit={(filterId) => {\r\n this.setState({ showLightbox: true, filterId: filterId });\r\n }}\r\n onReorder={(newList) => this.props.onReOrder(newList)}\r\n currentTabIndex={this.props.currentTabIndex}\r\n />\r\n
    \r\n
    \r\n {\r\n this.setState({ showLightbox: true, filterId: null });\r\n }}\r\n >\r\n \r\n Create filter\r\n \r\n\r\n {this.state.showLightbox && (\r\n {\r\n this.setState({ showLightbox: false });\r\n }}\r\n setDeletelightbox={(value) => this.setDeletelightbox(value)}\r\n FilterId={this.state.filterId}\r\n onDelete={(id) => this.props.onDelete(id)}\r\n onAdd={(data) => this.props.onAdd(data)}\r\n onSave={(data) => this.props.onSave(data)}\r\n currentTabIndex={this.props.currentTabIndex}\r\n />\r\n )}\r\n\r\n {this.state.showDeletelightbox && (\r\n this.setState({ showLightbox: false, showDeletelightbox: false })}\r\n onDelete={() => {\r\n this.setState({ showLightbox: false, showDeletelightbox: false });\r\n this.props.onDelete(this.state.filterId);\r\n }}\r\n content={

    Are you sure you want to delete this activity?

    }\r\n />\r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { DashboardAction } from \"../../Action/DashboardAction\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\nimport { DashboardTab, OpreationType } from \"../../Resource/Content\";\r\nimport { DashboardFilterStore, NotificationFilterStore } from \"../../Store/Variable\";\r\n\r\nexport const FilterTable = (props) => {\r\n const [data, setData] = useState(props.data ? props.data.concat() : []);\r\n\r\n useEffect(() => {\r\n if (data.length == 0 && props.data) {\r\n setData(props.data.concat());\r\n }\r\n }, [props.data]);\r\n\r\n const pressedId =\r\n props.currentTabIndex == DashboardTab.Workflow\r\n ? DashboardFilterStore.getPressedId()\r\n : NotificationFilterStore.getPressedId();\r\n\r\n return (\r\n {\r\n props.onReorder(d);\r\n },\r\n }}\r\n reorderIconTitle=\"Reorder filter\"\r\n data={data}\r\n col={[\r\n {\r\n title: \"Filter\",\r\n key: \"FilterName\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n props.onClose();\r\n props.currentTabIndex == DashboardTab.Workflow\r\n ? DashboardAction.setPressedId(row.FilterId)\r\n : NotificationAction.setPressedId(row.FilterId);\r\n }}\r\n className=\"hyperlink\"\r\n >\r\n {pressedId == row.FilterId ? {data} : data}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Edit\",\r\n key: \"\",\r\n render: (data, row, index) => {\r\n return (\r\n props.onEdit(row.FilterId)}\r\n >\r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Delete\",\r\n key: \"\",\r\n render: (data, row, index) => {\r\n return (\r\n props.onChange(OpreationType.Delete, index, row)}\r\n >\r\n \r\n \r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState, useRef, useEffect } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { CSSTransition } from \"react-transition-group\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { FilterTable } from \"./FilterTable\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport { DashboardTab, OpreationType } from \"../../Resource/Content\";\r\n\r\nexport interface DashboardFiltersDropDownProps {\r\n onDelete?: (filterId: number) => void;\r\n onEdit?: (filterId: number) => void;\r\n onReorder: (newOrder) => void;\r\n data: ClientDashboardFiltersModel[] | ClientNotificationFiltersModel[];\r\n cssWrapper?: string;\r\n currentTabIndex: DashboardTab;\r\n}\r\nexport const SavedFiltersDropdown = (props: DashboardFiltersDropDownProps) => {\r\n const wrapperRef = useRef(null);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [showErrorMsg, setShowErrorMsg] = useState(false);\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"touchstart\", handleClickOutside);\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n return () => {\r\n document.removeEventListener(\"touchstart\", handleClickOutside);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const onEdit = (row) => {\r\n props.onEdit(row);\r\n };\r\n\r\n const handleClickOutside = () => {\r\n if (wrapperRef && !wrapperRef.current.contains(event.target)) {\r\n setIsOpen(false);\r\n }\r\n };\r\n\r\n const ToggleDropdown = () => {\r\n setShowErrorMsg(false);\r\n setIsOpen(!isOpen);\r\n };\r\n const CSSClasses = classNames(\"saved-filters-dropdown more-summary-tile\", props.cssWrapper);\r\n const onChange = (operation: OpreationType, tableIndex: number, row: any) => {\r\n const _data = [...props.data];\r\n if (operation === OpreationType.Delete) {\r\n if (_data.length <= 1) {\r\n setShowErrorMsg(true);\r\n return;\r\n }\r\n props.onDelete(row.FilterId);\r\n }\r\n };\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {showErrorMsg && (\r\n \r\n )}\r\n {isOpen && (\r\n setIsOpen(false)}\r\n data={props.data}\r\n onEdit={(id) => onEdit(id)}\r\n onReorder={(d) => props.onReorder(d)}\r\n onChange={(o, i, r) => onChange(o, i, r)}\r\n currentTabIndex={props.currentTabIndex}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Accordion } from \"../../../../../../react-core/Html/Accordion\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { Email } from \"../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { EmailFrequency } from \"../../../../../../Wrap/Constants/Enums/Notification/EmailFrequency\";\r\nimport { NotificationEmailConfiguration } from \"../../../../../../Wrap/Models/Domains/Threads/NotificationEmailConfiguration\";\r\nimport { ValidatorContents } from \"../../../../Common/ValidatorHelper\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\nimport { EmailFrequencyMap, EmailFrequencyOptions } from \"../../Resource/Content\";\r\n\r\ninterface IEmailNotificationProps {\r\n emailConfig: NotificationEmailConfiguration;\r\n onSave: () => void;\r\n}\r\n\r\ninterface IEmailNotificationState {\r\n emailConfig: NotificationEmailConfiguration;\r\n emailAddress: string;\r\n}\r\n\r\nexport class EmailNotification extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n emailConfig: props.emailConfig,\r\n emailAddress: UserStore.getUserInfo()?.EmailAddress,\r\n };\r\n }\r\n\r\n componentDidMount() {}\r\n\r\n private onSave() {\r\n if (this.isValid()) {\r\n NotificationAction.updateNotificationEmailConfiguration(\r\n this.state.emailConfig,\r\n (result: NotificationEmailConfiguration) => {\r\n this.setState({ emailConfig: result });\r\n this.props.onSave();\r\n }\r\n );\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { emailConfig, emailAddress } = this.state;\r\n return (\r\n
    \r\n

    Email notifications

    \r\n Receive mandatory email alerts and an email summary of unread event notifications \r\n
    \r\n

    \r\n Destination email address: \r\n {emailAddress}\r\n

    \r\n \r\n {\r\n const config = this.state.emailConfig;\r\n config.EmailAddress1 = v;\r\n this.setState({ emailConfig: config });\r\n }}\r\n regex={{ errorMessage: ValidatorContents.InvalidEmail, value: Email }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Cannot enter duplicate email addresses\",\r\n validator: (v) => v != emailAddress && v != emailConfig?.EmailAddress2,\r\n },\r\n ]}\r\n />\r\n {\r\n const config = this.state.emailConfig;\r\n config.EmailAddress2 = v;\r\n this.setState({ emailConfig: config });\r\n }}\r\n regex={{ errorMessage: ValidatorContents.InvalidEmail, value: Email }}\r\n validationRules={[\r\n {\r\n errorMessage: \"Cannot enter duplicate email addresses\",\r\n validator: (v) => v != emailAddress && v != emailConfig?.EmailAddress1,\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n When do you want to receive an email notification summary?\r\n
    \r\n
    \r\n {\r\n return EmailFrequencyMap[v];\r\n }}\r\n onChange={(v) => {\r\n const config = this.state.emailConfig;\r\n config.Frequency = v;\r\n this.setState({ emailConfig: config });\r\n }}\r\n selected={emailConfig?.Frequency}\r\n required={\"Please select a frequency\"}\r\n validationRules={[\r\n {\r\n errorMessage: \"Please select a frequency\",\r\n validator: (v) => {\r\n return v === EmailFrequency.NotSpecified ? false : true;\r\n },\r\n },\r\n ]}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n this.onSave();\r\n }}\r\n >\r\n Save email\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Accordion } from \"../../../../../../react-core/Html/Accordion\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { AlertDefinitionCategory } from \"../../../../../../Wrap/Models/Domains/Threads/AlertDefinitionCategory\";\r\nimport { NotificationConfiguration } from \"../../../../../../Wrap/Models/Domains/Threads/NotificationConfiguration\";\r\nimport { NotificationConfigurationModel } from \"../../../../../../Wrap/Models/Domains/Threads/NotificationConfigurationModel\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\n\r\ninterface IExistingNotificationsProps {\r\n model: NotificationConfigurationModel;\r\n hasFirmLevelPermission: boolean;\r\n onSave: () => void;\r\n}\r\n\r\ninterface IExistingNotificationsState {\r\n existingConfigurations: Array;\r\n categoriesToDelete: Array;\r\n alertDefinitionCategories: Array;\r\n alertsToRemove: Array;\r\n showErrorMsg: boolean;\r\n}\r\n\r\nexport class ExistingNotifications extends FormComponent {\r\n constructor(props: IExistingNotificationsProps) {\r\n super(props);\r\n this.state = {\r\n existingConfigurations: props.model?.ActiveNotifications,\r\n categoriesToDelete: [],\r\n alertDefinitionCategories: props.model?.Categories,\r\n alertsToRemove: [],\r\n showErrorMsg: false,\r\n };\r\n }\r\n\r\n isValid() {\r\n const isValid = super.isValid();\r\n if (isValid) {\r\n const notificationSelected = this.state.alertsToRemove.length > 0;\r\n if (!notificationSelected) {\r\n this.setState({ showErrorMsg: true });\r\n }\r\n return notificationSelected;\r\n }\r\n return false;\r\n }\r\n private onSave() {\r\n if (this.isValid()) {\r\n const alertsToRemove = this.state.alertsToRemove;\r\n alertsToRemove.forEach((alert) => {\r\n alert.ReceiveAlert = false;\r\n });\r\n this.updateConfigurations(alertsToRemove);\r\n }\r\n }\r\n\r\n private updateConfigurations(configurations: Array) {\r\n NotificationAction.updateNotificationConfiguration(configurations, () => this.props.onSave());\r\n }\r\n\r\n private displayNotificationConfigurations() {\r\n const { existingConfigurations, alertDefinitionCategories } = this.state;\r\n const tables: JSX.Element[] = [];\r\n if (alertDefinitionCategories) {\r\n alertDefinitionCategories.forEach((category) => {\r\n if (existingConfigurations.some((x) => x?.Category == category.Name)) {\r\n tables.push(this.displayExistingNotificationCategory(category));\r\n }\r\n });\r\n }\r\n return tables;\r\n }\r\n\r\n private displayExistingNotificationCategory(category: AlertDefinitionCategory): JSX.Element {\r\n const { existingConfigurations } = this.state;\r\n const rows = [];\r\n const existingAlerts = existingConfigurations?.filter((x) => x?.Category == category?.Name);\r\n const alertDefinitions = existingAlerts?.map((x) => x?.Alert);\r\n const distinctAlerst = alertDefinitions.filter((n, i) => alertDefinitions.indexOf(n) === i);\r\n distinctAlerst.forEach((alert) => {\r\n rows.push(this.displayExistingAlertDefinition(alert));\r\n });\r\n const displayRemoveAllOption = existingAlerts.some((x) => x?.Detail != \"Mandatory\");\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rows}\r\n
    NotificationNotification levelType\r\n {displayRemoveAllOption && (\r\n <>\r\n Remove All\r\n {\r\n if (v) {\r\n //remove all active config under the category\r\n const categories = this.state.categoriesToDelete;\r\n categories.push(category);\r\n\r\n const toRemove = this.state.alertsToRemove;\r\n const alerts = this.state.existingConfigurations.filter(\r\n (x) => x?.Category == category?.Name\r\n );\r\n alerts.forEach((alert) => {\r\n if (\r\n !this.state.alertsToRemove.includes(alert) &&\r\n alert?.Detail != \"Mandatory\"\r\n ) {\r\n toRemove.push(alert);\r\n }\r\n });\r\n this.setState({\r\n categoriesToDelete: categories,\r\n alertsToRemove: toRemove,\r\n showErrorMsg: false,\r\n });\r\n } else {\r\n let categories = this.state.categoriesToDelete;\r\n categories = categories.filter((x) => x?.Id != category?.Id);\r\n\r\n let toRemove = this.state.alertsToRemove;\r\n toRemove = toRemove.filter((x) => x?.Category != category?.Name);\r\n this.setState({\r\n categoriesToDelete: categories,\r\n alertsToRemove: toRemove,\r\n showErrorMsg: false,\r\n });\r\n }\r\n }}\r\n />\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private displayExistingAlertDefinition(alertName: string): JSX.Element {\r\n const { existingConfigurations } = this.state;\r\n const alertConfigs = existingConfigurations.filter((x) => x?.Alert == alertName);\r\n\r\n let alertDetail = \"\";\r\n if (\r\n alertConfigs.length == 1 &&\r\n (alertConfigs[0]?.Detail == \"Mandatory\" || alertConfigs[0]?.Detail == \"Default\")\r\n ) {\r\n alertDetail = alertConfigs[0].Detail;\r\n } else if (alertConfigs.length == 1 && alertConfigs[0]?.EntityType == 3) {\r\n alertDetail = \"All advisers\";\r\n } else if (alertConfigs.length == 1 && alertConfigs[0]?.EntityType == 2) {\r\n alertDetail = alertConfigs[0]?.Detail;\r\n } else if (!alertConfigs.some((x) => x?.EntityType == 3)) {\r\n alertDetail = \"Multiple advisers\";\r\n } else {\r\n alertDetail = \"All advisers\";\r\n }\r\n\r\n const configuration = alertConfigs[0];\r\n return (\r\n \r\n {configuration?.Alert}\r\n {alertDetail}\r\n \r\n {configuration?.NotificationType == \"ImportantInformation\"\r\n ? \"Important information\"\r\n : configuration?.NotificationType}\r\n \r\n \r\n {configuration?.Detail != \"Mandatory\" && (\r\n {\r\n let toRemove = this.state.alertsToRemove;\r\n if (v) {\r\n toRemove = toRemove.concat(alertConfigs);\r\n } else {\r\n toRemove = toRemove.filter((x) => x?.Alert != alertName);\r\n }\r\n this.setState({ alertsToRemove: toRemove, showErrorMsg: false });\r\n }}\r\n value={this.state.alertsToRemove.some((x) => x?.Alert == alertName)}\r\n cssWrapper=\"square-checkbox mb-0 ml-10\"\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
    \r\n {this.state.showErrorMsg && (\r\n \r\n )}\r\n

    Existing notifications

    \r\n Review and manage your event notifications\r\n
    \r\n {this.displayNotificationConfigurations()}\r\n\r\n {\r\n this.onSave();\r\n }}\r\n >\r\n \r\n Remove notification\r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { MultiselectDropdown } from \"../../../../../../react-core/Html/Components/MultiselectDropdown\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { CompanySearchClient } from \"../../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { NetworkHistoryClient } from \"../../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { CompanyDetailSort } from \"../../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { NetworkType } from \"../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { AlertDefinition } from \"../../../../../../Wrap/Models/Domains/Threads/AlertDefinition\";\r\nimport { AlertDefinitionCategory } from \"../../../../../../Wrap/Models/Domains/Threads/AlertDefinitionCategory\";\r\nimport { NotificationConfiguration } from \"../../../../../../Wrap/Models/Domains/Threads/NotificationConfiguration\";\r\nimport { NotificationConfigurationModel } from \"../../../../../../Wrap/Models/Domains/Threads/NotificationConfigurationModel\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { AdviserWizardAction } from \"../../../../../Admin/Adviser/Actions/AdviserWizardAction\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { SearchInput } from \"../../../../../Shared/SearchInput/SearchInput\";\r\nimport { titleLabels } from \"../../../Clients/AddClient/Resource/Contents\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\n\r\ninterface INewNotificationProps {\r\n model: NotificationConfigurationModel;\r\n hasFirmLevelPermission: boolean;\r\n onSave: () => void;\r\n}\r\n\r\ninterface INewNotificationState {\r\n isLoading: boolean;\r\n\r\n selectedNetwork: NetworkHistoryModel;\r\n selectedCompany: CompanySummary;\r\n selectedAdviserIds: Array;\r\n displayNetworkSearch: boolean;\r\n displayCompanySearch: boolean;\r\n availableAdvisors: Array;\r\n\r\n alertDefinitionCategories: Array;\r\n selectedCategoryId: number;\r\n alertDefinitions: Array;\r\n selectedNotificationId: number;\r\n selectedLevel: HierarchyLevelName;\r\n\r\n errorMsg: string[];\r\n}\r\n\r\nexport class NewNotification extends FormComponent {\r\n constructor(props: INewNotificationProps) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n\r\n selectedNetwork: null,\r\n selectedCompany: null,\r\n selectedAdviserIds: [],\r\n displayNetworkSearch: null,\r\n displayCompanySearch: null,\r\n availableAdvisors: [],\r\n\r\n alertDefinitionCategories: props?.model?.Categories,\r\n selectedCategoryId: null,\r\n alertDefinitions: props?.model?.AlertDefinitions,\r\n selectedNotificationId: null,\r\n selectedLevel: null,\r\n\r\n errorMsg: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n\r\n this.getNetworksAndCompanies();\r\n }\r\n\r\n private getNetworksAndCompanies() {\r\n if (this.state.selectedCompany || this.state.selectedNetwork) {\r\n this.getAdviser(this.state.selectedNetwork?.Network, this.state.selectedCompany?.CompanyCode);\r\n }\r\n\r\n const networkClient = new NetworkHistoryClient();\r\n networkClient.get(null, NetworkType.Network, null, null, null, false, 10, 1).onSuccess((result) => {\r\n if (result.TotalRows > 1) {\r\n this.setState({ displayNetworkSearch: true });\r\n } else {\r\n this.setState({ displayNetworkSearch: false });\r\n }\r\n });\r\n\r\n const companyClient = new CompanySearchClient();\r\n companyClient\r\n .get(null, null, FirmType.All, null, null, null, true, 1, 10, CompanyDetailSort.CompanyName,false)\r\n .onSuccess((result) => {\r\n if (result.TotalNumberOfResults > 1) {\r\n this.setState({ displayCompanySearch: true });\r\n } else if (result.TotalNumberOfResults == 1) {\r\n this.getAdviser(null, result.PageOfResults[0].CompanyCode);\r\n this.setState({ selectedCompany: result.PageOfResults[0], displayCompanySearch: false });\r\n } else {\r\n this.setState({ displayCompanySearch: false });\r\n }\r\n });\r\n }\r\n\r\n private getAdviser(network, company) {\r\n if (CommonHelper.isNullOrEmpty(company) && CommonHelper.isNullOrEmpty(network)) {\r\n this.setState({ availableAdvisors: [] });\r\n } else {\r\n AdviserWizardAction.getAdviser(\r\n { Company: company, Network: network, CurrentPage: 1, ResultsPerPage: 999 },\r\n (result) => {\r\n this.setState({\r\n availableAdvisors: result.Results,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n isValid() {\r\n const {\r\n selectedNotificationId,\r\n selectedLevel,\r\n selectedAdviserIds,\r\n selectedCompany,\r\n alertDefinitions,\r\n } = this.state;\r\n const { model } = this.props;\r\n const errors = [];\r\n if (!selectedLevel) {\r\n errors.push(\"Please select a notification level\");\r\n }\r\n if (!selectedNotificationId) {\r\n errors.push(\"Please select a notification\");\r\n }\r\n if (selectedLevel == HierarchyLevelName.Company && !selectedCompany) {\r\n errors.push(\"Please select a company to apply the firm level setting\");\r\n }\r\n if (selectedLevel == HierarchyLevelName.Advisor && CommonHelper.isNullOrEmpty(selectedAdviserIds)) {\r\n errors.push(\"Please select one or more advisers to apply the adviser level setting\");\r\n }\r\n if (\r\n this.props.model?.ActiveNotifications?.some(\r\n (y) =>\r\n y?.Alert == alertDefinitions?.find((x) => x.Id == selectedNotificationId)?.Name &&\r\n ((selectedLevel == HierarchyLevelName.Company &&\r\n y?.EntityType == 3 &&\r\n HierarchyIdHelper.generateHierarchyId(selectedCompany?.HierarchyId)?.entityId == y?.EntityId) ||\r\n (selectedLevel == HierarchyLevelName.Advisor &&\r\n y?.EntityType == 2 &&\r\n selectedAdviserIds?.some((x) => y?.EntityId == x)))\r\n )\r\n ) {\r\n errors.push(\"The notification for the selected company/adviser has already been turned on\");\r\n }\r\n if (CommonHelper.isNullOrEmpty(errors)) {\r\n return true;\r\n } else {\r\n this.setState({ errorMsg: errors });\r\n return false;\r\n }\r\n }\r\n private onSave() {\r\n const isValid = this.isValid();\r\n if (isValid) {\r\n const { selectedNotificationId, selectedLevel, selectedAdviserIds, selectedCompany } = this.state;\r\n const newNotifications = [];\r\n if (\r\n selectedLevel != null &&\r\n selectedNotificationId != null &&\r\n selectedLevel == HierarchyLevelName.Advisor\r\n ) {\r\n selectedAdviserIds.forEach((adviser) => {\r\n newNotifications.push({\r\n AlertDefinitionId: selectedNotificationId,\r\n ReceiveAlert: true,\r\n EntityType: selectedLevel,\r\n EntityId: adviser,\r\n });\r\n });\r\n } else if (\r\n selectedLevel != null &&\r\n selectedNotificationId != null &&\r\n selectedLevel == HierarchyLevelName.Company\r\n ) {\r\n newNotifications.push({\r\n AlertDefinitionId: selectedNotificationId,\r\n ReceiveAlert: true,\r\n EntityType: selectedLevel,\r\n EntityId: HierarchyIdHelper.generateHierarchyId(selectedCompany?.HierarchyId)?.entityId,\r\n });\r\n }\r\n this.updateConfigurations(newNotifications);\r\n }\r\n }\r\n\r\n private updateConfigurations(configurations: Array) {\r\n NotificationAction.updateNotificationConfiguration(configurations, () => this.props.onSave());\r\n }\r\n\r\n private renderErrorMsg() {\r\n const errors = [];\r\n this.state.errorMsg.forEach((msg) => {\r\n errors.push();\r\n });\r\n return errors;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n alertDefinitionCategories,\r\n selectedCategoryId,\r\n alertDefinitions,\r\n selectedNotificationId,\r\n selectedLevel,\r\n } = this.state;\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n\r\n return (\r\n
    \r\n {this.renderErrorMsg()}\r\n\r\n
    \r\n
    \r\n

    New notification

    \r\n
    \r\n
    \r\n Add non-mandatory event notifications which are important to you\r\n
    \r\n {this.state.displayNetworkSearch && (\r\n
    \r\n {\r\n return networkClient.get(null, NetworkType.Unknown, v, null, null, false, 20, 1);\r\n }}\r\n onClick={(v) => {\r\n if (!v) {return;}\r\n this.getAdviser(v?.Network, null);\r\n this.setState({\r\n selectedNetwork: v,\r\n selectedCompany: null,\r\n selectedAdviserIds: [],\r\n availableAdvisors: [],\r\n errorMsg: [],\r\n });\r\n }}\r\n resultKey=\"networks\"\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n cssWrapper=\"control-size-430\"\r\n label={titleLabels.networkLabel}\r\n value={this.state.selectedNetwork?.NetworkName}\r\n />\r\n
    \r\n )}\r\n {this.state.displayCompanySearch && (\r\n
    \r\n {\r\n return companyClient.get(\r\n null,\r\n v,\r\n FirmType.All,\r\n null,\r\n this.state.selectedNetwork?.Network,\r\n null,\r\n true,\r\n 1,\r\n 20,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n );\r\n }}\r\n resultKey={\"PageOfResults\"}\r\n onClick={(v) => {\r\n if (!v) {return;}\r\n this.getAdviser(this.state.selectedNetwork?.Network, v?.CompanyCode);\r\n this.setState({\r\n selectedCompany: v,\r\n selectedAdviserIds: [],\r\n availableAdvisors: [],\r\n errorMsg: [],\r\n });\r\n }}\r\n getText={(v: CompanySummary) => v.CompanyName}\r\n cssWrapper=\"control-size-430\"\r\n label={titleLabels.firmLabel}\r\n value={this.state.selectedCompany?.CompanyName}\r\n />\r\n
    \r\n )}\r\n
    \r\n {(this.state.selectedCompany || this.state.selectedNetwork) && (\r\n
    \r\n
    \r\n
    \r\n x.Id))}\r\n selected={selectedCategoryId}\r\n getText={(v) => {\r\n if (v == null) {\r\n return \"\";\r\n }\r\n return alertDefinitionCategories.find((x) => x.Id == v).Name;\r\n }}\r\n onChange={(v) => {\r\n this.setState({\r\n selectedCategoryId: v,\r\n selectedNotificationId: null,\r\n selectedLevel: null,\r\n selectedAdviserIds: [],\r\n errorMsg: [],\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n x.CategoryId == selectedCategoryId &&\r\n x.Mandatory == false &&\r\n !this.props.model?.ActiveNotifications.some(\r\n (y) => y?.AlertDefinitionId == x?.Id && y?.Detail == \"Default\"\r\n )\r\n )\r\n .map((x) => x.Id)\r\n )}\r\n getText={(v) => {\r\n if (v == null) {\r\n return \"\";\r\n }\r\n return alertDefinitions.find((x) => x.Id == v).Name;\r\n }}\r\n selected={selectedNotificationId}\r\n onChange={(v) => {\r\n this.setState({\r\n selectedNotificationId: v,\r\n selectedLevel: null,\r\n selectedAdviserIds: [],\r\n errorMsg: [],\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n if (v == null) {\r\n return \"\";\r\n } else if (v == HierarchyLevelName.Advisor) {\r\n return \"Adviser\";\r\n }\r\n return \"Firm\";\r\n }}\r\n onChange={(v) => {\r\n this.setState({ selectedLevel: v, selectedAdviserIds: [], errorMsg: [] });\r\n }}\r\n />\r\n
    \r\n {selectedLevel == HierarchyLevelName.Advisor && (\r\n
    \r\n
    \r\n \r\n
    \r\n 0\r\n ? this.state.selectedAdviserIds.length == 1\r\n ? this.state.availableAdvisors.find(\r\n (x) => x?.AdvisorId == this.state.selectedAdviserIds[0]\r\n )?.Name\r\n : \"Multiple selected\"\r\n : \"\"\r\n }\r\n >\r\n
    \r\n {\r\n let selectedAdviserIds = [];\r\n if (v) {\r\n selectedAdviserIds = this.state.availableAdvisors.map(\r\n (i) => i.AdvisorId\r\n );\r\n } else {\r\n selectedAdviserIds = [];\r\n }\r\n this.setState({ selectedAdviserIds: selectedAdviserIds });\r\n }}\r\n value={\r\n this.state.availableAdvisors.length == 0 ||\r\n this.state.availableAdvisors.length ==\r\n this.state.selectedAdviserIds?.length\r\n }\r\n />\r\n
    \r\n {(this.state.availableAdvisors || [])?.map((ele) => {\r\n return (\r\n
    \r\n {\r\n let { selectedAdviserIds } = this.state;\r\n if (v) {\r\n selectedAdviserIds.push(ele.AdvisorId);\r\n } else {\r\n selectedAdviserIds = selectedAdviserIds.filter(\r\n (item) => item != ele.AdvisorId\r\n );\r\n }\r\n this.setState({\r\n selectedAdviserIds: selectedAdviserIds,\r\n errorMsg: [],\r\n });\r\n }}\r\n value={(this.state.selectedAdviserIds || []).some(\r\n (item) => item == ele.AdvisorId\r\n )}\r\n />\r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n this.onSave();\r\n }}\r\n >\r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport TableFilterDropdown from \"../../../../../../react-core/Html/Components/TableFilterDropdown\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { ToggleButtonTwoOptions } from \"../../../../../../react-core/Html/ToggleButtonTwoOptions\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Objects } from \"../../../../../../react-core/Utils/Objects\";\r\nimport { ThreadType } from \"../../../../../../Wrap/Constants/Enums/Domain/ThreadType\";\r\nimport { ResultPageModel } from \"../../../../../../Wrap/Core/SortingAndPaging/Models/ResultPageModel\";\r\nimport { AlertDefinitionCategory } from \"../../../../../../Wrap/Models/Domains/Threads/AlertDefinitionCategory\";\r\nimport { NotificationConfiguration } from \"../../../../../../Wrap/Models/Domains/Threads/NotificationConfiguration\";\r\nimport { ThreadResponse } from \"../../../../../../Wrap/Models/Domains/Threads/ThreadResponse\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport CoachMarker from \"../../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport AdviserSiteTagManager from \"../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { LoadingSkeletonType } from \"../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { LoadingSkeletonWrapper } from \"../../../../../Shared/LoadingSkeleton/LoadingSkeletonWrapper\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\nimport { NotificationDateRangeTypeMap } from \"../../Resource/Content\";\r\nimport { NotificationFilterStore } from \"../../Store/Variable\";\r\nimport { NotificationConfigurations } from \"./NotificationConfigurations\";\r\nimport { NotificationFilter } from \"./NotificationFilter\";\r\nimport { NotificationsExplained } from \"./NotificationsExplained\";\r\nimport { NotificationTable } from \"./NotificationTable\";\r\n\r\ninterface INotificationProps {\r\n NotificationUpdate: () => void;\r\n}\r\n\r\ninterface INotificationState {\r\n currentFilter: ClientNotificationFiltersModel;\r\n usingDefaultFilter: boolean;\r\n curPage: number;\r\n data: ResultPageModel;\r\n showDeleteLightbox: boolean;\r\n deleteInstructionId: string;\r\n deleteActivityType: string;\r\n isLoading?: boolean;\r\n showNotificationConfiguration: boolean;\r\n toggleFilter: any;\r\n showNotificationsExplained: boolean;\r\n alertDefinitionCategories: AlertDefinitionCategory[];\r\n}\r\n\r\nexport class Notification extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentFilter: null,\r\n usingDefaultFilter: true,\r\n curPage: 1,\r\n data: null,\r\n showDeleteLightbox: false,\r\n deleteInstructionId: null,\r\n deleteActivityType: null,\r\n isLoading: true,\r\n showNotificationConfiguration: false,\r\n toggleFilter: null,\r\n showNotificationsExplained: false,\r\n alertDefinitionCategories: [],\r\n };\r\n this.subscribeToStore(NotificationFilterStore, () => this.onPressFilter());\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n public componentDidMount() {\r\n this.defaultFilter();\r\n const i = window.location.pathname.lastIndexOf(\"/\");\r\n const path = window.location.pathname.substr(i + 1);\r\n if (path == \"configure-notification\") {\r\n this.setState({ showNotificationConfiguration: true });\r\n }\r\n NotificationAction.getNotificationDefinitionCategories((result) => {\r\n this.setState({ alertDefinitionCategories: result });\r\n });\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"notification\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/notification\",\r\n pageTitle: `${document.title} - dashboard - notification`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n\r\n private defaultFilter = () => {\r\n const defaultFilter = NotificationFilterStore.getDefaultFilter();\r\n this.setState({ usingDefaultFilter: true });\r\n this.searchNotification(defaultFilter, 1);\r\n };\r\n\r\n private onPressFilter = () => {\r\n if (NotificationFilterStore.getActionType() == ActionType.Update) {\r\n const id = NotificationFilterStore.getPressedId();\r\n const filter = NotificationFilterStore.getFilterItemById(id);\r\n this.setState({ currentFilter: filter, curPage: 1, usingDefaultFilter: id == null, isLoading: true });\r\n this.searchNotification(filter, 1);\r\n }\r\n };\r\n\r\n private onUpdateFilter(filter: ClientNotificationFiltersModel) {\r\n this.setState({ currentFilter: filter });\r\n this.searchNotification(filter, 1);\r\n }\r\n\r\n private searchNotification = (filter: ClientNotificationFiltersModel, curPage) => {\r\n const query = NotificationFilterStore.convertDashboardFilterToQuery(filter, curPage);\r\n this.setState({ isLoading: true, currentFilter: filter, curPage: curPage });\r\n NotificationAction.getNotificationTable(query, (d) => {\r\n this.setState({ data: d, isLoading: false });\r\n });\r\n };\r\n\r\n private updateThread = (thread: ThreadResponse) => {\r\n NotificationAction.updateThread(thread, (d) => {\r\n this.props.NotificationUpdate();\r\n });\r\n const updatedData = Objects.cloneObject(this.state.data);\r\n const index = updatedData?.Results?.findIndex((x) => x.Id == thread.Id);\r\n if (index >= 0) {\r\n updatedData.Results[index] = thread;\r\n this.setState({ data: updatedData });\r\n }\r\n };\r\n\r\n private updateConfigurations(configurations: Array) {\r\n NotificationAction.updateNotificationConfiguration(configurations, () => {\r\n this.setState({ showNotificationConfiguration: false });\r\n });\r\n }\r\n\r\n private onClickFollowUp = () => {\r\n const filter = this.state.currentFilter;\r\n filter.FollowUp = !filter?.FollowUp;\r\n filter.IsRead = null;\r\n this.searchNotification(filter, 1);\r\n };\r\n\r\n private onClickActionRequired = () => {\r\n const filter = this.state.currentFilter;\r\n filter.EventType = filter?.EventType == ThreadType.Alert ? ThreadType.NotSpecified : ThreadType.Alert;\r\n this.searchNotification(filter, 1);\r\n };\r\n\r\n private renderNoResultWarningMessage = () => {\r\n const filter = this.state.currentFilter;\r\n return (\r\n <>\r\n {filter?.FollowUp ? (\r\n \r\n ) : filter?.EventType == ThreadType.Alert ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n private convertFilterToString(filter: ClientNotificationFiltersModel): string {\r\n return `${NotificationDateRangeTypeMap[filter?.DateRangeOption]}, Notification category: ${\r\n this.state.alertDefinitionCategories.find((ele) => ele.Id == filter?.EventCategoryId)?.Name ?? \"All\"\r\n }, ${filter?.IsRead == true ? \"Read\" : filter?.IsRead == false ? \"Unread\" : \"All\"}`;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, curPage, isLoading, currentFilter } = this.state;\r\n if (!data) {return ;}\r\n\r\n return (\r\n <>\r\n {this.state.showNotificationConfiguration && (\r\n this.setState({ showNotificationConfiguration: false })}\r\n cssWrapper={\"is-default-lightbox is-wide\"}\r\n >\r\n this.setState({ showNotificationConfiguration: false })}\r\n onApply={(changes) => {\r\n this.updateConfigurations(changes);\r\n }}\r\n />\r\n \r\n )}\r\n {\r\n NotificationAction.setPressedId(null);\r\n this.defaultFilter();\r\n }}\r\n hideCloseButton={this.state.usingDefaultFilter}\r\n />\r\n
    \r\n
    \r\n this.onClickActionRequired()}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ showNotificationsExplained: true })}\r\n >\r\n Notifications explained\r\n \r\n
    \r\n
    \r\n \r\n {\r\n this.setState({ showNotificationConfiguration: true });\r\n }}\r\n >\r\n \r\n Configure notifications\r\n \r\n
    \r\n
    \r\n \r\n this.setState({ toggleFilter: e })}\r\n >\r\n {\r\n this.onUpdateFilter(filter);\r\n this.state.toggleFilter(true);\r\n }}\r\n onCancel={() => {\r\n this.state.toggleFilter(true);\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n {data.Results?.length == 0 ? (\r\n this.renderNoResultWarningMessage()\r\n ) : (\r\n {\r\n this.setState({ curPage: pageIndex, isLoading: true });\r\n this.searchNotification(currentFilter, pageIndex);\r\n },\r\n currentPage: curPage,\r\n }}\r\n updateRow={(row) => this.updateThread(row)}\r\n />\r\n )}\r\n \r\n {this.state.showNotificationsExplained && (\r\n this.setState({ showNotificationsExplained: false })}\r\n >\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { NotificationConfigurationModel } from \"../../../../../../Wrap/Models/Domains/Threads/NotificationConfigurationModel\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\nimport { EmailNotification } from \"./EmailNotification\";\r\nimport { ExistingNotifications } from \"./ExistingNotifications\";\r\nimport { NewNotification } from \"./NewNotification\";\r\n\r\ninterface INotificationConfigurationsProps {\r\n onCancel: () => void;\r\n onApply: (v) => void;\r\n}\r\n\r\ninterface INotificationConfigurationsState {\r\n isLoading: boolean;\r\n hasFirmLevelPermission: boolean;\r\n model: NotificationConfigurationModel;\r\n}\r\n\r\nexport class NotificationConfigurations extends FormComponent<\r\n INotificationConfigurationsProps,\r\n INotificationConfigurationsState\r\n> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoading: false,\r\n\r\n hasFirmLevelPermission: false,\r\n model: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n isLoading: true,\r\n hasFirmLevelPermission: checkPermission(UserClaim.AdviserPortalFirmLevelNotificationReadWrite),\r\n });\r\n\r\n NotificationAction.getNotificationConfiguration((result) => {\r\n this.setState({ model: result, isLoading: false });\r\n });\r\n }\r\n\r\n private loadNotificationConfigurationModel() {\r\n this.setState({ isLoading: true });\r\n\r\n NotificationAction.getNotificationConfiguration((result) => {\r\n this.setState({ model: result, isLoading: false });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { model, hasFirmLevelPermission, isLoading } = this.state;\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n return (\r\n
    \r\n this.loadNotificationConfigurationModel()}\r\n />\r\n
    \r\n this.loadNotificationConfigurationModel()}\r\n />\r\n
    \r\n this.loadNotificationConfigurationModel()}\r\n />\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport { NotificationFilterStore } from \"../../Store/Variable\";\r\nimport { NotificationFilterForm } from \"./NotificationFilterForm\";\r\n\r\ninterface INotificationFilterProps {\r\n currentFilter: ClientNotificationFiltersModel;\r\n onApply: (filter: ClientNotificationFiltersModel) => void;\r\n onCancel: () => void;\r\n}\r\n\r\ninterface INotificationFilterState {}\r\n\r\nexport class NotificationFilter extends FormComponent {\r\n constructor(props: INotificationFilterProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private form = null;\r\n\r\n public render() {\r\n return (\r\n
    \r\n

    Filter

    \r\n {\r\n this.form = ref;\r\n }}\r\n isLightbox={false}\r\n />\r\n
    \r\n
    \r\n {\r\n this.props.onCancel();\r\n }}\r\n >\r\n Cancel\r\n \r\n
    \r\n
    \r\n {\r\n if (this.form && this.form.isValid()) {\r\n this.props.onApply(this.form.getData());\r\n }\r\n }}\r\n >\r\n Apply\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { DateHelper } from \"../../../../../../react-core/Helpers/DateHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { MultiselectDropdown } from \"../../../../../../react-core/Html/Components/MultiselectDropdown\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { AlphanumericWithSpace } from \"../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { CompanySearchClient } from \"../../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { NetworkHistoryClient } from \"../../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { CompanyDetailSort } from \"../../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { ThreadType } from \"../../../../../../Wrap/Constants/Enums/Domain/ThreadType\";\r\nimport { NetworkType } from \"../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { AlertDefinition } from \"../../../../../../Wrap/Models/Domains/Threads/AlertDefinition\";\r\nimport { AlertDefinitionCategory } from \"../../../../../../Wrap/Models/Domains/Threads/AlertDefinitionCategory\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { AdviserWizardAction } from \"../../../../../Admin/Adviser/Actions/AdviserWizardAction\";\r\nimport { SearchInput } from \"../../../../../Shared/SearchInput/SearchInput\";\r\nimport { titleLabels } from \"../../../Clients/AddClient/Resource/Contents\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\nimport {\r\n EventTypeMap,\r\n EventTypeOptions,\r\n NotificationDateRangeTypeOptions,\r\n NotificationDateRangeTypeMap,\r\n} from \"../../Resource/Content\";\r\nimport { NotificationFilterStore } from \"../../Store/Variable\";\r\n\r\ninterface INotificationFilterFormProps {\r\n currentFilter: ClientNotificationFiltersModel;\r\n isLightbox: boolean;\r\n onRef: (ref) => void;\r\n}\r\n\r\ninterface INotificationFilterFormState {\r\n filter: ClientNotificationFiltersModel;\r\n alertDefinitionCategories: Array;\r\n alertDefinitions: Array;\r\n displayNetworkSearch: boolean;\r\n displayCompanySearch: boolean;\r\n availableAdvisors: Array;\r\n selectedNetwork: NetworkHistoryModel;\r\n selectedCompany: CompanySummary;\r\n}\r\n\r\nexport class NotificationFilterForm extends FormComponent {\r\n constructor(props: INotificationFilterFormProps) {\r\n super(props);\r\n this.state = {\r\n filter: JSON.parse(JSON.stringify(props.currentFilter)),\r\n alertDefinitionCategories: [],\r\n alertDefinitions: [],\r\n displayNetworkSearch: null,\r\n displayCompanySearch: null,\r\n availableAdvisors: [],\r\n selectedCompany: null,\r\n selectedNetwork: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n NotificationAction.getNotificationDefinitionCategories((result) => {\r\n this.setState({ alertDefinitionCategories: result });\r\n });\r\n\r\n NotificationAction.getNotificationDefinitions((result) => {\r\n this.setState({ alertDefinitions: result });\r\n });\r\n\r\n this.getNetworksAndCompanies();\r\n }\r\n\r\n getData = () => {\r\n return this.state.filter;\r\n };\r\n\r\n private getNetworksAndCompanies() {\r\n if (this.state.selectedCompany || this.state.selectedNetwork) {\r\n this.getAdviser(this.state.selectedNetwork?.Network, this.state.selectedCompany?.CompanyCode);\r\n }\r\n\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n if (!CommonHelper.isNullOrEmpty(this.props.currentFilter?.Network)) {\r\n networkClient\r\n .get(this.props.currentFilter.Network, NetworkType.Network, null, null, null, false, 10, 1)\r\n .onSuccess((result) => {\r\n this.setState({ selectedNetwork: result[0] });\r\n });\r\n }\r\n if (!CommonHelper.isNullOrEmpty(this.props.currentFilter?.CompanyCode)) {\r\n companyClient\r\n .get(\r\n this.props.currentFilter?.CompanyCode,\r\n null,\r\n FirmType.All,\r\n null,\r\n null,\r\n null,\r\n true,\r\n 1,\r\n 10,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n )\r\n .onSuccess((result) => {\r\n this.setState({ selectedNetwork: result[0] });\r\n });\r\n }\r\n networkClient.get(null, NetworkType.Network, null, null, null, false, 10, 1).onSuccess((result) => {\r\n if (result.TotalRows > 1) {\r\n this.setState({ displayNetworkSearch: true });\r\n } else {\r\n this.setState({ displayNetworkSearch: false });\r\n }\r\n });\r\n\r\n companyClient\r\n .get(null, null, FirmType.All, null, null, null, true, 1, 10, CompanyDetailSort.CompanyName,false)\r\n .onSuccess((result) => {\r\n if (result.TotalNumberOfResults > 1) {\r\n this.setState({ displayCompanySearch: true });\r\n } else if (result.TotalNumberOfResults == 1) {\r\n this.getAdviser(null, result.PageOfResults[0].CompanyCode);\r\n this.setState({ selectedCompany: result.PageOfResults[0], displayCompanySearch: false });\r\n }\r\n });\r\n }\r\n\r\n private getAdviser(network, company) {\r\n if (CommonHelper.isNullOrEmpty(company) && CommonHelper.isNullOrEmpty(network)) {\r\n this.setState({ availableAdvisors: [] });\r\n } else {\r\n AdviserWizardAction.getAdviser(\r\n { Company: company, Network: network, CurrentPage: 1, ResultsPerPage: 999 },\r\n (result) => {\r\n this.setState({\r\n availableAdvisors: result.Results,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n public render() {\r\n const { alertDefinitionCategories, filter, alertDefinitions } = this.state;\r\n\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n\r\n let notificationOptions = alertDefinitions.filter((x) => x.CategoryId == filter?.EventCategoryId);\r\n if (filter?.EventType != ThreadType.NotSpecified) {\r\n notificationOptions = notificationOptions.filter((x) => x?.Type == EventTypeMap[filter?.EventType]);\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {this.props.isLightbox && (\r\n {\r\n const _data = { ...this.state?.filter };\r\n _data.FilterName = v;\r\n this.setState(() => ({\r\n filter: _data,\r\n }));\r\n }}\r\n />\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.displayNetworkSearch && (\r\n
    \r\n {\r\n return networkClient.get(null, NetworkType.Unknown, v, null, null, false, 20, 1);\r\n }}\r\n onClick={(v) => {\r\n if (!v) {return;}\r\n this.getAdviser(v?.Network, null);\r\n this.setState({\r\n selectedNetwork: v,\r\n selectedCompany: null,\r\n filter: { ...this.state.filter, Network: v?.Network, AdviserIds: [] },\r\n });\r\n }}\r\n resultKey=\"networks\"\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n cssWrapper=\"control-size-430\"\r\n label={titleLabels.networkLabel}\r\n value={this.state.selectedNetwork?.NetworkName}\r\n />\r\n
    \r\n )}\r\n {this.state.displayCompanySearch && (\r\n
    \r\n {\r\n return companyClient.get(\r\n null,\r\n v,\r\n FirmType.All,\r\n null,\r\n this.state.selectedNetwork?.Network,\r\n null,\r\n true,\r\n 1,\r\n 20,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n );\r\n }}\r\n resultKey={\"PageOfResults\"}\r\n onClick={(v) => {\r\n if (!v) {return;}\r\n this.getAdviser(this.state.selectedNetwork?.Network, v?.CompanyCode);\r\n this.setState({\r\n selectedCompany: v,\r\n filter: { ...this.state.filter, CompanyCode: v?.CompanyCode, AdviserIds: [] },\r\n availableAdvisors: [],\r\n });\r\n }}\r\n getText={(v: CompanySummary) => v.CompanyName}\r\n cssWrapper=\"control-size-430\"\r\n label={titleLabels.firmLabel}\r\n value={this.state.selectedCompany?.CompanyName}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n return EventTypeMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n EventType: v,\r\n EventCategoryId: null,\r\n NotificationId: null,\r\n },\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n x.Id))}\r\n selected={filter?.EventCategoryId}\r\n getText={(v) => {\r\n if (v == null) {\r\n return \"All\";\r\n }\r\n return alertDefinitionCategories.find((x) => x.Id == v).Name;\r\n }}\r\n onChange={(v) => {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n EventCategoryId: v,\r\n NotificationId: null,\r\n },\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n x.Id))}\r\n getText={(v) => {\r\n if (v == null) {\r\n return \"All\";\r\n }\r\n return alertDefinitions.find((x) => x.Id == v).Name;\r\n }}\r\n selected={filter?.NotificationId}\r\n onChange={(v) => {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n NotificationId: v,\r\n },\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {\r\n const data = { ...this.state.filter };\r\n if (v) {\r\n data.AdviserIds = this.state.availableAdvisors.map(\r\n (i) => i.AdvisorId\r\n );\r\n } else {\r\n data.AdviserIds = [];\r\n }\r\n this.setState({ filter: data });\r\n }}\r\n value={\r\n this.state.availableAdvisors.length == 0 ||\r\n this.state.availableAdvisors.length ==\r\n this.state.filter?.AdviserIds?.length\r\n }\r\n />\r\n
    \r\n {(this.state.availableAdvisors || [])?.map((ele) => {\r\n return (\r\n
    \r\n {\r\n const data = { ...this.state.filter };\r\n if (v) {\r\n data.AdviserIds.push(ele.AdvisorId);\r\n } else {\r\n data.AdviserIds = data.AdviserIds.filter(\r\n (item) => item != ele.AdvisorId\r\n );\r\n }\r\n this.setState({ filter: data });\r\n }}\r\n value={(this.state.filter?.AdviserIds || []).some(\r\n (item) => item == ele.AdvisorId\r\n )}\r\n />\r\n
    \r\n );\r\n })}\r\n \r\n }\r\n />\r\n
    \r\n
    \r\n \r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n ClientName: v,\r\n },\r\n })\r\n }\r\n validationRules={[\r\n {\r\n errorMessage: \"Please enter at least three characters\",\r\n validator: (v) => {\r\n if (v) {\r\n return v.trim().replace(/ +/g, \"\").length >= 3 ? true : false;\r\n }\r\n return true;\r\n },\r\n },\r\n ]}\r\n />\r\n
    \r\n
    \r\n \r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n ClientReference: v,\r\n },\r\n })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n if (v == null) {\r\n return \"All\";\r\n } else if (v) {\r\n return \"Yes\";\r\n } else {\r\n return \"No\";\r\n }\r\n }}\r\n selected={filter?.FollowUp}\r\n onChange={(v) => {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n FollowUp: v,\r\n },\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n if (v == null) {\r\n return \"All\";\r\n } else if (v) {\r\n return \"Yes\";\r\n } else {\r\n return \"No\";\r\n }\r\n }}\r\n selected={filter?.IsRead}\r\n onChange={(v) => {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n IsRead: v,\r\n },\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n return NotificationDateRangeTypeMap[v];\r\n }}\r\n onChange={(v) => {\r\n this.setState({\r\n filter: {\r\n ...this.state.filter,\r\n DateRangeOption: v,\r\n },\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n From{\" \"}\r\n {DateHelper.getDateStringAsddmmmyyyy(\r\n NotificationFilterStore.calculateFromDate(filter?.DateRangeOption),\r\n true\r\n )}{\" \"}\r\n until {DateHelper.getDateStringAsddmmmyyyy(new Date(), true)}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { NotificationFilterStore } from \"../../Store/Variable\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\nimport { DashboardTab } from \"../../Resource/Content\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport { DashboardSummaryTiles } from \"../Common/DashboardSummaryTiles\";\r\n\r\ninterface INotificationFilterSummaryTilesProps {}\r\n\r\ninterface INotificationFilterSummaryTilesState {\r\n data?: ClientNotificationFiltersModel[];\r\n pressedId: number;\r\n}\r\n\r\nexport class NotificationFilterSummaryTiles extends BaseComponent<\r\n INotificationFilterSummaryTilesProps,\r\n INotificationFilterSummaryTilesState\r\n> {\r\n constructor(props: INotificationFilterSummaryTilesProps) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n pressedId: null,\r\n };\r\n this.subscribeToStore(NotificationFilterStore, () => this.onStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n const data = NotificationFilterStore.getData();\r\n if (!data) {\r\n NotificationAction.getFilterList();\r\n } else {\r\n this.setState({ data });\r\n }\r\n }\r\n\r\n private onStoreChange() {\r\n this.setState({ pressedId: NotificationFilterStore.getPressedId(), data: NotificationFilterStore.getData() });\r\n }\r\n\r\n private onDelete = (filterId) => {\r\n const filter = this.state.data.find((ele) => ele.FilterId == filterId);\r\n NotificationAction.deleteNotificationFilter(filter);\r\n };\r\n\r\n public onSave(data: ClientNotificationFiltersModel): boolean {\r\n NotificationAction.putNotificationFilter(data);\r\n return;\r\n }\r\n\r\n private onReorder(newOrder: ClientNotificationFiltersModel[]) {\r\n const _newOrder = newOrder.map((ele, i) => {\r\n return { ...ele, FilterOrder: i + 1 };\r\n });\r\n return NotificationAction.orderNotificationFilter(_newOrder);\r\n }\r\n\r\n public onAdd(data: ClientNotificationFiltersModel): boolean {\r\n if (this.state.data?.length >= 15) {return;}\r\n\r\n NotificationAction.postNotificationFilter(data);\r\n return;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n this.onAdd(v as ClientNotificationFiltersModel)}\r\n onSave={(v) => this.onSave(v as ClientNotificationFiltersModel)}\r\n onDelete={(id) => this.onDelete(id)}\r\n onReOrder={(newList) => this.onReorder(newList as ClientNotificationFiltersModel[])}\r\n currentTabIndex={DashboardTab.Notification}\r\n pressedId={this.state.pressedId}\r\n />\r\n );\r\n }\r\n}\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { Lightbox } from \"../../../../../../react-core/Html/Components/Lightbox\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { Pager } from \"../../../../../../react-core/Html/Pager\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ThreadType } from \"../../../../../../Wrap/Constants/Enums/Domain/ThreadType\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ThreadResponse } from \"../../../../../../Wrap/Models/Domains/Threads/ThreadResponse\";\r\nimport { ContentTable } from \"../../../../../Admin/Network/Resource/Content\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { TableHeader } from \"../../../../../Shared/Table/Components/TableHeader\";\r\nimport { TableRow } from \"../../../../../Shared/Table/Components/TableRow\";\r\nimport { ScrollTable } from \"../../../../../Shared/Table/ScrollTable\";\r\nimport { IPaginationCofig, ICombineTableConfig, ITableState, ITableConfig } from \"../../../../../Shared/Table/Table\";\r\nimport { TableColSettingsAction } from \"../../../../../Shared/TableColFilter/Action/Action\";\r\nimport { defaultTableColEditor } from \"../../../../../Shared/TableColFilter/Resource/Content\";\r\nimport { TableColSettingsStore } from \"../../../../../Shared/TableColFilter/Store/Variable\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { EventTypeMap } from \"../../Resource/Content\";\r\n\r\ninterface INotificationTableProps extends React.Props {\r\n cssWrapper?: string;\r\n onRef?: (ref) => void;\r\n noDefaultCssWrapper?: boolean;\r\n tHeadCssWrapper?: string;\r\n rowCssWrapper?: string;\r\n isLoading?: boolean;\r\n needPagination?: IPaginationCofig;\r\n isScrollable?: boolean;\r\n isExpanedCondition?: (row, index) => boolean;\r\n SubTitle?: string;\r\n SubBody?: ICombineTableConfig[];\r\n TotalBody?: ICombineTableConfig[];\r\n data: any[];\r\n colEditorKey?: string;\r\n showEmptyMsg?: boolean;\r\n cssEmptyMessage?: string;\r\n emptyMsg?: string;\r\n dragOption?: {\r\n dragable: boolean;\r\n onReorder: (result: any[]) => void;\r\n dragIconPosition?: \"right\" | \"left\";\r\n dragTitle?: string;\r\n };\r\n updateRow?: (row) => void;\r\n}\r\n\r\ninterface INotificationTableState extends ITableState {\r\n showMandatoryNotificationPopup: boolean;\r\n selectedMandatoryNotification: any;\r\n}\r\n\r\ninterface INotificationTableConfig extends ITableConfig {}\r\n\r\nexport class NotificationTable extends FormComponent {\r\n constructor(props: INotificationTableProps) {\r\n super(props);\r\n this.state = {\r\n currentColSettings: null,\r\n pageSize: props.needPagination?.pageSize,\r\n showMandatoryNotificationPopup: false,\r\n selectedMandatoryNotification: null,\r\n };\r\n this.subscribeToStore(TableColSettingsStore, () => this.onTableColSettingsStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n this.getSettings();\r\n this.props.onRef ? this.props.onRef(this) : null;\r\n }\r\n\r\n private onTableColSettingsStoreChange() {\r\n this.getSettings();\r\n }\r\n\r\n private getSettings() {\r\n const { colEditorKey } = this.props;\r\n if (!colEditorKey) {return;}\r\n const _settings = JSON.parse(JSON.stringify(TableColSettingsStore.getData()));\r\n if (!_settings) {\r\n TableColSettingsAction.get(colEditorKey);\r\n } else if (JSON.stringify(_settings) == \"{}\") {\r\n TableColSettingsAction.post(defaultTableColEditor);\r\n } else if (!_settings[colEditorKey]) {\r\n TableColSettingsAction.post(defaultTableColEditor[colEditorKey], colEditorKey);\r\n } else {\r\n this.setState({ currentColSettings: _settings[colEditorKey] });\r\n }\r\n }\r\n\r\n private PAGESIZE = 10;\r\n\r\n private DRAGICONPOSITION = \"right\";\r\n\r\n private DRAGTITLE = \"Reorder\";\r\n\r\n private renderReorderIcon = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n private getList = () => document.getElementById(\"drag-sort-table-draggable\");\r\n\r\n private move = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n\r\n const list = e.currentTarget.parentNode,\r\n x = e.clientX,\r\n y = e.clientY;\r\n\r\n const swapItem = document.elementFromPoint(x, y) === null ? e.currentTarget : document.elementFromPoint(x, y);\r\n\r\n if (list === swapItem.parentNode) {\r\n const _swapItem = swapItem !== e.currentTarget.nextSibling ? swapItem : swapItem.nextSibling;\r\n list.insertBefore(e.currentTarget, _swapItem);\r\n }\r\n if (list.contains(swapItem) && list !== swapItem) {\r\n const dragItem = this.getDragItemByTarget(swapItem, list);\r\n const _swapItem = dragItem && dragItem !== e.currentTarget.nextSibling ? dragItem : swapItem.nextSibling;\r\n list.insertBefore(e.currentTarget, _swapItem);\r\n }\r\n };\r\n\r\n private getDragItemByTarget = (target: Element, pNode: Node) => {\r\n let _dragItem = null;\r\n pNode.childNodes.forEach((item) => {\r\n if (item.contains(target)) {\r\n _dragItem = item;\r\n }\r\n });\r\n return _dragItem;\r\n };\r\n\r\n private drop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n (e.currentTarget.childNodes[0] as HTMLElement).style.opacity = \"1\";\r\n const _list = this.getList();\r\n const result = [];\r\n _list.childNodes.forEach((element) => {\r\n const index: string = (element as HTMLElement).id;\r\n result.push(this.props.data[index]);\r\n });\r\n\r\n this.props.dragOption.onReorder(result);\r\n };\r\n\r\n private renderBody(data: any[], col: INotificationTableConfig[]) {\r\n const { showEmptyMsg, emptyMsg, cssEmptyMessage, dragOption } = this.props;\r\n if (showEmptyMsg && data && data.length == 0) {\r\n return (\r\n \r\n \r\n \r\n {\" \"}\r\n
    {emptyMsg ? emptyMsg : ContentTable.noDataMsg}
    \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (!data || !col) {return null;}\r\n const rows = [];\r\n\r\n if (dragOption && dragOption.dragable) {\r\n const postion = dragOption.dragIconPosition || this.DRAGICONPOSITION;\r\n const reorderCol: INotificationTableConfig = {\r\n title: dragOption.dragTitle || this.DRAGTITLE,\r\n key: \"\",\r\n render: () => {\r\n return this.renderReorderIcon();\r\n },\r\n };\r\n if (postion == \"left\") {\r\n col = [reorderCol].concat(col);\r\n } else {\r\n col.push(reorderCol);\r\n }\r\n }\r\n data.forEach((ele, index) => {\r\n rows.push(\r\n this.move(e)}\r\n onDrop={(e) => this.drop(e)}\r\n />\r\n );\r\n });\r\n\r\n return (\r\n \r\n {this.props.SubTitle && (\r\n \r\n {this.props.SubTitle}\r\n \r\n )}\r\n {rows}\r\n \r\n );\r\n }\r\n\r\n private renderSubBody(type: \"sub\" | \"total\", config: ICombineTableConfig[]) {\r\n if (!config) {return null;}\r\n const { currentColSettings } = this.state;\r\n let lastColSpan = 0;\r\n return (\r\n \r\n \r\n {config.map((ele, index) => {\r\n let disabledColumns = 0;\r\n let colSpan = ele.colSpan ? ele.colSpan : 1;\r\n if (currentColSettings != null && ele.colIndex != null && ele.colIndex > 0) {\r\n if (\r\n ele.colIndex >= currentColSettings.length ||\r\n currentColSettings[ele.colIndex].Enabled == false\r\n ) {\r\n //if this column is removed, don't render this total\r\n return null;\r\n }\r\n const columnsBefore = currentColSettings.slice(0, ele.colIndex);\r\n disabledColumns = columnsBefore.filter((ele) => ele.Enabled == false).length;\r\n colSpan = ele.colIndex - disabledColumns - lastColSpan;\r\n lastColSpan = ele.colIndex - disabledColumns;\r\n }\r\n\r\n return (\r\n \r\n {ele.data}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n }\r\n\r\n private renderPartLoading() {\r\n return ;\r\n }\r\n\r\n private renderPagination() {\r\n const { totalNumOfResult, onPaginationChange, currentPage, isShowPerPageOptions } = this.props.needPagination;\r\n const { pageSize } = this.state;\r\n const _pageSize = pageSize || this.PAGESIZE;\r\n const _isShowPerPageOptions = CommonHelper.isNullOrEmpty(isShowPerPageOptions) ? false : isShowPerPageOptions;\r\n return (\r\n {\r\n this.setState({ pageSize: recordsPerPage });\r\n onPaginationChange(pageIndex, recordsPerPage);\r\n }}\r\n recordsPerPageOptions={[20, 50, 100]}\r\n isShowPerPageOptions={_isShowPerPageOptions}\r\n />\r\n );\r\n }\r\n\r\n private getColumn(settings: any[], col: INotificationTableConfig[]) {\r\n const result = [];\r\n settings.forEach((ele) => {\r\n if (ele.Enabled) {\r\n const findObj = col.find((item) => item.tableFilter == ele.Column);\r\n if (findObj) {result.push(col.find((item) => item.tableFilter == ele.Column));}\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n private renderTContent(data, col) {\r\n return (\r\n <>\r\n \r\n {this.renderBody(data, col)}\r\n {this.renderSubBody(\"sub\", this.props.SubBody)}\r\n {this.renderSubBody(\"total\", this.props.TotalBody)}\r\n \r\n );\r\n }\r\n\r\n private getColumnHeaders(): ITableConfig[] {\r\n return [\r\n {\r\n title: \"Toggle to expand details for this row\",\r\n thInnerCss: \"sr-only\",\r\n key: \"\",\r\n render: (data, row: any) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n },\r\n toogleOptions: (row) => {\r\n return {\r\n toogleable: true,\r\n isToogle: row.isToogle,\r\n onToogle: (isToogle) => {\r\n if (row?.Type == ThreadType.Alert && isToogle == true) {\r\n this.setState({\r\n showMandatoryNotificationPopup: true,\r\n selectedMandatoryNotification: row,\r\n });\r\n } else {\r\n console.log(isToogle);\r\n row.IsRead = isToogle;\r\n this.props.updateRow(row);\r\n }\r\n },\r\n expandContent: (\r\n
    \r\n \r\n
    \r\n ),\r\n };\r\n },\r\n },\r\n {\r\n title: \"Type\",\r\n key: \"Type\",\r\n render: (data) => {\r\n return EventTypeMap[data];\r\n },\r\n },\r\n {\r\n title: \"Notification\",\r\n key: \"EventType\",\r\n },\r\n {\r\n title: \"Account number\",\r\n key: \"AccountNumber\",\r\n },\r\n {\r\n title: \"Client name\",\r\n key: \"ClientName\",\r\n render: (data, row: any) => {\r\n return checkPermission(UserClaim.AdviserPortalCustomerPartialAccessCanView) ? (\r\n \r\n Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row?.CustomerId\r\n ),\r\n }).detail\r\n )\r\n }\r\n >\r\n {row.ClientName}\r\n \r\n ) : null;\r\n },\r\n },\r\n {\r\n title: \"Adviser\",\r\n key: \"AdviserName\",\r\n },\r\n {\r\n title: \"Date\",\r\n key: \"LastMessageOn\",\r\n render: (data, row: any) => {\r\n return (\r\n
    \r\n {JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\")}\r\n
    \r\n );\r\n },\r\n },\r\n {\r\n title: \"Flag for follow up\",\r\n key: \"\",\r\n tdCssWrapper: \"text-center\",\r\n render: (data, row: any) => {\r\n return (\r\n {\r\n row.IsFollowed = !row.IsFollowed;\r\n this.props.updateRow(row);\r\n }}\r\n >\r\n \r\n Follow up\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: this.checkAll(),\r\n key: \"\",\r\n thCssWrapper: \"text-center\",\r\n tdCssWrapper: \"text-center\",\r\n render: (data, row: ThreadResponse) => {\r\n return (\r\n {\r\n if (row?.Type == ThreadType.Alert && v) {\r\n this.setState({\r\n showMandatoryNotificationPopup: true,\r\n selectedMandatoryNotification: row,\r\n });\r\n } else {\r\n row.IsRead = v;\r\n this.props.updateRow(row);\r\n }\r\n }}\r\n label=\"Mark as read\"\r\n cssWrapper=\"square-checkbox mb-0 label-sr-only\"\r\n />\r\n );\r\n },\r\n },\r\n ];\r\n }\r\n\r\n private checkAll() {\r\n const { data } = this.props;\r\n return (\r\n
    \r\n x.IsRead)}\r\n cssWrapper={\"square-checkbox mb-0\"}\r\n label=\"Mark as read\"\r\n onChange={(v) => {\r\n data.forEach((ele, index) => {\r\n ele.IsRead = v;\r\n this.props.updateRow(ele);\r\n });\r\n }}\r\n />\r\n
    \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, needPagination, isLoading, colEditorKey, isScrollable, noDefaultCssWrapper } = this.props;\r\n const col = this.getColumnHeaders();\r\n const { currentColSettings, showMandatoryNotificationPopup, selectedMandatoryNotification } = this.state;\r\n const _isSrollable = isScrollable != undefined ? isScrollable : true;\r\n if (isLoading == true || (colEditorKey && !currentColSettings)) {return this.renderPartLoading();}\r\n let _col = col.filter((ele) => ele !== null);\r\n _col = _col.filter((ele) => (ele.userClaim ? checkPermission(ele.userClaim) : true));\r\n _col = colEditorKey ? this.getColumn(currentColSettings, _col) : _col;\r\n const isRenderPagination = data && needPagination && needPagination.totalNumOfResult > 0;\r\n const cssWrapper = noDefaultCssWrapper\r\n ? this.props.cssWrapper\r\n : classNames(\"data-table\", this.props.cssWrapper);\r\n return (\r\n <>\r\n {_isSrollable ? (\r\n {this.renderTContent(data, _col)}\r\n ) : (\r\n {this.renderTContent(data, _col)}
    \r\n )}\r\n {isRenderPagination && this.renderPagination()}\r\n {showMandatoryNotificationPopup && (\r\n {\r\n this.setState({ showMandatoryNotificationPopup: false });\r\n }}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n

    \r\n Please confirm this action. Action required notifications contain information which should\r\n be reviewed. You can find historic Action required notifications again using the\r\n Notification Filter functionality.\r\n

    \r\n
    \r\n {\r\n this.setState({ showMandatoryNotificationPopup: false });\r\n selectedMandatoryNotification.IsRead = true;\r\n this.props.updateRow(selectedMandatoryNotification);\r\n }}\r\n >\r\n Yes, mark as read\r\n \r\n {\r\n this.setState({ showMandatoryNotificationPopup: false });\r\n }}\r\n >\r\n Cancel\r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../../react-core/Html/PartLoading\";\r\nimport { AlertTriggerInfo } from \"../../../../../../Wrap/Models/Domains/Threads/AlertTriggerInfo\";\r\nimport { NotificationAction } from \"../../Action/NotificationAction\";\r\n\r\ninterface INotificationsExplainedProps {}\r\n\r\ninterface INotificationsExplainedState {\r\n triggerInfo: Array;\r\n}\r\n\r\nexport class NotificationsExplained extends FormComponent {\r\n constructor(props: INotificationsExplainedProps) {\r\n super(props);\r\n this.state = {\r\n triggerInfo: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getTriggerInfo();\r\n }\r\n\r\n private getTriggerInfo() {\r\n NotificationAction.getTriggerInformation((result) => {\r\n this.setState({ triggerInfo: result });\r\n });\r\n }\r\n\r\n private renderTriggerInformation() {\r\n const { triggerInfo } = this.state;\r\n if (triggerInfo.length == 0) {\r\n return ;\r\n }\r\n const descriptions = [];\r\n triggerInfo.sort((a, b) => a.AlertDefinitionName.localeCompare(b.AlertDefinitionName));\r\n triggerInfo.forEach((info) => {\r\n descriptions.push(\r\n

    \r\n {info?.AlertDefinitionName}\r\n
    \r\n {info?.TriggerInformation}\r\n

    \r\n );\r\n });\r\n return descriptions;\r\n }\r\n\r\n render() {\r\n return <>{this.renderTriggerInformation()};\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Workflow } from \"./Workflow/Workflow\";\r\nimport {\r\n getDashboardCoachmarkerConfig,\r\n DashboardTab,\r\n notificationsCoachmarkerConfig,\r\n DashboardTabArray,\r\n} from \"../Resource/Content\";\r\nimport { Tab } from \"../../../../Shared/Tab/Tab\";\r\nimport { Permission } from \"../../../../Shared/Permission/Permission\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { useState } from \"react\";\r\nimport CoachMarker from \"../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { CoachMarkerContext } from \"../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { User } from \"../../../../../Wrap/Models/Models/User/User\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { Action } from \"../../../Actions/Action\";\r\nimport { CompanySummary } from \"../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport WorkflowDashboardSearch from \"../../BusinessManagement/Component/Search/WorkflowDashboardSearch\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { WorkflowFilterSummaryTiles } from \"./Workflow/WorkflowFilterSummaryTiles\";\r\nimport { NotificationFilterSummaryTiles } from \"./Notification/NotificationFilterSummaryTiles\";\r\nimport { NotificationAction } from \"../Action/NotificationAction\";\r\nimport { Notification } from \"./Notification/Notification\";\r\nimport { NotificationFilterStore } from \"../Store/Variable\";\r\nimport { DashboardAction } from \"../Action/DashboardAction\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\n\r\ninterface ISecuredDashboardProps {\r\n onClick: (method: string, parameters?: any) => void;\r\n}\r\n\r\ninterface ISecuredDashboardState {\r\n tabIndex: DashboardTab;\r\n content: JSX.Element;\r\n}\r\n\r\nexport const SecuredDashboard = (props: ISecuredDashboardProps) => {\r\n const [state, setState] = useState({\r\n tabIndex: getTabIndex(),\r\n content: null,\r\n });\r\n\r\n const [existUnReadNotifications, updateExistUnReadNotifications] = useState(false);\r\n\r\n const [user, setUser] = useState();\r\n React.useEffect(() => {\r\n UserStore.onChange(this, () => setUser(UserStore.getUserInfo()));\r\n checkUnReadNotifications();\r\n const maybeUser = UserStore.getUserInfo();\r\n\r\n if (maybeUser) {\r\n setUser(maybeUser);\r\n } else {\r\n Action.getUser();\r\n }\r\n\r\n return () => UserStore.removeChangeListener(this);\r\n }, []);\r\n\r\n const { tabIndex, content } = state;\r\n\r\n const { setPageConfig, reset } = React.useContext(CoachMarkerContext);\r\n //\r\n React.useEffect(() => {\r\n getContent(tabIndex);\r\n switch (tabIndex) {\r\n case DashboardTab.Notification:\r\n //reset();\r\n // setPageConfig(notificationsCoachmarkerConfig);\r\n break;\r\n case DashboardTab.Workflow:\r\n //reset();\r\n //setPageConfig(getDashboardCoachmarkerConfig(false));\r\n break;\r\n default:\r\n break;\r\n }\r\n return () => {\r\n setPageConfig(null);\r\n };\r\n }, [tabIndex]);\r\n\r\n const [filterState, setFilterState] = React.useState<{\r\n adviser: number;\r\n firm: CompanySummary;\r\n }>({\r\n adviser: null,\r\n firm: null,\r\n });\r\n React.useEffect(() => {\r\n if (filterState.firm != null) {\r\n getContent(DashboardTab.Workflow);\r\n }\r\n }, [filterState]);\r\n\r\n return (\r\n
    \r\n

    Dashboard

    \r\n

    Overview

    \r\n {((tabIndex == DashboardTab.Workflow && filterState?.firm) || tabIndex == DashboardTab.Notification) && (\r\n \r\n {tabIndex == DashboardTab.Workflow ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
    \r\n \r\n getContent(tab)}\r\n cssWrapper=\"mb-20 ad d1\"\r\n permission={pagePermission()}\r\n />\r\n
    \r\n {content}\r\n
    \r\n );\r\n\r\n function getTabIndex(): DashboardTab {\r\n const i = window.location.pathname.lastIndexOf(\"/\");\r\n const path = window.location.pathname.substr(i + 1);\r\n if (CommonHelper.isNullOrEmpty(path) || path.toLowerCase() == \"dashboard\") {\r\n return DashboardTab.Workflow;\r\n }\r\n const tabs = [DashboardTab.Workflow, DashboardTab.Notification];\r\n let tabIndex: DashboardTab = null;\r\n tabs.forEach((element: string) => {\r\n if (element.toLowerCase() === path.toLowerCase()) {\r\n tabIndex = element as DashboardTab;\r\n }\r\n });\r\n if (path.toLowerCase() === \"configure-notification\") {\r\n tabIndex = DashboardTab.Notification;\r\n }\r\n return tabIndex;\r\n }\r\n\r\n function getContent(key: DashboardTab) {\r\n let _content = null;\r\n\r\n switch (key) {\r\n case DashboardTab.Workflow:\r\n _content = (\r\n \r\n {filterState.firm == null ? (\r\n {\r\n DashboardAction.updateFilterList(firm?.CompanyCode, adviser, () => {\r\n setFilterState({ firm: firm, adviser: adviser });\r\n });\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n break;\r\n case DashboardTab.Notification:\r\n _content = (\r\n \r\n \r\n \r\n );\r\n break;\r\n }\r\n setState({ content: _content, tabIndex: key });\r\n }\r\n\r\n function checkUnReadNotifications() {\r\n const filter = NotificationFilterStore.getDefaultFilter();\r\n\r\n NotificationAction.getNotificationTable(\r\n NotificationFilterStore.convertDashboardFilterToQuery(filter, 1),\r\n (d) => {\r\n if (d?.Results?.length) {\r\n updateExistUnReadNotifications(d?.Results?.length > 0);\r\n } else {\r\n updateExistUnReadNotifications(false);\r\n }\r\n }\r\n );\r\n }\r\n\r\n function pagePermission() {\r\n const permission = new Map();\r\n permission.set(DashboardTab.Notification, UserClaim.AdviserPortalNotificationCanView);\r\n permission.set(DashboardTab.Workflow, UserClaim.AdviserPortalWorkFlowCanView);\r\n return permission;\r\n }\r\n};\r\n","import * as React from \"react\";\r\nimport { DashboardDateRange } from \"../Common/DashboardDateRange\";\r\nimport { SelectEditor } from \"../../../../../../react-core/Html/SelectEditor\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport { TextBoxEditor } from \"../../../../../../react-core/Html/TextBoxEditor\";\r\nimport { FormComponent } from \"../../../../../../react-core/Html/FormComponent\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { AlphanumericWithSpace } from \"../../../../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { DateRangeOptionType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/DateRangeOptionType\";\r\nimport { MultiselectDropdown } from \"../../../../../../react-core/Html/Components/MultiselectDropdown\";\r\nimport {\r\n FilterProductTypeOption,\r\n ProcessTypeOptionsForNew,\r\n FilterActivityStatusMap,\r\n ProcessTypeMapForNew,\r\n FilterProductTypeMap,\r\n DateRangeOptionTypeMap,\r\n DashboardDateRangeOption,\r\n filterTransferStatusOptions,\r\n ProcessTypeOptionsForLegacy,\r\n ProcessTypeOptionsMapForLegacy,\r\n filterActivityStatusOptions,\r\n ProcessTypeOptionsForLegacyActivityTab,\r\n ProcessTypeOptionsMapForLegacyActivityTab,\r\n filterActivityStatusOptionsForNonTransferWizards,\r\n} from \"../../Resource/Content\";\r\nimport { CompanyDetailSort } from \"../../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { FirmType } from \"../../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { NetworkType } from \"../../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { CompanySummary } from \"../../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { SearchInput } from \"../../../../../Shared/SearchInput/SearchInput\";\r\nimport { CompanySearchClient } from \"../../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { NetworkHistoryClient } from \"../../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { AdviserWizardAction } from \"../../../../../Admin/Adviser/Actions/AdviserWizardAction\";\r\nimport { Adviser } from \"../../../../../../Wrap/Models/Domains/Adviser/Adviser\";\r\nimport { CompanyWizardAction } from \"../../../../../Admin/Company/CompanyWizard/Actions/CompanyWizardAction\";\r\nimport { NetworkAction } from \"../../../../../Admin/Network/Actions/NetworkAction\";\r\nimport { CheckboxEditor } from \"../../../../../../react-core/Html/CheckboxEditor\";\r\nimport { ProcessType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { SubAccountType } from \"../../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ActivityStatus } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ActivityStatus\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { ServiceProposition } from \"../../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\ninterface IDashboardFilterFormProps {\r\n data: ClientDashboardFiltersModel;\r\n isLightbox: boolean;\r\n onRef: (ref) => void;\r\n isActivity: boolean;\r\n}\r\n\r\ninterface IDashboardFilterFormState {\r\n data?: ClientDashboardFiltersModel;\r\n DateRangeOption?: DateRangeOptionType;\r\n selectNetwork: NetworkHistoryModel;\r\n selectCompany: CompanySummary;\r\n advisers: Adviser[];\r\n displayNetworkSearch: boolean;\r\n displayCompanySearch: boolean;\r\n showCharactersRemaining: boolean;\r\n}\r\n\r\nexport class DashboardFilterForm extends FormComponent {\r\n constructor(props: IDashboardFilterFormProps) {\r\n super(props);\r\n this.state = {\r\n data: JSON.parse(JSON.stringify(props.data)),\r\n selectNetwork: null,\r\n selectCompany: null,\r\n advisers: [],\r\n displayNetworkSearch: false,\r\n displayCompanySearch: false,\r\n showCharactersRemaining: false,\r\n };\r\n }\r\n\r\n getData() {\r\n return this.state.data;\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n if (this.state.data?.Network) {\r\n NetworkAction.getNetwork(\r\n {\r\n NetworkId: this.state.data?.Network,\r\n NetworkType: NetworkType.Unknown,\r\n NetworkName: null,\r\n TradingReference: null,\r\n PostCode: null,\r\n Max: 10,\r\n Min: 1,\r\n },\r\n (d) => {\r\n this.setState({ selectNetwork: d.networks[0] });\r\n }\r\n );\r\n }\r\n if (this.state.data?.CompanyCode) {\r\n CompanyWizardAction.getFirm(\r\n {\r\n CompanyId: this.state.data?.CompanyCode,\r\n CompanyName: null,\r\n FirmType: FirmType.All,\r\n FSAAuthorisationNumber: null,\r\n Network: null,\r\n Postcode: null,\r\n SortDescending: true,\r\n Start: 1,\r\n Count: 10,\r\n OrderBy: CompanyDetailSort.CompanyId,\r\n IncludeInactive: false\r\n },\r\n (d) => {\r\n this.setState({\r\n selectCompany: d.PageOfResults.filter((x) => x.CompanyCode == this.state.data?.CompanyCode)[0],\r\n });\r\n }\r\n );\r\n }\r\n if (this.state.data?.Network || this.state.data?.CompanyCode) {\r\n this.getAdviser(this.state.data?.Network, this.state.data?.CompanyCode);\r\n }\r\n\r\n const networkClient = new NetworkHistoryClient();\r\n networkClient.get(null, NetworkType.Unknown, null, null, null, false, 10, 1).onSuccess((result) => {\r\n if (result.TotalRows > 1) {\r\n this.setState({ displayNetworkSearch: true });\r\n } else if (result.TotalRows == 1 && !this.state.data?.Network) {\r\n const _data = { ...this.state?.data };\r\n _data.Network = result.networks[0]?.Network;\r\n this.setState(() => ({\r\n data: _data,\r\n }));\r\n }\r\n });\r\n\r\n const companyClient = new CompanySearchClient();\r\n companyClient\r\n .get(null, null, FirmType.All, null, null, null, true, 1, 10, CompanyDetailSort.CompanyName,false)\r\n .onSuccess((result) => {\r\n if (result.TotalNumberOfResults > 1) {\r\n this.setState({ displayCompanySearch: true });\r\n } else if (result.TotalNumberOfResults == 1 && !this.state.data?.CompanyCode) {\r\n this.getAdviser(null, result.PageOfResults[0].CompanyCode);\r\n const _data = { ...this.state?.data };\r\n _data.CompanyCode = result.PageOfResults[0]?.CompanyCode;\r\n _data.AdviserIds = [];\r\n this.setState({ selectCompany: result.PageOfResults[0], data: _data });\r\n }\r\n });\r\n }\r\n\r\n private getDateRangeOptionTypeEnum(dateRangeOption: string) {\r\n switch (dateRangeOption) {\r\n case DateRangeOptionTypeMap[DateRangeOptionType.CurrentTaxYear]:\r\n return DateRangeOptionType.CurrentTaxYear;\r\n case DateRangeOptionTypeMap[DateRangeOptionType.PastSixMonths]:\r\n return DateRangeOptionType.PastSixMonths;\r\n case DateRangeOptionTypeMap[DateRangeOptionType.PastTaxYear]:\r\n return DateRangeOptionType.PastTaxYear;\r\n case DateRangeOptionTypeMap[DateRangeOptionType.PastYear]:\r\n return DateRangeOptionType.PastYear;\r\n case DateRangeOptionTypeMap[DateRangeOptionType.Custom]:\r\n return DateRangeOptionType.Custom;\r\n case DateRangeOptionTypeMap[DateRangeOptionType.PastThreeMonths]:\r\n return DateRangeOptionType.PastThreeMonths;\r\n case DateRangeOptionTypeMap[DateRangeOptionType.PastMonth]:\r\n return DateRangeOptionType.PastMonth;\r\n default:\r\n return DateRangeOptionType.PastSixMonths;\r\n }\r\n }\r\n\r\n private getAdviser(network, company) {\r\n if (\r\n CommonHelper.isNullOrEmpty(company) &&\r\n CommonHelper.isNullOrEmpty(network) &&\r\n !this.props.data?.AdviserIds.length\r\n ) {\r\n this.setState({ advisers: [] });\r\n } else {\r\n AdviserWizardAction.getAdviser(\r\n { Company: company, Network: network, CurrentPage: 1, ResultsPerPage: 999 },\r\n (result) => {\r\n this.setState({ advisers: result.Results });\r\n }\r\n );\r\n }\r\n }\r\n\r\n private getProcessTypeByTopFilter() {\r\n if (this.props.isActivity) {\r\n return {\r\n options: ProcessTypeOptionsForNew.concat(ProcessTypeOptionsForLegacyActivityTab.slice(1)),\r\n optionsMap: { ...ProcessTypeMapForNew, ...ProcessTypeOptionsMapForLegacyActivityTab },\r\n };\r\n }\r\n return {\r\n options: ProcessTypeOptionsForNew.concat(ProcessTypeOptionsForLegacy.slice(1)),\r\n optionsMap: { ...ProcessTypeMapForNew, ...ProcessTypeOptionsMapForLegacy },\r\n };\r\n }\r\n\r\n private getActivityStatusByTopFilter() {\r\n const { data } = this.state;\r\n if (data?.FilterActivityType == ProcessType.Transfer) {\r\n return filterTransferStatusOptions;\r\n } else if (data?.FilterActivityType) {\r\n return filterActivityStatusOptionsForNonTransferWizards;\r\n }\r\n return filterActivityStatusOptions;\r\n }\r\n\r\n render() {\r\n const { data } = this.state;\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n const userInfo = UserStore.getUserInfo();\r\n let productTypeOptions: SubAccountType[] = FilterProductTypeOption;\r\n if (userInfo.ServiceProposition.length == 1 && userInfo.ServiceProposition[0] == ServiceProposition.Fundzone) {\r\n productTypeOptions = FilterProductTypeOption.filter(\r\n (x) => x != SubAccountType.Npr && x != SubAccountType.OffshoreBond && x != SubAccountType.OnshoreBond\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {this.props.isLightbox && (\r\n {\r\n const _data = { ...this.state?.data };\r\n _data.FilterName = v;\r\n this.setState(() => ({\r\n showCharactersRemaining: true,\r\n data: _data,\r\n }));\r\n }}\r\n />\r\n )}\r\n
    \r\n {\r\n const _data = { ...this.state?.data };\r\n _data.BeginDate = JsonDateParser.toJsonDateNoOffset(beginDate || new Date());\r\n _data.EndDate = JsonDateParser.toJsonDateNoOffset(endDate || new Date());\r\n _data.DateRangeOption = this.getDateRangeOptionTypeEnum(DateRangeOption);\r\n this.setState({ data: _data });\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n return this.getProcessTypeByTopFilter().optionsMap[v];\r\n }}\r\n selected={data?.FilterActivityType}\r\n onChange={(v) => {\r\n const _data = { ...data };\r\n _data.FilterActivityType = v;\r\n if (\r\n [\r\n ProcessType.NewBusiness,\r\n ProcessType.NewQuoteExistingClient,\r\n ProcessType.NewBusinessExistingClient,\r\n ProcessType.Quote,\r\n ].includes(v)\r\n ) {\r\n _data.FilterProductType = SubAccountType.NotSpecified;\r\n }\r\n _data.FilterActivityStatus = ActivityStatus.NotSpecified;\r\n\r\n // if select legacy process stype, need reset network/companny/adviser info\r\n // if (ProcessTypeOptionsForLegacy.includes(v)) {\r\n // _data.Network = null;\r\n // _data.CompanyCode = null;\r\n // _data.AdviserIds = [];\r\n // _data.FilterProductType = SubAccountType.NotSpecified;\r\n // this.setState({ selectNetwork: null, selectCompany: null, advisers: [] });\r\n // }\r\n this.setState({ data: _data });\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n return FilterProductTypeMap[v];\r\n }}\r\n disabled={\r\n [\r\n ProcessType.NewBusiness,\r\n ProcessType.NewQuoteExistingClient,\r\n ProcessType.NewBusinessExistingClient,\r\n ProcessType.Quote,\r\n ].includes(data?.FilterActivityType) ||\r\n ProcessTypeOptionsForLegacy.includes(this.state.data?.FilterActivityType)\r\n }\r\n selected={data?.FilterProductType}\r\n onChange={(v) => {\r\n const _data = { ...data };\r\n _data.FilterProductType = v;\r\n this.setState({ data: _data });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n {!this.props.isActivity && this.state.displayNetworkSearch && (\r\n
    \r\n {\r\n return networkClient.get(null, NetworkType.Unknown, v, null, null, false, 20, 1);\r\n }}\r\n resultKey=\"networks\"\r\n onClick={(v: NetworkHistoryModel) => {\r\n const _data = { ...this.state?.data };\r\n _data.Network = v?.Network;\r\n this.getAdviser(v?.Network, this.state.selectCompany?.CompanyCode);\r\n this.setState(() => ({\r\n selectNetwork: v,\r\n data: _data,\r\n }));\r\n }}\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n cssWrapper=\"control-size-430\"\r\n label={\"Network\"}\r\n value={this.state.selectNetwork?.NetworkName}\r\n disabled={ProcessTypeOptionsForLegacy.includes(this.state.data?.FilterActivityType)}\r\n />\r\n
    \r\n )}\r\n {!this.props.isActivity && this.state.displayCompanySearch && (\r\n
    \r\n {\r\n return companyClient.get(\r\n null,\r\n v,\r\n FirmType.All,\r\n null,\r\n this.state.selectNetwork?.Network,\r\n null,\r\n true,\r\n 1,\r\n 20,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n );\r\n }}\r\n resultKey=\"PageOfResults\"\r\n onClick={(v: CompanySummary) => {\r\n const _data = { ...this.state?.data };\r\n const companyCode = v?.CompanyCode || this.state.selectCompany?.CompanyCode;\r\n _data.CompanyCode = companyCode;\r\n _data.AdviserIds = [];\r\n this.getAdviser(this.state.selectNetwork?.Network, companyCode);\r\n this.setState(() => ({\r\n selectCompany: v || this.state.selectCompany,\r\n data: _data,\r\n }));\r\n }}\r\n getText={(v: CompanySummary) => v.CompanyName}\r\n cssWrapper=\"control-size-430\"\r\n label={\"Firm\"}\r\n value={this.state.selectCompany?.CompanyName}\r\n disabled={\r\n this.props.isActivity\r\n ? ProcessTypeOptionsForLegacy.includes(this.state.data?.FilterActivityType)\r\n : false\r\n }\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n {!this.props.isActivity && (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {\r\n const data = { ...this.state.data };\r\n if (v) {\r\n data.AdviserIds = this.state.advisers.map((i) => i.AdvisorId);\r\n } else {\r\n data.AdviserIds = [];\r\n }\r\n this.setState({ data });\r\n }}\r\n value={\r\n this.state.advisers.length == 0 ||\r\n this.state.advisers.length == this.state.data?.AdviserIds.length\r\n }\r\n />\r\n
    \r\n {(this.state.advisers || [])?.map((ele) => {\r\n return (\r\n
    \r\n {\r\n const data = { ...this.state.data };\r\n if (v) {\r\n data.AdviserIds.push(ele.AdvisorId);\r\n } else {\r\n data.AdviserIds = data.AdviserIds.filter(\r\n (item) => item != ele.AdvisorId\r\n );\r\n }\r\n this.setState({ data });\r\n }}\r\n value={(this.state.data?.AdviserIds || []).some(\r\n (item) => item == ele.AdvisorId\r\n )}\r\n />\r\n
    \r\n );\r\n })}\r\n \r\n }\r\n disabled={\r\n this.props.isActivity\r\n ? ProcessTypeOptionsForLegacy.includes(this.state.data?.FilterActivityType)\r\n : false\r\n }\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n return FilterActivityStatusMap[v];\r\n }}\r\n selected={data?.FilterActivityStatus}\r\n onChange={(v) => {\r\n const _data = { ...data };\r\n _data.FilterActivityStatus = v;\r\n this.setState({ data: _data });\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\n\r\ninterface ITrasnferTrackerProps {\r\n cssWrapper?: string;\r\n secondStep?: boolean;\r\n complete?: boolean;\r\n}\r\n\r\nexport const TransferTracker = (props: ITrasnferTrackerProps) => {\r\n const className = classNames(\"transfer-tracker\", props.cssWrapper);\r\n\r\n return (\r\n
    \r\n
      \r\n
    • \r\n
      1
      \r\n
    • \r\n
    • \r\n
      2
      \r\n
    • \r\n
    • \r\n
      3
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    Pending review of transfer application
    \r\n
    \r\n
    \r\n
    Transfer request by abrdn
    \r\n
    \r\n
    \r\n
    Transfer received
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { JsonDateParser } from \"../../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ActivityStatus } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ActivityStatus\";\r\nimport { ProcessType } from \"../../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { Alert } from \"../../../../../Shared/Components/Alert\";\r\nimport { TextAndDots } from \"../../../../../Shared/Dropdown/TextAndDots\";\r\nimport { AlertType } from \"../../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Table } from \"../../../../../Shared/Table/Table\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { subAccountTypeMap } from \"../../../Clients/PortfolioDashboard/Components/Performance/Resource/Contents\";\r\nimport { ClientRecordAction } from \"../../../Clients/ClientRecord/Action/ClientRecordAction\";\r\nimport { DashboardAction } from \"../../Action/DashboardAction\";\r\nimport {\r\n DateRangeOptionTypeMap,\r\n FilterActivityStatusMap,\r\n ProcessTypeMapForNew,\r\n ProcessTypeOptionsForLegacy,\r\n ProcessTypeOptionsMapForLegacy,\r\n ProcessTypeOptionsMapForLegacyActivityTab,\r\n transferMsg,\r\n} from \"../../Resource/Content\";\r\nimport { switchCancel, switchView, switchResume } from \"../../Resource/WorkflowHelper\";\r\nimport { DashboardFilterStore } from \"../../Store/Variable\";\r\nimport { DeleteLightbox } from \"../../../../Common/DeleteLightbox\";\r\nimport { TransferTracker } from \"./TransferTracker\";\r\nimport { UnmountClosed } from \"react-collapse\";\r\nimport { WorkflowCollectionModel } from \"../../../../../../Wrap/Models/Domains/Workflow/WorkflowCollectionModel\";\r\nimport { Workflow as WorkflowModel } from \"../../../../../../Wrap/Models/Domains/Workflow/Workflow\";\r\nimport TableFilterDropdown from \"../../../../../../react-core/Html/Components/TableFilterDropdown\";\r\nimport { DashboardFilterForm } from \"./DashboardFilterForm\";\r\nimport { HierarchyIdHelper } from \"../../../../../Shared/Common/HierarchyIdHelper\";\r\nimport { HierarchyLevelName } from \"../../../../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { LoadingSkeleton } from \"../../../../../Shared/LoadingSkeleton/LoadingSkeleton\";\r\nimport { LoadingSkeletonType } from \"../../../../../Shared/LoadingSkeleton/Contents\";\r\nimport { FullScreenTableModeButton } from \"../../../../../../react-core/Html/Components/FullScreenTableModeButton\";\r\nimport { UserStore } from \"../../../../Stroes/Variable\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { PermissionAction } from \"../../../../../Shared/Permission/Action/PermissionAction\";\r\nimport { StaticUrls } from \"../../../../Resoures/StaticUrls\";\r\nimport { CommonHelper } from \"../../../../../../react-core/Helpers/CommonHelper\";\r\nimport AdviserSiteTagManager, {\r\n eventCategoryForGTM,\r\n} from \"../../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { processTypeEnum } from \"../../../Clients/Common/Resource/Contents\";\r\nimport { PortfolioDashboardAction } from \"../../../Clients/PortfolioDashboard/Action/PortfolioDashboardAction\";\r\n\r\ninterface IWorkflowProps extends React.Props {\r\n selectedHeadAccounts: string[];\r\n selectedSubAccounts: string[];\r\n customerId: number;\r\n isActivity: boolean;\r\n notProspect?: boolean;\r\n selectedCompanyCode?: string;\r\n selectedAdviserId?: number;\r\n hasReadWriteAccessForAdviser?: boolean;\r\n}\r\n\r\ninterface IWorkflowState {\r\n currentFilter: ClientDashboardFiltersModel;\r\n usingDefaultFilter: boolean;\r\n curPage: number;\r\n data: WorkflowCollectionModel;\r\n showDeleteLightbox: boolean;\r\n deleteInstructionId: string;\r\n deleteAccountId: string;\r\n deleteProcessType: ProcessType;\r\n isLoading?: boolean;\r\n deleteWizardSessionId: string;\r\n}\r\n\r\nexport class Workflow extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentFilter: DashboardFilterStore.getFilterItemById(null),\r\n usingDefaultFilter: true,\r\n curPage: 1,\r\n data: null,\r\n showDeleteLightbox: false,\r\n deleteInstructionId: null,\r\n deleteProcessType: null,\r\n deleteAccountId: null,\r\n deleteWizardSessionId: null,\r\n };\r\n this.subscribeToStore(DashboardFilterStore, () => this.onPressFilter());\r\n }\r\n\r\n private addEvent = new AdviserSiteTagManager().addEvent;\r\n\r\n componentDidMount() {\r\n this.defaultFilter();\r\n if (!this.props.isActivity) {\r\n this.addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"workflow\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/workflow\",\r\n pageTitle: `${document.title} - dashboard - workflow`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: IWorkflowProps) {\r\n if (\r\n JSON.stringify(prevProps.selectedHeadAccounts) != JSON.stringify(this.props.selectedHeadAccounts) ||\r\n JSON.stringify(prevProps.selectedSubAccounts) != JSON.stringify(this.props.selectedSubAccounts)\r\n ) {\r\n this.defaultFilter();\r\n }\r\n }\r\n\r\n private defaultFilter = () => {\r\n const { selectedAdviserId, selectedCompanyCode, isActivity } = this.props;\r\n const defaultFilter = DashboardFilterStore.getDefaultFilter(isActivity);\r\n if (selectedAdviserId) {\r\n defaultFilter.AdviserIds = [selectedAdviserId];\r\n }\r\n if (selectedCompanyCode) {\r\n defaultFilter.CompanyCode = selectedCompanyCode;\r\n }\r\n this.setState({ currentFilter: defaultFilter, curPage: 1, usingDefaultFilter: true, isLoading: true });\r\n this.searchWorkflow(defaultFilter, 1);\r\n };\r\n\r\n private onPressFilter = () => {\r\n if (DashboardFilterStore.getActionType() == ActionType.Update) {\r\n const id = DashboardFilterStore.getPressedId();\r\n const filter = DashboardFilterStore.getFilterItemById(id);\r\n this.setState({ currentFilter: filter, curPage: 1, usingDefaultFilter: id == null, isLoading: true });\r\n this.searchWorkflow(filter, 1);\r\n }\r\n };\r\n\r\n private searchWorkflow = (filter: ClientDashboardFiltersModel, curPage) => {\r\n const { selectedHeadAccounts, selectedSubAccounts, customerId } = this.props;\r\n const query = DashboardFilterStore.convertDashboardFilterToQuery(\r\n filter,\r\n curPage,\r\n selectedHeadAccounts,\r\n selectedSubAccounts,\r\n customerId\r\n );\r\n\r\n DashboardAction.getWorkflowTable(query, (d) => {\r\n this.setState({ data: d, isLoading: false });\r\n });\r\n };\r\n\r\n private convertFilterToString(filter: ClientDashboardFiltersModel): string {\r\n const map = { ...ProcessTypeMapForNew, ...ProcessTypeOptionsMapForLegacy };\r\n return `${DateRangeOptionTypeMap[filter.DateRangeOption]}, Activity: ${\r\n map[filter.FilterActivityType]\r\n }, Status: ${FilterActivityStatusMap[filter.FilterActivityStatus]}, Product: ${\r\n subAccountTypeMap[filter.FilterProductType]\r\n }`;\r\n }\r\n\r\n private actionLinkConfig(row: WorkflowModel) {\r\n const links = [];\r\n if (row.WizardSessionId != null && row.WizardSessionId != \"0\") {\r\n // old wizard - direct to DLU page\r\n if (\r\n row.ActivityStatus == ActivityStatus.Pending &&\r\n row.HaveReadWriteAccessToAdviser == true &&\r\n UserStore.getUserInfo()?.IsReadOnly != true\r\n ) {\r\n if (row.HaveLandingPageUrlPermission)\r\n {links.push({\r\n title: \"Resume\",\r\n url: `${row.LandingPageUrl}?wizardsessionid=${row.WizardSessionId}&claccountid=${row.ClAccountId}`,\r\n });}\r\n } else if (\r\n row.ProcessType == ProcessType.RegularReviewRebalance &&\r\n checkPermission(UserClaim.AdviserPortalDluReviewCompleteCanView)\r\n ) {\r\n links.push({\r\n title: \"View\",\r\n url: StaticUrls.reviewRegularReviewRebalanceCompleteUrl(row.WizardSessionId, row.ClAccountId),\r\n });\r\n } else if (\r\n [ActivityStatus.Complete, ActivityStatus.AwaitingAuthorisation, ActivityStatus.Submitted].includes(\r\n row.ActivityStatus\r\n ) &&\r\n row.ProcessType != ProcessType.PpToIsaFeedTool &&\r\n checkPermission(UserClaim.AdviserPortalDluCompleteWizardCanView)\r\n ) {\r\n links.push({\r\n title: \"View\",\r\n url: StaticUrls.completedWizardUrl(row.WizardSessionId, row.ClAccountId),\r\n });\r\n }\r\n } else {\r\n if (\r\n row.ActivityStatus == ActivityStatus.Pending &&\r\n row.HaveReadWriteAccessToAdviser == true &&\r\n UserStore.getUserInfo()?.IsReadOnly != true\r\n ) {\r\n // incomplete instruction : Resume\r\n const urlWithPermission = switchResume(row.ProcessType, row);\r\n if (!CommonHelper.isNullOrEmpty(urlWithPermission))\r\n {links.push({ title: \"Resume\", url: urlWithPermission });}\r\n } else if (\r\n row.ActivityStatus == ActivityStatus.Complete ||\r\n row.ActivityStatus == ActivityStatus.Submitted\r\n ) {\r\n // completed or submitted instruction: View\r\n const urlWithPermission = switchView(row.ProcessType, row);\r\n if (!CommonHelper.isNullOrEmpty(urlWithPermission))\r\n {links.push({ title: \"View\", url: switchView(row.ProcessType, row) });}\r\n if (row.ProcessType == ProcessType.Quote) {\r\n links.push({\r\n title: \"New Business\",\r\n url: \"#\",\r\n clickFunction: () => {\r\n ClientRecordAction.copyQuoteByid(parseInt(row.ReferenceNumber), row.CustomerId);\r\n return false;\r\n },\r\n });\r\n }\r\n } else if (\r\n (row.ActivityStatus == ActivityStatus.PendingTransferOnly ||\r\n row.ActivityStatus == ActivityStatus.ReviewedTransferOnly) &&\r\n checkPermission(UserClaim.AdviserPortalDluReregistrationTransfersCanView)\r\n ) {\r\n links.push({\r\n title: \"View\",\r\n url: StaticUrls.reregistrationTransfersUrl(row.ClAccountId),\r\n });\r\n }\r\n if (row.ActivityStatus == ActivityStatus.AwaitingAuthorisation) {\r\n const urlWithPermission = switchView(row.ProcessType, row);\r\n if (!CommonHelper.isNullOrEmpty(urlWithPermission))\r\n {links.push({ title: \"View\", url: urlWithPermission });}\r\n }\r\n }\r\n return links;\r\n }\r\n\r\n private form = null;\r\n private dropdown = null;\r\n\r\n private onDeleteInstruction() {\r\n const {\r\n deleteInstructionId,\r\n deleteProcessType,\r\n currentFilter,\r\n curPage,\r\n deleteAccountId,\r\n deleteWizardSessionId,\r\n } = this.state; \r\n if (deleteProcessType == null || !deleteInstructionId) {return;}\r\n this.setState({ isLoading: true });\r\n switchCancel(\r\n deleteProcessType,\r\n deleteInstructionId,\r\n () => {\r\n this.searchWorkflow(currentFilter, curPage);\r\n if (deleteProcessType == ProcessType.NewBusiness && this.props.isActivity) {\r\n PortfolioDashboardAction.getAllAccountsByCustomerId(this.props.customerId);\r\n }\r\n },\r\n deleteWizardSessionId,\r\n deleteAccountId\r\n );\r\n }\r\n\r\n private rendertable(data, currentFilter, curPage) {\r\n return (\r\n <>\r\n {\r\n this.setState({ curPage: pageIndex, isLoading: true });\r\n this.searchWorkflow(currentFilter, pageIndex);\r\n },\r\n currentPage: curPage,\r\n }}\r\n col={[\r\n {\r\n title: \"Date started\",\r\n key: \"CreateDate\",\r\n thCssWrapper: \"cell-15\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n toogleOptions: (row: WorkflowModel, index) => {\r\n return {\r\n toogleable: row.ProcessType == ProcessType.Transfer,\r\n expandContent: (\r\n \r\n
    \r\n
    \r\n Transfering from: {row.Provider}\r\n
    \r\n
    \r\n Last updated: {\" \"}\r\n {JsonDateParser.getFormatDateString(\r\n JsonDateParser.toDate(row.LastUpdateDate),\r\n \"dd MM yyyy\",\r\n true,\r\n true\r\n )}\r\n
    \r\n {[\r\n ActivityStatus.Complete,\r\n ActivityStatus.PendingTransferOnly,\r\n ActivityStatus.ReviewedTransferOnly,\r\n ].includes(row.ActivityStatus) && (\r\n \r\n )}\r\n

    \r\n {transferMsg[row.ActivityStatus]}\r\n

    \r\n
    \r\n
    \r\n ),\r\n };\r\n },\r\n },\r\n {\r\n title: \"Account number\",\r\n key: \"ClAccountId\",\r\n },\r\n this.props.isActivity\r\n ? {\r\n title: \"Account name\",\r\n key: \"AccountName\",\r\n }\r\n : {\r\n title: \"Name\",\r\n key: \"CustomerName\",\r\n render: (data, row: WorkflowModel, index) => {\r\n if (row.ProcessType == ProcessType.Transfer) {\r\n return row.AccountName;\r\n }\r\n return (\r\n {\r\n if (checkPermission(UserClaim.AdviserPortalClientSummaryCanView))\r\n {Navigator.navigateTo(\r\n Urls.get().main.PortfolioDashboard({\r\n hierarchyId: HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n row?.CustomerId\r\n ),\r\n }).summary\r\n );}\r\n }}\r\n >\r\n {row.CustomerName}\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: \"Activity type\",\r\n key: \"ProcessType\",\r\n render: (data) => {\r\n const map = { ...ProcessTypeMapForNew, ...ProcessTypeOptionsMapForLegacy };\r\n return map[data];\r\n },\r\n },\r\n {\r\n title: \"Reference number\",\r\n key: \"ReferenceNumber\",\r\n render: (data, row: WorkflowModel, index) => {\r\n if (ProcessTypeOptionsForLegacy.includes(row?.ProcessType)) {\r\n return row?.WizardSessionId;\r\n }\r\n if (row.ProcessType != ProcessType.Transfer) {return data;}\r\n return `${subAccountTypeMap[row.ProductType]} ${row.ClAccountId}`;\r\n },\r\n },\r\n {\r\n title: \"Adviser\",\r\n key: \"AdviserName\",\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"ActivityStatus\",\r\n render: (data) => {\r\n return FilterActivityStatusMap[data];\r\n },\r\n },\r\n {\r\n title: \"Created by\",\r\n key: \"CreatedBy\",\r\n },\r\n {\r\n title: \"Last update\",\r\n key: \"LastUpdateDate\",\r\n render: (data, row, index) => {\r\n return JsonDateParser.getFormatDate(data, \"dd/MM/yyyy\");\r\n },\r\n },\r\n {\r\n title: \"Action\",\r\n key: \"\",\r\n render: (data, row: WorkflowModel) => {\r\n const links = this.actionLinkConfig(row);\r\n if (links.filter((ele) => ele != null).length == 0) {return null;}\r\n return ;\r\n },\r\n },\r\n {\r\n title: \"Delete\",\r\n key: \"\",\r\n render: (data, row: WorkflowModel) => {\r\n if (\r\n row.ActivityStatus != ActivityStatus.Pending ||\r\n (row.WizardSessionId != null &&\r\n row.WizardSessionId != \"0\" &&\r\n row.HaveAccountRoleInstructionsNbecWizardSessionsMapping) ||\r\n row.HaveReadWriteAccessToAdviser == false ||\r\n UserStore.getUserInfo()?.IsReadOnly == true\r\n )\r\n {return null;}\r\n\r\n return (\r\n {\r\n if (this.props.isActivity) {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"delete\",\r\n },\r\n });\r\n }\r\n this.setState({\r\n showDeleteLightbox: true,\r\n deleteInstructionId: row.ReferenceNumber,\r\n deleteProcessType: row.ProcessType,\r\n deleteAccountId: row.ClAccountId,\r\n deleteWizardSessionId: row.WizardSessionId,\r\n });\r\n }}\r\n >\r\n \r\n \r\n );\r\n },\r\n },\r\n ]}\r\n />\r\n {this.state.showDeleteLightbox && (\r\n this.setState({ showDeleteLightbox: false })}\r\n onDelete={() => this.onDeleteInstruction()}\r\n content={

    Are you sure you want to delete this activity?

    }\r\n />\r\n )}\r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { data, curPage, currentFilter, isLoading, usingDefaultFilter } = this.state;\r\n if (!data || isLoading) {return ;}\r\n return (\r\n <>\r\n {\r\n DashboardAction.setPressedId(null);\r\n this.defaultFilter();\r\n }}\r\n hideCloseButton={usingDefaultFilter}\r\n />\r\n\r\n
    \r\n
    \r\n (this.dropdown = ref)}\r\n title=\"Workflow table filter\"\r\n event={\r\n this.props.isActivity\r\n ? {\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"filter cilck\",\r\n },\r\n }\r\n : null\r\n }\r\n >\r\n <>\r\n (this.form = v)}\r\n isLightbox={false}\r\n isActivity={this.props.isActivity}\r\n />\r\n \r\n {\r\n const data = this.form.getData();\r\n if (this.props.isActivity) {\r\n this.addEvent({\r\n event: \"activitytab_tablefilter\",\r\n filter: {\r\n date: DateRangeOptionTypeMap[data?.DateRangeOption].toLowerCase(),\r\n actvityType: {\r\n ...ProcessTypeMapForNew,\r\n ...ProcessTypeOptionsMapForLegacyActivityTab,\r\n }[data?.FilterActivityType].toLowerCase(),\r\n activityStatus: FilterActivityStatusMap[\r\n data?.FilterActivityStatus\r\n ].toLowerCase(),\r\n product: subAccountTypeMap[data?.FilterProductType].toLowerCase(),\r\n },\r\n });\r\n }\r\n if (this.form.isValid()) {\r\n this.setState({\r\n currentFilter: data,\r\n curPage: 1,\r\n isLoading: true,\r\n usingDefaultFilter: false,\r\n });\r\n this.searchWorkflow(data, 1);\r\n this.dropdown(true);\r\n }\r\n }}\r\n >\r\n Apply\r\n \r\n \r\n \r\n
    \r\n
    \r\n {\r\n this.addEvent({\r\n event: \"activitytab_interaction\",\r\n eventParameters: {\r\n eventAction: \"interactions\",\r\n eventCategory: eventCategoryForGTM.activityTab,\r\n eventLabel: \"expand\",\r\n },\r\n });\r\n }\r\n : null\r\n }\r\n >\r\n {this.rendertable(data, currentFilter, curPage)}\r\n \r\n
    \r\n
    \r\n {this.rendertable(data, currentFilter, curPage)}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../../../../react-core/Html/BaseComponent\";\r\nimport { DashboardFilterStore } from \"../../Store/Variable\";\r\nimport { DashboardAction } from \"../../Action/DashboardAction\";\r\nimport { DashboardTab } from \"../../Resource/Content\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { DashboardSummaryTiles } from \"../Common/DashboardSummaryTiles\";\r\n\r\ninterface IWorkflowFilterSummaryTilesProps {}\r\n\r\ninterface IWorkflowFilterSummaryTilesState {\r\n data?: ClientDashboardFiltersModel[];\r\n pressedId: number;\r\n}\r\n\r\nexport class WorkflowFilterSummaryTiles extends BaseComponent<\r\n IWorkflowFilterSummaryTilesProps,\r\n IWorkflowFilterSummaryTilesState\r\n> {\r\n constructor(props: IWorkflowFilterSummaryTilesProps) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n pressedId: null,\r\n };\r\n this.subscribeToStore(DashboardFilterStore, () => this.onStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n DashboardAction.getFilterList();\r\n }\r\n\r\n private onStoreChange() {\r\n this.setState({ pressedId: DashboardFilterStore.getPressedId(), data: DashboardFilterStore.getData() });\r\n }\r\n\r\n private onDelete = (filterId) => {\r\n const filter = this.state.data.find((ele) => ele.FilterId == filterId);\r\n DashboardAction.deleteDashboardFilter(filter);\r\n };\r\n\r\n public onSave(data: ClientDashboardFiltersModel): boolean {\r\n DashboardAction.putDashboardFilter(data);\r\n return;\r\n }\r\n\r\n private onReorder(newOrder: ClientDashboardFiltersModel[]) {\r\n const _newOrder = newOrder.map((ele, i) => {\r\n return { ...ele, FilterOrder: i + 1 };\r\n });\r\n return DashboardAction.orderDashboardFilter(_newOrder);\r\n }\r\n\r\n public onAdd(data: ClientDashboardFiltersModel): boolean {\r\n if (this.state.data?.length >= 15) {return;}\r\n\r\n DashboardAction.postDashboardFilter(data);\r\n return;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n this.onAdd(v as ClientDashboardFiltersModel)}\r\n onSave={(v) => this.onSave(v as ClientDashboardFiltersModel)}\r\n onDelete={(id) => this.onDelete(id)}\r\n onReOrder={(newList) => this.onReorder(newList as ClientDashboardFiltersModel[])}\r\n currentTabIndex={DashboardTab.Workflow}\r\n pressedId={this.state.pressedId}\r\n />\r\n );\r\n }\r\n}\r\n","import { DateRangeOptionType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/DateRangeOptionType\";\r\nimport { ProcessType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ActivityStatus } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ActivityStatus\";\r\nimport { TopFilterType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/TopFilterType\";\r\nimport { ThreadType } from \"../../../../../Wrap/Constants/Enums/Domain/ThreadType\";\r\nimport { CoachMarkerSetType } from \"../../../../../Wrap/Models/Models/CoachMarkers/CoachMarkerSetType\";\r\nimport { ICoachMarkerPageConfig } from \"../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\n\r\nimport { CoachMarkerStepPosition } from \"../../../../Shared/CoachMarkers/CoachMarker\";\r\n\r\nimport React from \"react\";\r\nimport { EmailFrequency } from \"../../../../../Wrap/Constants/Enums/Notification/EmailFrequency\";\r\nimport { NotificationDateRangeType } from \"../../../../../Wrap/Constants/Enums/Client/NotificationFilter/NotificationDateRangeType\";\r\n\r\nexport type DashboardDateRangeOption =\r\n | \"Past month\"\r\n | \"Past tax year\"\r\n | \"Current tax year\"\r\n | \"Past year\"\r\n | \"Past 6 months\"\r\n | \"Past 3 months\"\r\n | \"Custom\";\r\nexport const DashboardDateRangeOptions = [\r\n \"Past tax year\",\r\n \"Current tax year\",\r\n \"Past year\",\r\n \"Past 6 months\",\r\n \"Past 3 months\",\r\n \"Past month\",\r\n \"Custom\",\r\n];\r\n\r\nexport const DateRangeOptionTypeMap = {\r\n [DateRangeOptionType.PastTaxYear]: \"Past tax year\",\r\n [DateRangeOptionType.CurrentTaxYear]: \"Current tax year\",\r\n [DateRangeOptionType.PastYear]: \"Past year\",\r\n [DateRangeOptionType.PastSixMonths]: \"Past 6 months\",\r\n [DateRangeOptionType.Custom]: \"Custom\",\r\n [DateRangeOptionType.PastThreeMonths]: \"Past 3 months\",\r\n [DateRangeOptionType.PastMonth]: \"Past month\",\r\n};\r\n\r\nexport const FilterActivityStatusMap = {\r\n [ActivityStatus.NotSpecified]: \"All\",\r\n [ActivityStatus.Submitted]: \"Incomplete\",\r\n [ActivityStatus.Pending]: \"Incomplete\",\r\n [ActivityStatus.Cancelled]: \"Cancelled\",\r\n [ActivityStatus.Complete]: \"Complete\",\r\n [ActivityStatus.AwaitingAuthorisation]: \"Awaiting Authorisation\",\r\n [ActivityStatus.PendingTransferOnly]: \"Transfers - In Progress\",\r\n [ActivityStatus.RejectTransferOnly]: \"Rejected\",\r\n};\r\n\r\nexport const filterActivityStatusOptions = [\r\n ActivityStatus.NotSpecified,\r\n ActivityStatus.Pending,\r\n ActivityStatus.Cancelled,\r\n ActivityStatus.Complete,\r\n ActivityStatus.AwaitingAuthorisation,\r\n ActivityStatus.PendingTransferOnly,\r\n];\r\n\r\nexport const filterActivityStatusOptionsForNonTransferWizards = [\r\n ActivityStatus.NotSpecified,\r\n ActivityStatus.Pending,\r\n ActivityStatus.Cancelled,\r\n ActivityStatus.Complete,\r\n ActivityStatus.AwaitingAuthorisation,\r\n];\r\n\r\nexport const filterTransferStatusOptions = [\r\n ActivityStatus.NotSpecified,\r\n ActivityStatus.Cancelled,\r\n ActivityStatus.Complete,\r\n ActivityStatus.PendingTransferOnly,\r\n ActivityStatus.RejectTransferOnly,\r\n];\r\n\r\nexport const ProcessTypeMapForNew = {\r\n [ProcessType.NotSpecified]: \"All\",\r\n [ProcessType.NewBusiness]: \"New Business\",\r\n [ProcessType.Quote]: \"Quote\",\r\n [ProcessType.NewQuoteExistingClient]: \"New Quote Existing Client\",\r\n [ProcessType.NewBusinessExistingClient]: \"New Business Existing Client\",\r\n [ProcessType.AddRegularPayment]: \"Add Regular Payment\",\r\n [ProcessType.EditRegularPayment]: \"Edit Regular Payment\",\r\n [ProcessType.AddSinglePaymentorTransfer]: \"Add Single Payment/Transfer\",\r\n [ProcessType.Transfer]: \"Transfer in Progress\",\r\n [ProcessType.WhatIfTool]: \"What if tool\",\r\n [ProcessType.NoChangeTool]: \"No Change Tool\",\r\n};\r\n\r\nexport const ProcessTypeOptionsForNew = [\r\n ProcessType.NotSpecified,\r\n ProcessType.NewBusiness,\r\n ProcessType.Quote,\r\n ProcessType.NewQuoteExistingClient,\r\n ProcessType.NewBusinessExistingClient,\r\n ProcessType.AddRegularPayment,\r\n ProcessType.EditRegularPayment,\r\n ProcessType.AddSinglePaymentorTransfer,\r\n ProcessType.Transfer,\r\n ProcessType.ServicesNewClient,\r\n ProcessType.ServicesNewIsa,\r\n ProcessType.WhatIfTool,\r\n];\r\n\r\nexport const TopFilterTypeOptions = [TopFilterType.All, TopFilterType.New, TopFilterType.Legacy];\r\n\r\nexport const ProcessTypeOptionsMapForLegacy = {\r\n [ProcessType.NotSpecified]: \"All\",\r\n [ProcessType.AddLegacyData]: \"Add Legacy Data\",\r\n [ProcessType.NewContributionWrapper]: \"New Contribution / Wrapper\",\r\n [ProcessType.ExistingClientNewBusiness]: \"Existing Client – New Business\",\r\n [ProcessType.ChangeContribution]: \"Change Contribution\",\r\n [ProcessType.AdvancedSearch]: \"Advanced Search\",\r\n [ProcessType.ReviewFinancialPlan]: \"Review Financial Plan\",\r\n [ProcessType.OverallWrapChargeSummary]: \"Overall Wrap Charge Summary\",\r\n [ProcessType.RegularReviewRebalance]: \"Regular Review / Rebalance\",\r\n [ProcessType.AccountOpeningForTrusts]: \"Account Opening for Trusts\",\r\n [ProcessType.BulkTrade]: \"Bulk Trade\",\r\n [ProcessType.BulkRebalance]: \"Bulk Rebalance\",\r\n [ProcessType.BestPricing]: \"Best Pricing\",\r\n [ProcessType.MaintainAdviserCharging]: \"Maintain Adviser Charging\",\r\n [ProcessType.ServicesNewClient]: \"Services New Client\",\r\n [ProcessType.ServicesNewIsa]: \"Services New ISA\",\r\n [ProcessType.NewTransferRereg]: \"New Transfer / Rereg\",\r\n [ProcessType.CapitalGainsScenarioTool]: \"Capital Gains Scenario Tool\",\r\n [ProcessType.NewClientNewBusiness]: \"New Client – New Business (including quote)\",\r\n [ProcessType.MandateSetup]: \"Mandate Setup\",\r\n [ProcessType.MandateManagement]: \"Mandate Management\",\r\n [ProcessType.PpToIsaFeedTool]: \"PP to ISA Feed Tool\",\r\n [ProcessType.MandateModelSwitch]: \"Mandate Model Switch\",\r\n};\r\n\r\nexport const ProcessTypeOptionsMapForLegacyActivityTab = {\r\n [ProcessType.NotSpecified]: \"All\",\r\n [ProcessType.AddLegacyData]: \"Add Legacy Data\",\r\n [ProcessType.NewContributionWrapper]: \"New Contribution / Wrapper\",\r\n [ProcessType.ExistingClientNewBusiness]: \"Existing Client – New Business\",\r\n [ProcessType.ChangeContribution]: \"Change Contribution\",\r\n [ProcessType.AdvancedSearch]: \"Advanced Search\",\r\n [ProcessType.ReviewFinancialPlan]: \"Review Financial Plan\",\r\n [ProcessType.OverallWrapChargeSummary]: \"Overall Wrap Charge Summary\",\r\n [ProcessType.RegularReviewRebalance]: \"Regular Review / Rebalance\",\r\n [ProcessType.AccountOpeningForTrusts]: \"Account Opening for Trusts\",\r\n [ProcessType.BulkTrade]: \"Bulk Trade\",\r\n [ProcessType.BulkRebalance]: \"Bulk Rebalance\",\r\n [ProcessType.BestPricing]: \"Best Pricing\",\r\n [ProcessType.MaintainAdviserCharging]: \"Maintain Adviser Charging\",\r\n [ProcessType.ServicesNewClient]: \"Services New Client\",\r\n [ProcessType.ServicesNewIsa]: \"Services New ISA\",\r\n [ProcessType.NewTransferRereg]: \"New Transfer / Rereg\",\r\n [ProcessType.CapitalGainsScenarioTool]: \"Capital Gains Scenario Tool\",\r\n [ProcessType.NewClientNewBusiness]: \"New Client – New Business (including quote)\",\r\n [ProcessType.PpToIsaFeedTool]: \"PP to ISA Feed Tool\",\r\n [ProcessType.MandateModelSwitch]: \"Mandate Model Switch\",\r\n};\r\n\r\nexport const ProcessTypeOptionsForLegacy = [\r\n ProcessType.NotSpecified,\r\n ProcessType.ExistingClientNewBusiness,\r\n ProcessType.OverallWrapChargeSummary,\r\n ProcessType.RegularReviewRebalance,\r\n ProcessType.AccountOpeningForTrusts,\r\n ProcessType.BulkTrade,\r\n ProcessType.BulkRebalance,\r\n ProcessType.MaintainAdviserCharging,\r\n ProcessType.CapitalGainsScenarioTool,\r\n ProcessType.NewClientNewBusiness,\r\n ProcessType.MandateSetup,\r\n ProcessType.MandateManagement,\r\n ProcessType.PpToIsaFeedTool,\r\n];\r\n\r\nexport const ProcessTypeOptionsForLegacyActivityTab = [\r\n ProcessType.NotSpecified,\r\n ProcessType.ExistingClientNewBusiness,\r\n ProcessType.OverallWrapChargeSummary,\r\n ProcessType.RegularReviewRebalance,\r\n ProcessType.AccountOpeningForTrusts,\r\n ProcessType.MaintainAdviserCharging,\r\n ProcessType.CapitalGainsScenarioTool,\r\n ProcessType.NewClientNewBusiness,\r\n ProcessType.PpToIsaFeedTool,\r\n];\r\n\r\nexport const TopFilterTypeMap = {\r\n [TopFilterType.All]: \"All\",\r\n [TopFilterType.New]: \"New\",\r\n [TopFilterType.Legacy]: \"Legacy\",\r\n};\r\n\r\nexport const FilterProductTypeMap = {\r\n [SubAccountType.NotSpecified]: \"All\",\r\n [SubAccountType.StocksIsa]: \"ISA Stocks and Shares\",\r\n [SubAccountType.Npr]: \"SIPP\",\r\n [SubAccountType.PersonalPortfolio]: \"Personal Portfolio\",\r\n [SubAccountType.WrapCash]: \"Cash Account\",\r\n [SubAccountType.CashIsa]: \"Cash ISA\",\r\n [SubAccountType.OnshoreBond]: \"Onshore Bond\",\r\n [SubAccountType.OffshoreBond]: \"Offshore Bond\",\r\n};\r\n\r\nexport const FilterProductTypeOption = [\r\n SubAccountType.NotSpecified,\r\n SubAccountType.StocksIsa,\r\n SubAccountType.Npr,\r\n SubAccountType.PersonalPortfolio,\r\n SubAccountType.WrapCash,\r\n SubAccountType.CashIsa,\r\n SubAccountType.OnshoreBond,\r\n SubAccountType.OffshoreBond,\r\n];\r\n\r\nexport enum DashboardTab {\r\n Workflow = \"Workflow\",\r\n Notification = \"Notifications\",\r\n}\r\n\r\nexport const DashboardTabArray = [DashboardTab.Workflow, DashboardTab.Notification];\r\n\r\nexport const transferMsg = {\r\n [ActivityStatus.ReviewedTransferOnly]:\r\n \"We are now processing your transfer application. Please remember that if the transfer cannot be carried out electronically, we will need a signed transfer authority.\",\r\n [ActivityStatus.Complete]: \"This transfer is now complete.\",\r\n [ActivityStatus.RejectTransferOnly]: \"This transfer is rejected.\",\r\n [ActivityStatus.Cancelled]: \"This transfer is cancelled\",\r\n [ActivityStatus.PendingTransferOnly]: \"Thank you for submitting your transfer application.\",\r\n};\r\n\r\nexport const EventTypeMap = {\r\n [ThreadType.Alert]: \"Action required\",\r\n [ThreadType.ImportantInformation]: \"Important information\",\r\n [ThreadType.Information]: \"Information\",\r\n [ThreadType.NotSpecified]: \"All\",\r\n};\r\n\r\nexport const EventTypeOptions = [\r\n ThreadType.NotSpecified,\r\n ThreadType.Alert,\r\n ThreadType.ImportantInformation,\r\n ThreadType.Information,\r\n];\r\n\r\nexport const EmailFrequencyOptions = [\r\n EmailFrequency.NotSpecified,\r\n EmailFrequency.Never,\r\n EmailFrequency.Daily,\r\n EmailFrequency.Weekly,\r\n EmailFrequency.Monthly,\r\n];\r\n\r\nexport const EmailFrequencyMap = {\r\n [EmailFrequency.NotSpecified]: \"\",\r\n [EmailFrequency.Never]: \"Never\",\r\n [EmailFrequency.Daily]: \"Daily\",\r\n [EmailFrequency.Weekly]: \"Weekly\",\r\n [EmailFrequency.Monthly]: \"Monthly\",\r\n};\r\n\r\nexport const getDashboardCoachmarkerConfig = (isAppStoreEnabled?: boolean): ICoachMarkerPageConfig => {\r\n const steps = [\r\n {\r\n title: \"Quick search\",\r\n stepPosition: CoachMarkerStepPosition.Bottom,\r\n positionTop: 70,\r\n positionLeft: 0,\r\n stepKey: \"secured-search\",\r\n description: (\r\n <>\r\n Search for a client or account quickly using first name(s), surname, organisation or account number\r\n from anywhere in the platform using this search bar.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Platform navigation\",\r\n stepPosition: CoachMarkerStepPosition.Right,\r\n stepKey: \"secured-main-navigation\",\r\n positionLeft: 110,\r\n positionTop: 87,\r\n description: (\r\n <>\r\n

    Navigate the main platform areas from here:

    \r\n\r\n

    \r\n Dashboard - Platform homepage with workflow, notifications and alerts.\r\n

    \r\n\r\n

    \r\n Clients - An advanced search which allows you to search by clients, consolidated or\r\n organisation accounts. You can search by more criteria here too, i.e. all clients with specific\r\n products or who have active regular payments.\r\n

    \r\n\r\n

    \r\n Business management - A hub for management information and firm level data.\r\n

    \r\n\r\n

    \r\n Tools and Literature - For research tools, calculators and literature library with guides\r\n and forms.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Menu system\",\r\n stepPosition: CoachMarkerStepPosition.BottomLeft,\r\n positionLeft: -286,\r\n positionTop: 70,\r\n stepKey: \"custom-navigation\",\r\n description: (\r\n <>\r\n The platform menu system is dynamic and provides access to tasks, information and transactional\r\n activities within context of the position you are on the platform.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Workflow and notifications\",\r\n stepPosition: CoachMarkerStepPosition.BottomRight,\r\n stepKey: \"workflow-notifications-tab\",\r\n positionLeft: -3,\r\n positionTop: 48,\r\n description: (\r\n <>\r\n Workflow and notifications allow you to manage your firms workflow and view activity specific to\r\n you. A variety of filters can be set up to suit different needs across both Workflow and\r\n Notifications and help manage the information you see.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Profile\",\r\n stepPosition: CoachMarkerStepPosition.Right,\r\n stepKey: \"profile\",\r\n positionLeft: 75,\r\n positionTop: -30,\r\n description: (\r\n <>\r\n Your profile contains settings such as change password or switch between light and dark mode for a\r\n more personal user interface experience.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Platform tips\",\r\n stepPosition: CoachMarkerStepPosition.Right,\r\n stepKey: \"platform-tips\",\r\n positionLeft: 110,\r\n positionTop: -20,\r\n description: (\r\n <>\r\n When there are tips available to view on a page, this button will appear and you can open them from\r\n here.\r\n \r\n ),\r\n },\r\n ];\r\n\r\n if (isAppStoreEnabled) {\r\n steps.push({\r\n title: \"App Store\",\r\n stepKey: \"appstore\",\r\n stepPosition: CoachMarkerStepPosition.Right,\r\n positionLeft: 110,\r\n positionTop: -20,\r\n description: <>Access an ecosystem of your favourite apps to optimise your workflow.,\r\n });\r\n }\r\n\r\n return {\r\n coachMarkerSetType: CoachMarkerSetType.FnzOneDashboard,\r\n steps,\r\n };\r\n};\r\n\r\nexport const notificationsCoachmarkerConfig: ICoachMarkerPageConfig = {\r\n coachMarkerSetType: CoachMarkerSetType.FnzOneNotifications,\r\n steps: [\r\n {\r\n title: \"Manage notifications\",\r\n stepPosition: CoachMarkerStepPosition.BottomLeft,\r\n stepKey: \"manage-notifications\",\r\n positionLeft: -325,\r\n positionTop: 50,\r\n description: (\r\n <>\r\n You can set what type of activities you want to receive notifications for and manage how you are\r\n alerted to them.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Filters\",\r\n stepPosition: CoachMarkerStepPosition.BottomLeft,\r\n stepKey: \"notifications-filter\",\r\n positionLeft: -323,\r\n positionTop: 50,\r\n description: (\r\n <>\r\n Quickly filter read and unread notifications by event category, event type, client name or account,\r\n and date.\r\n \r\n ),\r\n },\r\n ],\r\n};\r\n\r\nexport const NotificationDateRangeTypeMap = {\r\n [NotificationDateRangeType.PastWeek]: \"Past week\",\r\n [NotificationDateRangeType.PastMonth]: \"Past month\",\r\n [NotificationDateRangeType.PastThreeMonths]: \"Past 3 months\",\r\n [NotificationDateRangeType.PastSixMonths]: \"Past 6 months\",\r\n [NotificationDateRangeType.PastYear]: \"Past year\",\r\n};\r\n\r\nexport const NotificationDateRangeTypeOptions = [\r\n NotificationDateRangeType.PastWeek,\r\n NotificationDateRangeType.PastMonth,\r\n NotificationDateRangeType.PastThreeMonths,\r\n NotificationDateRangeType.PastSixMonths,\r\n NotificationDateRangeType.PastYear,\r\n];\r\n\r\nexport const enum OpreationType {\r\n Add = 1,\r\n Delete = 2,\r\n Save = 3,\r\n Reorder = 4,\r\n}\r\n","import { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { ProcessType as ActivityType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Workflow } from \"../../../../../Wrap/Models/Domains/Workflow/Workflow\";\r\n\r\nimport { ProcessType } from \"../../../../Shared/IST/Resource/Content\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { StaticUrls } from \"../../../Resoures/StaticUrls\";\r\nimport { NewBusinessAction } from \"../../Clients/NewBusinessWizard/Actions/NewBusinessAction\";\r\nimport { NewQuoteAction } from \"../../Clients/NewQuoteWizard/Actions/NewQuoteAction\";\r\nimport { SPTAction } from \"../../Clients/SinglePaymentTransferWizard/Actions/SPTActions\";\r\n\r\nexport const onDateSelectChange = (key: string) => {\r\n let beginDate: Date = null;\r\n let endDate: Date = null;\r\n let fromYear = null;\r\n let toYear = null;\r\n const now = new Date();\r\n const nowStr = JsonDateParser.getFormatDateString(now, \"yyyy/MM/dd\").split(\"/\");\r\n const pointDate = new Date(Number(nowStr[0]), 3, 6);\r\n\r\n switch (key) {\r\n case \"Past tax year\":\r\n if (now > pointDate) {\r\n fromYear = Number(nowStr[0]) - 1;\r\n toYear = Number(nowStr[0]);\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = new Date(toYear, 3, 5);\r\n } else {\r\n fromYear = Number(nowStr[0]) - 2;\r\n toYear = Number(nowStr[0]) - 1;\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = new Date(toYear, 3, 5);\r\n }\r\n break;\r\n case \"Current tax year\": //\"Current tax year\"\r\n if (now > pointDate) {\r\n fromYear = Number(nowStr[0]);\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = now;\r\n } else {\r\n fromYear = Number(nowStr[0]) - 1;\r\n beginDate = new Date(fromYear, 3, 6);\r\n endDate = now;\r\n }\r\n break;\r\n case \"Custom\": //\"Custom\"\r\n beginDate = getPastYear(now);\r\n endDate = now;\r\n break;\r\n case \"Past year\": //\"Past year\"\r\n beginDate = getPastYear(now);\r\n endDate = now;\r\n break;\r\n case \"Past 6 months\": //\"Past 6 months\"\r\n beginDate = isLeapDay(now)\r\n ? new Date(now.getFullYear() - 1, 8, 1)\r\n : new Date(now.getFullYear(), now.getMonth() - 6, now.getDate() + 1);\r\n endDate = now;\r\n break;\r\n case \"Past 3 months\":\r\n beginDate = isLeapDay(now)\r\n ? new Date(now.getFullYear() - 1, 12, 1)\r\n : new Date(now.getFullYear(), now.getMonth() - 3, now.getDate() + 1);\r\n endDate = now;\r\n break;\r\n case \"Past month\":\r\n beginDate = isLeapDay(now)\r\n ? new Date(now.getFullYear(), 2, 1)\r\n : new Date(now.getFullYear(), now.getMonth() - 1, now.getDate() + 1);\r\n endDate = now;\r\n break;\r\n }\r\n return { optionKey: key, fromDateSelected: beginDate, toDateSelected: endDate };\r\n};\r\n\r\nexport const isLeapDay = (endDate: Date) => {\r\n const year = endDate.getFullYear();\r\n const isLeapYear = year % 100 === 0 ? year % 400 === 0 : year % 4 === 0;\r\n const leapdaystr = endDate.getFullYear() + \"/02/29\";\r\n const todaystr = JsonDateParser.getFormatDateString(endDate, \"yyyy/MM/dd\");\r\n return isLeapYear && todaystr === leapdaystr;\r\n};\r\n\r\nexport const getPastYear = (endDate: Date): Date => {\r\n return isLeapDay(endDate)\r\n ? new Date(endDate.getFullYear() - 1, 2, 1)\r\n : new Date(endDate.getFullYear() - 1, endDate.getMonth(), endDate.getDate() + 1);\r\n};\r\n\r\nexport const switchCancel = (activityType: ActivityType, instructionId, callback, wizardId, accountId?) => {\r\n switch (activityType) {\r\n case ActivityType.Quote:\r\n case ActivityType.NewQuoteExistingClient:\r\n NewQuoteAction.deleteQuoteInstruction(instructionId, callback);\r\n break;\r\n case ActivityType.NewBusiness:\r\n NewBusinessAction.cancleApplyInstruction(instructionId, accountId, callback);\r\n break;\r\n case ActivityType.NewBusinessExistingClient:\r\n NewBusinessAction.cancleApplyInstruction(instructionId, null, callback);\r\n break;\r\n case ActivityType.ExistingClientNewBusiness:\r\n NewBusinessAction.cancelExistingClientWizard(wizardId, callback);\r\n break;\r\n case ActivityType.Topup:\r\n case ActivityType.TakePensionBenefit:\r\n case ActivityType.AddSinglePaymentorTransfer:\r\n case ActivityType.AddRegularPayment:\r\n case ActivityType.EditRegularPayment:\r\n case ActivityType.WhatIfTool:\r\n SPTAction.deleteInstruction(instructionId, callback);\r\n default:\r\n instructionId > 0 && wizardId > 0 ? NewBusinessAction.cancelExistingClientWizard(wizardId, callback) : null;\r\n return;\r\n }\r\n};\r\n\r\nexport const switchResume = (activityType: ActivityType, row: Workflow): string => {\r\n switch (activityType) {\r\n case ActivityType.Quote:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.WrapperSelectionUrl(row.CustomerId.toString(), row.ReferenceNumber, ProcessType.Quote)\r\n : null;\r\n case ActivityType.NewQuoteExistingClient:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.WrapperSelectionUrl(row.CustomerId.toString(), row.ReferenceNumber, ProcessType.Quote) +\r\n \"&hierarchyid=\" +\r\n row.AccountHierarchyId\r\n : null;\r\n case ActivityType.NewBusiness:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.FullClientDetailsUrl(row.CustomerId.toString(), row.ReferenceNumber)\r\n : null;\r\n case ActivityType.NewBusinessExistingClient:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.FullClientDetailsUrl(row.CustomerId.toString(), row.ReferenceNumber) +\r\n \"&hierarchyid=\" +\r\n row.AccountHierarchyId\r\n : null;\r\n case ActivityType.TakePensionBenefit:\r\n return (\r\n StaticUrls.PensionBenefitsUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n false\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n );\r\n case ActivityType.AddSinglePaymentorTransfer:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.SinglePaymentUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n false\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n case ActivityType.AddRegularPayment:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.RegularPaymentUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n \"add\",\r\n null,\r\n false\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n case ActivityType.EditRegularPayment:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.RegularPaymentUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n \"edit\",\r\n null,\r\n false\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n case ActivityType.Topup:\r\n return (\r\n StaticUrls.TopupUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n false\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n );\r\n case ActivityType.WhatIfTool:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.WhatIfToolUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n null,\r\n false\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n default:\r\n return \"\";\r\n }\r\n};\r\n\r\nexport const switchView = (activityType: ActivityType, row: Workflow): string => {\r\n switch (activityType) {\r\n case ActivityType.Transfer:\r\n return checkPermission(UserClaim.AdviserPortalDluReregistrationTransfersCanView)\r\n ? `/clients/tracking/reregistration-transfers.aspx?claccountid=${row.ClAccountId}&txtStatus=Completed`\r\n : null;\r\n case ActivityType.Quote:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.QuoteReadyUrl(row.CustomerId.toString(), row.ReferenceNumber)\r\n : null;\r\n case ActivityType.NewQuoteExistingClient:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.QuoteReadyUrl(row.CustomerId.toString(), row.ReferenceNumber) +\r\n \"&hierarchyid=\" +\r\n row.AccountHierarchyId\r\n : null;\r\n case ActivityType.NewBusiness:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.FullClientDetailsUrl(row.CustomerId.toString(), row.ReferenceNumber, true)\r\n : null;\r\n case ActivityType.NewBusinessExistingClient:\r\n return checkPermission(UserClaim.AdviserPortalNewQuoteNewBusinessReadWrite)\r\n ? StaticUrls.FullClientDetailsUrl(row.CustomerId.toString(), row.ReferenceNumber, true) +\r\n \"&hierarchyid=\" +\r\n row.AccountHierarchyId\r\n : null;\r\n case ActivityType.TakePensionBenefit:\r\n return (\r\n StaticUrls.PensionBenefitsUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n true\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n );\r\n case ActivityType.AddSinglePaymentorTransfer:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.SinglePaymentUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n true\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n case ActivityType.AddRegularPayment:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.RegularPaymentUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n \"add\",\r\n null,\r\n true\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n case ActivityType.EditRegularPayment:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.RegularPaymentUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n \"edit\",\r\n null,\r\n true\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n case ActivityType.Topup:\r\n return (\r\n StaticUrls.TopupUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n true\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n );\r\n case ActivityType.WhatIfTool:\r\n return checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)\r\n ? StaticUrls.WhatIfToolUrl(\r\n row.ProductType.toString(),\r\n row.ClAccountId,\r\n row.AccountHierarchyId,\r\n row.SubAccountHierarchyId,\r\n null,\r\n true\r\n ) +\r\n `&id=` +\r\n row.ReferenceNumber\r\n : null;\r\n default:\r\n return \"\";\r\n }\r\n};\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { DateRangeOptionType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/DateRangeOptionType\";\r\nimport { ProcessType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ProcessType\";\r\nimport { FilterType } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/FilterType\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\n\r\nimport { DashboardFilterDispatcher } from \"./Variable\";\r\nimport { ClientDashboardFiltersModel } from \"../../../../../Wrap/Models/Domains/Users/DashboardFilter/ClientDashboardFiltersModel\";\r\nimport { DashboardTab, DateRangeOptionTypeMap } from \"../Resource/Content\";\r\nimport { onDateSelectChange } from \"../Resource/WorkflowHelper\";\r\nimport { ActivityStatus } from \"../../../../../Wrap/Constants/Enums/Client/DashboardFilter/ActivityStatus\";\r\n\r\nexport interface DashboardFilterStoreState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n pressedId?: number;\r\n data?: any[];\r\n adverIds?: any[];\r\n}\r\n\r\nexport class DashboardFilterStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(DashboardFilterDispatcher, (actionData) =>\r\n this.onDashboardFilterStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): DashboardFilterStoreState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getPressedId() {\r\n return this.getState().pressedId;\r\n }\r\n\r\n public getAdviserIds() {\r\n return this.getState().adverIds;\r\n }\r\n\r\n public getDefaultFilter(isActivity: boolean): ClientDashboardFiltersModel {\r\n const { toDateSelected, fromDateSelected } = onDateSelectChange(\r\n DateRangeOptionTypeMap[DateRangeOptionType.PastMonth]\r\n );\r\n if (isActivity) {\r\n //default filter for activity tab\r\n return {\r\n DateRangeOption: DateRangeOptionType.PastMonth,\r\n FilterActivityType: ProcessType.NotSpecified,\r\n FilterActivityStatus: ActivityStatus.NotSpecified,\r\n FilterType: FilterType.Workflow,\r\n FilterProductType: SubAccountType.NotSpecified,\r\n AdviserIds: [],\r\n Network: null,\r\n CompanyCode: null,\r\n EndDate: JsonDateParser.toJsonDateNoOffset(toDateSelected),\r\n BeginDate: JsonDateParser.toJsonDateNoOffset(fromDateSelected),\r\n };\r\n } else {\r\n //default filter for dashboard page\r\n return {\r\n DateRangeOption: DateRangeOptionType.PastMonth,\r\n FilterActivityType: ProcessType.NotSpecified,\r\n FilterActivityStatus: ActivityStatus.Pending,\r\n FilterType: FilterType.Workflow,\r\n FilterProductType: SubAccountType.NotSpecified,\r\n AdviserIds: [],\r\n Network: null,\r\n CompanyCode: null,\r\n EndDate: JsonDateParser.toJsonDateNoOffset(toDateSelected),\r\n BeginDate: JsonDateParser.toJsonDateNoOffset(fromDateSelected),\r\n };\r\n }\r\n }\r\n\r\n public convertDashboardFilterToQuery(\r\n filter: ClientDashboardFiltersModel,\r\n curPage: number,\r\n headAccountHierarchyIds: string[],\r\n subAccountHierarchyIds: string[],\r\n customerId: number\r\n ) {\r\n if (filter.DateRangeOption != DateRangeOptionType.Custom && DateRangeOptionTypeMap[filter.DateRangeOption]) {\r\n const { toDateSelected, fromDateSelected } = onDateSelectChange(\r\n DateRangeOptionTypeMap[filter.DateRangeOption]\r\n );\r\n filter.EndDate = JsonDateParser.toJsonDateNoOffset(toDateSelected);\r\n filter.BeginDate = JsonDateParser.toJsonDateNoOffset(fromDateSelected);\r\n }\r\n return {\r\n beginDate: filter.BeginDate,\r\n endDate: filter.EndDate,\r\n advisers: filter.AdviserIds || [],\r\n product: filter.FilterProductType,\r\n status: filter.FilterActivityStatus,\r\n activity: filter.FilterActivityType,\r\n company: filter.CompanyCode,\r\n network: filter.Network,\r\n start: (curPage - 1) * 10 + 1,\r\n count: 10,\r\n topFilterType: filter.TopFilterType || 0,\r\n headAccountHierarchyIds: CommonHelper.isNullOrEmpty(headAccountHierarchyIds) ? [] : headAccountHierarchyIds,\r\n subAccountHierarchyIds: CommonHelper.isNullOrEmpty(subAccountHierarchyIds) ? [] : subAccountHierarchyIds,\r\n customerId: customerId,\r\n };\r\n }\r\n\r\n public getFilterItemById(id: number) {\r\n if (CommonHelper.isNullOrEmpty(id)) {return this.getDefaultFilter(false);}\r\n const findObj = this.getState().data.find((ele) => ele.FilterId == id);\r\n return findObj;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): DashboardFilterStoreState {\r\n return { actionType: ActionType.Loading, data: null, pressedId: null };\r\n }\r\n\r\n private onDashboardFilterStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, pressedId: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType, adverIds: actionData.payload });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { NotificationFilterDispatcher } from \"./Variable\";\r\nimport { ThreadQuery } from \"../../../../../Wrap/Models/Domains/Threads/ThreadQuery\";\r\nimport { ThreadType } from \"../../../../../Wrap/Constants/Enums/Domain/ThreadType\";\r\nimport { addDays, addMonths, addYears } from \"../../../../../react-core/utils/date\";\r\nimport { ClientNotificationFiltersModel } from \"../../../../../Wrap/Models/Domains/Users/NotificationFilter/ClientNotificationFiltersModel\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { NotificationDateRangeType } from \"../../../../../Wrap/Constants/Enums/Client/NotificationFilter/NotificationDateRangeType\";\r\n\r\nexport interface NotificationFilterStoreState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n pressedId?: number;\r\n data?: any[];\r\n adviserIds?: any[];\r\n}\r\n\r\nexport class NotificationFilterStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(NotificationFilterDispatcher, (actionData) =>\r\n this.onNotificationFilterStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): NotificationFilterStoreState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getPressedId() {\r\n return this.getState().pressedId;\r\n }\r\n\r\n public getAdviserIds() {\r\n return this.getState().adviserIds;\r\n }\r\n\r\n public getDefaultFilter(): ClientNotificationFiltersModel {\r\n return {\r\n NotificationId: null,\r\n EventCategoryId: null,\r\n ClientReference: null,\r\n IsRead: false,\r\n EventType: ThreadType.NotSpecified,\r\n DateRangeOption: NotificationDateRangeType.PastWeek,\r\n AdviserIds: [],\r\n };\r\n }\r\n\r\n public calculateFromDate = (selectedDateRange: NotificationDateRangeType): Date => {\r\n let fromDate = new Date();\r\n if (selectedDateRange == NotificationDateRangeType.PastWeek) {\r\n fromDate = addDays(fromDate, -7);\r\n } else if (selectedDateRange == NotificationDateRangeType.PastMonth) {\r\n fromDate = addMonths(fromDate, -1);\r\n } else if (selectedDateRange == NotificationDateRangeType.PastThreeMonths) {\r\n fromDate = addMonths(fromDate, -3);\r\n } else if (selectedDateRange == NotificationDateRangeType.PastSixMonths) {\r\n fromDate = addMonths(fromDate, -6);\r\n } else if (selectedDateRange == NotificationDateRangeType.PastYear) {\r\n fromDate = addYears(fromDate, -1);\r\n } else {\r\n //default\r\n selectedDateRange = NotificationDateRangeType.PastMonth;\r\n fromDate = addMonths(fromDate, -1);\r\n }\r\n fromDate = addDays(fromDate, 1);\r\n return fromDate;\r\n };\r\n\r\n public convertDashboardFilterToQuery(filter: ClientNotificationFiltersModel, curPage: number): ThreadQuery {\r\n const fromDate = this.calculateFromDate(filter.DateRangeOption);\r\n return {\r\n FromDate: JsonDateParser.toJsonDateNoOffset(fromDate),\r\n ToDate: JsonDateParser.toJsonDateNoOffset(new Date()),\r\n AdviserIds: filter.AdviserIds || [],\r\n ThreadType: filter?.EventType,\r\n CategoryId: filter?.EventCategoryId,\r\n ClientName: filter?.ClientName,\r\n CompanyCode: filter?.CompanyCode,\r\n CurrentPage: curPage,\r\n ResultsPerPage: 10,\r\n AlertDefinitionId: filter?.NotificationId,\r\n ClAccountId: filter?.ClientReference,\r\n IsRead: filter?.IsRead,\r\n IsFollowed: filter?.FollowUp,\r\n ThreadIds: [],\r\n };\r\n }\r\n\r\n public getFilterItemById(id: number) {\r\n if (CommonHelper.isNullOrEmpty(id)) {return this.getDefaultFilter();}\r\n const findObj = this.getState().data.find((ele) => ele.FilterId == id);\r\n return findObj;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): NotificationFilterStoreState {\r\n return { actionType: ActionType.Loading, data: null, pressedId: null };\r\n }\r\n\r\n private onNotificationFilterStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({ actionType: actionData.actionType, pressedId: actionData.payload });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType, adviserIds: actionData.payload });\r\n break;\r\n }\r\n }\r\n}\r\n","import { Dispatcher } from \"../../../../../react-core/Flux/Dispatcher\";\r\nimport { FluxResponse } from \"../../../../Admin/Adviser/Stores/Variable\";\r\nimport { DashboardFilterStoreStatic } from \"./DashboardFilterStoreStatic\";\r\nimport { NotificationFilterStoreStatic } from \"./NotificationFilterStoreStatic\";\r\n\r\nexport const DashboardFilterDispatcher: Dispatcher = new Dispatcher();\r\nexport const DashboardFilterStore: DashboardFilterStoreStatic = new DashboardFilterStoreStatic();\r\n\r\nexport const NotificationFilterDispatcher: Dispatcher = new Dispatcher();\r\nexport const NotificationFilterStore: NotificationFilterStoreStatic = new NotificationFilterStoreStatic();\r\n","import { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { RemunerationStatementHistoryClient } from \"../../../../../Wrap/Api/Reports/MI/RemunerationStatementHistory\";\r\n\r\nexport class ReportsAction {\r\n public static getRemunerationStatementHistory(\r\n fromDate: Date,\r\n toDate: Date,\r\n network: string,\r\n company: string,\r\n start: number,\r\n pageSize: number,\r\n callback\r\n ) {\r\n const client = new RemunerationStatementHistoryClient();\r\n const promise = client.get(\r\n network,\r\n company,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n start,\r\n pageSize,\r\n true\r\n );\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n promise.onError((data) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { DatePicker } from \"../../../../../react-core/Datepicker/DatePicker\";\r\nimport { FormComponent } from \"../../../../../react-core/Html/FormComponent\";\r\nimport { PartLoading } from \"../../../../../react-core/Html/PartLoading\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { addDays, addMonths, addYears } from \"../../../../../react-core/utils/date\";\r\nimport { CompanySearchClient } from \"../../../../../Wrap/Api/Company/CompanySearch\";\r\nimport { NetworkHistoryClient } from \"../../../../../Wrap/Api/Network/NetworkHistory\";\r\nimport { CompanyDetailSort } from \"../../../../../Wrap/Constants/Enums/Domain/CompanyDetailSort\";\r\nimport { FirmType } from \"../../../../../Wrap/Constants/Enums/Domain/FirmType\";\r\nimport { NetworkType } from \"../../../../../Wrap/Constants/Enums/Network/NetworkType\";\r\nimport { TaskRequestStatus } from \"../../../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { CompanySummary } from \"../../../../../Wrap/Models/Models/Company/CompanySummary\";\r\nimport { NetworkHistoryModel } from \"../../../../../Wrap/Models/Models/Network/NetworkHistoryModel\";\r\nimport { RemunerationStatementInfoCollection } from \"../../../../../Wrap/Models/Models/Reports/RemunerationStatementInfoCollection\";\r\nimport { TaskRequestStatusModel } from \"../../../../../Wrap/Models/Models/Tasks/TaskRequestStatusModel\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport { ExcelExportAction } from \"../../../../Shared/ExcelExport/Actions/ExcelExportAction\";\r\nimport { SearchInput } from \"../../../../Shared/SearchInput/SearchInput\";\r\nimport { DocumentFileAction } from \"../../Clients/PortfolioDashboard/Components/Document/Action/DocumentFileAction\";\r\nimport { datePickerOptions } from \"../../Clients/Common/Resource/Contents\";\r\nimport { ReportsAction } from \"../Actions/ReportsAction\";\r\nimport { ReportTypeArray, ReportTypeMap, ReportType } from \"../Resource/Contents\";\r\nimport { RemunerationStatementSearchResultTable } from \"./RemunerationStatementSearchResultTable\";\r\nimport { ErrorMessagePopup } from \"../../../../Shared/Components/ErrorMessagePopup\";\r\n\r\ninterface IRemunerationStatementState {\r\n tableData: RemunerationStatementInfoCollection;\r\n isLoading: boolean;\r\n reportType: any;\r\n network: NetworkHistoryModel;\r\n firm: CompanySummary;\r\n startDate: Date;\r\n endDate: Date;\r\n displayNetworkSearch: boolean;\r\n displayCompanySearch: boolean;\r\n displayNoNetworFirmMsg: boolean;\r\n haveOnlyOneNetwork: boolean;\r\n haveOnlyOneCompany: boolean;\r\n isShowErrorMessage: boolean;\r\n}\r\n\r\nexport class RemunerationStatement extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n tableData: null,\r\n isLoading: false,\r\n reportType: ReportType.RemunerationStatement,\r\n network: null,\r\n firm: null,\r\n startDate: addDays(addMonths(new Date(), -3), 1),\r\n endDate: new Date(),\r\n displayNetworkSearch: false,\r\n displayCompanySearch: false,\r\n displayNoNetworFirmMsg: false,\r\n haveOnlyOneNetwork: false,\r\n haveOnlyOneCompany: false,\r\n isShowErrorMessage: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n networkClient.get(null, NetworkType.Unknown, null, null, null, true, 10, 1).onSuccess((result) => {\r\n if (result.TotalRows > 1) {\r\n this.setState({ displayNetworkSearch: true });\r\n } else if (result.TotalRows == 1) {\r\n this.setState({ network: result?.networks[0], haveOnlyOneNetwork: true });\r\n }\r\n companyClient\r\n .get(null, null, FirmType.All, null, null, null, true, 1, 10, CompanyDetailSort.CompanyName, false)\r\n .onSuccess((result) => {\r\n if (result.TotalNumberOfResults > 1) {\r\n this.setState({ displayCompanySearch: true });\r\n } else if (result.TotalNumberOfResults == 1) {\r\n this.setState({ firm: result?.PageOfResults[0], haveOnlyOneCompany: true });\r\n }\r\n })\r\n .onSuccess(() => {\r\n if (\r\n this.state.haveOnlyOneNetwork ||\r\n (this.state.haveOnlyOneCompany && this.state.network == null)\r\n ) {\r\n this.onClickSearch(1);\r\n }\r\n });\r\n });\r\n }\r\n\r\n private renderFilter() {\r\n const { reportType, network, firm, startDate, endDate } = this.state;\r\n const networkClient = new NetworkHistoryClient();\r\n const companyClient = new CompanySearchClient();\r\n return (\r\n <>\r\n {this.state.displayNoNetworFirmMsg == true && (\r\n \r\n )}\r\n
    \r\n
    \r\n {\r\n return ReportTypeMap[v];\r\n }}\r\n placeholder=\"Please select\"\r\n label=\"Report type\"\r\n selected={reportType}\r\n required={\"Please select report type\"}\r\n onChange={(v) => {\r\n this.setState({ reportType: v });\r\n }}\r\n />\r\n
    \r\n {this.state.displayNetworkSearch && (\r\n
    \r\n {\r\n return networkClient.get(null, NetworkType.Unknown, v, null, null, true, 20, 1);\r\n }}\r\n onClick={(v: NetworkHistoryModel) => {\r\n this.setState({ network: v, firm: null });\r\n }}\r\n resultKey=\"networks\"\r\n getText={(v: NetworkHistoryModel) => v.NetworkName}\r\n label={\"Network\"}\r\n value={network?.NetworkName}\r\n />\r\n
    \r\n )}\r\n {this.state.displayCompanySearch && (\r\n
    \r\n {\r\n return companyClient.get(\r\n null,\r\n v,\r\n FirmType.All,\r\n null,\r\n network?.Network,\r\n null,\r\n true,\r\n 1,\r\n 40,\r\n CompanyDetailSort.CompanyName,\r\n false\r\n );\r\n }}\r\n resultKey={\"PageOfResults\"}\r\n onClick={(v: CompanySummary) => {\r\n this.setState({ network: null, firm: v });\r\n }}\r\n getText={(v: CompanySummary) => v.CompanyName}\r\n label={\"Company\"}\r\n value={firm?.CompanyName}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n this.setState({ startDate: v });\r\n }}\r\n atLeast={\r\n this.state.endDate\r\n ? {\r\n value: addYears(endDate, -1),\r\n errorMessage: \"Maximum date range is one year\",\r\n }\r\n : null\r\n }\r\n atMost={{\r\n value: endDate\r\n ? endDate\r\n : new Date(),\r\n errorMessage: \"Start date of period selected must be before end date\",\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select start date\"\r\n />\r\n
    \r\n
    \r\n {\r\n this.setState({ endDate: v });\r\n }}\r\n atLeast={\r\n startDate\r\n ? {\r\n value: startDate,\r\n errorMessage: \"End date of period selected must be after start date\",\r\n }\r\n : null\r\n }\r\n atMost={{ \r\n value: startDate\r\n ? addYears(startDate, 1).getTime() > new Date().getTime()\r\n ? new Date()\r\n : addYears(startDate, 1)\r\n : new Date(),\r\n errorMessage: \"Maximum date range is one year\",\r\n }}\r\n alwaysValidateOnUpdate={false}\r\n {...datePickerOptions}\r\n required=\"Please select end date\"\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n public checkStatus(taskRequestID: number, status: TaskRequestStatus) {\r\n const { tableData } = this.state;\r\n if (\r\n status == TaskRequestStatus.Pending ||\r\n status == TaskRequestStatus.Running ||\r\n status == TaskRequestStatus.Allocated ||\r\n status == TaskRequestStatus.PendingDelayed ||\r\n status == TaskRequestStatus.PendingHold\r\n ) {\r\n setTimeout(() => {\r\n ExcelExportAction.getTaskRequestStatus(taskRequestID.toString(), (res: TaskRequestStatusModel) => {\r\n this.checkStatus(taskRequestID, res?.Status);\r\n });\r\n }, 2000);\r\n } else if (status == TaskRequestStatus.Complete) {\r\n //TODO replace the dummy file name, currently is fine as we use generic file name\r\n DocumentFileAction.get(\"\", \"doc.xls\", true, 0, taskRequestID, null, (result: string) => {\r\n tableData.PageOfResults.find((x) => x.TaskRequestID == taskRequestID).TaskRequestStatus =\r\n TaskRequestStatus.Complete;\r\n tableData.PageOfResults.find((x) => x.TaskRequestID == taskRequestID).File = result;\r\n this.setState({ tableData: tableData });\r\n }, true);\r\n } else {\r\n tableData.PageOfResults.find((x) => x.TaskRequestID == taskRequestID).TaskRequestStatus = status;\r\n this.setState({ tableData: tableData });\r\n }\r\n }\r\n public isValid(): boolean {\r\n let flag = super.isValid();\r\n if (this.state.network == null && this.state.firm == null) {\r\n flag = false;\r\n this.setState({ displayNoNetworFirmMsg: true });\r\n } else {\r\n this.setState({ displayNoNetworFirmMsg: false });\r\n }\r\n return flag;\r\n }\r\n private onClickSearch(pageIndex: number) {\r\n if (this.isValid()) {\r\n const { network, firm, startDate, endDate } = this.state;\r\n ReportsAction.getRemunerationStatementHistory(\r\n startDate,\r\n endDate,\r\n network?.Network,\r\n firm?.CompanyCode,\r\n (pageIndex - 1) * 10 + 1,\r\n 10,\r\n (data: RemunerationStatementInfoCollection) => {\r\n data?.PageOfResults?.forEach((x) => {\r\n if (\r\n x.TaskRequestStatus == TaskRequestStatus.Pending ||\r\n x.TaskRequestStatus == TaskRequestStatus.Running ||\r\n x.TaskRequestStatus == TaskRequestStatus.Allocated ||\r\n x.TaskRequestStatus == TaskRequestStatus.PendingDelayed ||\r\n x.TaskRequestStatus == TaskRequestStatus.PendingHold\r\n ) {\r\n ExcelExportAction.getTaskRequestStatus(\r\n x.TaskRequestID.toString(),\r\n (res: TaskRequestStatusModel) => {\r\n this.checkStatus(x.TaskRequestID, res.Status);\r\n }\r\n );\r\n }\r\n });\r\n\r\n this.setState({ tableData: data });\r\n }\r\n );\r\n }\r\n }\r\n\r\n closeErrorMessagePopup = () => {\r\n this.setState({ isShowErrorMessage: false });\r\n };\r\n\r\n private renderTable(data: any) {\r\n return this.onPageChange(s, isShowErr)} />;\r\n }\r\n\r\n private renderErrorMessage(): JSX.Element {\r\n const { isShowErrorMessage } = this.state;\r\n if (isShowErrorMessage) {\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n private onPageChange(pageIndex: number, isShowError: boolean) {\r\n if (pageIndex != -1) {\r\n this.onClickSearch(pageIndex);\r\n } else {\r\n if (isShowError){\r\n this.setState({isShowErrorMessage: true});\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { tableData, isLoading } = this.state;\r\n return (\r\n
    \r\n

    Remuneration Statement History

    \r\n {this.renderFilter()}\r\n {isLoading ? : tableData && this.renderTable(tableData)}\r\n {this.renderErrorMessage()}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { TaskRequestStatus } from \"../../../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { RemunerationStatementInfo } from \"../../../../../Wrap/Models/Models/Reports/RemunerationStatementInfo\";\r\nimport { ITableConfig, Table } from \"../../../../Shared/Table/Table\";\r\nimport { RemunerationStatementEntityTypeMap, TaskRequestStatusMap } from \"../Resource/Contents\";\r\nimport { DocumentFileAction } from \"../../Clients/PortfolioDashboard/Components/Document/Action/DocumentFileAction\";\r\nimport { Constants } from \"../../Clients/PortfolioDashboard/Components/Document/Resource/Constant\";\r\n\r\ninterface IRemunerationStatementSearchResultTableProps {\r\n data: any;\r\n onPageChange: (currentPage, isShowErr) => void;\r\n}\r\n\r\nexport const RemunerationStatementSearchResultTable = (props: IRemunerationStatementSearchResultTableProps) => {\r\n if (!props.data) {return null;}\r\n\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n\r\n const col: ITableConfig[] = [\r\n {\r\n title: \"ID\",\r\n key: \"TaskRequestID\",\r\n },\r\n {\r\n title: \"Company/Network name\",\r\n key: \"OwnerName\",\r\n },\r\n {\r\n title: \"Report level\",\r\n key: \"RemunerationStatementEntityType\",\r\n render: (data) => {\r\n return RemunerationStatementEntityTypeMap[data];\r\n },\r\n },\r\n {\r\n title: \"Date generated\",\r\n key: \"DateTimeRequested\",\r\n render: (data: Date) => {\r\n return JsonDateParser.getFormatDateString(new Date(data), \"dd MM yyyy hh:mm:ss\", true);\r\n },\r\n },\r\n {\r\n title: \"Download link\",\r\n key: \"File\",\r\n render: (data: string, row: RemunerationStatementInfo, index) => {\r\n return row?.TaskRequestStatus == TaskRequestStatus.Complete ? (\r\n DownloadFile(row.FileName, row.TaskRequestID)}>\r\n Download\r\n \r\n ) : row?.TaskRequestStatus == TaskRequestStatus.Pending ||\r\n row?.TaskRequestStatus == TaskRequestStatus.Running ||\r\n row?.TaskRequestStatus == TaskRequestStatus.Allocated ||\r\n row?.TaskRequestStatus == TaskRequestStatus.PendingDelayed ||\r\n row?.TaskRequestStatus == TaskRequestStatus.PendingHold ? (\r\n
    \r\n
    \r\n Pending...\r\n
    \r\n ) : (\r\n

    {TaskRequestStatusMap[row?.TaskRequestStatus]}

    \r\n );\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n {\r\n setCurrentPage(pageIndex);\r\n props.onPageChange(pageIndex, false);\r\n },\r\n pageSize: 10,\r\n currentPage: currentPage,\r\n }}\r\n />\r\n );\r\n\r\n function DownloadFile(fileName: string, taskRequestID: number){\r\n DocumentFileAction.get(\r\n null,\r\n fileName,\r\n true,\r\n 0,\r\n taskRequestID,\r\n null,\r\n (result) => {\r\n if (result !== null && result !== \"\") {\r\n window.open(result);\r\n } else {\r\n props.onPageChange(-1, true);\r\n }\r\n },\r\n true\r\n );\r\n }\r\n}\r\n","import { RemunerationStatementEntityType } from \"../../../../../Wrap/Constants/Enums/Report/RemunerationStatementEntityType\";\r\nimport { TaskRequestStatus } from \"../../../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\n\r\nexport enum ReportType {\r\n RemunerationStatement,\r\n}\r\n\r\nexport const ReportTypeArray = [ReportType.RemunerationStatement];\r\n\r\nexport const ReportTypeMap = {\r\n [ReportType.RemunerationStatement]: \"Remuneration Statement\",\r\n};\r\n\r\nexport const TaskRequestStatusMap = {\r\n [TaskRequestStatus.Allocated]: \"Allocated\",\r\n [TaskRequestStatus.Cancelled]: \"Cancelled\",\r\n [TaskRequestStatus.Complete]: \"Complete\",\r\n [TaskRequestStatus.DocumentPending]: \"Document Pending\",\r\n [TaskRequestStatus.Failed]: \"Failed\",\r\n [TaskRequestStatus.Pending]: \"Pending\",\r\n [TaskRequestStatus.Running]: \"Running\",\r\n [TaskRequestStatus.PendingDelayed]: \"PendingDelayed\",\r\n [TaskRequestStatus.CancelledRestore]: \"CancelledRestore\",\r\n [TaskRequestStatus.PendingHold]: \"PendingHold\",\r\n};\r\nexport const RemunerationStatementEntityTypeMap = {\r\n [RemunerationStatementEntityType.NotSpecified]: \"-\",\r\n [RemunerationStatementEntityType.Network]: \"Network\",\r\n [RemunerationStatementEntityType.Company]: \"Company\",\r\n};\r\nexport const DefaultMaximum = 999999;\r\n","import * as React from \"react\";\r\nimport { SecuredHeader } from \"./SecuredHeader\";\r\nimport { SecuredMainNavigation } from \"./SecuredMainNavigation\";\r\nimport { SecuredFooter } from \"./SecuredFooter\";\r\nimport CoachMarkerProvider from \"../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { SessionTimeoutComponent } from \"../../Shared/Session/SessionTimeoutComponent\";\r\nimport CookiePolicy from \"../../Shared/Cookies/ChoicesCookie/CookiePolicy.component\";\r\n\r\ninterface ISecuredProps extends React.Props {}\r\n\r\ninterface ISecuredState {\r\n contentElement?: JSX.Element;\r\n}\r\n\r\nexport class Secured extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { contentElement } = this.state;\r\n\r\n return (\r\n \r\n
    \r\n \r\n Skip to main content\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    {this.props.children}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Accordion } from \"../../../react-core/Html/Accordion\";\r\nimport { FooterContents } from \"../Resoures/Contents\";\r\n\r\nexport const SecuredFooter = () => {\r\n const [providerLinkExpanded, setProviderLinkExpanded] = React.useState(false);\r\n return (\r\n
    \r\n
      \r\n
    • \r\n {\" \"}\r\n \r\n Help and guides\r\n \r\n
    • \r\n
    • \r\n {\" \"}\r\n \r\n Contact us\r\n \r\n
    • \r\n
    • \r\n {\" \"}\r\n \r\n Cookie policy\r\n \r\n
    • \r\n
    • \r\n {\" \"}\r\n \r\n Privacy policy\r\n \r\n
    • \r\n
    • \r\n {\" \"}\r\n \r\n Legal information\r\n \r\n
    • \r\n
    • \r\n {\" \"}\r\n \r\n Accessibility\r\n \r\n
    • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    {FooterContents.ProviderDetailsParagraph}

    \r\n

    \r\n {FooterContents.ProviderDetailsParagraph4}\r\n \r\n {FooterContents.ProviderDetailsParagraph4Link}\r\n \r\n

    \r\n

    {FooterContents.ProviderDetailsParagraph5}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { SecuredSearch } from \"./SecuredSearch\";\r\nimport { SecuredCustomNavigation } from \"./CustomNavigation/SecuredCustomNavigation\";\r\nimport { FirmLogoStore, UserStore } from \"../Stroes/Variable\";\r\nimport { FormComponent } from \"../../../react-core/Html/FormComponent\";\r\nimport { AddLogoAction } from \"./Settings/AddLogo/Action/AddLogoAction\";\r\nimport { CompanyLogo } from \"../../../Wrap/Models/Domains/Company/CompanyLogo\";\r\nimport { CommonHelper } from \"../../../react-core/Helpers/CommonHelper\";\r\nimport { UIThemeAction } from \"./Settings/Action/UIThemeAction\";\r\nimport { JsonDateParser } from \"../../../react-core/Utils/JsonDateParser\";\r\nimport { LogoHeader } from \"../../DLU/LogoHeader\";\r\nimport { UserClient } from \"../../../Wrap/Api/User/User\";\r\nimport { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { UserDispatcher } from \"../Stroes/Variable\";\r\n\r\ninterface ISecuredHeaderProps extends React.Props {\r\n onClick?: (methodName: string, parameters?: any) => void;\r\n}\r\n\r\ninterface ISecuredHeaderState {\r\n logoUrl: CompanyLogo;\r\n isLoading: boolean;\r\n}\r\n\r\nexport class SecuredHeader extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { logoUrl: null, isLoading: true };\r\n this.subscribeToStore(FirmLogoStore, () => this.onFirmLogoStoreChange());\r\n }\r\n\r\n componentDidMount() {\r\n const maybeUser = UserStore.getUserInfo();\r\n\r\n if (!maybeUser) {\r\n const client = new UserClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((result) => {\r\n UserDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: result,\r\n });\r\n this.getFirmLogo();\r\n });\r\n\r\n promise.onError((err) => {});\r\n } else {\r\n this.getFirmLogo();\r\n }\r\n }\r\n\r\n private getFirmLogo() {\r\n const data = FirmLogoStore.getFirmLogoInfo();\r\n\r\n const isAdmin = UserStore.getUserInfo()?.IsAdmin != null ? UserStore.getUserInfo().IsAdmin : true;\r\n if (CommonHelper.isNullOrEmpty(data)) {\r\n AddLogoAction.getLogo(isAdmin);\r\n } else {\r\n this.setState({ logoUrl: data, isLoading: false });\r\n }\r\n }\r\n\r\n private onFirmLogoStoreChange() {\r\n const data = FirmLogoStore.getFirmLogoInfo();\r\n this.setState({ logoUrl: data, isLoading: false });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const userInfo = UserStore.getUserInfo();\r\n if (\r\n JsonDateParser.isValidDate(userInfo?.PasswordExpiredDate) &&\r\n userInfo?.PasswordExpiredDate <= JsonDateParser.toJsonDateNoOffset(new Date())\r\n ) {\r\n return ;\r\n }\r\n const logoStyle = UIThemeAction.getLogoUrl(this.state.logoUrl);\r\n return (\r\n
    \r\n
    \r\n {!this.state.isLoading && (\r\n \r\n {CommonHelper.isNullOrEmpty(this.state.logoUrl?.LocalUrl) &&\r\n CommonHelper.isNullOrEmpty(this.state.logoUrl?.UploadUrl) && (\r\n Abrdn Advisor platform\r\n )}\r\n \r\n )}\r\n {this.state.isLoading &&
    }\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { accountsPageLabels, Contents } from \"../Resoures/Contents\";\r\nimport * as classNames from \"classNames\";\r\nimport { Navigator } from \"../../Shared/Wizards/Entities/Navigator\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { UserStore } from \"../Stroes/Variable\";\r\nimport { Action } from \"../Actions/Action\";\r\nimport { Urls } from \"../Urls\";\r\nimport { Permission } from \"../../Shared/Permission/Permission\";\r\nimport { DLUAccountPages, isDLU } from \"../Resoures/DashboardContents\";\r\nimport { UserClaim } from \"../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { User } from \"../../../Wrap/Models/Models/User/User\";\r\nimport { ContextStore } from \"../../../react-core/Flux/Variables\";\r\nimport { getEnumValues } from \"../../../react-core/Utils/Enum\";\r\nimport { ContextType } from \"../../../Wrap/Constants/Enums/ContextType\";\r\nimport { HierarchyIdHelper } from \"../../Shared/Common/HierarchyIdHelper\";\r\nimport { Lightbox, LightboxType } from \"../../../react-core/Html/Components/Lightbox\";\r\nimport { HierarchyLevelName } from \"../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { CustomerNewProductLink } from \"../../../Wrap/Models/Models/Customer/CustomerNewProductLink\";\r\nimport { SelectAccountLightbox } from \"./SelectAccountLightbox\";\r\nimport { CoachMarkerContext } from \"../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { Scroll } from \"../../../react-core/Utils/Scroll\";\r\nimport CoachMarker from \"../../Shared/CoachMarkers/CoachMarker\";\r\nimport { PortfolioDashboardStore } from \"./Clients/PortfolioDashboard/Store/Variable\";\r\nimport { ClientAccount } from \"../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { isAdminSpecificPage } from \"../../Admin/Dashboard/AdminDashboard\";\r\nimport { JsonDateParser } from \"../../../react-core/Utils/JsonDateParser\";\r\nimport { LegadoAction } from \"./Clients/PortfolioDashboard/Components/Legado/Action/LegadoAction\";\r\nimport { LegadoConfigStore } from \"./Clients/PortfolioDashboard/Store/Variables\";\r\nimport { CommonHelper } from \"../../../react-core/Helpers/CommonHelper\";\r\n\r\ninterface ISecuredMainNavigationProps {\r\n onClick?: (method: string, parameters?: any) => void;\r\n}\r\n\r\ninterface ISecuredMainNavigationState {\r\n notificationsCount?: number;\r\n userInfo?: User;\r\n showAccountLightbox?: boolean;\r\n links: CustomerNewProductLink[];\r\n errorMsg: string;\r\n allAccounts: ClientAccount[];\r\n isLegadoEnabled: boolean;\r\n}\r\n\r\nenum MainNavigationSideMenu {\r\n Dashboard = \"dashboard\",\r\n Clients = \"customer\",\r\n ToolLiterature = \"tools-and-literature\",\r\n BusinessManagemnt = \"business-management\",\r\n Admin = \"admin\",\r\n Profile = \"profile\",\r\n}\r\n\r\nexport class SecuredMainNavigation extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n notificationsCount: 3,\r\n showAccountLightbox: false,\r\n links: [],\r\n errorMsg: null,\r\n allAccounts: PortfolioDashboardStore.getData(),\r\n userInfo: null,\r\n isLegadoEnabled: null,\r\n };\r\n\r\n this.subscribeToStore(PortfolioDashboardStore, () => this.onUnderlyingAcountsStoreChange());\r\n this.subscribeToStore(UserStore, () => this.onUserStoreChange());\r\n this.subscribeToStore(LegadoConfigStore, () => this.loadLegadoConfig());\r\n }\r\n\r\n componentDidMount() {\r\n this.loadLegadoConfig();\r\n const userInfo = UserStore.getUserInfo();\r\n if (userInfo) {\r\n this.setState({ userInfo: userInfo });\r\n } else {\r\n Action.getUser();\r\n }\r\n }\r\n\r\n onUnderlyingAcountsStoreChange() {\r\n this.setState({ allAccounts: PortfolioDashboardStore.getData() });\r\n }\r\n\r\n onUserStoreChange() {\r\n this.setState({ userInfo: UserStore.getUserInfo() });\r\n }\r\n\r\n private getTabIndex(): MainNavigationSideMenu {\r\n if (isAdminSpecificPage()) {\r\n return MainNavigationSideMenu.Admin;\r\n }\r\n\r\n let tab = MainNavigationSideMenu.Dashboard;\r\n if (isDLU()) {\r\n tab = MainNavigationSideMenu.Dashboard;\r\n } else if (DLUAccountPages.includes(window.location.pathname)) {\r\n tab = MainNavigationSideMenu.Clients;\r\n } else {\r\n const url = Urls.getCurrentUrl();\r\n\r\n const sideMenus = getEnumValues(MainNavigationSideMenu);\r\n for (const ele of sideMenus) {\r\n if (ele.toLowerCase() === url.toLowerCase()) {\r\n tab = ele as MainNavigationSideMenu;\r\n break;\r\n }\r\n }\r\n }\r\n return tab;\r\n }\r\n\r\n private onMenuClick(_index: MainNavigationSideMenu) {\r\n let goto = Urls.get().main.Dashboard;\r\n let url = \"/wpadviser/en-gb/dashboard/home/main/\";\r\n ContextStore.flushStore();\r\n switch (_index) {\r\n case MainNavigationSideMenu.BusinessManagemnt:\r\n goto = Urls.get().main.BusinessManagement;\r\n url = url + \"business-management\";\r\n break;\r\n case MainNavigationSideMenu.ToolLiterature:\r\n goto = Urls.get().main.ToolAndLiterature;\r\n url = url + \"tools-and-literature\";\r\n break;\r\n case MainNavigationSideMenu.Admin:\r\n goto = Urls.get().main.Admin;\r\n url = url + \"admin\";\r\n break;\r\n case MainNavigationSideMenu.Clients:\r\n goto = Urls.get().main.Client;\r\n url = url + \"customer\";\r\n break;\r\n case MainNavigationSideMenu.Profile:\r\n goto = Urls.get().main.Settings;\r\n url = url + \"settings\";\r\n break;\r\n default:\r\n url = url + \"dashboard\";\r\n break;\r\n }\r\n\r\n if (this.props.onClick) {\r\n this.props.onClick(Contents.Method_CloseMenu);\r\n }\r\n if (isDLU()) {\r\n window.location.assign(url);\r\n } else {\r\n Navigator.navigateTo(goto);\r\n }\r\n }\r\n\r\n private getNavigationElementTitleAndCss(): { title: string; css: string } {\r\n const index = this.getTabIndex();\r\n const id = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n let title = accountsPageLabels.newClient;\r\n const css = \"main-cta\";\r\n\r\n switch (index) {\r\n case MainNavigationSideMenu.Clients:\r\n title =\r\n id && this.state.allAccounts?.length > 0\r\n ? accountsPageLabels.newProduct\r\n : accountsPageLabels.newClient;\r\n break;\r\n case MainNavigationSideMenu.BusinessManagemnt:\r\n title = accountsPageLabels.newClient;\r\n break;\r\n default:\r\n break;\r\n }\r\n return { title: title, css: css };\r\n }\r\n\r\n private getNavigationElement(): JSX.Element {\r\n const { title, css } = this.getNavigationElementTitleAndCss();\r\n const id = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n const { hierarchyLevel, entityId } = HierarchyIdHelper.generateHierarchyId(id);\r\n\r\n if (title === accountsPageLabels.newProduct) {\r\n return (\r\n
    \r\n {UserStore.getUserInfo()?.IsReadOnly != true && (\r\n \r\n {\r\n if (hierarchyLevel == HierarchyLevelName.Account) {\r\n this.setState({\r\n errorMsg: \"New product journey not available for this type of Account.\",\r\n showAccountLightbox: true,\r\n });\r\n } else if (hierarchyLevel == HierarchyLevelName.Customer) {\r\n Action.getNewProductLink(entityId, (links: CustomerNewProductLink[]) => {\r\n if (links.length == 0) {\r\n this.setState({\r\n errorMsg:\r\n \"New product journey not available for this type of Account.\",\r\n showAccountLightbox: true,\r\n });\r\n } else if (links.length == 1) {\r\n if (links[0].IsActive) {\r\n window.location.assign(links[0].Link);\r\n } else {\r\n this.setState({\r\n errorMsg:\r\n \"New product journey not available for this type of Account.\",\r\n showAccountLightbox: true,\r\n });\r\n }\r\n } else {\r\n this.setState({ links: links, showAccountLightbox: true });\r\n }\r\n });\r\n }\r\n }}\r\n className={css}\r\n >\r\n \r\n {title}\r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n \r\n {UserStore.getUserInfo()?.IsReadOnly != true && (\r\n \r\n {\r\n if (isDLU()) {\r\n window.location.assign(\r\n `/wpadviser/en-gb/dashboard/home/main/client/addclient/client-type`\r\n );\r\n } else {\r\n Navigator.navigateTo(Urls.get().ClientType);\r\n }\r\n }}\r\n className={css}\r\n >\r\n \r\n {title}\r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private getClassName() {\r\n if (isAdminSpecificPage()) {\r\n return accountsPageLabels.adminClassName;\r\n }\r\n\r\n const url = Urls.getCurrentUrl();\r\n switch (url) {\r\n case accountsPageLabels.dashboardRouteLabel:\r\n return accountsPageLabels.dashboardClassName;\r\n case accountsPageLabels.accountsRouteLabel:\r\n return accountsPageLabels.accountsClassName;\r\n case accountsPageLabels.clientsRouteLabel:\r\n return accountsPageLabels.clientsClassName;\r\n case accountsPageLabels.businessManagementRouteLabel:\r\n return accountsPageLabels.businessInsightClassName;\r\n case accountsPageLabels.toolsAndLiteratureRouteLabel:\r\n return accountsPageLabels.toolsAndLiteratureClassName;\r\n case accountsPageLabels.adminRouteLabel:\r\n return accountsPageLabels.adminClassName;\r\n }\r\n }\r\n\r\n private getSectionBarParameters() {\r\n const className = this.getClassName();\r\n const mainItemsDOM = document.querySelectorAll(\".main-items\")[0] as HTMLElement;\r\n let activeItemDOM = null;\r\n if (mainItemsDOM) {\r\n activeItemDOM = mainItemsDOM.querySelectorAll(`.${className}`)[0] as HTMLElement;\r\n }\r\n if (activeItemDOM) {\r\n return {\r\n sectionBarTop: activeItemDOM.offsetTop,\r\n sectionBarHeight: activeItemDOM.offsetHeight,\r\n sectionBarOpacity: 1,\r\n };\r\n } else {\r\n return {\r\n sectionBarTop: null,\r\n sectionBarHeight: 0,\r\n sectionBarOpacity: 0,\r\n };\r\n }\r\n }\r\n\r\n private renderAccountsLightbox() {\r\n const id = ContextStore.getUrlParamsHierarchyId(ContextType.Customer);\r\n const { entityId } = HierarchyIdHelper.generateHierarchyId(id);\r\n return (\r\n <>\r\n {this.state.showAccountLightbox && (\r\n this.setState({ showAccountLightbox: false, errorMsg: null })}\r\n type={LightboxType.Modal}\r\n cssWrapper=\"is-default-lightbox is-narrow\"\r\n >\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private handleAppStoreClick() {\r\n (window as any).AppStore.navigateToStore();\r\n }\r\n\r\n private loadLegadoConfig() {\r\n const data = LegadoConfigStore.getLegadoConfigInfo();\r\n\r\n if (CommonHelper.isNullOrEmpty(data)) {\r\n LegadoAction.isLegadoEnabled();\r\n } else {\r\n this.setState({ isLegadoEnabled: data });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const userInfo = UserStore.getUserInfo();\r\n if (\r\n JsonDateParser.isValidDate(userInfo?.PasswordExpiredDate) &&\r\n userInfo?.PasswordExpiredDate <= JsonDateParser.toJsonDateNoOffset(new Date())\r\n ) {\r\n return null;\r\n }\r\n\r\n const { notificationsCount } = this.state;\r\n const _NotificationElement =\r\n notificationsCount < 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n {notificationsCount}\r\n \r\n );\r\n const { sectionBarTop, sectionBarHeight, sectionBarOpacity } = this.getSectionBarParameters();\r\n let clientInitials = \"Profile\";\r\n if (this.state.userInfo?.ClientName && this.state.userInfo?.ClientName.includes(\" \")) {\r\n const clientNames = this.state.userInfo?.ClientName?.trim().split(\" \");\r\n clientInitials = clientNames[0]?.substr(0, 1) + clientNames[clientNames.length - 1]?.substr(0, 1);\r\n clientInitials = clientInitials?.toUpperCase();\r\n if (clientInitials.trim() == \"\") {clientInitials = \"DU\";}\r\n }\r\n const index = this.getTabIndex();\r\n\r\n const isAppStoreEnabled = this.state.userInfo?.IsAppStoreEnabledForUser;\r\n\r\n const isAdmin = ContextStore.getContext()?.isAdminUser;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { SearchInput } from \"../../Shared/SearchInput/SearchInput\";\r\nimport { Navigator } from \"../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../Urls\";\r\nimport { groupBy } from \"lodash\";\r\nimport { SearchActorNameClient } from \"../../../Wrap/Api/Customer/SearchActorName\";\r\nimport { SearchActorNameModel } from \"../../../Wrap/Models/Domains/Account/SearchActorNameModel\";\r\nimport { SearchActorNameType } from \"../../../Wrap/Constants/Enums/SearchActorNameType\";\r\nimport { accountTypeMap, ClientRecordTab, roleTypeMap } from \"./Clients/ClientRecord/Resource/Contents\";\r\nimport { HierarchyLevelName } from \"../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\nimport { AccountType } from \"../../../Wrap/Constants/Enums/Domain/AccountType\";\r\nimport { HierarchyIdHelper } from \"../../Shared/Common/HierarchyIdHelper\";\r\nimport { StringHelper } from \"../../../react-core/Helpers/StringHelper\";\r\nimport CoachMarker from \"../../Shared/CoachMarkers/CoachMarker\";\r\nimport { checkPermission } from \"../../Shared/Permission/PermissionHelper\";\r\nimport { UserClaim } from \"../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ClientRecordAction } from \"./Clients/ClientRecord/Action/ClientRecordAction\";\r\nimport { ClientRecordStore } from \"./Clients/ClientRecord/Store/Variable\";\r\nimport { FormComponent } from \"../../../react-core/Html/FormComponent\";\r\nimport { PersonalDetail } from \"../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { CustomerTaxResidencyModel } from \"../../../Wrap/Models/Models/Customer/Regulatory/CustomerTaxResidencyModel\";\r\nimport { AccountRoleByActorDetails } from \"../../../Wrap/Models/Domains/Account/AccountRoleByActorDetails\";\r\nimport { CustomerEmailAddress } from \"../../../Wrap/Models/Models/Customer/CustomerEmailAddress\";\r\nimport { JsonDateParser } from \"../../../react-core/Utils/JsonDateParser\";\r\nimport { EmailAddressType } from \"../../../Wrap/Constants/Enums/EmailAddressType\";\r\nimport { TaxReferenceType } from \"../../../Wrap/Constants/Enums/Customer/TaxReferenceType\";\r\nimport { ActorOwner } from \"../../../Wrap/Models/Domains/Customers/ActorOwner\";\r\nimport AriaTooltip from \"../../Shared/Tooltip/AriaTooltip\";\r\n\r\ninterface ISecuredSearchProps extends React.Props { }\r\n\r\ninterface ISecuredSearchState {\r\n input: string;\r\n personalDetail: PersonalDetail;\r\n accountRoleDetails: Array;\r\n emailDetails: CustomerEmailAddress[];\r\n taxResidency: Array;\r\n searchActorNameType: SearchActorNameType;\r\n accountHierarchyId: string;\r\n actorOwner: ActorOwner;\r\n actorName: string;\r\n}\r\n\r\nexport class SecuredSearch extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n input: null,\r\n personalDetail: null,\r\n accountRoleDetails: null,\r\n emailDetails: null,\r\n taxResidency: null,\r\n searchActorNameType: null,\r\n accountHierarchyId: null,\r\n actorOwner: null,\r\n actorName: null\r\n };\r\n\r\n this.subscribeToStore(ClientRecordStore, () => this.onClientRecordChange());\r\n }\r\n\r\n private onClientRecordChange() {\r\n const data = ClientRecordStore.getData();\r\n\r\n if (data[ClientRecordTab.PersonalDetail]) {\r\n this.setState({ personalDetail: data[ClientRecordTab.PersonalDetail] });\r\n }\r\n\r\n if (data.EmailDetail) {\r\n this.setState({ emailDetails: data.EmailDetail });\r\n }\r\n }\r\n\r\n private search(v: string) {\r\n this.setState({\r\n personalDetail: null,\r\n accountRoleDetails: null,\r\n emailDetails: null,\r\n taxResidency: null,\r\n searchActorNameType: null,\r\n accountHierarchyId: null,\r\n actorOwner: null,\r\n actorName: null\r\n })\r\n const client = new SearchActorNameClient();\r\n return client.get(v.toUpperCase());\r\n }\r\n\r\n private getActorDetails(actorId: number) {\r\n const {\r\n searchActorNameType\r\n } = this.state;\r\n if (actorId == 0) {\r\n return\r\n }\r\n\r\n ClientRecordAction.getAccountRoleDetail(\r\n actorId.toString(),\r\n (results: Array) => {\r\n this.setState({ accountRoleDetails: results });\r\n }\r\n );\r\n if (searchActorNameType == SearchActorNameType.Customer) {\r\n ClientRecordAction.getPersonalDetail(actorId.toString());\r\n ClientRecordAction.getEmailDetail(actorId.toString());\r\n ClientRecordAction.getCutomerTaxResidency(Number(actorId), (val) => {\r\n this.setState({\r\n taxResidency: val\r\n });\r\n });\r\n }\r\n\r\n ClientRecordAction.getActorOwner(\r\n actorId,\r\n (results: ActorOwner) => {\r\n this.setState({ actorOwner: results });\r\n }\r\n );\r\n }\r\n\r\n private renderResultTable(data: SearchActorNameModel[], inputString: string) {\r\n // Group data by different dimension - customer, account, orgnasation\r\n const customers = data?.filter((ele) => ele.SearchActorNameType == SearchActorNameType.Customer) || [];\r\n const accounts = data?.filter((ele) => ele.SearchActorNameType == SearchActorNameType.Account) || [];\r\n const organisations = data?.filter((ele) => ele.SearchActorNameType == SearchActorNameType.Organisation) || [];\r\n\r\n const {\r\n searchActorNameType\r\n } = this.state;\r\n\r\n if (!searchActorNameType) {\r\n if (customers.length > 0) {\r\n const firstCustomer = customers[0];\r\n this.setState({ searchActorNameType: SearchActorNameType.Customer, actorName: firstCustomer.CustomerName }, () => {\r\n this.getActorDetails(firstCustomer.CustomerId)\r\n })\r\n } else if (accounts.length > 0) {\r\n const firstAccount = accounts[0];\r\n if (firstAccount.AccountType !== AccountType.Consolidated) {\r\n this.setState({ searchActorNameType: SearchActorNameType.Account, accountHierarchyId: null, actorName: firstAccount.CustomerName }, () => {\r\n this.getActorDetails(firstAccount.CustomerId)\r\n })\r\n } else {\r\n this.setState({ searchActorNameType: SearchActorNameType.Account, accountHierarchyId: firstAccount.AccountHierarchyId })\r\n }\r\n } else if (organisations.length > 0) {\r\n const firstOrganisation = organisations[0];\r\n this.setState({ searchActorNameType: SearchActorNameType.Organisation, actorName: firstOrganisation.OrganisationName }, () => {\r\n this.getActorDetails(firstOrganisation.CustomerId)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {customers.length + accounts.length + organisations.length} results\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Client\r\n
    \r\n
      \r\n {customers.length > 0 ? (\r\n\r\n customers\r\n .slice(0, 10)\r\n .map((data: SearchActorNameModel, index: number) =>\r\n this.renderCustomerList(data, index, inputString)\r\n )\r\n ) : (\r\n
    • \r\n
      \r\n 0 results returned.\r\n
      \r\n
    • \r\n )}\r\n
    \r\n {customers.length > 10 && (\r\n \r\n
    \r\n \r\n Your search returned more than 10 records. Try a more precise search in order to refine\r\n results.\r\n \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n Account\r\n
    \r\n\r\n
      \r\n {accounts.length > 0 ? (\r\n accounts\r\n .slice(0, 10)\r\n .map((data: SearchActorNameModel, index: number) =>\r\n this.renderAccountList(data, index, inputString)\r\n )\r\n ) : (\r\n
      \r\n
      \r\n 0 results returned.\r\n
      \r\n
      \r\n )}\r\n
    \r\n {accounts.length > 10 && (\r\n \r\n
    \r\n \r\n Your search returned more than 10 records. Try a more precise search in order to refine\r\n results\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n Organisation\r\n
    \r\n
      \r\n {organisations.length > 0 ? (\r\n organisations\r\n .slice(0, 10)\r\n .map((data: SearchActorNameModel, index: number) =>\r\n this.renderOrganisationList(data, index, inputString)\r\n )\r\n ) : (\r\n \r\n
      \r\n 0 results returned.\r\n
      \r\n
    \r\n )}\r\n \r\n {organisations.length > 10 && (\r\n \r\n
    \r\n \r\n Your search returned more than 10 records. Try a more precise search in order to refine\r\n results\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n {this.renderActorDetails()}\r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private renderRoles(rData: Array) {\r\n if (!rData || rData?.length == 0) {\r\n return \"None\"\r\n }\r\n\r\n const result = [];\r\n\r\n const groupbyData = groupBy(rData, \"ClAccountId\")\r\n Object.keys(groupbyData).forEach((ele) => {\r\n result.push(\r\n
    \r\n {ele}

    ({groupbyData[ele].map(role => roleTypeMap[role.AccountRoleType]).join(', ')})\r\n
    \r\n );\r\n });\r\n\r\n return result;\r\n };\r\n\r\n private renderActorDetails() {\r\n const {\r\n personalDetail,\r\n accountRoleDetails,\r\n emailDetails,\r\n taxResidency,\r\n searchActorNameType,\r\n accountHierarchyId,\r\n actorName,\r\n actorOwner\r\n } = this.state;\r\n if (!searchActorNameType) {\r\n return;\r\n } else if (searchActorNameType == SearchActorNameType.Account && accountHierarchyId) {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    No client information available.
    \r\n
    \r\n
    \r\n {\r\n checkPermission(UserClaim.AdviserPortalClientSummaryCanView)\r\n ? window.location.assign(\r\n `/wpadviser/en-gb/dashboard/home/main/customer/${accountHierarchyId}/summary`\r\n )\r\n : null;\r\n }}\r\n >\r\n View client\r\n \r\n
    \r\n
    \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    {actorName}

    \r\n
    Adviser: {actorOwner?.AdviserName}
    \r\n
    \r\n
    \r\n
    \r\n
    Account number
    {this.renderRoles(accountRoleDetails)}
    \r\n
    \r\n\r\n {searchActorNameType == SearchActorNameType.Customer && (\r\n <>\r\n
    \r\n\r\n
    Date of birth
    \r\n
    {personalDetail && personalDetail?.DateOfBirth && JsonDateParser.getFormatDate(personalDetail?.DateOfBirth, \"dd/MM/yyyy\")}\r\n (age {personalDetail && personalDetail?.DateOfBirth && JsonDateParser.calculateAge(personalDetail?.DateOfBirth).toString()})\r\n
    \r\n\r\n
    Email
    \r\n
    {emailDetails?.find(ele => ele.EmailAddressType == EmailAddressType.Primary)?.EmailAddress}
    \r\n\r\n
    NINO / Identifier
    \r\n
    {taxResidency?.find(ele => ele.TaxReferenceType == TaxReferenceType.GbrNino)?.TaxReference}
    \r\n\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n checkPermission(UserClaim.AdviserPortalClientSummaryCanView)\r\n ? window.location.assign(\r\n `/wpadviser/en-gb/dashboard/home/main/customer/${HierarchyIdHelper.toHierarchyIdString(\r\n HierarchyLevelName.Customer,\r\n actorOwner?.ActorId\r\n )}/summary`\r\n )\r\n : null;\r\n }}\r\n >\r\n View client\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n\r\n private renderCustomerList(data: SearchActorNameModel, index: number, inputString: string): JSX.Element {\r\n const {\r\n searchActorNameType,\r\n actorOwner\r\n } = this.state;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n this.getActorDetails(data?.CustomerId)\r\n this.setState({ searchActorNameType: SearchActorNameType.Customer, actorName: data?.CustomerName })\r\n }}\r\n >\r\n
    \r\n {StringHelper.getHighlightedText(`${data?.CustomerName}`, inputString.split(\" \"))}\r\n
    \r\n
    \r\n ID:\r\n {data?.CustomerId}\r\n
    \r\n
    \r\n
    Type: Client
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n\r\n private renderAccountList(data: SearchActorNameModel, index: number, inputString: string): JSX.Element {\r\n const {\r\n searchActorNameType,\r\n accountHierarchyId,\r\n actorOwner\r\n } = this.state;\r\n return (\r\n \r\n
    \r\n {\r\n if (data?.AccountType !== AccountType.Consolidated) {\r\n this.getActorDetails(data?.CustomerId)\r\n this.setState({ searchActorNameType: SearchActorNameType.Account, accountHierarchyId: null, actorName: data?.CustomerName })\r\n } else {\r\n this.setState({ searchActorNameType: SearchActorNameType.Account, accountHierarchyId: data?.AccountHierarchyId })\r\n }\r\n }}\r\n >\r\n {data?.AccountType == AccountType.Consolidated\r\n ? (\r\n <>\r\n
    \r\n {StringHelper.getHighlightedText(`${data?.ClAccountId}, ${accountTypeMap[data?.AccountType]}`, inputString.split(\" \"))}\r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n {StringHelper.getHighlightedText(`${data?.CustomerName}, ${data?.ClAccountId}, ${accountTypeMap[data?.AccountType]}`, inputString.split(\" \"))}\r\n
    \r\n
    \r\n Client ID:\r\n {data?.CustomerId}\r\n
    \r\n \r\n )}\r\n
    \r\n
    Type: Account
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n private renderOrganisationList(data: SearchActorNameModel, index: number, inputString: string): JSX.Element {\r\n const {\r\n searchActorNameType,\r\n actorOwner\r\n } = this.state;\r\n return (\r\n \r\n
    \r\n {\r\n this.getActorDetails(data?.CustomerId)\r\n this.setState({ searchActorNameType: SearchActorNameType.Organisation, actorName: data?.OrganisationName })\r\n }}\r\n className=\"lv-single-action\"\r\n >\r\n
    \r\n {StringHelper.getHighlightedText(`${data?.OrganisationName}`, inputString.split(\" \"))}\r\n
    \r\n
    \r\n ID:\r\n {data?.CustomerId}\r\n
    \r\n
    \r\n
    Type: Organisation
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
    \r\n \r\n
    \r\n {\r\n return this.search(v);\r\n }}\r\n minLength={3}\r\n customeChildren={(data, inputString) => this.renderResultTable(data, inputString)}\r\n placeholder={\"Search by name or account number\"}\r\n label=\"Search bar\"\r\n triggerOnlyByEnterKey={true}\r\n />\r\n \r\n \r\n

    Quick search allows you to search by name or account number.

    \r\n

    From the search results you can click through to view key client data helping you easily identify the client prior to accessing the account.

    \r\n

    Key data includes adviser name, account numbers, client role, date of birth/age, email address and NINO/identifier.

    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { FormComponent } from \"../../../react-core/Html/FormComponent\";\r\nimport { RadiosEditor } from \"../../../react-core/Html/RadiosEditor\";\r\nimport { CustomerStatus } from \"../../../Wrap/Constants/Enums/Domain/CustomerStatus\";\r\nimport { UserClaim } from \"../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { CustomerNewProductLink } from \"../../../Wrap/Models/Models/Customer/CustomerNewProductLink\";\r\nimport { PersonalDetail } from \"../../../Wrap/Models/Models/Customer/PersonalDetail\";\r\nimport { Alert } from \"../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../Shared/Entities/Constants/AlertConstants\";\r\nimport { Permission } from \"../../Shared/Permission/Permission\";\r\nimport { ClientRecordTab } from \"./Clients/ClientRecord/Resource/Contents\";\r\nimport { ClientRecordStore } from \"./Clients/ClientRecord/Store/Variable\";\r\n\r\ninterface ISelectAccountLightboxProps {\r\n errorMsg: string;\r\n links: CustomerNewProductLink[];\r\n customerId: number;\r\n displayNewBusiness: boolean;\r\n}\r\n\r\ninterface ISelectAccountLightboxState {\r\n selectedAccount: CustomerNewProductLink;\r\n clientdetail: PersonalDetail;\r\n}\r\n\r\nexport class SelectAccountLightbox extends FormComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n selectedAccount: null,\r\n clientdetail: ClientRecordStore.getData()?.[ClientRecordTab.PersonalDetail],\r\n };\r\n this.subscribeToStore(ClientRecordStore, () => {\r\n this.setState({ clientdetail: ClientRecordStore.getData()?.[ClientRecordTab.PersonalDetail] });\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {this.props.errorMsg || this.state.clientdetail?.CustomerStatus == CustomerStatus.Deceased ? (\r\n \r\n ) : (\r\n <>\r\n
    \r\n {\r\n this.setState({\r\n selectedAccount: v,\r\n });\r\n }}\r\n getText={(o) => `${o.Account?.AccountName} - ${o.Account?.HeadClAccountId}`}\r\n />\r\n
    \r\n {this.state.selectedAccount && !this.state.selectedAccount?.IsActive && (\r\n \r\n )}\r\n window.location.assign(this.state.selectedAccount.Link)}\r\n disabled={!this.state.selectedAccount || !this.state.selectedAccount.IsActive}\r\n >\r\n Next\r\n \r\n
    \r\n {this.props.displayNewBusiness && (\r\n \r\n <>\r\n
    \r\n OR\r\n
    \r\n \r\n window.location.assign(\r\n \"/wpadviser/en-gb/dashboard/home/main/client/new-business/full-client-detail?customerid=\" +\r\n this.props.customerId\r\n )\r\n }\r\n >\r\n Create new account\r\n \r\n \r\n
    \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { Promise } from \"../../../../../react-core/Async/Promise\";\r\nimport { GetUserUIThemeClient } from \"../../../../../Wrap/Api/User/GetUserUITheme\";\r\nimport { PhotoInformation } from \"../Resources/PhotoInformation\";\r\nimport * as $ from \"jquery\";\r\nimport { CompanyLogo } from \"../../../../../Wrap/Models/Domains/Company/CompanyLogo\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\n\r\nexport class UIThemeAction {\r\n public static getUITheme(callback) {\r\n const client = new GetUserUIThemeClient();\r\n const promise = client.get();\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n\r\n public static setUITheme(isLightMode: boolean, callback) {\r\n const client = new GetUserUIThemeClient();\r\n const promise = client.put(isLightMode);\r\n promise.onSuccess((data) => {\r\n callback(data);\r\n });\r\n }\r\n\r\n public static getLogoUrl(logo: CompanyLogo, isDark?: boolean) {\r\n const isDarkMode =\r\n isDark || document.getElementById(\"stylesheetLink\").getAttribute(\"href\").includes(\"dark-blue\");\r\n const styleObj = !CommonHelper.isNullOrEmpty(logo?.UploadUrl)\r\n ? { backgroundImage: `url(${isDarkMode ? logo.UploadDarkModeUrl : logo.UploadUrl})` }\r\n : !CommonHelper.isNullOrEmpty(logo?.LocalUrl)\r\n ? isDarkMode\r\n ? {}\r\n : {\r\n backgroundImage: `url(${logo.LocalUrl})`,\r\n }\r\n : {};\r\n return styleObj;\r\n }\r\n\r\n public static getThumbnails(\r\n clientId: string,\r\n collectionId: string,\r\n currentPage: number,\r\n callback: (response: PhotoInformation[]) => void\r\n ): Promise {\r\n const ajaxParameters = {\r\n type: \"GET\",\r\n url: `https://api.unsplash.com/collections/${collectionId}/photos?&orientation=landscape&page=${currentPage}&per_page=29`,\r\n data: {},\r\n accepts: { key: \"application/json\" },\r\n dataType: \"json\",\r\n headers: { Authorization: `Client-ID ${clientId}` },\r\n };\r\n\r\n return new Promise(() => {\r\n $.ajax(ajaxParameters).then((data: any) => {\r\n if (data.Errors && data.Errors.length && data.Errors.length > 0) {\r\n callback(null);\r\n } else {\r\n callback(data);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { ActionType } from \"../../../../../../react-core/Flux/ActionType\";\r\nimport { CustomizeLogoClient } from \"../../../../../../Wrap/Api/Settings/CustomizeLogo\";\r\nimport { CompanyLogo } from \"../../../../../../Wrap/Models/Domains/Company/CompanyLogo\";\r\nimport { FirmLogoDispatcher } from \"../../../../Stroes/Variable\";\r\nimport { UserStore } from \"../../../../../Dashboard/Stroes/Variable\";\r\n\r\nexport class AddLogoAction {\r\n public static uploadLogo(imageUrl: { primary: string; secondary: string }, callBack: () => void) {\r\n const client = new CustomizeLogoClient();\r\n const promise = client.post(imageUrl?.primary, imageUrl?.secondary);\r\n promise.onSuccess(() => {\r\n if (callBack) {\r\n callBack();\r\n }\r\n });\r\n }\r\n\r\n public static getLogo(isAdmin: boolean, callBack?: (logo: CompanyLogo) => void) {\r\n const client = new CustomizeLogoClient();\r\n\r\n const promise = client.get(isAdmin);\r\n promise.onSuccess((res) => {\r\n FirmLogoDispatcher.dispatch({\r\n actionType: ActionType.Success,\r\n payload: res,\r\n });\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../../../../../Shared/Process/Process/ProcessComponent\";\r\nimport { UploadForm } from \"../../../../../Site/Questions/PartComponents/UploadForm\";\r\nimport { AddLogoText, ImageStatus } from \"../Resource/Content\";\r\n\r\ninterface IAddLogoProps extends IProcessComponentProps {\r\n imageBlobData?: { primary: string; secondary: string };\r\n validationErrors?: string[];\r\n onChange: (url: { primary: string; secondary: string }) => void;\r\n}\r\n\r\ninterface IAddLogoState {}\r\n\r\nexport class AddLogo extends ProcessComponent {\r\n constructor(props: IAddLogoProps) {\r\n super(props);\r\n this.state = {\r\n imageBlobData: null,\r\n validationErrors: null,\r\n };\r\n }\r\n\r\n isValid() {\r\n if (!this.props.imageBlobData?.primary) {\r\n this.props.showErrorMsgPopUp([\"Please upload a primary logo!\"]);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private renderUploadForm(isPrimary: boolean): JSX.Element {\r\n const { imageBlobData } = this.props;\r\n const _imageBlobData = isPrimary ? imageBlobData?.primary : imageBlobData?.secondary;\r\n const imgStatus = _imageBlobData ? ImageStatus.ImageChosen : ImageStatus.None;\r\n\r\n return (\r\n {\r\n this.props.onChange({\r\n primary: isPrimary ? val : imageBlobData?.primary,\r\n secondary: isPrimary ? imageBlobData?.secondary : val,\r\n });\r\n }}\r\n onSelectAnotherChage={() => {\r\n this.props.onChange({\r\n primary: isPrimary ? null : imageBlobData?.secondary,\r\n secondary: isPrimary ? imageBlobData?.secondary : null,\r\n });\r\n }}\r\n >\r\n );\r\n }\r\n\r\n private renderMessage() {\r\n return (\r\n <>\r\n

    {AddLogoText.LogRecommendations}

    \r\n

    {AddLogoText.Rules}

    \r\n
      \r\n
    • {AddLogoText.Li1}
    • \r\n
    • {AddLogoText.Li2}
    • \r\n
    • {AddLogoText.Li3}
    • \r\n
    • {AddLogoText.Li4}
    • \r\n
    \r\n

    {AddLogoText.DoNotWorryMsg}

    \r\n \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n

    Add firm logo to the adviser portal

    \r\n

    \r\n Primary logo - This logo will be displayed by default on your platform and any generated\r\n documentation. This should be your firms regular logo.\r\n

    \r\n

    \r\n Secondary logo (optional) - This logo will be used for our dark mode feature which is\r\n available in platform settings. This should be a version of your firms regular logo which will\r\n appear best against a dark background.\r\n

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

    \r\n Primary logo\r\n

    \r\n {this.renderUploadForm(true)}\r\n
    \r\n
    \r\n

    \r\n Secondary logo (optional)\r\n

    \r\n {this.renderUploadForm(false)}\r\n
    \r\n
    \r\n {this.renderMessage()}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { UserClaim } from \"../../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { checkPermission } from \"../../../../../Shared/Permission/PermissionHelper\";\r\nimport { Confirmation } from \"../../../../../Shared/Process/Process/Confirmation\";\r\nimport { IStepConfig, StepType } from \"../../../../../Shared/Process/Process/Process\";\r\nimport {\r\n IWizardComponentStateGeneric,\r\n WizardComponentGeneric,\r\n} from \"../../../../../Shared/Process/WizardComponentGeneric\";\r\nimport { Navigator } from \"../../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Contents } from \"../../../../Resoures/Contents\";\r\nimport { Urls } from \"../../../../Urls\";\r\nimport { AddLogoAction } from \"../Action/AddLogoAction\";\r\nimport { steppers } from \"../Resource/Content\";\r\nimport { AddLogo } from \"./AddLogo\";\r\nimport { UserStore } from \"../../../../../Dashboard/Stroes/Variable\";\r\n\r\ninterface IAddLogoWizardState extends IWizardComponentStateGeneric {\r\n imageBlobData?: { primary: string; secondary: string };\r\n validationErrors?: string[];\r\n errorMessage: any[];\r\n}\r\n\r\nexport class AddLogoWizard extends WizardComponentGeneric {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n initState() {\r\n this.state = { data: {}, isLoading: false, active: true, errorMessage: [] } as IAddLogoWizardState;\r\n }\r\n\r\n onSubmit() {}\r\n\r\n saveInstruction(from: any, to: any, toUrl: any, params: any, stepLength: any) {\r\n const isAdmin = UserStore.getUserInfo()?.IsAdmin != null ? UserStore.getUserInfo().IsAdmin : true;\r\n if (to == -1) {\r\n this.onExit();\r\n } else {\r\n AddLogoAction.uploadLogo(this.state.imageBlobData, () => {\r\n setTimeout(() => {\r\n AddLogoAction.getLogo(isAdmin);\r\n Navigator.navigateTo(Urls.get().AddLogoConfirmation);\r\n }, 3000);\r\n });\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.onExit();\r\n }\r\n\r\n onExit() {\r\n Navigator.navigateTo(Urls.get().main.Settings);\r\n }\r\n\r\n setStepperConfig() {\r\n const stepConfig: IStepConfig[] = [];\r\n stepConfig.push({\r\n title: steppers.addLogo,\r\n url: Urls.get().AddLogo,\r\n path: Contents.URLMap.uploadLogo,\r\n onStepLeave: (from, to) => this.onStepperLeave(from, to),\r\n component: (\r\n this.onImageUrlChange(url)}\r\n data={null}\r\n />\r\n ),\r\n });\r\n stepConfig.push({\r\n title: steppers.confirmation,\r\n url: Urls.get().AddLogoConfirmation,\r\n path: Contents.URLMap.confirmation,\r\n onStepLeave: (from, to) => this.onExit(),\r\n type: StepType.Confirmation,\r\n component: (\r\n this.onExit()}\r\n successMessage={\"Logo successfully uploaded\"}\r\n isLoading={false}\r\n buttonLabel={\"Back to settings\"}\r\n />\r\n ),\r\n });\r\n\r\n this.stepperConfig = stepConfig;\r\n }\r\n\r\n setProcessProps() {\r\n const processProps = super.setProcessProps();\r\n processProps.onSave = null;\r\n processProps.processTitle = \"Add logo\";\r\n processProps.active = true;\r\n return processProps;\r\n }\r\n\r\n private onImageUrlChange(imageUrl: { primary: string; secondary: string }) {\r\n this.setState({ imageBlobData: imageUrl, errorMessage: [], isShowErrorMsg: false });\r\n }\r\n\r\n render() {\r\n if (!checkPermission(UserClaim.AdviserPortalAddFirmLogoCanView)) {return null;}\r\n return super.render();\r\n }\r\n}\r\n","export const steppers = {\r\n addLogo: \"Add logo\",\r\n confirmation: \"Confirmation\"\r\n}\r\n\r\nexport enum ImageStatus {\r\n None,\r\n IsNotAnImage,\r\n ImageChosen,\r\n}\r\n\r\nexport const AddLogoText = {\r\n LogRecommendations : \"Logo recommendations\",\r\n Rules : \"We recommend the logo is within the following:\",\r\n Li1 : \"95px height by 250px width\",\r\n Li2 : \"Transparent background\",\r\n Li3 : \"In .png .jpg or .svg formats\",\r\n Li4 : \"72 dpi density to look sharp on mobile\",\r\n DoNotWorryMsg :\r\n \"Don't worry if you're not sure of the dimensions as we'll show you what it looks like before you finish.\",\r\n RequiredImg : \"Please upload image\",\r\n}","import * as React from \"react\";\r\nimport { RadiosEditor } from \"../../../../react-core/Html/RadiosEditor\";\r\nimport { UserClaim } from \"../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { Permission } from \"../../../Shared/Permission/Permission\";\r\nimport { Navigator } from \"../../../Shared/Wizards/Entities/Navigator\";\r\nimport { UnsplashBackgroundSelect } from \"./UnsplashBackgroundSelect\";\r\nimport { Urls } from \"../../Urls\";\r\nimport { UIThemeAction } from \"./Action/UIThemeAction\";\r\nimport { FirmLogoDispatcher, FirmLogoStore, UserStore } from \"../../Stroes/Variable\";\r\nimport { Action } from \"../../Actions/Action\";\r\nimport { GetUserUIThemeConfiguration } from \"../../../../Wrap/Models/Models/Session/GetUserUIThemeConfiguration\";\r\nimport { User } from \"../../../../Wrap/Models/Models/User/User\";\r\nimport { BaseComponent } from \"../../../../react-core/Html/BaseComponent\";\r\nimport { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { PortfolioDashboardAction } from \"../Clients/PortfolioDashboard/Action/PortfolioDashboardAction\";\r\n\r\ninterface ISettingsProps {}\r\n\r\ninterface ISettingsState {\r\n currentTheme: string;\r\n unsplashDetails: GetUserUIThemeConfiguration;\r\n userInfo: User;\r\n}\r\n\r\nexport class Settings extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n currentTheme: \"light\",\r\n unsplashDetails: null,\r\n userInfo: UserStore.getUserInfo(),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n UIThemeAction.getUITheme((response: GetUserUIThemeConfiguration) => {\r\n this.setState({ unsplashDetails: response, currentTheme: response.Style });\r\n });\r\n }\r\n\r\n setupTheme = (isLightMode: boolean) => {\r\n UIThemeAction.setUITheme(isLightMode, (_style) => {\r\n const href = `/Configs/SLREBRANDPOC/leapfrog-css/${_style}.css`;\r\n document.getElementById(\"stylesheetLink\").setAttribute(\"href\", href);\r\n this.setState({ currentTheme: _style });\r\n FirmLogoDispatcher.dispatch({\r\n payload: FirmLogoStore.getFirmLogoInfo(),\r\n actionType: ActionType.Success,\r\n });\r\n });\r\n };\r\n\r\n clearAccountSettingsAndLogout = () => {\r\n PortfolioDashboardAction.deleteSettings((callBack) => {\r\n window.location.assign(`/home.aspx?logout=1`);\r\n });\r\n };\r\n\r\n render() {\r\n const { currentTheme, unsplashDetails, userInfo } = this.state;\r\n return (\r\n <>\r\n
    \r\n

    Settings

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

    UI theme

    \r\n {\r\n return o ? \"Light mode\" : \"Dark mode\";\r\n }}\r\n onChange={(v) => {\r\n this.setupTheme(v);\r\n }}\r\n />\r\n {/* \r\n {unsplashDetails && }\r\n */}\r\n
    \r\n
    \r\n
    \r\n

    {userInfo?.ClientName}

    \r\n
    \r\n \r\n Navigator.navigateTo(Urls.get().AddLogo)}\r\n >\r\n Add firm logo\r\n \r\n \r\n \r\n {\r\n localStorage.clear();\r\n window.location.assign(\r\n `/admin/logindetails/logindetails-changepassword.aspx`\r\n );\r\n }}\r\n >\r\n Change password\r\n \r\n \r\n this.clearAccountSettingsAndLogout()}\r\n >\r\n Log out\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import { LiteratureLibraryClient } from \"../../../../../Wrap/Api/Documents/LiteratureLibrary\";\r\nimport { Category } from \"../../../../../Wrap/Constants/Enums/Documents/Category\";\r\n\r\nexport class LiteratureAction {\r\n public static searchDoc(search: string, docType: Category, isFavourite: boolean, callback) {\r\n const client = new LiteratureLibraryClient();\r\n const promise = client.get(search, docType, isFavourite ? isFavourite : null);\r\n promise.onSuccess((v) => {\r\n callback(v);\r\n });\r\n }\r\n\r\n public static setFavourite(docCode: number, isFavourite: boolean) {\r\n const client = new LiteratureLibraryClient();\r\n const promise = client.put(docCode, isFavourite);\r\n promise.onSuccess((v) => {});\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { DividendReinvestment } from \"../../../../../Wrap/Constants/Enums/Domain/DividendReinvestment\";\r\nimport { InvestmentType } from \"../../../../../Wrap/Constants/Enums/InvestmentType\";\r\nimport { ManagedFundsRebateType } from \"../../../../../Wrap/Constants/Enums/ManagedFundsRebateType\";\r\nimport { Investment } from \"../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { InvestmentSelectionAction } from \"../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { FavouritesToggle } from \"../../../../Shared/IST/Components/Shared/FavouritesToggle\";\r\nimport { FundType } from \"../../../../Shared/IST/Resource/Content\";\r\nimport { Tab } from \"../../../../Shared/Tab/Tab\";\r\nimport { Table } from \"../../../../Shared/Table/Table\";\r\nimport { InvestmentDetailsPopupModal } from \"../../Clients/Common/InvestmentDetailsPopUp/InvestmentDetailsPopupModal\";\r\nimport { FundDataType, ManagedFundsRebateTypeMap } from \"../Resource/Content\";\r\nimport { ResearchISTStore } from \"../Store/Variable\";\r\nimport { uniqBy } from \"lodash\";\r\nimport { DepositProductType } from \"../../../../../Wrap/Constants/Enums/Domain/DepositProductType\";\r\nimport { MoneyDisplayHelper } from \"../../../../../react-core/Helpers/MoneyDisplayHelper\";\r\nimport { CurrencyCode } from \"../../../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { DepositProduct } from \"../../../../../Wrap/Models/Domains/Investment/DepositProduct\";\r\nimport { DepositDetailsPopupModal } from \"../../Clients/Common/DepositDetailsPopUp/DepositDetailsPopupModal\";\r\nimport AriaTooltip from \"../../../../Shared/Tooltip/AriaTooltip\";\r\n\r\ninterface ICashDepositResearchResultTableProps {\r\n tab: InvestmentType;\r\n}\r\n\r\ninterface ICashDepositResearchResultTableState {\r\n data: any;\r\n fundCode: any;\r\n exchangeTradeCode: any;\r\n curPage: number;\r\n selectedInvestment: DepositProduct;\r\n isShowDetailModal: boolean;\r\n currentFundDataType: FundDataType;\r\n}\r\n\r\nexport class CashDepositResearchResultTable extends BaseComponent {\r\n constructor(props: ICashDepositResearchResultTableProps) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n fundCode: { key: \"ProductCode\", value: \"Fund code\" },\r\n exchangeTradeCode: { key: \"ProductCode\", value: \"Code\" },\r\n curPage: 1,\r\n isShowDetailModal: false,\r\n selectedInvestment: null,\r\n currentFundDataType: FundDataType.Overview,\r\n };\r\n this.subscribeToStore(ResearchISTStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n if (ResearchISTStore.getActionType() == ActionType.Success) {\r\n this.setState({ data: ResearchISTStore.getData() });\r\n if (ResearchISTStore.getIsBasicSearch()) {\r\n this.setState({ curPage: 1 });\r\n }\r\n }\r\n if (ResearchISTStore.getActionType() == ActionType.Update) {\r\n this.setState({ curPage: 1 });\r\n }\r\n }\r\n\r\n private codeFundOptions = [\r\n { key: \"ProductCode\", value: \"Fund code\" },\r\n { key: \"Isin\", value: \"ISIN\" },\r\n { key: \"Sedol\", value: \"SEDOL\" },\r\n { key: \"MexId\", value: \"Mex ID\" },\r\n ];\r\n\r\n\r\n private renderInvestmentDetailPopupModal = (): JSX.Element => {\r\n if (!this.state.isShowDetailModal) {return null;}\r\n return (\r\n <>\r\n {\r\n this.setState({ isShowDetailModal: false });\r\n }}\r\n instrumentCode={this.state.selectedInvestment?.ProductCode}\r\n productId={this.state.selectedInvestment?.ProductId}\r\n issuer={this.state.selectedInvestment?.Issuer}\r\n depositType={this.state.selectedInvestment?.DepositProductType}\r\n term={this.state.selectedInvestment?.Term}\r\n grossRate={this.state.selectedInvestment?.GrossInterestRate}\r\n aerRate={this.state.selectedInvestment?.AnnualEquivalentInterestRate}\r\n minimumInvestment={this.state.selectedInvestment?.MinimumInvestment}\r\n maximumInvestment={this.state.selectedInvestment?.MaximumInvestment}\r\n instrumentName={this.state.selectedInvestment?.Name}\r\n />\r\n \r\n );\r\n };\r\n\r\n private onInvestmentSelected = (depositProduct) => {\r\n this.setState({ selectedInvestment: depositProduct, isShowDetailModal: true });\r\n };\r\n\r\n private getInterestRateHeader(): JSX.Element\r\n {\r\n return (\r\n <>\r\n
    \r\n AER | Gross\r\n \r\n {\r\n AER stands for Annual Equivalent Rate. The AER illustrates what the interest rate would be if interest was paid and compounded once each year. It helps you compare interest rates across different products. Note: As part of our range of deposit takers, we have Sharia products which offer an expected profit rate, rather than interest on their savings products, in order to comply with Sharia banking principles.\r\n }\r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n private getTable = () => {\r\n const { fundCode, currentFundDataType } = this.state;\r\n\r\n const result = [];\r\n\r\n result.push(\r\n {\r\n title: \"Provider\",\r\n key: \"Name\",\r\n\r\n render: (rowData, row, index) => {\r\n return (\r\n this.onInvestmentSelected(row)}>\r\n {rowData}\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Type\",\r\n key: \"DepositProductType\",\r\n render: (rowData, row, index) => {\r\n switch(rowData) {\r\n case DepositProductType.EasyAccess:\r\n return <>Easy access\r\n case DepositProductType.Notice:\r\n return <>Notice account;\r\n case DepositProductType.Term:\r\n return <>Fixed term\r\n }\r\n }\r\n },\r\n {\r\n title: this.getInterestRateHeader(),\r\n key: \"GrossInterestRate\",\r\n render: (rowData, row, index) => {\r\n return (\r\n <>{MoneyDisplayHelper.getPercentageFormat(row.AnnualEquivalentInterestRate, 2)} | {MoneyDisplayHelper.getPercentageFormat(rowData, 2)}\r\n );\r\n },\r\n },\r\n {\r\n title: \"Term / Notice\",\r\n key: \"Term\",\r\n render: (rowData, row, index) => {\r\n switch(row.DepositProductType) {\r\n case DepositProductType.EasyAccess:\r\n return <>N/A\r\n case DepositProductType.Notice:\r\n return <>{rowData} days;\r\n case DepositProductType.Term:\r\n if (rowData == 12) {\r\n return <>1 year\r\n } else if (rowData == 1) {\r\n return <>1 month\r\n } else if (rowData % 12 == 0) {\r\n return <>{rowData / 12} years\r\n } else {\r\n return <>{rowData} months\r\n }\r\n }\r\n },\r\n },\r\n {\r\n title: \"Min opening amount\",\r\n key: \"MinimumInvestment\",\r\n render: (rowData, row, index) => {\r\n return (\r\n <>{MoneyDisplayHelper.FromatMoneyDisplay(rowData, CurrencyCode.GBP, true, 0)}\r\n );\r\n },\r\n },\r\n {\r\n title: \"Interest paid\",\r\n key: \"Type\",\r\n render: (rowData, row, index) => {\r\n switch(row.DepositProductType) {\r\n case DepositProductType.EasyAccess:\r\n case DepositProductType.Notice:\r\n return <>Daily;\r\n case DepositProductType.Term:\r\n return <>Maturity;\r\n }\r\n }\r\n },\r\n );\r\n return result;\r\n };\r\n\r\n render() {\r\n const { data, curPage } = this.state;\r\n if (!data) {return null;}\r\n return (\r\n
    \r\n

    Selection

    \r\n

    \r\n {\"Cash deposits available: \"}\r\n {data.Pager ? data.Pager.TotalRecords : data.length}\r\n

    \r\n\r\n {\r\n if (data.Pager) {\r\n this.setState({ curPage: pageIndex });\r\n ResearchISTStore.search(pageIndex);\r\n } else {\r\n this.setState({ curPage: pageIndex });\r\n }\r\n },\r\n }}\r\n col={this.getTable()}\r\n />\r\n {this.renderInvestmentDetailPopupModal()}\r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const AbacusIcon = (props: any) => {\r\n const cssClassNames = classNames(\"abacus-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const CappedDrawdownCalculatorIcon = (props: any) => {\r\n const cssClassNames = classNames(\"capped-drawdown-calculator-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const FundResearchIcon = (props: any) => {\r\n const cssClassNames = classNames(\"fund-reserach-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const MyFolioIcon = (props: any) => {\r\n const cssClassNames = classNames(\"my-folio-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport const PensionForwardCalculatorIcon = (props: any) => {\r\n const cssClassNames = classNames(\"pension-forward-calculator-container\", props.cssWrapper);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { LiteratureLibraryClient } from \"../../../../../Wrap/Api/Documents/LiteratureLibrary\";\r\nimport { Category } from \"../../../../../Wrap/Constants/Enums/Documents/Category\";\r\nimport { FavouritesToggle } from \"../../../../Shared/IST/Components/Shared/FavouritesToggle\";\r\nimport { SearchInput } from \"../../../../Shared/SearchInput/SearchInput\";\r\nimport { Table } from \"../../../../Shared/Table/Table\";\r\nimport { LiteratureAction } from \"../Action/LiteratureAction\";\r\nimport { DocTypeArray, DocTypeMap, literatureCoachmarkerConfig } from \"../Resource/Content\";\r\nimport { groupBy } from \"lodash\";\r\nimport { LiteratureLibrary } from \"../../../../../Wrap/Models/Models/Documents/LiteratureLibrary\";\r\nimport { Alert } from \"../../../../Shared/Components/Alert\";\r\nimport { AlertType } from \"../../../../Shared/Entities/Constants/AlertConstants\";\r\nimport CoachMarker from \"../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { CoachMarkerContext } from \"../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport AdviserSiteTagManager from \"../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\n\r\nexport const Literature = () => {\r\n const [docType, setDocType] = React.useState(Category.NotSpecified);\r\n const [isFavourite, setIsFavourite] = React.useState(false);\r\n const [data, setData] = React.useState(null);\r\n\r\n const { setPageConfig } = React.useContext(CoachMarkerContext);\r\n\r\n const { addEvent } = new AdviserSiteTagManager();\r\n\r\n React.useEffect(() => {\r\n addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"literature\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/literature\",\r\n pageTitle: `${document.title} - tools and literature - literature`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n // Setup Coachmarks for this page\r\n //setPageConfig(literatureCoachmarkerConfig);\r\n return () => {\r\n setPageConfig(null);\r\n };\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n LiteratureAction.searchDoc(\"\", docType, isFavourite, (d) => setData(d));\r\n }, []);\r\n\r\n const renderTable = (data, Category) => {\r\n const categoryName = Category == \"Guiding\" ? \"Guides\" : Category;\r\n return (\r\n <>\r\n

    {categoryName}

    \r\n {\r\n return (\r\n \r\n window.open(\r\n `/popups/loaddocstore.aspx?filename=${row.FileName}&encrypt=yes`,\r\n \"_blank\"\r\n )\r\n }\r\n >\r\n {rowData}\r\n \r\n }\r\n onToggle={(v) => {\r\n LiteratureAction.setFavourite(parseInt(row.ID), v);\r\n const _data = JSON.parse(JSON.stringify(data));\r\n const product = _data.find((ele) => ele.ID == row.ID);\r\n product.IsFavourite = v;\r\n setData(_data);\r\n }}\r\n isFavourite={row.IsFavourite}\r\n key={rowData}\r\n />\r\n );\r\n },\r\n },\r\n {\r\n title: \"Document code\",\r\n key: \"DocumentCode\",\r\n tdCssWrapper: \"cell-30\",\r\n thCssWrapper: \"cell-30\",\r\n },\r\n ]}\r\n />\r\n \r\n );\r\n };\r\n\r\n const client = new LiteratureLibraryClient();\r\n const groupData = groupBy(data, \"Category\");\r\n return (\r\n <>\r\n {\r\n return client.get(v, docType, isFavourite ? isFavourite : null);\r\n }}\r\n onClick={(v) => {\r\n if (v) {\r\n setData([v]);\r\n }\r\n }}\r\n getText={(o) => o.Description}\r\n label=\"Search\"\r\n placeholder=\"Search for document by name or code\"\r\n />\r\n DocTypeMap[o]}\r\n onChange={(v) => {\r\n setDocType(v);\r\n LiteratureAction.searchDoc(\"\", v, isFavourite, (d) => setData(d));\r\n }}\r\n label=\"Document type\"\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n setIsFavourite(!isFavourite);\r\n LiteratureAction.searchDoc(\"\", docType, !isFavourite, (d) => setData(d));\r\n }}\r\n />\r\n
    \r\n
    \r\n {/* {isFavourite && SectionHeader(\"Favourites\")} */}\r\n {data && data.length == 0 && (\r\n \r\n )}\r\n {data &&\r\n Object.keys(groupData).map((key) => {\r\n return renderTable(groupData[key], key);\r\n })}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { InvestmentType } from \"../../../../../Wrap/Constants/Enums/InvestmentType\";\r\nimport { ServiceProposition } from \"../../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { SearchTabs } from \"../../../../Shared/IST/Components/Shared/SearchTabs\";\r\nimport { investmentType } from \"../../../../Shared/IST/Resource/Content\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport { ResearchISTDispatcher } from \"../Store/Variable\";\r\nimport { ResearchResultTable } from \"./ResearchResultTable\";\r\nimport { CashDepositResearchResultTable } from \"./CashDepositResearchResultTable\";\r\n\r\nexport const ResearchInvestmentSelection = () => {\r\n const [tab, setTab] = useState(InvestmentType.Funds);\r\n const userInfo = UserStore.getUserInfo();\r\n const serviceProposition = userInfo.ServiceProposition;\r\n return (\r\n <>\r\n

    Fund research

    \r\n {\r\n Navigator.navigateTo(Urls.get().main.ToolAndLiterature);\r\n }}\r\n >\r\n {\"< Back to tools & literature\"}\r\n \r\n
    \r\n

    Search for investments

    \r\n {\r\n setTab(tab);\r\n ResearchISTDispatcher.dispatch({ actionType: ActionType.Success, payload: null });\r\n }}\r\n researchIst\r\n accountServiceProposition={serviceProposition ? serviceProposition[0] : ServiceProposition.Wrap}\r\n canBeBought={true}\r\n canBeSold={false}\r\n includeInsuredFund={true}\r\n companyServiceProposition={[]}\r\n />\r\n {tab != InvestmentType.CashDeposits &&\r\n \r\n }\r\n {tab == InvestmentType.CashDeposits &&\r\n \r\n }\r\n
    \r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { CommonHelper } from \"../../../../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../../../../react-core/Html/BaseComponent\";\r\nimport { SelectEditor } from \"../../../../../react-core/Html/SelectEditor\";\r\nimport { DividendReinvestment } from \"../../../../../Wrap/Constants/Enums/Domain/DividendReinvestment\";\r\nimport { InvestmentType } from \"../../../../../Wrap/Constants/Enums/InvestmentType\";\r\nimport { ManagedFundsRebateType } from \"../../../../../Wrap/Constants/Enums/ManagedFundsRebateType\";\r\nimport { Investment } from \"../../../../../Wrap/Models/Models/PortfolioAnalysis/Investment/Investment\";\r\nimport { InvestmentSelectionAction } from \"../../../../Shared/IST/Action/InvestmentSelectionAction\";\r\nimport { FavouritesToggle } from \"../../../../Shared/IST/Components/Shared/FavouritesToggle\";\r\nimport { FundType } from \"../../../../Shared/IST/Resource/Content\";\r\nimport { Tab } from \"../../../../Shared/Tab/Tab\";\r\nimport { Table } from \"../../../../Shared/Table/Table\";\r\nimport { InvestmentDetailsPopupModal } from \"../../Clients/Common/InvestmentDetailsPopUp/InvestmentDetailsPopupModal\";\r\nimport { FundDataType, ManagedFundsRebateTypeMap } from \"../Resource/Content\";\r\nimport { ResearchISTStore } from \"../Store/Variable\";\r\nimport { uniqBy } from \"lodash\";\r\n\r\ninterface IResearchResultTableProps {\r\n tab: InvestmentType;\r\n}\r\n\r\ninterface IResearchResultTableState {\r\n data: any;\r\n fundCode: any;\r\n exchangeTradeCode: any;\r\n curPage: number;\r\n selectedInvestment: Investment;\r\n isShowDetailModal: boolean;\r\n currentFundDataType: FundDataType;\r\n}\r\n\r\nexport class ResearchResultTable extends BaseComponent {\r\n constructor(props: IResearchResultTableProps) {\r\n super(props);\r\n this.state = {\r\n data: null,\r\n fundCode: { key: \"ProductCode\", value: \"Fund code\" },\r\n exchangeTradeCode: { key: \"ProductCode\", value: \"Code\" },\r\n curPage: 1,\r\n isShowDetailModal: false,\r\n selectedInvestment: null,\r\n currentFundDataType: FundDataType.Overview,\r\n };\r\n this.subscribeToStore(ResearchISTStore, () => this.onStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n if (ResearchISTStore.getActionType() == ActionType.Success) {\r\n this.setState({ data: ResearchISTStore.getData() });\r\n if (ResearchISTStore.getIsBasicSearch()) {\r\n this.setState({ curPage: 1 });\r\n }\r\n }\r\n if (ResearchISTStore.getActionType() == ActionType.Update) {\r\n this.setState({ curPage: 1 });\r\n }\r\n }\r\n\r\n private codeFundOptions = [\r\n { key: \"ProductCode\", value: \"Fund code\" },\r\n { key: \"Isin\", value: \"ISIN\" },\r\n { key: \"Sedol\", value: \"SEDOL\" },\r\n { key: \"MexId\", value: \"Mex ID\" },\r\n ];\r\n\r\n renderInvestmentDetailPopupModal = (): JSX.Element => {\r\n const { isShowDetailModal, selectedInvestment } = this.state;\r\n if (!isShowDetailModal) {return null;}\r\n return (\r\n <>\r\n {\r\n this.setState({ isShowDetailModal: false });\r\n }}\r\n instrumentCode={selectedInvestment?.InstrumentCode}\r\n productId={selectedInvestment?.ProductId}\r\n instrumentName={selectedInvestment?.DisplayName}\r\n unitCost={selectedInvestment?.UnitCost}\r\n securityType={selectedInvestment?.Type}\r\n unitPrice={selectedInvestment?.UnitPrice}\r\n />\r\n \r\n );\r\n };\r\n\r\n onInvestmentSelected = (investment) => {\r\n InvestmentSelectionAction.getUnitPrice(investment, (d) => {\r\n this.setState({ selectedInvestment: d, isShowDetailModal: true });\r\n });\r\n };\r\n\r\n private getTable = () => {\r\n const { fundCode, currentFundDataType } = this.state;\r\n\r\n const result = [];\r\n result.push({\r\n title: \"Fund name\",\r\n key: \"Name\",\r\n render: (data, row, index) => {\r\n return (\r\n {\r\n ele.stopPropagation();\r\n this.onInvestmentSelected(row);\r\n }}\r\n >\r\n {CommonHelper.isNullOrEmpty(data) ? \"-\" : data}\r\n \r\n }\r\n onToggle={(v) => {\r\n InvestmentSelectionAction.setFavouriteProdcut(row.ProductId, v);\r\n let product = this.state.data?.Results?.find((ele) => ele.ProductId == row.ProductId);\r\n if (!product) {\r\n product = this.state.data?.find((ele) => ele.ProductId == row.ProductId);\r\n }\r\n product.IsFavourite = v;\r\n this.setState({ data: this.state.data });\r\n }}\r\n isFavourite={row.IsFavourite}\r\n key={data}\r\n />\r\n );\r\n },\r\n });\r\n if (currentFundDataType == FundDataType.Overview) {\r\n result.push(\r\n {\r\n title: (\r\n v.value}\r\n selected={fundCode}\r\n onChange={(v) => this.setState({ fundCode: v })}\r\n cssWrapper=\"mb-0 select-in-table\"\r\n />\r\n ),\r\n key: fundCode.key,\r\n render: (data) => {\r\n return CommonHelper.isNullOrEmpty(data) ? \"-\" : data;\r\n },\r\n },\r\n {\r\n title: \"Fund type\",\r\n key: \"DividendReinvestment\",\r\n render: (data) => {\r\n return CommonHelper.isNullOrEmpty(data) || data == DividendReinvestment.NotSpecified\r\n ? \"-\"\r\n : FundType[data];\r\n },\r\n },\r\n {\r\n title: \"Cleanest share class\",\r\n key: \"CleanestShareClass\",\r\n render: (data) => {\r\n return CommonHelper.isNullOrEmpty(data) || data == ManagedFundsRebateType.NotSpecified\r\n ? \"-\"\r\n : ManagedFundsRebateTypeMap[data];\r\n },\r\n },\r\n {\r\n title: \"Asset class\",\r\n key: \"AssetClass\",\r\n render: (data) => {\r\n return CommonHelper.isNullOrEmpty(data) ? \"-\" : data;\r\n },\r\n }\r\n );\r\n } else if (currentFundDataType == FundDataType.Charges) {\r\n result.push(\r\n {\r\n title: \"AMC\",\r\n key: \"Amc\",\r\n render: (data) => {\r\n return data.toFixed(2) + \"%\";\r\n },\r\n },\r\n {\r\n title: \"OCF\",\r\n key: \"Ocf\",\r\n render: (data) => {\r\n return data.toFixed(2) + \"%\";\r\n },\r\n },\r\n {\r\n title: \"Initial charge\",\r\n key: \"InitialCharge\",\r\n render: (data) => {\r\n return data.toFixed(2) + \"%\";\r\n },\r\n },\r\n {\r\n title: \"Transaction costs\",\r\n key: \"TransactionCosts\",\r\n render: (data) => {\r\n return data.toFixed(2) + \"%\";\r\n },\r\n }\r\n );\r\n } else if (currentFundDataType == FundDataType.Tradeable) {\r\n result.push(\r\n {\r\n title: \"SIPP\",\r\n key: \"SippEnabled\",\r\n render: (data) => {\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n {\r\n title: \"ISA stocks shares\",\r\n key: \"StocksIsaEnabled\",\r\n render: (data) => {\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n {\r\n title: \"ISA cash\",\r\n key: \"CashIsaEnabled\",\r\n render: (data) => {\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n {\r\n title: \"Personal portfolio\",\r\n key: \"PersonalPortfolioEnabled\",\r\n render: (data) => {\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n {\r\n title: \"Onshore bond\",\r\n key: \"OnshoreBondEnabled\",\r\n render: (data) => {\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n },\r\n {\r\n title: \"Offshore bond\",\r\n key: \"OffshoreBondEnabled\",\r\n render: (data) => {\r\n return data ? \"Yes\" : \"No\";\r\n },\r\n }\r\n );\r\n }\r\n return result;\r\n };\r\n\r\n render() {\r\n const { data, curPage } = this.state;\r\n if (!data) {return null;}\r\n return (\r\n
    \r\n

    Selection

    \r\n

    \r\n {this.props.tab == InvestmentType.Funds ? \"Funds available\" : \"Instruments available\"}:{\" \"}\r\n {data.Pager ? data.Pager.TotalRecords : data.length}\r\n

    \r\n {\r\n this.setState({ currentFundDataType: tab });\r\n }}\r\n />\r\n\r\n {\r\n if (data.Pager) {\r\n this.setState({ curPage: pageIndex });\r\n ResearchISTStore.search(pageIndex);\r\n } else {\r\n this.setState({ curPage: pageIndex });\r\n }\r\n },\r\n }}\r\n col={this.getTable()}\r\n />\r\n {this.renderInvestmentDetailPopupModal()}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { useRef, useState } from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../../react-core/Html/Components/Lightbox\";\r\nimport { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { Scroll } from \"../../../../../react-core/Utils/Scroll\";\r\nimport { MultiPropositionType } from \"../../../../../Wrap/Constants/Enums/Domain/MultiPropositionType\";\r\nimport { SubAccountType } from \"../../../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AdvancedSearchFilterType } from \"../../../../../Wrap/Constants/Enums/Search/AdvancedSearchFilterType\";\r\nimport { UserClaim } from \"../../../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { AccountSearchResult } from \"../../../../../Wrap/Models/Models/Transformation/Account/AccountSearchResult\";\r\nimport AdviserSiteTagManager from \"../../../../Shared/Cookies/ChoicesCookie/AdviserSiteTagManager\";\r\nimport { checkPermission } from \"../../../../Shared/Permission/PermissionHelper\";\r\nimport { Navigator } from \"../../../../Shared/Wizards/Entities/Navigator\";\r\nimport { StaticUrls } from \"../../../Resoures/StaticUrls\";\r\nimport { UserStore } from \"../../../Stroes/Variable\";\r\nimport { Urls } from \"../../../Urls\";\r\nimport {\r\n AccountSearchAction,\r\n IAdvancedSearchQuery,\r\n IBasicSearchQuery,\r\n} from \"../../Clients/ClientRecord/Action/AccountSearchAction\";\r\nimport { AccountSearchResultTable } from \"../../Clients/ClientSearch/Component/AccountSearchResultTable\";\r\nimport { BasicSearch } from \"../../Clients/ClientSearch/Component/BasicSearch\";\r\nimport { ToolContent, ToolContentProps } from \"../Resource/Content\";\r\n\r\nexport const Tool = () => {\r\n const [showCGST, setShowCGST] = useState(false);\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [data, setData] = useState(null);\r\n const [query, setQuery] = useState({} as IBasicSearchQuery);\r\n const [errorMsg, setErrorMsg] = useState(null);\r\n\r\n const searchResults = useRef();\r\n\r\n const { addEvent } = new AdviserSiteTagManager();\r\n\r\n React.useEffect(() => {\r\n addEvent({\r\n environment: {\r\n appType: \"web\",\r\n setting: \"prod\",\r\n timestamps: JsonDateParser.toJsonDateNoOffset(new Date()).toString(),\r\n },\r\n page: {\r\n pageUrl: window.location.pathname.includes(\"tools\")\r\n ? window.location.pathname\r\n : window.location.pathname + \"/tools\",\r\n pageTitle: `${document.title} - tools and literature - tools`,\r\n },\r\n user: {\r\n loginId: UserStore.getUserInfo()?.ClientId.toString(),\r\n internal: \"yes\",\r\n },\r\n event: \"pageLoaded\",\r\n });\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (data !== null && !isSearching) {\r\n Scroll.scrollToElement(searchResults.current);\r\n }\r\n }, [data, isSearching]);\r\n\r\n const search = (query: IBasicSearchQuery, currentPage, pageSize) => {\r\n setIsSearching(true);\r\n const advanceSearch: IAdvancedSearchQuery = {\r\n wrappers: [SubAccountType.InvestmentAccount, SubAccountType.PersonalPortfolio],\r\n filterType: AdvancedSearchFilterType.Wrapper,\r\n };\r\n setErrorMsg(\r\n data && data.length > 0\r\n ? null\r\n : \"No results returned. Please ensure the client holds a Wrap account and that a Personal Portfolio sub account exists\"\r\n );\r\n AccountSearchAction.searchAccounts(query, [advanceSearch], currentPage, pageSize, (res) => {\r\n setIsSearching(false);\r\n setData(res);\r\n });\r\n };\r\n\r\n const onBasicSearch = (query) => {\r\n setQuery(query);\r\n search(query, 1, 10);\r\n };\r\n\r\n const onPageChange = (currentPage, pageSize) => {\r\n search(query, currentPage, pageSize);\r\n };\r\n\r\n const renderEachBox = (data: ToolContentProps) => {\r\n return (\r\n
    \r\n
    \r\n
    {data?.icon}
    \r\n\r\n

    {data.title}

    \r\n

    {data.content}

    \r\n {data.href && (\r\n
    \r\n
    \r\n \r\n \r\n {data.link}\r\n \r\n
    \r\n
    \r\n )}\r\n {data.type == \"CGST\" && (\r\n \r\n )}\r\n {data.type == \"IST\" && (\r\n {\r\n Navigator.navigateTo(Urls.get().main.ResearchIst);\r\n }}\r\n >\r\n {data.link}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderColSection = (colConfig: ToolContentProps[]) => {\r\n let index = 0;\r\n const viewItems = [];\r\n while (index < colConfig.length) {\r\n const _data = colConfig.slice(index, index + 3);\r\n const view = _data.map((item, i) => {\r\n return renderEachBox(item);\r\n });\r\n viewItems.push(
    {view}
    );\r\n\r\n index = index + 3;\r\n }\r\n return viewItems;\r\n };\r\n\r\n return (\r\n <>\r\n {renderColSection(ToolContent)}\r\n {showCGST && (\r\n {\r\n setShowCGST(false);\r\n }}\r\n type={LightboxType.Modal}\r\n unclosable={false}\r\n noOverlay={false}\r\n noAutofocus={false}\r\n cssWrapper={\"is-default-lightbox is-wide\"}\r\n >\r\n
    \r\n
    \r\n onBasicSearch(query)}\r\n isSearching={isSearching}\r\n fromToolAndLiterature={true}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n onPageChange(s, c)}\r\n usingInTools={\r\n checkPermission(UserClaim.AdviserPortalDluCapitalGainsScenarioToolCanView)\r\n ? (row: AccountSearchResult) =>\r\n window.location.assign(\r\n `/clients/performance/capitalgainsscenariotool.aspx?claccountid=${row.AccountNumber.toLowerCase()}`\r\n )\r\n : () => {\r\n window.location.assign(StaticUrls.EmptyUrl);\r\n }\r\n }\r\n fromToolAndLiterature={true}\r\n basicQuery={query}\r\n />\r\n
    \r\n
    \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Category } from \"../../../../../Wrap/Constants/Enums/Documents/Category\";\r\nimport { ProductType } from \"../../../../../Wrap/Constants/Enums/Domain/ProductType\";\r\nimport { ManagedFundsRebateType } from \"../../../../../Wrap/Constants/Enums/ManagedFundsRebateType\";\r\nimport { CoachMarkerSetType } from \"../../../../../Wrap/Models/Models/CoachMarkers/CoachMarkerSetType\";\r\nimport { CoachMarkerStepPosition } from \"../../../../Shared/CoachMarkers/CoachMarker\";\r\nimport { ICoachMarkerPageConfig } from \"../../../../Shared/CoachMarkers/CoachMarkerContext\";\r\nimport { AbacusIcon } from \"../Components/Icons/AbacusIcon\";\r\nimport { AnalyticsIcon } from \"../Components/Icons/AnalyticsIcon\";\r\nimport { CappedDrawdownCalculatorIcon } from \"../Components/Icons/CappedDrawdownCalculatorIcon\";\r\nimport { FundResearchIcon } from \"../Components/Icons/FundResearchIcon\";\r\nimport { MyFolioIcon } from \"../Components/Icons/MyFolioIcon\";\r\nimport { PensionForwardCalculatorIcon } from \"../Components/Icons/PensionForwardCalculatorIcon\";\r\nimport { RiskQuestionnaireIcon } from \"../Components/Icons/RiskQuestionnaireIcon\";\r\n\r\nexport enum ToolAndLiteratureTab {\r\n Tool = \"Tools\",\r\n Literature = \"Literature\",\r\n}\r\n\r\nexport interface ToolContentProps {\r\n title: string;\r\n content: string;\r\n link: string;\r\n type?: string;\r\n href?: string;\r\n icon: any;\r\n}\r\nexport enum FundDataType {\r\n Overview = \"Overview\",\r\n Charges = \"Charges\",\r\n Tradeable = \"Tradeable\",\r\n}\r\n\r\nexport const ToolContent: ToolContentProps[] = [\r\n {\r\n title: \"Capital gains scenario tool (CGST)\",\r\n content:\r\n \"Allow you to calculate gains and loss on sales of Personal Portfolio investments, model scenarios and assess the impact of different withdrawal strategies.\",\r\n link: \"Launch CGST\",\r\n type: \"CGST\",\r\n icon: ,\r\n },\r\n {\r\n title: \"Fund research\",\r\n content:\r\n \"Search for funds by fund name or fund code and view the fund price, performance, ratings, charges and links to full fund information.\",\r\n link: \"Launch Fund research\",\r\n type: \"IST\",\r\n icon: ,\r\n },\r\n {\r\n title: \"MyFolio lookthrough\",\r\n content:\r\n \"The MyFolio Lookthrough Tool has been designed to enable you to access performance, the latest fund updates and commentary quickly and easily, with options for flexible fund charting and creating customised client reports.\",\r\n link: \"Launch MyFolio lookthrough\",\r\n href: \"https://www.abrdn.com/en-gb/platform-adviser/tools/lookthrough\",\r\n icon: ,\r\n },\r\n {\r\n title: \"Capped drawdown calculator\",\r\n content:\r\n \"This calculator helps you work out the maximum income your client could take from their pension pot if they started capped drawdown income review, now. This is not a quote and the actual maximum permitted income amount may be different to the figure shown.\",\r\n link: \"Launch capped drawdown calculator \",\r\n href: \"https://www.abrdn.com/en-gb/platform-adviser/tools/capped-drawdown-calculator\",\r\n icon: ,\r\n },\r\n {\r\n title: \"Pension carry forward calculator\",\r\n content:\r\n \"This calculator works out how much pension annual allowance your client has available for a tax year (including any unused allowance carried forward from earlier years). This will help you work out how much can be paid into your client's pension without triggering an annual allowance tax charge.\",\r\n link: \"Launch pension carry forward calculator\",\r\n href: \"https://www.abrdn.com/en-gb/platform-adviser/tools/pension-carry-forward-calculator\",\r\n icon: ,\r\n },\r\n];\r\n\r\nexport const DocTypeArray = [\r\n Category.NotSpecified,\r\n Category.Forms,\r\n Category.KeyFeatureKeyInformationDocuments,\r\n Category.Guides,\r\n Category.TermsAndConditionsPolicyProvisions,\r\n];\r\n\r\nexport const ManagedFundsRebateTypeMap = {\r\n [ManagedFundsRebateType.NotSpecified]: \"\",\r\n [ManagedFundsRebateType.Bundled]: \"Bundled\",\r\n [ManagedFundsRebateType.Clean]: \"Clean\",\r\n [ManagedFundsRebateType.SuperClean]: \"Super Clean\",\r\n};\r\n\r\nexport const ProductTypeMap = {\r\n [ProductType.NotSpecified]: \"\",\r\n [ProductType.Cash]: \"Cash\",\r\n [ProductType.Equity]: \"Equity\",\r\n [ProductType.ManagedFund]: \"Managed Fund\",\r\n [ProductType.Bond]: \"Bond\",\r\n [ProductType.ModelPortfolio]: \"Model Portfolio\",\r\n [ProductType.AdviserModelPortfolio]: \"Adviser Model Portfolio\",\r\n [ProductType.ManagedModelPortfolio]: \"Managed Model Portfolio\",\r\n [ProductType.TailoredModelPortfolio]: \"Tailored Model Portfolio\",\r\n};\r\n\r\nexport const DocTypeMap = {\r\n [Category.NotSpecified]: \"All\",\r\n [Category.Forms]: \"Forms\",\r\n [Category.Guides]: \"Guides\",\r\n [Category.KeyFeatureKeyInformationDocuments]: \"Key features & Key Information documents\",\r\n [Category.TermsAndConditionsPolicyProvisions]: \"Terms and Conditions & Policy Provisions\",\r\n};\r\n\r\nexport const literatureCoachmarkerConfig: ICoachMarkerPageConfig = {\r\n coachMarkerSetType: CoachMarkerSetType.FnzOneLiterature,\r\n steps: [\r\n {\r\n title: \"Favourites\",\r\n stepPosition: CoachMarkerStepPosition.BottomLeft,\r\n stepKey: \"literature-favourites\",\r\n positionTop: 47,\r\n positionLeft: -329,\r\n description: (\r\n <>\r\n Create a list of your favourite and most used documents by selecting the star icon next to a\r\n document name. Quickly and easily view your favourites shortlist by selecting this button.\r\n \r\n ),\r\n },\r\n ],\r\n};\r\n","import { ActionType } from \"../../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../../react-core/Flux/BaseStore\";\r\n\r\nimport { ResearchISTDispatcher } from \"./Variable\";\r\n\r\nexport interface ResearchISTStoreState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: any[];\r\n getDataFunc?: (curPage: number) => void;\r\n isBasicSearch?: boolean;\r\n}\r\n\r\nexport class ResearchISTStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ResearchISTDispatcher, (actionData) => this.onResearchISTStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): ResearchISTStoreState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getIsBasicSearch() {\r\n return this.getState().isBasicSearch;\r\n }\r\n\r\n public search(curPage: number) {\r\n const func = this.getState().getDataFunc;\r\n if (func) {func(curPage);}\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ResearchISTStoreState {\r\n return { actionType: ActionType.Loading, data: null };\r\n }\r\n\r\n private onResearchISTStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ actionType: actionData.actionType, data: actionData.payload });\r\n break;\r\n case ActionType.Update:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n getDataFunc: actionData.payload,\r\n isBasicSearch: actionData.payload == null,\r\n });\r\n break;\r\n case ActionType.Error:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { Dispatcher } from \"../../../../../react-core/Flux/Dispatcher\";\r\nimport { FluxResponse } from \"../../../../Admin/Adviser/Stores/Variable\";\r\nimport { ResearchISTStoreStatic } from \"./ResearchIstStoreStatic\";\r\n\r\nexport const ResearchISTDispatcher: Dispatcher = new Dispatcher();\r\nexport const ResearchISTStore: ResearchISTStoreStatic = new ResearchISTStoreStatic();\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { getQueryParameters } from \"../../../Shared/Wizards/Entities/QueryParametersHelper\";\r\nimport { Literature } from \"./Components/Literature\";\r\nimport { Tool } from \"./Components/Tool\";\r\nimport { ToolAndLiteratureTab } from \"./Resource/Content\";\r\n\r\nexport const ToolsAndLiterature = () => {\r\n const [tabKey, setKey] = useState(\r\n CommonHelper.isNullOrEmpty(getQueryParameters()[\"tab\"])\r\n ? ToolAndLiteratureTab.Tool\r\n : getQueryParameters()[\"tab\"]\r\n );\r\n\r\n const getContent = (key: ToolAndLiteratureTab) => {\r\n let _content = null;\r\n\r\n switch (key) {\r\n case ToolAndLiteratureTab.Tool:\r\n _content = ;\r\n break;\r\n case ToolAndLiteratureTab.Literature:\r\n _content = ;\r\n break;\r\n }\r\n return _content;\r\n };\r\n\r\n const tabs = [];\r\n for (const key in ToolAndLiteratureTab) {\r\n tabs.push(\r\n setKey(ToolAndLiteratureTab[key])}\r\n >\r\n {ToolAndLiteratureTab[key]}\r\n \r\n );\r\n }\r\n return (\r\n
    \r\n

    Tools and literature

    \r\n\r\n \r\n {getContent(tabKey)}\r\n
    \r\n );\r\n};\r\n","import { CommentsAndDocumentsClient } from \"../../../../../Wrap/Api/Instruction/CommentsAndDocuments\";\r\nimport { DemandType } from \"../../../../../Wrap/Models/Domains/Workflow/DemandType\";\r\n\r\nexport interface ICommentsAndDocumentsQuery {\r\n caseDataId: number;\r\n demandType: DemandType;\r\n caseGroupSequenceNumber: number;\r\n sequenceNumber: number;\r\n}\r\n\r\nexport class CommentsAndDocumentsAction {\r\n public static loadCommentsAndDocuments(\r\n query: ICommentsAndDocumentsQuery,\r\n currentPage,\r\n count,\r\n callBack?: (val: any) => void\r\n ): void {\r\n const client = new CommentsAndDocumentsClient();\r\n const promise = client.get(\r\n query.caseDataId,\r\n query.demandType,\r\n query.caseGroupSequenceNumber,\r\n query.sequenceNumber,\r\n (currentPage - 1 ) * count + 1,\r\n count\r\n );\r\n promise.onSuccess((res) => {\r\n callBack(res);\r\n });\r\n }\r\n}\r\n","import { IJsonDate } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { DemandTypeClient } from \"../../../../../Wrap/Api/Instruction/DemandType\";\r\nimport { DemandTypeModel } from \"../../../../../Wrap/Models/Domains/Workflow/DemandTypeModel\";\r\n\r\nexport interface IDemandTypeSearchQuery {\r\n DemandType: number;\r\n DemandLvl: number;\r\n DemandTypeDs: string;\r\n DemandFullDs: string;\r\n StopDate: IJsonDate;\r\n}\r\n\r\nexport class DemandTypeAction {\r\n public static searchHistoricWorkflows(\r\n query: IDemandTypeSearchQuery,\r\n callBack?: (val: DemandTypeModel[]) => void\r\n ): void {\r\n const client = new DemandTypeClient();\r\n const promise = client.get(\r\n query.DemandType,\r\n query.DemandLvl,\r\n query.DemandTypeDs,\r\n query.DemandFullDs,\r\n query.StopDate\r\n );\r\n promise.onSuccess((res) => {\r\n callBack(res);\r\n });\r\n }\r\n}\r\n","import { DisinvestmentStrategyClient } from \"../../../../../Wrap/Api/Instruction/DisinvestmentStrategy\";\r\nimport { DisinvestmentStrategyType } from \"../../../../../Wrap/Constants/Enums/Client/DisinvestmentStrategyType\";\r\nimport { DisinvestmentStrategyTypeModel } from \"../../../../../Wrap/Models/Domains/Instructions/DisinvestmentStrategyTypeModel\";\r\n\r\nexport class DisinvestmentStrategyTypeAction {\r\n public static getDisinvestmentStrategy(\r\n instructionId: string,\r\n callBack?: (val: DisinvestmentStrategyTypeModel) => void\r\n ): void {\r\n const client = new DisinvestmentStrategyClient();\r\n const promise = client.get(instructionId);\r\n promise.onSuccess((res) => {\r\n callBack(res);\r\n });\r\n promise.onError((err) => {});\r\n }\r\n}\r\n","import { JsonDateParser } from \"../../../../../react-core/Utils/JsonDateParser\";\r\nimport { HistoricWorkflowClient } from \"../../../../../Wrap/Api/Instruction/HistoricWorkflow\";\r\nimport { DemandType } from \"../../../../../Wrap/Models/Domains/Workflow/DemandType\";\r\n\r\nexport interface IHistoricWorkflowSearchQuery {\r\n startDate: Date;\r\n endDate: Date;\r\n demandType: DemandType;\r\n policyNumber: string;\r\n}\r\n\r\nexport class HistoricWorkflowAction {\r\n public static searchHistoricWorkflows(\r\n query: IHistoricWorkflowSearchQuery,\r\n currentPage,\r\n count,\r\n callBack?: (val: any) => void\r\n ): void {\r\n const client = new HistoricWorkflowClient();\r\n const promise = client.get(\r\n JsonDateParser.toJsonDateNoOffset(query.startDate),\r\n JsonDateParser.toJsonDateNoOffset(query.endDate),\r\n query.demandType,\r\n query.policyNumber,\r\n currentPage,\r\n count\r\n );\r\n promise.onSuccess((res) => {\r\n callBack(res);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CommonHelper } from \"../../../../react-core/Helpers/CommonHelper\";\r\nimport { Div } from \"../../../../react-core/Html/Div\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { ITableConfig, Table } from \"../../../Shared/Table/Table\";\r\n\r\ninterface ICommentsAndDocumentsResultTable {\r\n data: any;\r\n onPageChange: (currentPage, pageSize) => void;\r\n usingInTools?: (row) => void;\r\n errorMsg?: string;\r\n}\r\n\r\nexport const CommentsAndDocumentsResultTable = (props: ICommentsAndDocumentsResultTable) => {\r\n if (!props.data) {return null;}\r\n\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n\r\n const col: ITableConfig[] = [\r\n {\r\n title: \"Policy number\",\r\n key: \"PolicyNumber\",\r\n },\r\n {\r\n title: \"Demand type\",\r\n key: \"DemandType\",\r\n },\r\n {\r\n title: \"Date\",\r\n key: \"UpdatedDate\",\r\n render: (data) => {\r\n return JsonDateParser.getFormatDateString(JsonDateParser.toDate(data), \"dd-MM-yyyy hh:mm:ss\");\r\n },\r\n },\r\n {\r\n title: \"Type\",\r\n key: \"Type\",\r\n },\r\n {\r\n title: \"Unique Id\",\r\n key: \"UniqueId\",\r\n },\r\n {\r\n title: \"Data\",\r\n key: \"Data\",\r\n render: (data) => {\r\n return CommonHelper.RemoveHtmlTag(CommonHelper.ReplaceSpecialSymbols(data));\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n
    \r\n {\r\n setCurrentPage(pageIndex);\r\n props.onPageChange(pageIndex, pageSize);\r\n },\r\n currentPage: currentPage,\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { DatePicker } from \"../../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditor } from \"../../../../react-core/Html/SelectEditor\";\r\nimport { TextBoxEditor } from \"../../../../react-core/Html/TextBoxEditor\";\r\nimport { addYears } from \"../../../../react-core/utils/date\";\r\nimport { ACCEPT_DATE_FORMATS, ContentDatePicker } from \"../../../Shared/Entities/Constants/DateConstants\";\r\nimport { HistoricWorkflowAction, IHistoricWorkflowSearchQuery } from \"./Action/HistoricWorkflowSearchAction\";\r\nimport { DemandTypeAction } from \"./Action/DemandTypeSearchAction\";\r\nimport { HistoricWorkflowResultTable } from \"./HistoricWorkflowResultTable\";\r\nimport { DemandTypeModel } from \"../../../../Wrap/Models/Domains/Workflow/DemandTypeModel\";\r\nimport { DemandType } from \"../../../../Wrap/Models/Domains/Workflow/DemandType\";\r\n\r\nexport const HistoricWorkflowDashboard = () => {\r\n const [data, setData] = useState(null);\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [fromDate, setFromDate] = useState(addYears(new Date(), -1));\r\n const [toDate, setToDate] = useState(new Date());\r\n const [demandTypeList, setDemandTypeList] = useState([]);\r\n const [demandType, setDemandType] = useState(null);\r\n const [policyNumber, setPolicyNumber] = useState(\"\");\r\n const [historicWorkflowSearchQuery, setHistoricWorkflowSearchQuery] = useState({});\r\n\r\n React.useEffect(() => {\r\n DemandTypeAction.searchHistoricWorkflows(\r\n {\r\n DemandType: 0,\r\n DemandLvl: 0,\r\n DemandTypeDs: \"\",\r\n DemandFullDs: \"\",\r\n StopDate: null,\r\n },\r\n (res) => {\r\n setDemandTypeList(res);\r\n }\r\n );\r\n }, []);\r\n\r\n const search = (query, currentPage, pageSize) => {\r\n setIsSearching(true);\r\n HistoricWorkflowAction.searchHistoricWorkflows(query, currentPage, pageSize, (res) => {\r\n setIsSearching(false);\r\n setData(res);\r\n });\r\n };\r\n\r\n const onHistoricWorkflowSearch = (query: IHistoricWorkflowSearchQuery) => {\r\n setHistoricWorkflowSearchQuery(query);\r\n search(query, 1, 10);\r\n };\r\n\r\n const onPageChange = (currentPage, pageSize) => {\r\n search(historicWorkflowSearchQuery, currentPage, pageSize);\r\n };\r\n\r\n return (\r\n <>\r\n

    Workflow Summary

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n return v != null ? v.DmndTypeDs : \"All\";\r\n }}\r\n // selected={clientType}\r\n onChange={(v) => setDemandType(v?.DemandType)}\r\n options={[null].concat(demandTypeList)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n setPolicyNumber(v)}\r\n value={policyNumber}\r\n maxLength={100}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setFromDate(d);\r\n }}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
    \r\n
    \r\n {\r\n setToDate(d);\r\n }}\r\n showYearDropdown={true}\r\n isClearable={true}\r\n dateFormat={ContentDatePicker.DateFormat}\r\n acceptDateFormats={ACCEPT_DATE_FORMATS}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setIsSearching(true);\r\n onHistoricWorkflowSearch({\r\n startDate: fromDate,\r\n endDate: toDate,\r\n demandType: demandType ?? DemandType.Undefined,\r\n policyNumber: policyNumber,\r\n });\r\n }}\r\n >\r\n Search\r\n \r\n
    \r\n
    \r\n\r\n onPageChange(currentPage, pageSize)}\r\n />\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { Lightbox, LightboxType } from \"../../../../react-core/Html/Components/Lightbox\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { ITableConfig, Table } from \"../../../Shared/Table/Table\";\r\nimport { CommentsAndDocumentsAction, ICommentsAndDocumentsQuery } from \"./Action/CommentsAndDocumentsLoadAction\";\r\nimport { CommentsAndDocumentsResultTable } from \"./CommentsAndDocumentsResultTable\";\r\n\r\ninterface IHistoricWorkflowResultTable {\r\n data: any;\r\n onPageChange: (currentPage, pageSize) => void;\r\n usingInTools?: (row) => void;\r\n errorMsg?: string;\r\n}\r\n\r\nexport const HistoricWorkflowResultTable = (props: IHistoricWorkflowResultTable) => {\r\n if (!props.data) {return null;}\r\n\r\n const [currentPage, setCurrentPage] = React.useState(1);\r\n const [isShowLightBox, setIsShowLightBox] = React.useState(false);\r\n const [data, setData] = React.useState(null);\r\n const [commentsAndDocumentsLoadQuery, setCommentsAndDocumentsLoadQuery] = React.useState({});\r\n\r\n const search = (query, currentPage, pageSize) => {\r\n CommentsAndDocumentsAction.loadCommentsAndDocuments(query, currentPage, pageSize, (res) => {\r\n setData(res);\r\n });\r\n };\r\n\r\n const onCommentsAndDocumentsLoad = (query: ICommentsAndDocumentsQuery) => {\r\n setCommentsAndDocumentsLoadQuery(query);\r\n search(query, 1, 10);\r\n };\r\n\r\n const onCommentsAndDocumentsPageChange = (currentPage, pageSize) => {\r\n search(commentsAndDocumentsLoadQuery, currentPage, pageSize);\r\n };\r\n\r\n const col: ITableConfig[] = [\r\n {\r\n title: \"Policy number\",\r\n key: \"PolicyNumber\",\r\n },\r\n {\r\n title: \"Demand type\",\r\n key: \"DemandTypeString\",\r\n },\r\n {\r\n title: \"Case creation date\",\r\n key: \"CaseCreationDate\",\r\n render: (data) => {\r\n return JsonDateParser.getFormatDateString(JsonDateParser.toDate(data), \"dd-MM-yyyy\");\r\n },\r\n },\r\n { title: \"First name\", key: \"FirstName\" },\r\n {\r\n title: \"Surname\",\r\n key: \"Surname\",\r\n },\r\n {\r\n title: \"Status\",\r\n key: \"CancelledNotification\",\r\n },\r\n {\r\n title: \"Comments/Documents\",\r\n key: \"MoreDetails\",\r\n render: (data) => {\r\n const caseDataId = data.split(\"|\")[0];\r\n const demandType = data.split(\"|\")[1];\r\n const caseGroupSequenceNumber = data.split(\"|\")[2];\r\n const sequenceNumber = data.split(\"|\")[3];\r\n\r\n return (\r\n
    \r\n {\r\n setIsShowLightBox(true);\r\n onCommentsAndDocumentsLoad({\r\n caseDataId: caseDataId,\r\n demandType: demandType,\r\n caseGroupSequenceNumber: caseGroupSequenceNumber,\r\n sequenceNumber: sequenceNumber,\r\n });\r\n }}\r\n >\r\n \r\n \r\n
    \r\n );\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n
    \r\n {\r\n setCurrentPage(pageIndex);\r\n props.onPageChange(pageIndex, pageSize);\r\n },\r\n currentPage: currentPage,\r\n }}\r\n />\r\n {isShowLightBox && (\r\n setIsShowLightBox(false)}\r\n type={LightboxType.Modal}\r\n title={\"Comments & Documents\"}\r\n >\r\n \r\n onCommentsAndDocumentsPageChange(currentPage, pageSize)\r\n }\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { Frequency } from \"../../../Wrap/Constants/Enums/Domain/Frequency\";\r\nimport { SideMenu } from \"../../../Wrap/Constants/Enums/Menu/SideMenu\";\r\n\r\nexport class Contents {\r\n public static URLS = [\"business-insight\", \"notification-centre\", \"clients\", \"tools-and-literature\", \"dashboard\"];\r\n\r\n public static URLMap = {\r\n dashboard: \"dashboard\",\r\n account: \"account\",\r\n BusinessManagement: \"business-management\",\r\n toolsAndLiterature: \"tools-and-literature\",\r\n reports: \"reports\",\r\n remunerationstatement: \"remuneration-statement\",\r\n admin: \"admin\",\r\n settings: \"settings\",\r\n spt: \"single-payment-transfer\",\r\n buy: \"buy\",\r\n cancelOrder: \"cancel-order\",\r\n cancel: \"cancel\",\r\n regularPayment: \"regular-payment\",\r\n researchIst: \"research-ist\",\r\n sell: \"sell\",\r\n switch: \"switch\",\r\n switchTo: \"switch-to\",\r\n switchFrom: \"switch-from\",\r\n topUpWithITFLS: \"top-up-with-itfls\",\r\n orderSetup: \"order-setup\",\r\n accountClosureList: \"account-closure-list\",\r\n companyWizardHistory: \"company-wizard-history\",\r\n companyWizardInProgress: \"company-wizard-inprogress\",\r\n companySetup: \"company-setup\",\r\n companySetupWizard: \"company-setup-wizard\",\r\n companyView: \"view-company\",\r\n firmdetail: \"firm-detail\",\r\n remunerationAndValuation: \"remuneration-valuation\",\r\n alert: \"alert\",\r\n validationAndExcute: \"validate-excute\",\r\n networkSetupWizard: \"network-setup-wizard\",\r\n networkSetup: \"network-setup\",\r\n networkDetail: \"network\",\r\n networkServiceProvider: \"network-detail\",\r\n client: \"client\",\r\n transferWizard: \"transferWizard\",\r\n transferWizardStepOne: \"move-investement\",\r\n transferWizardStepTwo: \"preview-submit\",\r\n networkSubmitted: \"network-submitted\",\r\n networkInProgress: \"network-inprogress\",\r\n newQuoteWizard: \"new-quote\",\r\n quoteReady: \"quote-ready\",\r\n drawdownDetail: \"drawdown-detail\",\r\n drawdownDetailSipp: \"sipp-drawdown-detail\",\r\n incomePayment: \"income-payment\",\r\n newBusinessWizard: \"new-business\",\r\n interestedPartiesWizard: \"interested-parties\",\r\n fullClientDetail: \"full-client-detail\",\r\n wrapperSelection: \"wrapper-selection\",\r\n paymentInISA: \"isa-payments-in\",\r\n adviserChargesISA: \"isa-adviser-charges\",\r\n withdrawalsISA: \"isa-withdrawals\",\r\n investmentSelectionISA: \"isa-investment-selection\",\r\n paymentInPP: \"pp-payments-in\",\r\n adviserChargesPP: \"pp-adviser-charges\",\r\n investmentSelectionPP: \"pp-investment-selection\",\r\n withdrawalsPP: \"pp-withdrawals\",\r\n paymentInSIPP: \"sipp-payments-in\",\r\n adviserChargesSIPP: \"sipp-adviser-charges\",\r\n investmentSelectionSIPP: \"sipp-investment-selection\",\r\n incomePaymentsSIPP: \"sipp-income-payments\",\r\n completeSIPP: \"sipp-complete\",\r\n completeISA: \"isa-complete\",\r\n completePP: \"pp-complete\",\r\n paymentsInWrapCash: \"wrap-cash-payments-in\",\r\n paymentsInLegacyProduct: \"legacy-product-payments-in\",\r\n disinvestmentStrategy: \"disinvestment-strategy\",\r\n review: \"review\",\r\n documentAndDeclarations: \"doc-and-declara\",\r\n regularWithdrawals: \"regular-withdrawals\",\r\n confirmation: \"confirmation\",\r\n addClientWizard: \"addClient\",\r\n clientType: \"client-type\",\r\n clientDetails: \"client-details\",\r\n trustMember: \"trust-member\",\r\n trustDetail: \"trust-detail\",\r\n corporateMember: \"corporate-member\",\r\n corporateDetail: \"corporate-detail\",\r\n paymentIn: \"payments-in\",\r\n adviserCharges: \"adivser-charges\",\r\n ist: \"ist\",\r\n productOveriew: \"productOveriew\",\r\n newIncomePaymentOneOffWizard: \"new-incomepayment-oneoffwizard\",\r\n incomePaymentOneOff: \"incomepayment-oneoff\",\r\n incomePaymentOneOffDetail: \"incomepayment-detail\",\r\n incomePaymentOneOffReview: \"incomepayment-review\",\r\n incomePaymentOneOffConfirmation: \"incomepayment-confirmation\",\r\n updateLifetimeAllowance: \"update-lifetime-allowance\",\r\n updateLifetimeAllowanceDetail: \"update-lifetime-allowance-detail\",\r\n updateLifetimeAllowanceConfirmation: \"update-lifetime-allowance-confirmation\",\r\n pensionBenefits: \"pension-benefits\",\r\n pensionBenefitsDetails: \"pension-benefits-details\",\r\n convertCappedToFlexiWizard: \"convert-capped-to-flexi\",\r\n selectArrangement: \"select-arrangement\",\r\n gadReview: \"gad-review\",\r\n backOffice: \"back-office\",\r\n editIncomeWithdrawals: \"edit-income-withdrawals\",\r\n cancelRegularCrystallisation: \"cancel-regular-crystallisation\",\r\n addLogo: \"add-logo\",\r\n uploadLogo: \"upload-logo\",\r\n addLogoConfirmation: \"add-logo-confirmation\",\r\n customerMerge: \"customer-merge\",\r\n selectCustomers: \"select-customers\",\r\n mergeDetails: \"merge-details\",\r\n whatIfTool: \"whatiftool\",\r\n noChangeTool: \"nochangetool\",\r\n adHocAdviserCharge: \"adhoc-adviser-charge\",\r\n oneOffWithdrawal: \"oneoff-withdrawal\",\r\n cgt: \"cgt\",\r\n customer: \"customer\",\r\n beneficiary: \"beneficiary\",\r\n workflow: \"workflow\",\r\n };\r\n\r\n public static Method_CloseMenu = \"CloseMenu\";\r\n public static Method_DashBoardRowClick = \"DashBoardRowClick\";\r\n}\r\n\r\nexport interface IParameter {\r\n hierarchyid: string;\r\n claccountid: string;\r\n}\r\n\r\nexport const FrequencyTypeMap = {\r\n [Frequency.NotSpecified]: \"Not Specified\",\r\n [Frequency.Daily]: \"Daily\",\r\n [Frequency.Weekly]: \"Weekly\",\r\n [Frequency.Monthly]: \"Monthly\",\r\n [Frequency.Quarterly]: \"Quarterly\",\r\n [Frequency.HalfYearly]: \"Half Yearly\",\r\n [Frequency.Yearly]: \"Yearly\",\r\n [Frequency.Fortnightly]: \"Fortnightly\",\r\n [Frequency.Termly]: \"Termly\",\r\n};\r\n\r\nexport const footerLabels = {\r\n supportLabel: \"Support\",\r\n platformSettingsLabel: \"Settings\",\r\n helpAndSupportLabel: \"Help and guides\",\r\n newsLabel: \" Platform news and updates\",\r\n settingsLabel: \"Platform settings\",\r\n};\r\n\r\nexport const overlayLabels = {\r\n [SideMenu.Account]: \"Accounts\",\r\n [SideMenu.Dashboard]: \"Dashboard\",\r\n [SideMenu.BusinessManagement]: \"Business management\",\r\n [SideMenu.ToolLiterature]: \"Tools and literature\",\r\n [SideMenu.Admin]: \"Admin\",\r\n};\r\n\r\nexport const productActionsLabels = {\r\n heading: \"Product actions\",\r\n};\r\n\r\nexport const subMenuLabels = {\r\n newProductLabel: \"New product\",\r\n quoteLabel: \"Quote\",\r\n newBusinessLabel: \"New business\",\r\n createNB: \"Add new account\",\r\n};\r\n\r\nexport const accountsPageLabels = {\r\n newClient: \"New client\",\r\n newProduct: \"New product\",\r\n runReport: \"Run report\",\r\n businessManagementRouteLabel: \"business-management\",\r\n toolsAndLiteratureRouteLabel: \"tools-and-literature\",\r\n adminRouteLabel: \"admin\",\r\n accountsRouteLabel: \"account\",\r\n clientsRouteLabel: \"customer\",\r\n dashboardRouteLabel: \"dashboard\",\r\n businessInsightClassName: \"insight\",\r\n accountsClassName: \"accounts\",\r\n toolsAndLiteratureClassName: \"literature\",\r\n adminClassName: \"admin\",\r\n dashboardClassName: \"dashboard\",\r\n clientsClassName: \"customers\",\r\n};\r\n\r\nexport const FooterContents = {\r\n WebsiteBrandAndProviderDetails: \"Platform and product provider details\",\r\n ProviderDetailsParagraph1:\r\n \"Wrap Platform and Fundzone are provided by Standard Life Savings Limited, (SC180203), which is part of abrdn group and is authorised and regulated by the Financial Conduct Authority.\",\r\n ProviderDetailsParagraph2:\r\n \"abrdn Connect is operated by abrdn group, which comprises abrdn plc (SC286832) and its subsidiaries.\",\r\n ProviderDetailsParagraph3:\r\n \"All companies are registered in Scotland at 1 George Street, Edinburgh, United Kingdom, EH2 2LL.\",\r\n ProviderDetailsParagraph4: \"For more information on abrdn group visit our website \",\r\n ProviderDetailsParagraph4Link: \"www.abrdn.com\",\r\n ProviderDetailsParagraph5: \"Copyright © abrdn plc 2021. All rights reserved.\",\r\n ProviderDetailsParagraph:\r\n \"Wrap Platform and Fundzone are provided by Standard Life Savings Limited, (SC180203), which is part of abrdn group and is authorised and regulated by the Financial Conduct Authority. abrdn Connect is operated by abrdn group, which comprises abrdn plc (SC286832) and its subsidiaries. All companies are registered in Scotland at 1 George Street, Edinburgh, United Kingdom, EH2 2LL.\",\r\n};\r\n\r\nexport const searchTooltipMessage =\r\n \"User can search on first name(s), surname, organisation or account number here. To search in the most efficient manner, enter as much of the name/number you know first. Alternatively, click Advanced search for additional search criteria\";\r\n","export class DashboardContents {\r\n public static None = \"None\";\r\n public static ISAAllowanceRemaining = \"ISA allowance remaining\";\r\n public static RegularPaymentInAndFrequency = \"Regular payment in\";\r\n public static NA = \"N/A\";\r\n public static NextRegularWithdrawalDate = \"Next regular withdrawal date\";\r\n public static ClientRegularPaymentIn = \"Regular payment in\";\r\n public static ThirdPartyRegularPaymentIn = \"Regular third party payment in\";\r\n public static EmployerRegularPaymentIn = \"Regular employer payment in\";\r\n public static IndividualSDRegularPaymentIn = \"Salary deduction payments in\";\r\n public static nextRegularIncomePayment = \"Next regular income\";\r\n public static IncomePayment = \"Regular income\";\r\n public static nextRegularPaymentIn = \"Regular payment in\";\r\n public static zeroValue = \"0.00\";\r\n public static nextRegularWithdrawal = \"Regular withdrawal\";\r\n public static ServiceDown = \"Not currently available\";\r\n public static ChangeInValueTooltip1 =\r\n \"This will display £ change over past 12 months where account has been active for > one year\";\r\n public static ChangeInValueTooltip2 = \"Where account is < 12 months old this shall be from date of inception\";\r\n}\r\n\r\nexport const DLUAccountPages = [\r\n \"/clients/performance/chargessummarydocument.aspx\",\r\n \"/clients/Tracking/Reregistration-transfers.aspx\",\r\n \"/clients/orders/orders.aspx\",\r\n \"/clients/cash/manageincome.aspx\",\r\n \"/clients/orders/isasubscriptions.aspx\",\r\n \"/clients/orders/conversions.aspx\",\r\n \"/clients/tracking/WIP.aspx\",\r\n \"/clients/tracking/WorkCompleted.aspx\",\r\n \"/clients/transactions/transactions-cashledger.aspx\",\r\n \"/clients/clientdetails/mifirdecisionmakers.aspx\",\r\n \"/clients/clientdetails/clientdetails-impairedholdings.aspx\",\r\n \"/clients/fees/fees-Clientschedules.aspx\",\r\n \"/clients/review/Review-TargetInvestmentSelection.aspx\",\r\n \"/clients/reports/Reports-Request.aspx\",\r\n \"/clients/reports/reports-requestchargesdisclosure.aspx\",\r\n];\r\n\r\nexport const isDLU = (): boolean => {\r\n return window.location.pathname.includes(\".aspx\");\r\n};\r\n","import { JsonDateParser } from \"../../../react-core/Utils/JsonDateParser\";\r\nimport { UserClaim } from \"../../../Wrap/Constants/Enums/UserClaim\";\r\nimport { ProcessType } from \"../../Shared/IST/Resource/Content\";\r\nimport { checkPermission } from \"../../Shared/Permission/PermissionHelper\";\r\nimport { TransactionEnum } from \"../Components/Clients/PortfolioDashboard/Components/Transactions/Resource/Contents\";\r\n\r\nexport class StaticUrls {\r\n public static EmptyUrl = \"javascript:void(0);\";\r\n public static Withdraw = \"Withdraw\";\r\n public static Deposit = \"Deposit\";\r\n public static SinglePayment = \"Single payment\";\r\n public static RegularPayment = \"Add regular payment\";\r\n public static RegularPaymentEdit = \"Edit regular payment\";\r\n public static Buy = \"Buy\";\r\n public static Sell = \"Sell\";\r\n public static Switch = \"Switch\";\r\n public static PensionBenefits = \"Take pension benefits\";\r\n public static IncomePaymentOneOff = \"One-off income payment\";\r\n public static ClientDashboard = \"Client dashbaord\";\r\n public static UpdateLifetimeAllowance = \"Update lifetime allowance\";\r\n public static WhatIfTool = \"Launch 'What if' Tool\";\r\n public static NoChangeTool = \"Launch 'No change' Tool\";\r\n public static LaunchApps = \"Launch Apps\";\r\n\r\n private static today = JsonDateParser.getFormatDateString(new Date(), \"yyyy-MM-dd\");\r\n\r\n public static WithdrawUrl(clAccountId: string): string {\r\n return `/clients/cash/regularwithdrawals.aspx?claccountid=${clAccountId}`;\r\n }\r\n\r\n public static NBEC(clAccountId: string, bondonly = false, instructionId = 0): string {\r\n return `/clients/newbusiness/newtransfer.aspx?filter=newbusinessexistingclient&needclient=1&claccountid=${clAccountId}&asatdate=${this.today}&todate=${this.today}&bondonly=${bondonly}&instructionId=${instructionId}`;\r\n }\r\n\r\n public static NBECBond(clAccountId: string, instructionId = 0, wizardSessionId: number): string {\r\n return `/Clients/ChangeContribution/TaxPlanning.aspx?wizardsessionid=${wizardSessionId}&claccountid=${clAccountId}&instructionid=${instructionId}`;\r\n }\r\n\r\n public static NBECSIPP(clAccountId: string, instructionId = 0, wizardSessionId: number): string {\r\n return `/clients/transfers/Assets1.aspx?wizardsessionid=${wizardSessionId}&claccountid=${clAccountId}&rtype=&bondonly=false&instructionid=${instructionId}`;\r\n }\r\n\r\n public static SippDetail(clAccountId: string): string {\r\n return `/clients/holdings/holdings-sippdetail.aspx?claccountid=${clAccountId}&searchresultsurl=https%3A%2F%2Fslrebrandacct.fnz.co.uk%2Fclients%2Fholdings%2Fholdings-summarynoclient.aspx%3Fusermsg%3DQ1F6NC81dFNpSXpHVnZkMCtETmJlS2EyUXpuZWVWYmsvWnFDS21UdmFXMlhwaVdqMFVRdmx3Q254ZzVJNUxiSHRGelV5bmI2VFk2TG1Cck5PT1BkdUE9PQ%3D%3D`;\r\n }\r\n\r\n public static CreateOrder(clAccountId: string): string {\r\n if (!checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite)) {return null;}\r\n return `/clients/orders/orders-mixed-setup.aspx?claccountid=${clAccountId}&asatdate=${this.today}`;\r\n }\r\n\r\n public static DepositUrl(\r\n clAccountId: string,\r\n actionType: string,\r\n cashId: string,\r\n subType?: string,\r\n instructionType?: string,\r\n override?: string\r\n ): string {\r\n let url = `/clients/cash/Cash-Deposit.aspx?actiontype=${actionType}&claccountid=${clAccountId}&cashid=${cashId}`;\r\n if (subType != null) {\r\n url = url + `&subtype=${subType}`;\r\n }\r\n if (instructionType != null) {\r\n url = url + `&InstructionType=${instructionType}`;\r\n }\r\n if (override != null) {\r\n url = url + `&override=${override}`;\r\n }\r\n return url;\r\n }\r\n\r\n public static QuoteReadyUrl(customerId: string, instructionId: string): string {\r\n return `/wpadviser/en-gb/dashboard/home/main/client/new-quote/quote-ready?customerid=${customerId}&id=${instructionId}`;\r\n }\r\n\r\n public static FullClientDetailsUrl(customerId: string, instructionId: string, isReview?: boolean): string {\r\n const landOn = isReview ? \"review\" : \"full-client-detail\";\r\n return `/wpadviser/en-gb/dashboard/home/main/client/new-business/${landOn}?customerid=${customerId}&id=${instructionId}`;\r\n }\r\n\r\n public static ClientDashboardUrl(hierarchyId: string, tab?: string): string {\r\n return `/wpadviser/en-gb/dashboard/home/main/customer/${hierarchyId}/${tab}`;\r\n }\r\n\r\n public static WrapperSelectionUrl(customerId: string, instructionId: string, processType: ProcessType): string {\r\n if (processType == ProcessType.Quote) {\r\n return `/wpadviser/en-gb/dashboard/home/main/client/new-quote/wrapper-selection?customerid=${customerId}&id=${instructionId}`;\r\n }\r\n }\r\n public static QuoteWrapperSelectionUrlCustomer(customerId: string): string {\r\n return `/wpadviser/en-gb/dashboard/home/main/client/new-quote/wrapper-selection?customerid=${customerId}`;\r\n }\r\n\r\n public static SinglePaymentUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n isReview?: boolean\r\n ) {\r\n if (!checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)) {return null;}\r\n const landOn = isReview ? \"review\" : \"payments-in\";\r\n return `/wpadviser/en-gb/dashboard/home/main/client/single-payment-transfer/${landOn}?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static BuyUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string\r\n ) {\r\n if (!checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite)) {return null;}\r\n return `/wpadviser/en-gb/dashboard/home/main/client/buy/order-setup?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static RegularPaymentUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n action: \"add\" | \"edit\" = \"add\",\r\n clientBatchId: number = null,\r\n isReview?: boolean\r\n ) {\r\n if (!checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)) {return null;}\r\n const landOn = isReview ? \"review\" : \"payments-in\";\r\n return `/wpadviser/en-gb/dashboard/home/main/client/regular-payment/${landOn}?${\r\n clientBatchId ? `batchid=${clientBatchId}&` : \"\"\r\n }action=${action}&${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static WhatIfToolUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n clientBatchId: number = null,\r\n isReview?: boolean\r\n ) {\r\n //TODO : temp fix need to double check the permission with SC\r\n if (!checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)) {return null;}\r\n const landOn = isReview ? \"review\" : \"wrapper-selection\";\r\n return `/wpadviser/en-gb/dashboard/home/main/client/whatiftool/${landOn}?${\r\n clientBatchId ? `batchid=${clientBatchId}&` : \"\"\r\n }${this.getParamsForSubAccountWizard(type, clAccountId, headAccountHierarchyId, subAccountHierarchyId)}`;\r\n }\r\n\r\n public static NoChangeToolUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n isReview?: boolean\r\n ) {\r\n if (!checkPermission(UserClaim.AdviserPortalSPTAndRegularPaymentReadWrite)) {return null;}\r\n return `/wpadviser/en-gb/dashboard/home/main/client/nochangetool/review?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static SwitchUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string\r\n ) {\r\n if (!checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite)) {return null;}\r\n return `/wpadviser/en-gb/dashboard/home/main/client/switch/order-setup?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static SellUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string\r\n ) {\r\n if (!checkPermission(UserClaim.AdviserPortalBuySellSwitchReadWrite)) {return null;}\r\n return `/wpadviser/en-gb/dashboard/home/main/client/sell/order-setup?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static PensionBenefitsUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n isReview?: boolean\r\n ) {\r\n //TODO confirm with Dan if we need to do this now\r\n const landOn = isReview ? \"review\" : \"pension-benefits-details\";\r\n return `/wpadviser/en-gb/dashboard/home/main/client/pension-benefits/${landOn}?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static TopupUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n isReview?: boolean\r\n ) {\r\n //TODO confirm with Dan if we need to do this now\r\n const landOn = isReview ? \"review\" : \"payments-in\";\r\n return `/wpadviser/en-gb/dashboard/home/main/client/top-up-with-itfls/${landOn}?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n public static IncomePaymentOneOffUrl(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string,\r\n isReview?: boolean\r\n ) {\r\n //TODO Pension stuff need build in pension permission\r\n const landOn = isReview ? \"review\" : \"incomepayment-detail\";\r\n return `/wpadviser/en-gb/dashboard/home/main/client/incomepayment-oneoff/${landOn}?${this.getParamsForSubAccountWizard(\r\n type,\r\n clAccountId,\r\n headAccountHierarchyId,\r\n subAccountHierarchyId\r\n )}`;\r\n }\r\n\r\n private static getParamsForSubAccountWizard(\r\n type: string,\r\n clAccountId: string,\r\n headAccountHierarchyId: string,\r\n subAccountHierarchyId: string\r\n ) {\r\n return `type=${type}&claccountid=${clAccountId}&hierarchyid=${headAccountHierarchyId}${\r\n subAccountHierarchyId === \"\" ? \"\" : `&subaccounthierarchyid=${subAccountHierarchyId}`\r\n }`;\r\n }\r\n\r\n public static UpdateLifetimeAllowanceUrl(headAccountHierarchyId: string, subAccountHierarchyId: string) {\r\n //TODO pension stuff, need build with pension permission build\r\n if (subAccountHierarchyId === \"\")\r\n {return `/wpadviser/en-gb/dashboard/home/main/client/update-lifetime-allowance/update-lifetime-allowance-detail?hierarchyid=${headAccountHierarchyId}`;}\r\n return `/wpadviser/en-gb/dashboard/home/main/client/update-lifetime-allowance/update-lifetime-allowance-detail?hierarchyid=${subAccountHierarchyId}`;\r\n }\r\n public static ppToSsIsaUrl(subClaccountId: string) {\r\n return `/clients/orders/pptoisafeed.aspx?claccountid=${subClaccountId}`;\r\n }\r\n\r\n public static createClientPortfolioReportUrl(levelHierarchyId: string, headaccounthierarchyId: string) {\r\n return `/wpadviser/en-gb/dashboard/home/main/customer/${levelHierarchyId}/headaccount/${headaccounthierarchyId}/clientreport`;\r\n }\r\n\r\n public static transactionViewsUrls(hierarchyId: string, view: TransactionEnum, headaccounthierarchyId: string) {\r\n return `/wpadviser/en-gb/dashboard/home/main/customer/${hierarchyId}/transactions?transtypeselect=${view}&hierarchyid=${headaccounthierarchyId}`;\r\n }\r\n\r\n public static reviewCompleteUrl(wizardSessionId: string, clAccountId: string) {\r\n return `/clients/review/Complete.aspx?wizardsessionid=${wizardSessionId}&claccountid=${clAccountId}`;\r\n }\r\n\r\n public static completedWizardUrl(wizardSessionId: string, clAccountId: string) {\r\n return `/clients/wizards/CompleteWizard.aspx?wizardsessionid=${wizardSessionId}&claccountid=${clAccountId}`;\r\n }\r\n\r\n public static reregistrationTransfersUrl(clAccountId: string) {\r\n return `/clients/tracking/reregistration-transfers.aspx?claccountid=${clAccountId}&txtStatus=Open`;\r\n }\r\n\r\n public static reviewRegularReviewRebalanceCompleteUrl(wizardSessionId: string, clAccountId: string) {\r\n return `/clients/review/CompleteRebalance.aspx?wizardsessionid=${wizardSessionId}&claccountid=${clAccountId}`;\r\n }\r\n}\r\n","import { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../react-core/Flux/BaseStore\";\r\nimport { AccountRole } from \"../../../Wrap/Models/Domains/Account/AccountRole\";\r\nimport { AccountRoleDispatcher, FluxResponse } from \"./Variable\";\r\nexport interface AccountRoleStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n accountRoles?: AccountRole[];\r\n}\r\nexport class AccountRoleStoreStaic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(AccountRoleDispatcher, (actionData) => this.onAccountRoleStoreResponse(actionData));\r\n }\r\n onAccountRoleStoreResponse(actionData: FluxResponse): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({ accountRoles: actionData.payload, actionType: ActionType.Success, isLoading: false });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getAccountRoles() {\r\n return this.getState().accountRoles;\r\n }\r\n protected getDefaultState(): AccountRoleStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n}\r\n","import { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../react-core/Flux/BaseStore\";\r\nimport { SubAccountType } from \"../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { AccountStatus } from \"../../../Wrap/Models/Domains/Account/SlAccounts/AccountStatus\";\r\nimport { ClientAccount } from \"../../../Wrap/Models/Domains/Account/SlAccounts/ClientAccount\";\r\nimport { SubAccount } from \"../../../Wrap/Models/Domains/Account/SlAccounts/SubAccount\";\r\n\r\nimport { ClientAccountDispatcher } from \"./Variable\";\r\n\r\nexport interface ClientAccountStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n clientAccountInfo?: ClientAccount;\r\n}\r\n\r\nexport class ClientAccountStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ClientAccountDispatcher, (actionData) =>\r\n this.onClientAccountStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): ClientAccountStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ClientAccountStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getClientAccountInfo(): ClientAccount {\r\n return this.getState().clientAccountInfo;\r\n }\r\n\r\n public getHiercharyIdByClAccountId(clAccountId: string): string {\r\n const clientInfo = this.getState().clientAccountInfo;\r\n let accountViewSelected = \"\";\r\n if (clientInfo && clAccountId) {\r\n const subAccount = clientInfo.SubAccounts.filter((x) => x.ClAccountId == clAccountId);\r\n if (subAccount.length > 0) {\r\n accountViewSelected = subAccount[0].HierarchyId;\r\n }\r\n }\r\n return accountViewSelected;\r\n }\r\n\r\n public getActiveClientSubAccounts(): SubAccount[] {\r\n return this.getState().clientAccountInfo.SubAccounts.filter(\r\n (subaccount) => subaccount.Status == AccountStatus.Active || subaccount.Status == AccountStatus.Closing\r\n );\r\n }\r\n\r\n public flushStore(): void {\r\n this.resetState();\r\n }\r\n\r\n private onClientAccountStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n clientAccountInfo: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../react-core/Flux/BaseStore\";\r\nimport { CompanyLogo } from \"../../../Wrap/Models/Domains/Company/CompanyLogo\";\r\nimport { FirmLogoDispatcher } from \"./Variable\";\r\n\r\nexport interface FirmLogoStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n logoUrl?: CompanyLogo;\r\n}\r\n\r\nexport class FirmLogoStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(FirmLogoDispatcher, (actionData) => this.onFirmLogoStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): FirmLogoStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): FirmLogoStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getFirmLogoInfo(): CompanyLogo {\r\n return this.getState().logoUrl;\r\n }\r\n\r\n private onFirmLogoStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n logoUrl: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../react-core/Flux/BaseStore\";\r\nimport { SubAccountType } from \"../../../Wrap/Constants/Enums/Domain/SubAccountType\";\r\nimport { ProductsValuationDetailSummary } from \"../../../Wrap/Models/Domains/Valuation/ProductsValuationDetailSummary\";\r\n\r\nimport { ProductDetailsDispatcher } from \"./Variable\";\r\n\r\nexport interface ProductDetailsStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n detailsSummary?: ProductsValuationDetailSummary;\r\n}\r\n\r\nexport class ProductDetailsStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ProductDetailsDispatcher, (actionData) =>\r\n this.onProductDetailsStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): ProductDetailsStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ProductDetailsStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getProductDetails(): ProductsValuationDetailSummary {\r\n return this.getState().detailsSummary;\r\n }\r\n\r\n public getSubAccount(productType: SubAccountType) {\r\n const details = this.getState().detailsSummary;\r\n let account = null;\r\n if (details && details.Products) {\r\n const result = details.Products.filter((x) => x.ProductType == productType);\r\n if (result.length > 0) {\r\n account = result[0];\r\n }\r\n }\r\n return account;\r\n }\r\n\r\n private onProductDetailsStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n detailsSummary: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../react-core/Flux/BaseStore\";\r\nimport { TreasuredAssetsDispatcher } from \"./Variable\";\r\n\r\nexport interface TreasuredAssetsStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n treasuredAssetsProductIds?: Array;\r\n}\r\n\r\nexport class TreasuredAssetsStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(TreasuredAssetsDispatcher, (actionData) =>\r\n this.onTreasuredAssetsStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): TreasuredAssetsStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): TreasuredAssetsStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getTreasuredAssetsProductIds(): Array {\r\n return this.getState().treasuredAssetsProductIds;\r\n }\r\n\r\n private onTreasuredAssetsStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n treasuredAssetsProductIds: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../react-core/Flux/BaseStore\";\r\nimport { User } from \"../../../Wrap/Models/Models/User/User\";\r\n\r\nimport { UserDispatcher } from \"./Variable\";\r\n\r\nexport interface UserStoreStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n UserInfo?: User;\r\n}\r\n\r\nexport class UserStoreStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(UserDispatcher, (actionData) =>\r\n this.onUserStoreResponse(actionData)\r\n );\r\n }\r\n\r\n public getLastResult(): UserStoreStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): UserStoreStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getUserInfo(): User {\r\n return this.getState().UserInfo;\r\n }\r\n\r\n private onUserStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false, \r\n UserInfo: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}","import { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../react-core/Flux/Dispatcher\";\r\nimport { AccountRoleStoreStaic as AccountRoleStoreStatic } from \"./AccountRoleStoreStatic\";\r\nimport { ClientAccountStoreStatic } from \"./AccountStoreStatic\";\r\nimport { FirmLogoStoreStatic } from \"./FirmLogoStoreStatic\";\r\nimport { ProductDetailsStoreStatic } from \"./ProductDetailsStoreStatic\";\r\nimport { UserStoreStatic } from \"./UserStoreStatic\";\r\nimport { TreasuredAssetsStoreStatic } from \"./TreasuredAssetsStoreStatic\";\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const ClientAccountDispatcher: Dispatcher = new Dispatcher();\r\nexport const ClientAccountStore: ClientAccountStoreStatic = new ClientAccountStoreStatic();\r\n\r\nexport const ProductDetailsDispatcher: Dispatcher = new Dispatcher();\r\nexport const ProductDetailsStore: ProductDetailsStoreStatic = new ProductDetailsStoreStatic();\r\n\r\nexport const UserDispatcher: Dispatcher = new Dispatcher();\r\nexport const UserStore: UserStoreStatic = new UserStoreStatic();\r\n\r\nexport const AccountRoleDispatcher: Dispatcher = new Dispatcher();\r\nexport const AccountRoleStore: AccountRoleStoreStatic = new AccountRoleStoreStatic();\r\n\r\nexport const FirmLogoDispatcher: Dispatcher = new Dispatcher();\r\nexport const FirmLogoStore: FirmLogoStoreStatic = new FirmLogoStoreStatic();\r\n\r\nexport const TreasuredAssetsDispatcher: Dispatcher = new Dispatcher();\r\nexport const TreasuredAssetsStore: TreasuredAssetsStoreStatic = new TreasuredAssetsStoreStatic();\r\n","import { RootRoute, NestedRouteFragment, ParametrizedRouteFragment, RouteFragment } from \"../../react-core/Imports\";\r\nimport { Secured } from \"./Components/Secured\";\r\nimport { Contents } from \"./Resoures/Contents\";\r\nimport { TransferWizard } from \"../Admin/TransferWizard/Component/TransferWizard\";\r\nimport { SecuredDashboard } from \"./Components/Dashboard/Components/SecuredDashboard\";\r\nimport { AdminDashboard } from \"../Admin/Dashboard/AdminDashboard\";\r\nimport { BusinessManagement } from \"./Components/BusinessManagement/BusinessManagement\";\r\nimport { SearchTable } from \"../Admin/ResidualCashPaymentOutWizard/Components/SearchTable\";\r\nimport { Methods } from \"./Common/CommonHelper\";\r\nimport { NetworkSubmitted } from \"../Admin/Network/Components/NetworkSubmitted\";\r\nimport { NetworkInProgress } from \"../Admin/Network/Components/NetworkInProgress\";\r\nimport { CompanyWizardInProgress } from \"../Admin/Company/CompanyWizard/Components/CompanyWizardInProgress\";\r\nimport { CompanyWizardHistory } from \"../Admin/Company/CompanyWizard/Components/CompanyWizardHistory\";\r\nimport { NewBusinessWizard } from \"./Components/Clients/NewBusinessWizard/Components/NewBusinessWizard\";\r\nimport { CompanySetUp } from \"../Admin/Company/CompanyWizard/Components/CompanySetUp\";\r\nimport { CompanySetupWizard } from \"../Admin/Company/CompanyWizard/Components/CompanySetUpWizard/CompanySetupWizard\";\r\nimport { NetworkWizard } from \"../Admin/Network/Components/NetworkWizard\";\r\nimport { NetworkDashboard } from \"../Admin/Network/Components/NetworkDashboard\";\r\nimport { ViewCompany } from \"../Admin/Company/CompanyWizard/Components/ViewCompany/ViewCompany\";\r\nimport { ClientRecord } from \"./Components/Clients/ClientRecord/ClientRecord\";\r\nimport { NewQuoteWizard } from \"./Components/Clients/NewQuoteWizard/Components/NewQuoteWizard\";\r\nimport { AddClientWizard } from \"./Components/Clients/AddClient/Components/AddClientWizard\";\r\nimport { SinglePaymentTransferWizard } from \"./Components/Clients/SinglePaymentTransferWizard/SinglePaymentTransferWizard\";\r\nimport { BuyWizard } from \"./Components/Clients/Buy/BuyWizard\";\r\nimport { RegularPaymentWizard } from \"./Components/Clients/RegularPaymentWizard/RegularPaymentWizard\";\r\nimport { SellWizard } from \"./Components/Clients/Sell/SellWizard\";\r\nimport { SwitchWizard } from \"./Components/Clients/Switch/SwitchWizard\";\r\nimport { CancelOrderWizard } from \"./Components/Clients/CancelOrder/CancelOrderWizard\";\r\nimport { TopUpWithITFLSWizard } from \"./Components/Clients/TopUpWithITFLSWizard/Components/TopUpWithITFLSWizard\";\r\nimport { PensionBenefitsWizard } from \"./Components/Clients/PensionBenefitsWizard/PensionBenefitsWizard\";\r\nimport { ConvertCappedToFlexiWizard } from \"./Components/Clients/ConvertCappedToFlexiWizard/ConvertCappedToFlexiWizard\";\r\nimport { NewIncomePaymentOneOffWizard } from \"./Components/Clients/NewOneOffIncomePaymentWizard/NewIncomePaymentOneOffWizard\";\r\nimport { UpdateLifetimeAllowanceWizard } from \"./Components/Clients/UpdateLifetimeAllowanceWizard/UpdateLifetimeAllowanceWizard\";\r\nimport { GadReviewWizard } from \"./Components/Clients/GadReviewWizard/GadReviewWizard\";\r\nimport { ToolsAndLiterature } from \"./Components/ToolsAndLiterature/ToolsAndLiterature\";\r\nimport { ResearchInvestmentSelection } from \"./Components/ToolsAndLiterature/Components/ResearchInvestmentSeletionTool\";\r\nimport { BackOffice } from \"./Components/BusinessManagement/BackOffice/Components/BackOffice\";\r\nimport { EditIncomeWithdrawalsWizard } from \"./Components/Clients/EditIncomeWithdrawalsWizard/EditIncomeWithdrawalsWizard\";\r\nimport { CancelRegularCrystallisationWizard } from \"./Components/Clients/CancelRegularCrystallisationWizard/CancelRegularCrystallisationWizard\";\r\nimport { AddLogoWizard } from \"./Components/Settings/AddLogo/Component/AddLogoWizard\";\r\nimport { Settings } from \"./Components/Settings/Settings\";\r\nimport { SelectCustomers } from \"./Components/Clients/CustomerMerge/Components/SelectCustomers\";\r\nimport { CustomerMergeDetails } from \"./Components/Clients/CustomerMerge/Components/CustomerMergeDetails\";\r\nimport { WhatIfToolWizard } from \"./Components/Clients/WhatIfTool/WhatIfToolWizard\";\r\nimport { NoChangeToolWizard } from \"./Components/Clients/NoChangeWizard/NoChangeToolWizard\";\r\nimport { CaptialGainSettingsWizard } from \"./Components/Clients/CapitalGainsSettings/CaptialGainSettingsWizard\";\r\nimport { InterestedPartiesWizard } from \"./Components/Clients/InterestedPartiesWizard/InterestedPartiesWizard\";\r\nimport { AddTrustMembersWizard } from \"./Components/Clients/ClientRecord/AddTrustMember/AddTrustMembersWizard\";\r\nimport { AddBeneficiaryWizard } from \"./Components/Clients/ClientRecord/AddBeneficary/AddBeneficiaryWizard\";\r\nimport { ComponentClass } from \"react\";\r\nimport { ContextActions } from \"../../react-core/Flux/ContextActions\";\r\nimport { ContextType } from \"../../Wrap/Constants/Enums/ContextType\";\r\nimport { PortfolioDashboard } from \"./Components/Clients/PortfolioDashboard/Components/PortfolioDashboard\";\r\nimport { ContextStore } from \"../../react-core/Flux/Variables\";\r\nimport { RouteComponent } from \"react-router\";\r\nimport { CustomerSearch } from \"./Components/Clients/ClientSearch/ClientSearch\";\r\nimport { HistoricWorkflowDashboard } from \"./Components/Workflow/HistoricWorkflowDashboard\";\r\nimport { RemunerationStatement } from \"./Components/Reports/Components/RemunerationStatement\";\r\n\r\nexport class SubAccountUrls extends ParametrizedRouteFragment<{ subaccounthierarchyId: string }> {\r\n constructor(\r\n route: string,\r\n parameters: { subaccounthierarchyId: string },\r\n component: ComponentClass,\r\n parent: RouteFragment,\r\n indexComponent?: RouteComponent | string\r\n ) {\r\n super(route, parameters, component, parent, indexComponent);\r\n\r\n this.onEnter((stuff) => ContextActions.setContext(stuff.subaccounthierarchyId, ContextType.SubAccount));\r\n }\r\n public productOverView = this.createPage(\"productoverview\", PortfolioDashboard);\r\n}\r\n\r\nexport class HeadAccountUrls extends ParametrizedRouteFragment<{ headaccounthierarchyId: string }> {\r\n constructor(\r\n route: string,\r\n parameters: { headaccounthierarchyId: string },\r\n component: ComponentClass,\r\n parent: RouteFragment,\r\n indexComponent?: RouteComponent | string\r\n ) {\r\n super(route, parameters, component, parent, indexComponent);\r\n\r\n this.onEnter((stuff) => ContextActions.setContext(stuff.headaccounthierarchyId, ContextType.Account));\r\n }\r\n public clientReport = this.createPage(\"clientreport\", PortfolioDashboard);\r\n}\r\n\r\nexport class ContextUrls extends ParametrizedRouteFragment<{ hierarchyId: string }> {\r\n constructor(\r\n route: string,\r\n parameters: { hierarchyId: string },\r\n component: ComponentClass,\r\n parent: RouteFragment,\r\n indexComponent?: RouteComponent | string\r\n ) {\r\n super(route, parameters, component, parent, indexComponent);\r\n\r\n this.onEnter((stuff) => ContextActions.setContext(stuff.hierarchyId, ContextType.Customer));\r\n }\r\n public summary = this.createPage(\"summary\", PortfolioDashboard);\r\n public investments = this.createPage(\"investments\", PortfolioDashboard);\r\n public insights = this.createPage(\"insights\", PortfolioDashboard);\r\n public activity = this.createPage(\"activity\", PortfolioDashboard);\r\n public transactions = this.createPage(\"transactions\", PortfolioDashboard);\r\n public documents = this.createPage(\"documents\", PortfolioDashboard);\r\n public roles = this.createPage(\"roles\", PortfolioDashboard);\r\n public performance = this.createPage(\"performance\", PortfolioDashboard);\r\n public esg = this.createPage(\"esg\", PortfolioDashboard);\r\n public detail = this.createPage(\"detail\", ClientRecord);\r\n public personalDetail = this.createPage(\"detail/personal-details\", ClientRecord);\r\n public regulatoryChecks = this.createPage(\"detail/regulatory-checks\", ClientRecord);\r\n public regulatory = this.createPage(\"detail/regulatory\", ClientRecord);\r\n public addressDetail = this.createPage(\"detail/address-details\", ClientRecord);\r\n public ContactDetail = this.createPage(\"detail/contact-details\", ClientRecord);\r\n public PensionProtection = this.createPage(\"detail/pension-protection\", ClientRecord);\r\n public OrganisationDetails = this.createPage(\"detail/organisation-details\", ClientRecord);\r\n public TrustServicing = this.createPage(\"detail/trust-servicing\", ClientRecord);\r\n public CompanyDetails = this.createPage(\"detail/company-details\", ClientRecord);\r\n\r\n public productOverView = this.createCustomParamPage<{ subaccounthierarchyId: string }, SubAccountUrls>(\r\n \"subaccount/:subaccounthierarchyId\",\r\n null, // Layouts.ContextLayout,\r\n SubAccountUrls,\r\n \"subaccount\"\r\n );\r\n public clientReport = this.createCustomParamPage<{ headaccounthierarchyId: string }, HeadAccountUrls>(\r\n \"headaccount/:headaccounthierarchyId\",\r\n null, // Layouts.ContextLayout,\r\n HeadAccountUrls,\r\n \"headaccount\"\r\n );\r\n}\r\n\r\nexport class DashobardUrls extends NestedRouteFragment {\r\n public Dashboard = this.createPage(Contents.URLMap.dashboard, SecuredDashboard);\r\n public Notifications = this.createPage(Contents.URLMap.dashboard + \"/notifications\", SecuredDashboard);\r\n public ConfigureNotifications = this.createPage(\r\n Contents.URLMap.dashboard + \"/notifications/configure-notification\",\r\n SecuredDashboard\r\n );\r\n public Admin = this.createPage(Contents.URLMap.admin, AdminDashboard);\r\n public BusinessManagement = this.createPage(Contents.URLMap.BusinessManagement, BusinessManagement);\r\n public Client = this.createPage(Contents.URLMap.customer, CustomerSearch);\r\n public ToolAndLiterature = this.createPage(Contents.URLMap.toolsAndLiterature, ToolsAndLiterature);\r\n public Settings = this.createPage(Contents.URLMap.settings, Settings);\r\n public HistoricWorkflowDashboard = this.createPage(Contents.URLMap.workflow, HistoricWorkflowDashboard);\r\n //Admin\r\n public AccountClosureList = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.accountClosureList}`,\r\n SearchTable\r\n );\r\n public CompanyWizardInprogress = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.companyWizardInProgress}`,\r\n CompanyWizardInProgress\r\n );\r\n public CompanyWizardHistory = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.companyWizardHistory}`,\r\n CompanyWizardHistory\r\n );\r\n public CompanySetup = this.createPage(`${Contents.URLMap.admin}/${Contents.URLMap.companySetup}`, CompanySetUp);\r\n public NetworkSubmitted = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.networkSubmitted}`,\r\n NetworkSubmitted\r\n );\r\n\r\n public NetworkInProgress = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.networkInProgress}`,\r\n NetworkInProgress\r\n );\r\n\r\n public NetworkWizardSetup = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.networkSetup}`,\r\n NetworkDashboard\r\n );\r\n\r\n //customer level dashboard\r\n public PortfolioDashboard = this.createCustomParamPage<{ hierarchyId: string }, ContextUrls>(\r\n \"customer/:hierarchyId\",\r\n null, // Layouts.ContextLayout,\r\n ContextUrls,\r\n \"Customer\"\r\n );\r\n\r\n public currentContext(): ContextUrls {\r\n return this.PortfolioDashboard({ hierarchyId: ContextStore.getContext().hierarchyId });\r\n }\r\n\r\n //Research IST\r\n public ResearchIst = this.createPage(\r\n `${Contents.URLMap.toolsAndLiterature}/${Contents.URLMap.researchIst}`,\r\n ResearchInvestmentSelection\r\n );\r\n\r\n public BackOffice = this.createPage(\r\n `${Contents.URLMap.BusinessManagement}/${Contents.URLMap.backOffice}`,\r\n BackOffice\r\n );\r\n\r\n public RemunerationStatement = this.createPage(\r\n `${Contents.URLMap.reports}/${Contents.URLMap.remunerationstatement}`,\r\n RemunerationStatement\r\n );\r\n\r\n public CustomerMergeSelectCustomers = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.customerMerge}/${Contents.URLMap.selectCustomers}`,\r\n SelectCustomers\r\n );\r\n\r\n public CustomerMergeDetails = this.createPage(\r\n `${Contents.URLMap.admin}/${Contents.URLMap.customerMerge}/${Contents.URLMap.mergeDetails}`,\r\n CustomerMergeDetails\r\n );\r\n}\r\n\r\nexport class UrlsMap extends RootRoute {\r\n public main = this.createCustomPage(\r\n \"main\",\r\n Secured,\r\n DashobardUrls,\r\n ContextStore.getContext().isAdminUser ? \"Customer\" : \"Dashboard\"\r\n );\r\n public TransferWizard = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.transferWizard}`,\r\n TransferWizard\r\n );\r\n\r\n public CancelOrder = this.createPage(\r\n `main/${Contents.URLMap.account}/${Contents.URLMap.cancelOrder}/${Contents.URLMap.cancel}`,\r\n CancelOrderWizard\r\n );\r\n public CancelOrderReview = this.createPage(\r\n `main/${Contents.URLMap.account}/${Contents.URLMap.cancelOrder}/${Contents.URLMap.review}`,\r\n CancelOrderWizard\r\n );\r\n public TransferWizardStepOne = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.transferWizard}/${Contents.URLMap.transferWizardStepOne}`,\r\n TransferWizard\r\n );\r\n public TransferWizardStepTwo = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.transferWizard}/${Contents.URLMap.transferWizardStepTwo}`,\r\n TransferWizard\r\n );\r\n public CompanySetupWizard = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.companySetupWizard}`,\r\n CompanySetupWizard\r\n );\r\n public CompanyViewFirmDetail = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.companyView}/${Contents.URLMap.firmdetail}`,\r\n ViewCompany\r\n );\r\n public CompanyViewCommission = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.companyView}/${Contents.URLMap.remunerationAndValuation}`,\r\n ViewCompany\r\n );\r\n public FirmDetail = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.companySetupWizard}/${Contents.URLMap.firmdetail}`,\r\n CompanySetupWizard\r\n );\r\n public RemunerationAndValuation = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.companySetupWizard}/${Contents.URLMap.remunerationAndValuation}`,\r\n CompanySetupWizard\r\n );\r\n public ValidationAndExcution = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.companySetupWizard}/${Contents.URLMap.validationAndExcute}`,\r\n CompanySetupWizard\r\n );\r\n public Alert = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.companySetupWizard}/${Contents.URLMap.alert}`,\r\n CompanySetupWizard\r\n );\r\n public ServiceProviderNetworkWizard = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.networkSetupWizard}/${Contents.URLMap.networkServiceProvider}`,\r\n NetworkWizard\r\n );\r\n public NetworkDetailsWizard = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.networkSetupWizard}/${Contents.URLMap.networkDetail}`,\r\n NetworkWizard\r\n );\r\n public ValuationNetworkWizard = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.networkSetupWizard}/${Contents.URLMap.remunerationAndValuation}`,\r\n NetworkWizard\r\n );\r\n public ValidationNetworkWizard = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.networkSetupWizard}/${Contents.URLMap.validationAndExcute}`,\r\n NetworkWizard\r\n );\r\n public ConfirmNetworkWizard = this.createPage(\r\n `main/${Contents.URLMap.admin}/${Contents.URLMap.networkSetupWizard}/${Contents.URLMap.confirmation}`,\r\n NetworkWizard\r\n );\r\n public NewQuoteWizard = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteWrapperSelection = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.wrapperSelection}`,\r\n NewQuoteWizard\r\n );\r\n public QuotePaymentsInSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.paymentInSIPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuotePaymentsInISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.paymentInISA}`,\r\n NewQuoteWizard\r\n );\r\n public QuotePaymentsInPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.paymentInPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteAdviserChargesSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.adviserChargesSIPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteAdviserChargesISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.adviserChargesISA}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteWithdrawalsISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.withdrawalsISA}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteAdviserChargesPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.adviserChargesPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteInvestmentSelectionSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.investmentSelectionSIPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteSIPPComplete = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.completeSIPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteISAComplete = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.completeISA}`,\r\n NewQuoteWizard\r\n );\r\n public QuotePPComplete = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.completePP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteInvestmentSelectionISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.investmentSelectionISA}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteInvestmentSelectionPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.investmentSelectionPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteWithdrawalsPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.withdrawalsPP}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteReady = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.quoteReady}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteDrawdownDetailSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.drawdownDetailSipp}`,\r\n NewQuoteWizard\r\n );\r\n public QuoteIncomePaymentSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newQuoteWizard}/${Contents.URLMap.incomePaymentsSIPP}`,\r\n NewQuoteWizard\r\n );\r\n public NewBusinessWizard = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}`,\r\n NewBusinessWizard\r\n );\r\n public FullClientDetail = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.fullClientDetail}`,\r\n NewBusinessWizard\r\n );\r\n public WrapperSelection = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.wrapperSelection}`,\r\n NewBusinessWizard\r\n );\r\n public NBPaymentsInSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.paymentInSIPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBAdviserChargesSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.adviserChargesSIPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBInvestmentSelectionSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.investmentSelectionSIPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBIncomePaymentsSIPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.incomePaymentsSIPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBSIPPComplete = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.completeSIPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBISAComplete = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.completeISA}`,\r\n NewBusinessWizard\r\n );\r\n public NBPPComplete = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.completePP}`,\r\n NewBusinessWizard\r\n );\r\n public NBPaymentsInISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.paymentInISA}`,\r\n NewBusinessWizard\r\n );\r\n public NBAdviserChargesISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.adviserChargesISA}`,\r\n NewBusinessWizard\r\n );\r\n public NBInvestmentSelectionISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.investmentSelectionISA}`,\r\n NewBusinessWizard\r\n );\r\n public NBWithdrawalsISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.withdrawalsISA}`,\r\n NewBusinessWizard\r\n );\r\n public NBPaymentsInPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.paymentInPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBAdviserChargesPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.adviserChargesPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBInvestmentSelectionPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.investmentSelectionPP}`,\r\n NewBusinessWizard\r\n );\r\n public NBWithdrawalsPP = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.withdrawalsPP}`,\r\n NewBusinessWizard\r\n );\r\n public PaymentsInISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.paymentInISA}`,\r\n NewBusinessWizard\r\n );\r\n public AdviserChargesISA = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.adviserChargesISA}`,\r\n NewBusinessWizard\r\n );\r\n public NBPaymentsInWrapCash = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.paymentsInWrapCash}`,\r\n NewBusinessWizard\r\n );\r\n public NBPaymentsInLegacyProduct = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.paymentsInLegacyProduct}`,\r\n NewBusinessWizard\r\n );\r\n public InvestmentSelection = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.investmentSelectionISA}`,\r\n NewBusinessWizard\r\n );\r\n public RegularWithdrawalsNewbusiness = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.regularWithdrawals}`,\r\n NewBusinessWizard\r\n );\r\n public DrawdownNewbusiness = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.drawdownDetailSipp}`,\r\n NewBusinessWizard\r\n );\r\n public NewBusinessDisinvestmentStrategy = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.disinvestmentStrategy}`,\r\n NewBusinessWizard\r\n );\r\n public NewBusinessReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.review}`,\r\n NewBusinessWizard\r\n );\r\n public DocumentAndDeclarations = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.documentAndDeclarations}`,\r\n NewBusinessWizard\r\n );\r\n public Confirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.newBusinessWizard}/${Contents.URLMap.confirmation}`,\r\n NewBusinessWizard\r\n );\r\n public ClientType = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.addClientWizard}/${Contents.URLMap.clientType}`,\r\n AddClientWizard\r\n );\r\n public ClientDetails = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.addClientWizard}/${Contents.URLMap.clientDetails}`,\r\n AddClientWizard\r\n );\r\n\r\n public TrustDetail = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.addClientWizard}/${Contents.URLMap.trustDetail}`,\r\n AddClientWizard\r\n );\r\n public TrustMember = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.addClientWizard}/${Contents.URLMap.trustMember}`,\r\n AddClientWizard\r\n );\r\n\r\n public CorporateDetail = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.addClientWizard}/${Contents.URLMap.corporateDetail}`,\r\n AddClientWizard\r\n );\r\n\r\n public CorporateMember = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.addClientWizard}/${Contents.URLMap.corporateMember}`,\r\n AddClientWizard\r\n );\r\n\r\n // SP/T Wizard\r\n public SPTPaymentsIn = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.spt}/${Contents.URLMap.paymentIn}`,\r\n SinglePaymentTransferWizard\r\n );\r\n public SPTAdviserCharge = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.spt}/${Contents.URLMap.adviserCharges}`,\r\n SinglePaymentTransferWizard\r\n );\r\n public SPTist = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.spt}/${Contents.URLMap.ist}`,\r\n SinglePaymentTransferWizard\r\n );\r\n public SPTreview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.spt}/${Contents.URLMap.review}`,\r\n SinglePaymentTransferWizard\r\n );\r\n public SPTdoc = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.spt}/${Contents.URLMap.documentAndDeclarations}`,\r\n SinglePaymentTransferWizard\r\n );\r\n public SPTconfirm = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.spt}/${Contents.URLMap.confirmation}`,\r\n SinglePaymentTransferWizard\r\n );\r\n\r\n // what if tool wizard\r\n public WhatIfToolChangesModel = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.wrapperSelection}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolClientDetail = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.clientDetails}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolPaymentsIn = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.paymentIn}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolAdviserCharge = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.adviserCharges}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolAdHocCharge = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.adHocAdviserCharge}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolInvestmentSelection = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.ist}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolOneOffWithdrawal = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.oneOffWithdrawal}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolRegularWithdrawal = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.regularWithdrawals}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.review}`,\r\n WhatIfToolWizard\r\n );\r\n public WhatIfToolConfirm = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.whatIfTool}/${Contents.URLMap.confirmation}`,\r\n WhatIfToolWizard\r\n );\r\n\r\n //no change wizard\r\n public NoChangeToolReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.noChangeTool}/${Contents.URLMap.review}`,\r\n NoChangeToolWizard\r\n );\r\n public NoChangeToolConfirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.noChangeTool}/${Contents.URLMap.confirmation}`,\r\n NoChangeToolWizard\r\n );\r\n\r\n //buy wizard\r\n public BuyOrderSetup = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.buy}/${Contents.URLMap.orderSetup}`,\r\n BuyWizard\r\n );\r\n public BuyInvestmentSelection = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.buy}/${Contents.URLMap.ist}`,\r\n BuyWizard\r\n );\r\n public BuyReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.buy}/${Contents.URLMap.review}`,\r\n BuyWizard\r\n );\r\n public BuyConfiramation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.buy}/${Contents.URLMap.confirmation}`,\r\n BuyWizard\r\n );\r\n\r\n // Regular Payment Wizard\r\n public RegularPaymentsIn = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.regularPayment}/${Contents.URLMap.paymentIn}`,\r\n RegularPaymentWizard\r\n );\r\n public RegularPaymentAdviserCharge = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.regularPayment}/${Contents.URLMap.adviserCharges}`,\r\n RegularPaymentWizard\r\n );\r\n public RegularPaymentIst = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.regularPayment}/${Contents.URLMap.ist}`,\r\n RegularPaymentWizard\r\n );\r\n public RegularPaymentReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.regularPayment}/${Contents.URLMap.review}`,\r\n RegularPaymentWizard\r\n );\r\n public RegularPaymentDoc = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.regularPayment}/${Contents.URLMap.documentAndDeclarations}`,\r\n RegularPaymentWizard\r\n );\r\n public RegularPaymentConfirm = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.regularPayment}/${Contents.URLMap.confirmation}`,\r\n RegularPaymentWizard\r\n );\r\n\r\n // top up with ITFLS wizard\r\n public TopUpWithITFLSPaymentsIn = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.topUpWithITFLS}/${Contents.URLMap.paymentIn}`,\r\n TopUpWithITFLSWizard\r\n );\r\n public TopUpWithITFLSIST = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.topUpWithITFLS}/${Contents.URLMap.ist}`,\r\n TopUpWithITFLSWizard\r\n );\r\n public TopUpWithITFLSDrawdown = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.topUpWithITFLS}/${Contents.URLMap.drawdownDetail}`,\r\n TopUpWithITFLSWizard\r\n );\r\n public TopUpWithITFLSIncomePayment = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.topUpWithITFLS}/${Contents.URLMap.incomePayment}`,\r\n TopUpWithITFLSWizard\r\n );\r\n public TopUpWithITFLSReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.topUpWithITFLS}/${Contents.URLMap.review}`,\r\n TopUpWithITFLSWizard\r\n );\r\n public TopUpWithITFLSDocumentsAndDeclarations = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.topUpWithITFLS}/${Contents.URLMap.documentAndDeclarations}`,\r\n TopUpWithITFLSWizard\r\n );\r\n public TopUpWithITFLSComfirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.topUpWithITFLS}/${Contents.URLMap.confirmation}`,\r\n TopUpWithITFLSWizard\r\n );\r\n\r\n //sell wizard\r\n public SellOrderSetup = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.sell}/${Contents.URLMap.orderSetup}`,\r\n SellWizard\r\n );\r\n public SellInvestmentSelection = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.sell}/${Contents.URLMap.ist}`,\r\n SellWizard\r\n );\r\n public SellReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.sell}/${Contents.URLMap.review}`,\r\n SellWizard\r\n );\r\n public SellConfiramation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.sell}/${Contents.URLMap.confirmation}`,\r\n SellWizard\r\n );\r\n\r\n //switch wizard\r\n public SwitchOrderSetup = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.switch}/${Contents.URLMap.orderSetup}`,\r\n SwitchWizard\r\n );\r\n public SwitchFrom = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.switch}/${Contents.URLMap.switchFrom}`,\r\n SwitchWizard\r\n );\r\n public SwitchTo = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.switch}/${Contents.URLMap.switchTo}`,\r\n SwitchWizard\r\n );\r\n public SwitchReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.switch}/${Contents.URLMap.review}`,\r\n SwitchWizard\r\n );\r\n public SwitchConfiramation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.switch}/${Contents.URLMap.confirmation}`,\r\n SwitchWizard\r\n );\r\n\r\n // One Off Income Payment Wizard\r\n public IncomePaymentOneOffDetail = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.incomePaymentOneOff}/${Contents.URLMap.incomePaymentOneOffDetail}`,\r\n NewIncomePaymentOneOffWizard\r\n );\r\n public IncomePaymentOneOffReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.incomePaymentOneOff}/${Contents.URLMap.incomePaymentOneOffReview}`,\r\n NewIncomePaymentOneOffWizard\r\n );\r\n public IncomePaymentOneOffConfirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.incomePaymentOneOff}/${Contents.URLMap.incomePaymentOneOffConfirmation}`,\r\n NewIncomePaymentOneOffWizard\r\n );\r\n\r\n // Update lifetime allowance\r\n public UpdateLifetimeAllowanceDetail = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.updateLifetimeAllowance}/${Contents.URLMap.updateLifetimeAllowanceDetail}`,\r\n UpdateLifetimeAllowanceWizard\r\n );\r\n public UpdateLifetimeAllowanceConfirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.updateLifetimeAllowance}/${Contents.URLMap.confirmation}`,\r\n UpdateLifetimeAllowanceWizard\r\n );\r\n\r\n //pension benefits wizard\r\n public PensionBenefitsDetails = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.pensionBenefits}/${Contents.URLMap.pensionBenefitsDetails}`,\r\n PensionBenefitsWizard\r\n );\r\n public PensionBenefitsIncomePaymentDetails = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.pensionBenefits}/${Contents.URLMap.incomePayment}`,\r\n PensionBenefitsWizard\r\n );\r\n public PensionBenefitsReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.pensionBenefits}/${Contents.URLMap.review}`,\r\n PensionBenefitsWizard\r\n );\r\n public PensionBenefitsConfiramation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.pensionBenefits}/${Contents.URLMap.confirmation}`,\r\n PensionBenefitsWizard\r\n );\r\n\r\n //Convert capped to flexi wizard\r\n public ConvertToFlexiSelectArrangement = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.convertCappedToFlexiWizard}/${Contents.URLMap.selectArrangement}`,\r\n ConvertCappedToFlexiWizard\r\n );\r\n\r\n public ConvertToFlexiReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.convertCappedToFlexiWizard}/${Contents.URLMap.review}`,\r\n ConvertCappedToFlexiWizard\r\n );\r\n\r\n public ConvertToFlexiConfirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.convertCappedToFlexiWizard}/${Contents.URLMap.confirmation}`,\r\n ConvertCappedToFlexiWizard\r\n );\r\n\r\n //gad review wizard\r\n public GadReviewIncomePaymentDetails = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.gadReview}/${Contents.URLMap.incomePayment}`,\r\n GadReviewWizard\r\n );\r\n public GadReviewReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.gadReview}/${Contents.URLMap.review}`,\r\n GadReviewWizard\r\n );\r\n public GadReviewConfiramation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.gadReview}/${Contents.URLMap.confirmation}`,\r\n GadReviewWizard\r\n );\r\n\r\n //edit income withdrawals wizard\r\n public EditIncomeWithdrawalsIncomePaymenDetails = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.editIncomeWithdrawals}/${Contents.URLMap.incomePayment}`,\r\n EditIncomeWithdrawalsWizard\r\n );\r\n\r\n public EditIncomeWithdrawalsReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.editIncomeWithdrawals}/${Contents.URLMap.review}`,\r\n EditIncomeWithdrawalsWizard\r\n );\r\n\r\n public EditIncomeWithdrawalsConfirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.editIncomeWithdrawals}/${Contents.URLMap.confirmation}`,\r\n EditIncomeWithdrawalsWizard\r\n );\r\n\r\n //cancel regualr crystallisation wizard\r\n public CancelRegularCrystallisationReview = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.cancelRegularCrystallisation}/${Contents.URLMap.review}`,\r\n CancelRegularCrystallisationWizard\r\n );\r\n public CancelRegularCrystallisationConfirmation = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.cancelRegularCrystallisation}/${Contents.URLMap.confirmation}`,\r\n CancelRegularCrystallisationWizard\r\n );\r\n\r\n public AddLogo = this.createPage(\r\n `main/${Contents.URLMap.settings}/${Contents.URLMap.addLogo}/${Contents.URLMap.uploadLogo}`,\r\n AddLogoWizard\r\n );\r\n public AddLogoConfirmation = this.createPage(\r\n `main/${Contents.URLMap.settings}/${Contents.URLMap.addLogo}/${Contents.URLMap.confirmation}`,\r\n AddLogoWizard\r\n );\r\n\r\n //CGT\r\n public CapitalGainsSettings = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.cgt}/${Contents.URLMap.cgt}`,\r\n CaptialGainSettingsWizard\r\n );\r\n\r\n // interested parties wizard\r\n public InterestedParties = this.createPage(\r\n `main/${Contents.URLMap.client}/${Contents.URLMap.interestedPartiesWizard}/${Contents.URLMap.clientDetails}`,\r\n InterestedPartiesWizard\r\n );\r\n\r\n //add trust member\r\n public AddTrustMember = this.createPage(\r\n `main/${Contents.URLMap.customer}/${Contents.URLMap.trustMember}/${Contents.URLMap.trustMember}`,\r\n AddTrustMembersWizard\r\n );\r\n\r\n //add beneficiary\r\n public AddBeneficiary = this.createPage(\r\n `main/${Contents.URLMap.customer}/${Contents.URLMap.trustMember}/${Contents.URLMap.beneficiary}`,\r\n AddBeneficiaryWizard\r\n );\r\n}\r\n\r\nexport class Urls {\r\n public static get(): UrlsMap {\r\n Urls.urls = Urls.urls || new UrlsMap(null, \"main\");\r\n return Urls.urls;\r\n }\r\n\r\n public static getCurrentUrl(): string {\r\n const url = window.location.pathname;\r\n const startIndex = Methods.findParam(url, \"/\", 5) + 1;\r\n const lastIndex = Methods.findParam(url, \"/\", 6) - 1;\r\n if (lastIndex < 0) {\r\n return url.substr(startIndex);\r\n }\r\n return url.substr(startIndex, lastIndex - startIndex + 1);\r\n }\r\n\r\n private static urls: UrlsMap;\r\n}\r\n","import { AdviserConfiguration } from \"../../../Wrap/Models/Models/Adviser/Configuration/AdviserConfiguration\";\r\nimport { AdviserConfigurationInstruction } from \"../../../Wrap/Models/Models/Adviser/Configuration/AdviserConfigurationInstruction\";\r\nimport { AdviserConfigurationInstructionUpdateAction } from \"../../../Wrap/Constants/Enums/Domain/AdviserConfigurationInstructionUpdateAction\";\r\nimport { ServiceValidationError as Error } from \"../../../Wrap/Core/DataTypes/ServiceValidation/ServiceValidationError\";\r\nimport { AdviserConfigurationCollection } from \"../../../Wrap/Models/Models/Adviser/Configuration/AdviserConfigurationCollection\";\r\nimport { CreateAdviserConfigurationInstructionQuery as PostCreateQuery } from \"../../../Wrap/Models/Models/Adviser/Configuration/CreateAdviserConfigurationInstructionQuery\";\r\nimport { Company } from \"../../../Wrap/Models/Models/Company/Company\";\r\nimport { CompanyClient } from \"../../../Wrap/Api/User/Company\";\r\n\r\nimport { AdviserConfigurationClient } from \"../../../Wrap/Api/Adviser/AdviserConfiguration\";\r\nimport { AdviserConfigurationInstructionClient } from \"../../../Wrap/Api/Adviser/AdviserConfigurationInstruction\";\r\nimport { AdviserConfigurationHistoryClient } from \"../../../Wrap/Api/Adviser/AdviserConfigurationHistory\";\r\nimport { UpdateAdviserConfigurationInstructionClient } from \"../../../Wrap/Api/Adviser/UpdateAdviserConfigurationInstruction\";\r\nimport { SubmitAdviserConfigurationInstructionClient } from \"../../../Wrap/Api/Adviser/SubmitAdviserConfigurationInstruction\";\r\nimport { CancelAdviserConfigurationInstructionClient } from \"../../../Wrap/Api/Adviser/CancelAdviserConfigurationInstruction\";\r\n\r\nimport { SharedDispatcher } from \"../Stores/Variable\";\r\nimport { CustomActionType } from \"../Stores/SharedStoreStatic\";\r\n\r\nexport class LandingAction {\r\n public static loadUserCompany(callBack?: (val: Company) => void): void {\r\n const client = new CompanyClient();\r\n const promise = client.get();\r\n promise.onSuccess((company) => {\r\n SharedDispatcher.dispatch({\r\n actionType: CustomActionType.GetCompany,\r\n payload: company,\r\n });\r\n if (callBack) {\r\n callBack(company);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getAdviserConfiguration(hierarchyId: string, callBack: (val: AdviserConfiguration) => void) {\r\n const client = new AdviserConfigurationClient();\r\n const promise = client.get(hierarchyId);\r\n\r\n promise.onSuccess((res) => {\r\n callBack(res);\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getConfigureData(\r\n instructionId: number,\r\n callBack?: (val: AdviserConfigurationInstruction) => void\r\n ): void {\r\n const client = new AdviserConfigurationInstructionClient();\r\n const promise = client.get(instructionId);\r\n\r\n promise.onSuccess((res) => {\r\n SharedDispatcher.dispatch({ actionType: CustomActionType.Success, payload: res });\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n // Shared.Stores.SharedDispatcher.dispatch({actionType:Shared.Stores.CustomActionType.Error,payload:err})\r\n });\r\n }\r\n\r\n public static getHistory(\r\n hierarchyId: string,\r\n minrow: number,\r\n maxrow: number,\r\n callBack?: (val: AdviserConfigurationCollection) => void\r\n ) {\r\n const client = new AdviserConfigurationHistoryClient();\r\n const promise = client.get(hierarchyId, minrow, maxrow);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static postCreate(query: PostCreateQuery, callBack?: (val: AdviserConfigurationInstruction) => void) {\r\n const client = new AdviserConfigurationInstructionClient();\r\n const promise = client.post(query);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n public static postLog(\r\n adviserConfigurationInstruction: AdviserConfigurationInstruction,\r\n adviserConfigurationInstructionUpdateAction: AdviserConfigurationInstructionUpdateAction,\r\n callBack?: (val: Error[]) => void\r\n ) {\r\n const client = new UpdateAdviserConfigurationInstructionClient();\r\n const promise = client.post(adviserConfigurationInstruction, adviserConfigurationInstructionUpdateAction);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n public static postContactDetails(\r\n adviserConfigurationInstruction: AdviserConfigurationInstruction,\r\n adviserConfigurationInstructionUpdateAction: AdviserConfigurationInstructionUpdateAction,\r\n callBack?: (val: Error[]) => void\r\n ) {\r\n const client = new UpdateAdviserConfigurationInstructionClient();\r\n const promise = client.post(adviserConfigurationInstruction, adviserConfigurationInstructionUpdateAction);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n public static postAssetType(\r\n adviserConfigurationInstruction: AdviserConfigurationInstruction,\r\n adviserConfigurationInstructionUpdateAction: AdviserConfigurationInstructionUpdateAction,\r\n callBack?: (val: Error[]) => void\r\n ) {\r\n const client = new UpdateAdviserConfigurationInstructionClient();\r\n const promise = client.post(adviserConfigurationInstruction, adviserConfigurationInstructionUpdateAction);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n public static postPerformanceMethod(\r\n adviserConfigurationInstruction: AdviserConfigurationInstruction,\r\n adviserConfigurationInstructionUpdateAction: AdviserConfigurationInstructionUpdateAction,\r\n callBack?: (val: Error[]) => void\r\n ) {\r\n const client = new UpdateAdviserConfigurationInstructionClient();\r\n const promise = client.post(adviserConfigurationInstruction, adviserConfigurationInstructionUpdateAction);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n public static postSubmit(instructionId: number, callBack?: (val: AdviserConfiguration) => void) {\r\n const client = new SubmitAdviserConfigurationInstructionClient();\r\n const promise = client.post(instructionId);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n SharedDispatcher.dispatch({ actionType: CustomActionType.SubmitConfig, payload: res });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n public static postCancel(instructionId: number, callBack?: (val: Error[]) => void) {\r\n const client = new CancelAdviserConfigurationInstructionClient();\r\n const promise = client.post(instructionId);\r\n\r\n promise.onSuccess((res) => {\r\n if (callBack) {\r\n callBack(res);\r\n }\r\n SharedDispatcher.dispatch({ actionType: CustomActionType.CancelConfig, payload: res });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { PostCodeAnywhereSearchEditor } from \"../../../react-core/Html/Address/PostCodeAnywhereSearchEditor\";\r\nimport { TextBoxEditor } from \"../../../react-core/Html/TextBoxEditor\";\r\nimport { UkPostCode } from \"../../../react-core/Html/Validation/RegExPatterns\";\r\nimport { CountryCode } from \"../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\nimport { Address as AddressModel } from \"../../../Wrap/Models/Domains/Address/Address\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../Process/Process/ProcessComponent\";\r\n\r\nexport interface IAddressProps extends IProcessComponentProps {\r\n data: AddressModel;\r\n required: boolean;\r\n}\r\n\r\nexport interface IAddressState {}\r\n\r\nexport class Address extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n private onAddressChange(changes) {\r\n let { data } = this.props;\r\n const _data = JSON.parse(JSON.stringify(data || {}));\r\n if (!_data) {\r\n data = this.emptyAddress();\r\n }\r\n for (const key in changes) {\r\n _data[key] = changes[key];\r\n }\r\n this.props.onChange(_data);\r\n }\r\n\r\n render() {\r\n const { data, required } = this.props;\r\n return (\r\n <>\r\n {}}\r\n onAddressSelected={(v) => {\r\n this.props.onChange({\r\n Line1: v.Line1,\r\n Line2: v.Line2,\r\n Line3: v.Line3,\r\n Postcode: v.Postcode,\r\n });\r\n }}\r\n countryCode={CountryCode.GBR}\r\n label={`Address `}\r\n />\r\n this.onAddressChange({ Line1: v })}\r\n />\r\n this.onAddressChange({ Line2: v })}\r\n />\r\n this.onAddressChange({ Line3: v })}\r\n />\r\n this.onAddressChange({ Postcode: v })}\r\n />\r\n \r\n );\r\n }\r\n private emptyAddress(): AddressModel {\r\n return { Line1: null, Line2: null, Line3: null, Line4: null, Postcode: null };\r\n }\r\n}\r\n","import * as classNames from \"classNames\";\r\nimport * as React from \"react\";\r\nimport { Guid } from \"../../../react-core/Utils/Guid\";\r\nimport { ContentTable } from \"../../Admin/Company/CompanyWizard/Resource/Content\";\r\nimport { Contents } from \"../../Dashboard/Components/Clients/PortfolioDashboard/Components/Insights/Resource/Contents\";\r\nimport { Alert } from \"../Components/Alert\";\r\nimport { AlertType } from \"../Entities/Constants/AlertConstants\";\r\n\r\nexport interface IColumnChart {\r\n data: any[];\r\n height?: number;\r\n noDataMsg?: string;\r\n cssWrapper?: string;\r\n maxBarWidth?: number;\r\n}\r\n\r\nexport const ColumnChart = (props: IColumnChart) => {\r\n const { data, height, maxBarWidth } = props;\r\n if (data.length < 1)\r\n {return ;}\r\n const barAreaHeight = height;\r\n let minValue = data.reduce((a: any, b: any) => (a.Value < b.Value ? a : b)).Value;\r\n let maxValue = data.reduce((a: any, b: any) => (a.Value > b.Value ? a : b)).Value;\r\n if (minValue > 0) {minValue = 0;}\r\n if (maxValue < 0) {maxValue = 0;}\r\n const minMaxDifference = maxValue - minValue;\r\n const onePixelValue = barAreaHeight / minMaxDifference;\r\n const XAxisTop = Math.round(barAreaHeight - -minValue * onePixelValue);\r\n const dataLength = data.length;\r\n\r\n const zeroLinePosition = Math.round(barAreaHeight - XAxisTop);\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n 3 ? \"space-around\" : \"flex-start\" }}\r\n >\r\n {data.map((barData: any, index: number) => {\r\n const barHeight = Math.abs(Math.round(barData.Value * onePixelValue));\r\n const barShift = barData.Value < 0 ? XAxisTop : XAxisTop - barHeight;\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n 3 ? \"space-around\" : \"flex-start\" }}\r\n >\r\n {data.map((barData: any) => {\r\n return (\r\n
  • \r\n
    {barData.Value.toFixed(2)}%
    \r\n

    {barData.SectorName}

    \r\n
  • \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n","import * as Highcharts from \"highcharts\";\r\nimport HighchartsReact from \"highcharts-react-official\";\r\nimport * as React from \"react\";\r\nimport { DateHelper } from \"../../../../react-core/Helpers/DateHelper\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\n\r\nexport interface ILineSeries {\r\n name: string;\r\n data: Array<{\r\n xValue: number;\r\n yValue: number;\r\n }>;\r\n}\r\n\r\ninterface ILineChartProps {\r\n title?: string;\r\n yAxis?: {\r\n title?: string;\r\n };\r\n xAxis: {\r\n title?: string;\r\n type: Highcharts.AxisTypeValue;\r\n };\r\n tooltipFormatter: (tooltipContext: Highcharts.TooltipFormatterContextObject) => string;\r\n series: ILineSeries[];\r\n}\r\n\r\nconst LineChart = (props: ILineChartProps) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n function options(): Highcharts.Options {\r\n return {\r\n chart: {\r\n backgroundColor: \"transparent\",\r\n type: \"line\",\r\n style: {\r\n fontFamily: \"inherit\",\r\n },\r\n },\r\n\r\n title: {\r\n text: props.title,\r\n },\r\n\r\n xAxis: {\r\n tickWidth: 0,\r\n type: props.xAxis.type,\r\n labels: {\r\n style: {\r\n color: \"var(--cta1)\",\r\n },\r\n formatter: function () {\r\n const date = new Date(this.value);\r\n const month = JsonDateParser.getMonthNameMapping((date.getMonth() + 1).toString(), true);\r\n const year = JsonDateParser.getFormatDate(JsonDateParser.toJsonDateNoOffset(date), \"yy\");\r\n\r\n const formatDate = month + \"'\" + year;\r\n return formatDate;\r\n },\r\n },\r\n },\r\n\r\n yAxis: {\r\n title: null,\r\n labels: {\r\n style: {\r\n color: \"var(--cta1)\",\r\n },\r\n formatter: function () {\r\n let ret = undefined,\r\n numericSymbols = [\"k\", \"M\", \"B\", \"T\", \"P\", \"E\"],\r\n i = numericSymbols.length;\r\n if (this.value >= 1000) {\r\n while (i-- && ret === undefined) {\r\n const multi = Math.pow(1000, i + 1);\r\n if (this.value >= multi && numericSymbols[i] !== null) {\r\n ret = this.value / multi + numericSymbols[i];\r\n }\r\n }\r\n }\r\n return ret !== undefined ? ret : this.value;\r\n },\r\n },\r\n },\r\n\r\n legend: {\r\n enabled: false,\r\n },\r\n\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false,\r\n },\r\n color: \"var(--active)\",\r\n pointStart: 2010,\r\n },\r\n },\r\n\r\n series: props.series.map((series) => {\r\n return {\r\n type: \"line\",\r\n name: series.name,\r\n data: series.data.map((datum) => {\r\n return {\r\n x: datum.xValue,\r\n y: datum.yValue,\r\n };\r\n }),\r\n };\r\n }),\r\n\r\n responsive: {\r\n rules: [\r\n {\r\n condition: {\r\n maxWidth: 500,\r\n },\r\n },\r\n ],\r\n },\r\n\r\n credits: {\r\n enabled: false,\r\n },\r\n\r\n tooltip: {\r\n useHTML: true,\r\n formatter: function () {\r\n return props.tooltipFormatter(this);\r\n },\r\n },\r\n };\r\n }\r\n\r\n // function resolveXLabel(axisObject: Highcharts.AxisLabelsFormatterContextObject): string {\r\n // switch (props.xAxis.type) {\r\n // case \"datetime\":\r\n // const date = new Date(axisObject.value);\r\n // return DateHelper.getDateStringAsddmmmyyyy(date, true);\r\n // default: axisObject.value.toString();\r\n // }\r\n // }\r\n};\r\n\r\nexport default LineChart;\r\n","import * as classNames from \"classNames\";\r\nimport * as React from \"react\";\r\n\r\nexport interface ILongLabelsBarChart {\r\n data: any;\r\n height?: number;\r\n itemLabel?: string;\r\n valueLabel?: string;\r\n cellCss?: string;\r\n}\r\nexport const LongLabelsBarChart = (props: ILongLabelsBarChart) => {\r\n const { data, height, itemLabel, valueLabel } = props;\r\n\r\n const maxWidth = 100;\r\n let minValue = data.reduce((a: any, b: any) => (a.value < b.value ? a : b)).value;\r\n let maxValue = data.reduce((a: any, b: any) => (a.value > b.value ? a : b)).value;\r\n if (minValue > 0) {minValue = 0;}\r\n if (maxValue < 0) {maxValue = 0;}\r\n const minMaxDifference = maxValue - minValue;\r\n const onePixelValue = maxWidth / minMaxDifference;\r\n const XAxisTop = Math.round(maxWidth - -minValue * onePixelValue);\r\n\r\n const zeroLinePosition = Math.round(maxWidth - XAxisTop);\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.map((barData: any, index: number) => {\r\n const barHeight = Math.abs(Math.round(barData.value * onePixelValue));\r\n const barShift = barData.value < 0 ? XAxisTop : XAxisTop - barHeight;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    {itemLabel}{valueLabel}
    {barData.name}\r\n \r\n \r\n
    \r\n
    {barData.value}%
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { BaseFormElement, IBaseFormElementProps } from \"../../../react-core/Html/BaseFormElement\";\r\nimport { ICheckboxEditorProps, CheckboxEditor } from \"../../../react-core/Html/CheckboxEditor\";\r\nimport { FormComponent } from \"../../../react-core/Html/FormComponent\";\r\n\r\nexport interface ICheckboxGroupProps extends IBaseFormElementProps {\r\n type: \"inline\" | \"block\" | \"panel\" | \"sr-only\" | \"150\";\r\n options: ICheckboxEditorProps[];\r\n title?: string | JSX.Element;\r\n wrapCss?: string;\r\n srTitle?: string;\r\n}\r\n\r\nexport interface ICheckboxGroupState {\r\n disable?: boolean;\r\n}\r\n\r\nexport class CheckboxGroup extends BaseFormElement {\r\n constructor(props: ICheckboxGroupProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n public isValid() {\r\n return true;\r\n }\r\n\r\n public setDisable() {\r\n this.setState({ disable: true });\r\n }\r\n\r\n private getCheckbox(option: ICheckboxEditorProps, cssWrapper, index) {\r\n if (option !== null) {\r\n option.disabled = this.state.disable ? this.state.disable : option.disabled;\r\n } else {\r\n option = {};\r\n option.disabled = this.state.disable;\r\n }\r\n return ;\r\n }\r\n\r\n private getCheckboxes(options: ICheckboxEditorProps[], cssWrapper) {\r\n return options.map((ele, index) => {\r\n return this.getCheckbox(ele, cssWrapper, index);\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { type, options, title, wrapCss, srTitle } = this.props;\r\n let wrapperCssNew = wrapCss + \" \";\r\n switch (type) {\r\n case \"inline\":\r\n wrapperCssNew += \"square-checkbox\";\r\n break;\r\n case \"150\":\r\n wrapperCssNew += \"checkbox-layout-150\";\r\n break;\r\n case \"panel\":\r\n wrapperCssNew += \"checkbox-panel\";\r\n break;\r\n case \"block\":\r\n wrapperCssNew += \"square-checkbox block\";\r\n break;\r\n case \"sr-only\":\r\n wrapperCssNew += \"square-checkbox label-sr-only\";\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const groups = this.getCheckboxes(options, wrapperCssNew);\r\n\r\n let groupCss = \"form-group\";\r\n if (type == \"inline\") {groupCss += \" checkbox-layout-inline\";}\r\n if (type == \"150\") {groupCss += \" checkbox-layout-150 mb-9\";}\r\n\r\n return (\r\n
    \r\n {title ? title : srTitle}\r\n {title}\r\n
    {groups}
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { useContext, useRef, useState } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { CoachMarkerContext } from \"./CoachMarkerContext\";\r\n\r\nexport enum CoachMarkerStepPosition {\r\n Bottom,\r\n BottomRight,\r\n BottomLeft,\r\n Right,\r\n}\r\n\r\ninterface ICoachMarkerStepProps {\r\n coachMarkerKey: string;\r\n cssWrapper?: string;\r\n}\r\n\r\nconst CoachMarker = (props: ICoachMarkerStepProps) => {\r\n const { coachMarkerKey, cssWrapper } = props;\r\n const [display, setDisplay] = useState(false);\r\n const coachMarkContext = useContext(CoachMarkerContext);\r\n const contentRef = useRef(null);\r\n const step = coachMarkContext?.step;\r\n\r\n const onKeyPress = (ev: KeyboardEvent) => {\r\n if (ev.key == \"Escape\") {coachMarkContext.onClickDoNotShow();}\r\n };\r\n\r\n const wrapperClasses = classNames(\r\n \"coach-marker-wrapper\",\r\n \"ad\",\r\n cssWrapper,\r\n { \"to-the-bottom\": step?.stepPosition == CoachMarkerStepPosition.Bottom },\r\n { \"to-the-left-bottom\": step?.stepPosition == CoachMarkerStepPosition.BottomRight },\r\n { \"to-the-right-bottom\": step?.stepPosition == CoachMarkerStepPosition.BottomLeft }\r\n );\r\n\r\n React.useEffect(() => {\r\n if (coachMarkContext?.step?.stepKey === coachMarkerKey && coachMarkContext.showCoachMarks) {\r\n setDisplay(true);\r\n } else {\r\n setDisplay(false);\r\n }\r\n }, [coachMarkContext]);\r\n\r\n React.useEffect(() => {\r\n if (display) {\r\n const rect = contentRef.current.getBoundingClientRect();\r\n if (rect.top < 0 || rect.top + rect.height > window.innerHeight) {\r\n contentRef.current.scrollIntoView({ block: \"center\" });\r\n }\r\n }\r\n }, [display]);\r\n\r\n React.useEffect(() => {\r\n window.addEventListener(\"keydown\", onKeyPress);\r\n return () => {\r\n window.removeEventListener(\"keydown\", onKeyPress);\r\n };\r\n }, []);\r\n\r\n return step && display ? (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {step.title}\r\n

    \r\n
    \r\n
    \r\n
    {coachMarkContext.dotBarDots}
    \r\n
    \r\n
    \r\n
    \r\n {coachMarkContext.step.description}\r\n
    \r\n
    \r\n
    \r\n {\r\n e.stopPropagation();\r\n coachMarkContext.onClickDoNotShow();\r\n }}\r\n >\r\n Don't show me tips right now\r\n \r\n
    \r\n
    \r\n {\r\n ev.stopPropagation();\r\n coachMarkContext.nextStep();\r\n }}\r\n >\r\n {coachMarkContext.buttonText}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n};\r\n\r\nexport default CoachMarker;\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { CoachMarkerSetJourneyStatus } from \"../../../Wrap/Models/Models/CoachMarkers/CoachMarkerSetJourneyStatus\";\r\nimport { CoachMarkerSetType } from \"../../../Wrap/Models/Models/CoachMarkers/CoachMarkerSetType\";\r\nimport { CoachMarkerSetJourneyStateForClientClient } from \"../../../Wrap/Api/CoachMarkers/CoachMarkerSetJourneyStateForClient\";\r\nimport { CoachMarkerSetJourneyStatusesByClientResponse } from \"../../../Wrap/Models/Models/CoachMarkers/CoachMarkerSetJourneyStatusesByClientResponse\";\r\nimport { CoachMarkerStepPosition } from \"./CoachMarker\";\r\n\r\ntype CoachMarkerStep = {\r\n stepKey: string;\r\n title: string;\r\n description: JSX.Element;\r\n stepPosition: CoachMarkerStepPosition;\r\n positionTop: number;\r\n positionLeft: number;\r\n onClick?: () => void;\r\n};\r\n\r\nexport interface ICoachMarkerPageConfig {\r\n coachMarkerSetType: CoachMarkerSetType;\r\n steps: CoachMarkerStep[];\r\n}\r\n\r\ninterface ICoachMarkerContextState {\r\n setPageConfig: (ICoachMarkerPageConfig) => void;\r\n step: CoachMarkerStep;\r\n nextStep: () => void;\r\n showCoachMarks: boolean;\r\n reset: () => void;\r\n coachMarkerSetJourneyStatuses?: { [key: string]: CoachMarkerSetJourneyStatus };\r\n onClickDoNotShow?: () => void;\r\n dotBarDots: JSX.Element;\r\n buttonText: string;\r\n hasUnread: boolean;\r\n}\r\n\r\ninterface ICoachMarkerProviderProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const CoachMarkerContext = React.createContext(null);\r\n\r\nconst CoachMarkerProvider = (props: ICoachMarkerProviderProps) => {\r\n const [pageConfig, setPageConfig] = useState(null);\r\n const [activeStepNumber, setActiveStepNumber] = useState(0);\r\n const [showCoachMarks, setShowCoachMarks] = useState(false);\r\n const [doNotShow, setDoNotShow] = useState(true);\r\n\r\n React.useEffect(() => {\r\n setDoNotShow(true);\r\n if (!pageConfig) {\r\n // Set context after other async process is done, i.e. RoutingActionsStatic.navigateTo\r\n setTimeout(() => setShowCoachMarks(false), 0);\r\n }\r\n setActiveStepNumber(0);\r\n pageConfig && getAndSetInitialCoachMarkerSetJourneyStatuses();\r\n }, [pageConfig]);\r\n\r\n const DotBarDots = () => {\r\n return (\r\n \r\n {pageConfig.steps.map((step, i) => {\r\n return ;\r\n })}\r\n \r\n );\r\n };\r\n\r\n const nextStep = () => {\r\n const nextStepNumber = activeStepNumber + 1;\r\n if (pageConfig && pageConfig.steps.filter((a) => a.title != \"App Store\").length === nextStepNumber) {\r\n setCoachMarkerSetJourneyInitialised();\r\n } else {\r\n setActiveStepNumber(nextStepNumber);\r\n }\r\n };\r\n\r\n return (\r\n {\r\n setDoNotShow(true);\r\n localStorage.setItem(\"doNotShowCoachMarker\", JSON.stringify(true));\r\n //setShowCoachMarks(false);\r\n setActiveStepNumber(0);\r\n },\r\n reset: () => {\r\n setDoNotShow(false);\r\n setActiveStepNumber(0);\r\n },\r\n dotBarDots: pageConfig && ,\r\n buttonText:\r\n pageConfig && pageConfig.steps.filter((a) => a.title != \"App Store\").length - 1 === activeStepNumber\r\n ? \"Got it\"\r\n : \"Next\",\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n\r\n function getAndSetInitialCoachMarkerSetJourneyStatuses() {\r\n const client = new CoachMarkerSetJourneyStateForClientClient();\r\n const promise = client.get();\r\n\r\n promise.onSuccess((response) => {\r\n getShowCoachMarksFromStatuses(response);\r\n });\r\n }\r\n\r\n function setCoachMarkerSetJourneyInitialised() {\r\n const client = new CoachMarkerSetJourneyStateForClientClient();\r\n const promise = client.put({\r\n CoachMarkerSetType: pageConfig.coachMarkerSetType,\r\n CoachMarkerSetJourneyStatus: CoachMarkerSetJourneyStatus.Initialised,\r\n });\r\n\r\n promise.onSuccess((response) => {\r\n getShowCoachMarksFromStatuses(response);\r\n });\r\n }\r\n\r\n function getShowCoachMarksFromStatuses(response: CoachMarkerSetJourneyStatusesByClientResponse) {\r\n const thisJourney = response.CoachMarkerSetJourneys.find((journey) => {\r\n return journey.CoachMarkerSetType === pageConfig.coachMarkerSetType;\r\n });\r\n const doNotShowStored = localStorage.getItem(\"doNotShowCoachMarker\")\r\n ? JSON.parse(localStorage.getItem(\"doNotShowCoachMarker\"))\r\n : false;\r\n if (!thisJourney) {\r\n setShowCoachMarks(true);\r\n setDoNotShow(doNotShowStored);\r\n } else {\r\n setShowCoachMarks(thisJourney.CoachMarkerSetJourneyStatus !== CoachMarkerSetJourneyStatus.Initialised);\r\n setDoNotShow(\r\n doNotShowStored || thisJourney.CoachMarkerSetJourneyStatus == CoachMarkerSetJourneyStatus.Initialised\r\n );\r\n }\r\n }\r\n};\r\nexport default React.memo(CoachMarkerProvider);\r\n","import { CommonHelper } from \"../../../react-core/Helpers/CommonHelper\";\r\nimport { Address } from \"../../../Wrap/Models/Domains/Address/Address\";\r\nimport { PostCodeAnywhereAddressDetails } from \"../../../Wrap/Models/Domains/Address/PostCodeAnywhereAddressDetails\";\r\n\r\nexport class AddressHelper {\r\n static GetFormattedAddressLine1(address: Address): string {\r\n return address.Line1;\r\n }\r\n\r\n static GetFormattedAddressLine2(address: Address): string {\r\n return address.Line2;\r\n }\r\n\r\n static GetFormattedAddressLine3(address: Address, pcaResult: PostCodeAnywhereAddressDetails): string {\r\n const addressLines = [address.Line3, address.Line4, address.Line5, address.Line6];\r\n const notNullAddressLines = addressLines.filter((x) => !CommonHelper.isNullOrEmpty(x));\r\n const joinedAddress = notNullAddressLines.join(\", \");\r\n const MAXCHARNO = 35;\r\n\r\n const addressLineWithProvince =\r\n CommonHelper.isNullOrEmpty(pcaResult.ProvinceName) ||\r\n CommonHelper.isNullOrEmpty(joinedAddress) ||\r\n notNullAddressLines.some((x) => x.toUpperCase() == pcaResult?.ProvinceName.toUpperCase())\r\n ? joinedAddress\r\n : joinedAddress + \", \" + pcaResult.ProvinceName;\r\n if (joinedAddress.length > MAXCHARNO) {\r\n const addressLine3 = address.Line3;\r\n const trimedLine = addressLine3.substring(0, MAXCHARNO);\r\n return addressLine3.length > MAXCHARNO ? trimedLine : addressLine3;\r\n } else if (addressLineWithProvince != joinedAddress && addressLineWithProvince.length <= MAXCHARNO) {\r\n return addressLineWithProvince;\r\n } else {\r\n return joinedAddress;\r\n }\r\n }\r\n}\r\n","import { getQueryParameters } from \"../Wizards/Entities/QueryParametersHelper\";\r\nimport { LandingAction } from \"../Actions/Action\";\r\n\r\nexport class Method {\r\n private static getInstructionId(): number {\r\n const paramters = getQueryParameters();\r\n return paramters[\"instructionid\"];\r\n }\r\n\r\n public static Exit() {\r\n const instructionId = this.getInstructionId();\r\n LandingAction.postCancel(instructionId, () => {\r\n this.BackToWrap();\r\n });\r\n }\r\n\r\n public static BackToWrap() {\r\n window.location.assign(window.location.origin + \"/wpadviser/en-gb/dashboard/home/main/dashboard\");\r\n }\r\n\r\n public static Oridinal(number: number): string {\r\n let work = number.toString();\r\n if (number % 100 == 11 || number % 100 == 12 || number % 100 == 13) {return work + \"th\";}\r\n switch (number % 10) {\r\n case 1:\r\n work += \"st\";\r\n break;\r\n case 2:\r\n work += \"nd\";\r\n break;\r\n case 3:\r\n work += \"rd\";\r\n break;\r\n default:\r\n work += \"th\";\r\n break;\r\n }\r\n return work;\r\n }\r\n}\r\n","import { CommonHelper } from \"../../../react-core/Helpers/CommonHelper\";\r\nimport { HierarchyLevelName } from \"../../../Wrap/Constants/Enums/HierarchyLevelName\";\r\n\r\nexport class HierarchyIdHelper {\r\n static toHierarchyIdString(hierarchyLevel: HierarchyLevelName, entityId: number): string {\r\n return hierarchyLevel.toString().padStart(3, \"0\") + \"-\" + entityId.toString().padStart(10, \"0\");\r\n }\r\n\r\n static generateHierarchyId(hierarchyIdString: string): { hierarchyLevel: HierarchyLevelName; entityId: number } {\r\n if (CommonHelper.isNullOrEmpty(hierarchyIdString)) {\r\n return { hierarchyLevel: HierarchyLevelName.NotSpecified, entityId: null };\r\n }\r\n\r\n try {\r\n const hierarchyIdParts = hierarchyIdString.split(\"-\");\r\n const levelName = parseInt(hierarchyIdParts[0]) as HierarchyLevelName;\r\n const entityId = parseInt(hierarchyIdParts[1]);\r\n return { hierarchyLevel: levelName, entityId: entityId };\r\n } catch (Exception) {\r\n return { hierarchyLevel: HierarchyLevelName.NotSpecified, entityId: -1 };\r\n }\r\n }\r\n\r\n static Equals(h1: string, h2: string): boolean {\r\n const hierarchy1 = HierarchyIdHelper.generateHierarchyId(h1);\r\n const hierarchy2 = HierarchyIdHelper.generateHierarchyId(h2);\r\n return hierarchy1.hierarchyLevel === hierarchy2.hierarchyLevel && hierarchy1.entityId === hierarchy2.entityId;\r\n }\r\n}\r\n","import { ContextStore } from \"../../../react-core/Flux/Variables\";\r\nimport { CurrencySymbolDictionary } from \"../../../react-core/Html/Resources/CurrencySymbolDictionary\";\r\nimport { CurrencyCode } from \"../../../Wrap/Constants/Enums/Domain/CurrencyCode\";\r\nimport { Money } from \"../../../Wrap/Core/DataTypes/Money\";\r\n\r\nexport class MoneyHelper {\r\n static getDefaultCurrency(): CurrencyCode {\r\n return CurrencyCode.GBP;\r\n }\r\n\r\n static getMoneyString(money: Money): string {\r\n if (money == null || money.Amount == null) {\r\n return null;\r\n }\r\n const amount = Globalize.format(money.Amount, \"N0\", ContextStore.getContext().culture)\r\n const currency = CurrencySymbolDictionary.getSymbol(money.Currency);\r\n\r\n return currency + amount;\r\n }\r\n\r\n static getMoneyWithProperFormat(money: Money): Money {\r\n\r\n if (money == null || money.Amount == null) {\r\n return this.getDefaultMoney();\r\n }\r\n else {\r\n return money;\r\n }\r\n }\r\n\r\n static getDefaultMoney(): Money {\r\n return {\r\n Amount: 0,\r\n Currency: this.getDefaultCurrency()\r\n };\r\n }\r\n\r\n static add(moneyA: Money, moneyB: Money): Money {\r\n if (!moneyA || !moneyB || moneyA.Currency != moneyB.Currency) {\r\n throw new Error(\"Add money error.\")\r\n }\r\n return {\r\n Amount: moneyA.Amount + moneyB.Amount,\r\n Currency: moneyA.Currency\r\n } as Money;\r\n }\r\n\r\n static multiplyBy(multiplier: number, moneyMultiplicand: number): Money {\r\n return {\r\n Amount: multiplier * moneyMultiplicand,\r\n Currency: this.getDefaultCurrency()\r\n } as Money;\r\n }\r\n\r\n public static roundNumberToDecimalPlaces(number: number, decimalPlaces: number): number {\r\n return Math.round(Math.pow(10, decimalPlaces) * number) / Math.pow(10, decimalPlaces);\r\n }\r\n}","import { processTypeEnum } from \"../../Dashboard/Components/Clients/Common/Resource/Contents\";\r\nimport { ProcessType } from \"../IST/Resource/Content\";\r\n\r\nexport class RestrictionHelper {\r\n static shouldHandleRestriction = (processType: ProcessType | processTypeEnum): boolean => {\r\n switch (processType) {\r\n case ProcessType.Quote:\r\n case processTypeEnum.Quote:\r\n return false;\r\n case ProcessType.NB:\r\n case ProcessType.NBEC:\r\n case processTypeEnum.NewBusiness:\r\n case processTypeEnum.NewBusinessExistingClient:\r\n case processTypeEnum.SinglePaymentTransfer:\r\n case processTypeEnum.RegularPayment:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n };\r\n}\r\n","export const GENERIC_RESTRICTIONS_MESSAGE = \"This process is currently unavailable. For assistance please email Wrap.help@abrdn.com quoting reference A597, the client account number and what action you were trying to undertake\"","import * as React from \"react\";\r\nimport { AlertType } from \"../Entities/Constants/AlertConstants\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\n\r\nexport interface IAlertProps {\r\n alertType: AlertType;\r\n message: string | JSX.Element;\r\n onAlertClose?: () => void;\r\n cssWrapper?: string;\r\n css?: string;\r\n hideCloseButton?: boolean;\r\n}\r\n\r\nexport interface IAlertState {}\r\n\r\nexport class Alert extends BaseComponent {\r\n constructor(props: IAlertProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { alertType, message, hideCloseButton } = this.props;\r\n switch (alertType) {\r\n case AlertType.Error:\r\n return

    {message}

    ;\r\n case AlertType.Warning:\r\n return

    {message}

    ;\r\n case AlertType.Success:\r\n return

    {message}

    ;\r\n case AlertType.Notification:\r\n return (\r\n
    \r\n {message}\r\n {!hideCloseButton && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n }\r\n}\r\n","import { useEffect, useRef } from \"react\";\r\nimport * as React from \"react\";\r\n\r\nconst myClassName = \"react-auto-height\";\r\nconst myAdjustHeight = \"data-react-auto-height-adjust-height\";\r\n\r\nconst needsUpdate = new Set();\r\nconst updateParents = () => {\r\n setTimeout(() => {\r\n for (const el of needsUpdate) {\r\n setNewHeight(el);\r\n }\r\n }, 0);\r\n};\r\n\r\nconst setNewHeight = (el: any) => {\r\n const origDelay = getComputedStyle(el).getPropertyValue(\"transition-delay\");\r\n const origDuration = getComputedStyle(el).getPropertyValue(\"transition-duration\");\r\n const origHeight = el.style.height || getComputedStyle(el).getPropertyValue(\"height\");\r\n\r\n el.style.transitionDelay = \"0\";\r\n el.style.transitionDuration = \"0\";\r\n el.style.height = \"auto\";\r\n\r\n const adjustHeight = parseInt(el.getAttribute(myAdjustHeight)) || 0;\r\n const newHeight = el.scrollHeight + adjustHeight + \"px\";\r\n el.style.height = origHeight;\r\n\r\n el.scrollHeight; // force reflow before re-enabling transitions\r\n\r\n el.style.transitionDelay = origDelay;\r\n el.style.transitionDuration = origDuration;\r\n el.style.height = newHeight;\r\n\r\n el.setAttribute(myAdjustHeight, 0);\r\n needsUpdate.delete(el);\r\n\r\n if (origHeight != newHeight) {\r\n const myAdjust = parseInt(newHeight) - parseInt(origHeight);\r\n let parent = el.parentElement;\r\n while (parent) {\r\n if (parent.className.includes(myClassName)) {\r\n const existingAdjust = parseInt(parent.getAttribute(myAdjustHeight)) || 0;\r\n parent.setAttribute(myAdjustHeight, existingAdjust + myAdjust);\r\n needsUpdate.add(parent);\r\n parent = null;\r\n } else {\r\n parent = parent.parentElement;\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst AutoHeight = ({ children, element = \"div\", className: propClassName = \"\", ...props }: any) => {\r\n const Element = element;\r\n const ref = useRef();\r\n\r\n const updateHeight = (): void => {\r\n const { current: el } = ref;\r\n if (!el) {\r\n return;\r\n }\r\n if (typeof children === \"function\") {\r\n for (const child of el.children as any) {\r\n child.getAttribute && setNewHeight(child);\r\n }\r\n }\r\n setNewHeight(el);\r\n updateParents();\r\n };\r\n\r\n useEffect(() => {\r\n updateHeight();\r\n });\r\n\r\n return (\r\n \r\n {typeof children === \"function\" ? children(updateHeight) : children}\r\n \r\n );\r\n};\r\nAutoHeight.displayName = \"AutoHeigh\";\r\nexport default AutoHeight;\r\n","import * as React from \"react\";\r\nimport { DateOptions, Contents } from \"./Resource/Contents\";\r\nimport { DatePicker } from \"../../../react-core/Datepicker/DatePicker\";\r\nimport { SelectEditorFactory } from \"../../../react-core/Html/Factories/SelectEditorFactory\";\r\nimport { CommonHelper } from \"../../../react-core/Helpers/CommonHelper\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { JsonDateParser } from \"../../../react-core/Utils/JsonDateParser\";\r\nimport { addMonths } from \"../../../react-core/utils/date\";\r\nimport { ClientAccountStore } from \"../../Dashboard/Stroes/Variable\";\r\nimport {\r\n PortfolioDashboardStore,\r\n ConsolidatedAccountStore,\r\n} from \"../../Dashboard/Components/Clients/PortfolioDashboard/Store/Variable\";\r\nimport classNames from \"classnames\";\r\nimport { HierarchyIdHelper } from \"../Common/HierarchyIdHelper\";\r\n\r\nexport interface IDateRangeProps extends React.Props {\r\n minDate: Date;\r\n selectValue: string;\r\n fromDate?: Date;\r\n toDate?: Date;\r\n disabled?: boolean;\r\n maxDate?: Date;\r\n label?: string;\r\n excludeSinceAccountOpening?: boolean;\r\n onChange: (\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n dateSelected: string,\r\n isFromAndTo?: boolean\r\n ) => void;\r\n excludeToday?: boolean;\r\n cssGridDate?: string;\r\n cssGridTo?: string;\r\n cssGridFrom?: string;\r\n cssGridLabel?: string;\r\n}\r\n\r\nexport interface IDateRangeState {\r\n fromMinDate?: Date;\r\n dateSelected?: string;\r\n fromeDateSelected?: Date;\r\n toDateSelected?: Date;\r\n}\r\n\r\nexport class DateRange extends BaseComponent {\r\n constructor(props: IDateRangeProps) {\r\n super(props);\r\n const now = props.maxDate || new Date();\r\n\r\n const fromDate = this.getFromDate();\r\n const _minDate = this.getMinDate(props.minDate);\r\n this.state = {\r\n fromMinDate: _minDate,\r\n dateSelected: props.selectValue ? props.selectValue : DateOptions[5].key,\r\n fromeDateSelected: fromDate,\r\n toDateSelected: props.toDate ? props.toDate : now,\r\n };\r\n }\r\n public static getLeastDate = (accountViewSelected, isConsolidated?) => {\r\n const clientInfo = ClientAccountStore.getClientAccountInfo();\r\n let inceptionDate = new Date();\r\n let _dateDisable = false;\r\n let wpAccount = \"\";\r\n if (clientInfo) {\r\n if (\r\n !CommonHelper.isNullOrEmpty(accountViewSelected) &&\r\n HierarchyIdHelper.Equals(accountViewSelected, clientInfo.HierarchyId)\r\n ) {\r\n inceptionDate = new Date(clientInfo.InceptionDate as any);\r\n wpAccount = clientInfo.HeadClAccountId;\r\n _dateDisable = JsonDateParser.getFormatDate(clientInfo.InceptionDate, \"yyyy\") == \"1\" ? true : false;\r\n if (_dateDisable == true) {\r\n const aYearFromNow = new Date();\r\n aYearFromNow.setFullYear(aYearFromNow.getFullYear() - 1);\r\n inceptionDate = aYearFromNow;\r\n }\r\n } else {\r\n const findObj = clientInfo.SubAccounts.filter((x) => x.HierarchyId == accountViewSelected)[0];\r\n if (findObj) {\r\n inceptionDate = new Date(findObj.InceptionDate as any);\r\n wpAccount = findObj.ClAccountId;\r\n _dateDisable = JsonDateParser.getFormatDate(findObj.InceptionDate, \"yyyy\") == \"1\" ? true : false;\r\n }\r\n }\r\n } else {\r\n let clients = PortfolioDashboardStore.getData();\r\n if (isConsolidated) {\r\n clients = [ConsolidatedAccountStore.getData()].concat(clients);\r\n }\r\n if (clients.length > 0) {\r\n clients.map((item) => {\r\n if (\r\n !CommonHelper.isNullOrEmpty(accountViewSelected) &&\r\n HierarchyIdHelper.Equals(accountViewSelected, item.HierarchyId)\r\n ) {\r\n inceptionDate = new Date(item.InceptionDate as any);\r\n wpAccount = item.HeadClAccountId;\r\n _dateDisable = JsonDateParser.getFormatDate(item.InceptionDate, \"yyyy\") == \"1\" ? true : false;\r\n } else {\r\n const findObj = item.SubAccounts.filter((x) => x.HierarchyId == accountViewSelected)[0];\r\n if (findObj) {\r\n inceptionDate = new Date(findObj.InceptionDate as any);\r\n wpAccount = findObj.ClAccountId;\r\n _dateDisable =\r\n JsonDateParser.getFormatDate(findObj.InceptionDate, \"yyyy\") == \"1\" ? true : false;\r\n }\r\n }\r\n });\r\n } else {\r\n inceptionDate = new Date(\r\n inceptionDate.getFullYear() - 1,\r\n inceptionDate.getMonth(),\r\n inceptionDate.getDate() + 1\r\n );\r\n }\r\n }\r\n return { minDate: inceptionDate, isDisable: _dateDisable, wpAccount: wpAccount };\r\n };\r\n\r\n public static initializeDateRange = (openingDate?: Date): any => {\r\n const now = new Date();\r\n const daterange = {\r\n from: new Date(now.getFullYear(), now.getMonth() - 3, now.getDate() + 1),\r\n to: now,\r\n dateSelected: DateOptions[5].key,\r\n fromInception: false,\r\n };\r\n if (openingDate == null) {\r\n return daterange;\r\n }\r\n if (openingDate > daterange.from) {\r\n daterange.dateSelected = DateOptions[0].key;\r\n daterange.from = openingDate;\r\n daterange.fromInception = true;\r\n }\r\n return daterange;\r\n };\r\n\r\n public static initializeLastYearDateRange = (openingDate?: Date): any => {\r\n const now = new Date();\r\n const daterange = {\r\n from: new Date(now.getFullYear() - 1, now.getMonth(), now.getDate() + 1),\r\n to: now,\r\n dateSelected: DateOptions[3].key,\r\n fromInception: false,\r\n };\r\n if (openingDate == null) {\r\n return daterange;\r\n }\r\n if (openingDate > daterange.from) {\r\n daterange.dateSelected = DateOptions[0].key;\r\n daterange.from = openingDate;\r\n daterange.fromInception = true;\r\n }\r\n return daterange;\r\n };\r\n\r\n private getMinDate(date: Date) {\r\n const _minDate = date ? new Date(JsonDateParser.getFormatDateString(date, \"yyyy/MM/dd\")) : null;\r\n return _minDate;\r\n }\r\n\r\n private isLeapDay(toDate: Date) {\r\n const year = toDate.getFullYear();\r\n const isLeapYear = year % 100 === 0 ? year % 400 === 0 : year % 4 === 0;\r\n const leapdaystr = toDate.getFullYear() + \"/02/29\";\r\n const todaystr = JsonDateParser.getFormatDateString(toDate, \"yyyy/MM/dd\");\r\n return isLeapYear && todaystr === leapdaystr;\r\n }\r\n\r\n private getFromDate(): Date {\r\n const { selectValue, minDate, fromDate, toDate, onChange } = this.props;\r\n let _date = fromDate;\r\n if (selectValue == DateOptions[3].key) {\r\n _date = this.getPastYear(toDate);\r\n }\r\n if (selectValue == null || selectValue == DateOptions[0].key) {\r\n _date = minDate;\r\n }\r\n if (!_date) {\r\n _date = this.getPastYear(new Date());\r\n }\r\n if (fromDate && _date.getTime() !== fromDate.getTime()) {\r\n onChange(_date, toDate, selectValue == DateOptions[0].key, selectValue);\r\n }\r\n return _date;\r\n }\r\n\r\n private getPastYear(toDate: Date): Date {\r\n return this.isLeapDay(toDate)\r\n ? new Date(toDate.getFullYear() - 1, 2, 1)\r\n : new Date(toDate.getFullYear() - 1, toDate.getMonth(), toDate.getDate() + 1);\r\n }\r\n\r\n private getPastThreeMonths(today: Date): Date {\r\n return this.isLeapDay(today)\r\n ? new Date(today.getFullYear() - 1, 11, 1)\r\n : new Date(today.getFullYear(), today.getMonth() - 3, today.getDate() + 1);\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: IDateRangeProps) {\r\n if (nextProps.selectValue != this.props.selectValue) {\r\n this.setState({ dateSelected: nextProps.selectValue });\r\n }\r\n\r\n if (nextProps.minDate != this.props.minDate) {\r\n const _minDate = this.getMinDate(nextProps.minDate);\r\n this.setState({ fromMinDate: _minDate });\r\n }\r\n if (nextProps.fromDate != this.props.fromDate) {\r\n this.setState({ fromeDateSelected: nextProps.fromDate });\r\n }\r\n if (nextProps.toDate != this.props.toDate) {\r\n this.setState({ toDateSelected: nextProps.toDate });\r\n }\r\n }\r\n\r\n /***\r\n * Current date\t Last tax year\t Current tax year\r\n 31st May 2019\t 6th April 2018 – 5th April 2019\t 6th April 2019 –31st May 2019\r\n 31st January 2019\t 6th April 2017 – 5th April 2018\t 6th April 2018 – 31st January 2019\r\n */\r\n private onDateSelectChange(key: string) {\r\n const { fromMinDate } = this.state;\r\n\r\n let fromDate: Date = null;\r\n let toDate: Date = null;\r\n let fromYear = null;\r\n let toYear = null;\r\n // const fromMonth = null;\r\n // const toMonth = null;\r\n const now = this.props.maxDate || new Date();\r\n const nowStr = JsonDateParser.getFormatDateString(now, \"yyyy/MM/dd\").split(\"/\");\r\n const pointDate = new Date(Number(nowStr[0]), 3, 6);\r\n\r\n switch (key) {\r\n case DateOptions[1].key: //\"Last tax year\"\r\n if (now > pointDate) {\r\n fromYear = Number(nowStr[0]) - 1;\r\n toYear = Number(nowStr[0]);\r\n fromDate = new Date(fromYear, 3, 6);\r\n toDate = new Date(toYear, 3, 5);\r\n } else {\r\n fromYear = Number(nowStr[0]) - 2;\r\n toYear = Number(nowStr[0]) - 1;\r\n fromDate = new Date(fromYear, 3, 6);\r\n toDate = new Date(toYear, 3, 5);\r\n }\r\n break;\r\n case DateOptions[2].key: //\"Current tax year\"\r\n if (now > pointDate) {\r\n fromYear = Number(nowStr[0]);\r\n fromDate = new Date(fromYear, 3, 6);\r\n toDate = now;\r\n } else {\r\n fromYear = Number(nowStr[0]) - 1;\r\n fromDate = new Date(fromYear, 3, 6);\r\n toDate = now;\r\n }\r\n break;\r\n case DateOptions[0].key: //\"Since account opening\"\r\n fromDate = fromMinDate;\r\n toDate = now;\r\n break;\r\n case DateOptions[6].key: //\"Custom\"\r\n const isOlderThanOneYear = fromMinDate <= addMonths(now, -3);\r\n fromDate = isOlderThanOneYear ? this.getPastThreeMonths(now) : fromMinDate;\r\n toDate = now;\r\n break;\r\n case DateOptions[3].key: //\"Past year\"\r\n fromDate = this.getPastYear(now);\r\n toDate = now;\r\n break;\r\n case DateOptions[4].key: //\"Past 6 months\"\r\n fromDate = this.isLeapDay(now)\r\n ? new Date(now.getFullYear() - 1, 8, 1)\r\n : new Date(now.getFullYear(), now.getMonth() - 6, now.getDate() + 1);\r\n toDate = now;\r\n break;\r\n case DateOptions[5].key: //\"Past 3 months\"\r\n fromDate = this.getPastThreeMonths(now);\r\n toDate = now;\r\n break;\r\n }\r\n\r\n this.setState({ dateSelected: key, fromeDateSelected: fromDate, toDateSelected: toDate }, () => {\r\n this.props.onChange(fromDate, toDate, key == DateOptions[0].key, key);\r\n });\r\n }\r\n\r\n private renderLable(): JSX.Element {\r\n const { dateSelected, fromeDateSelected, toDateSelected } = this.state;\r\n\r\n if (dateSelected !== DateOptions[6].key) {\r\n const fromDateStr = JsonDateParser.getFormatDateString(fromeDateSelected, \"dd MM yyyy\", true);\r\n const toDateStr = JsonDateParser.getFormatDateString(toDateSelected, \"dd MM yyyy\", true);\r\n const cssClassNames = classNames(this.props.cssGridLabel);\r\n return (\r\n
    \r\n

    \r\n From {fromDateStr} until {toDateStr}\r\n

    \r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private renderFromDate(): JSX.Element {\r\n const { fromMinDate, fromeDateSelected, toDateSelected, dateSelected } = this.state;\r\n\r\n if (dateSelected !== DateOptions[6].key) {\r\n return null;\r\n }\r\n const _selected = fromeDateSelected\r\n ? fromMinDate >= fromeDateSelected\r\n ? fromMinDate\r\n : fromeDateSelected\r\n : null;\r\n const cssClassNames = classNames(this.props.cssGridFrom);\r\n return (\r\n
    \r\n \r\n d\r\n ? this.setState({ fromeDateSelected: d }, () => {\r\n this.props.onChange(\r\n d,\r\n toDateSelected,\r\n dateSelected == DateOptions[0].key,\r\n dateSelected,\r\n true\r\n );\r\n })\r\n : null\r\n }\r\n todayButton={this.props.excludeToday ? null : \"Today\"}\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\r\n \"dd/MM/yyyy\",\r\n \"dd-MM-yyyy\",\r\n \"ddMMyyyy\",\r\n \"dd.MM.yyyy\",\r\n \"dd_MM_yyyy\",\r\n \"dd MM yyyy\",\r\n ]}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n
    \r\n );\r\n }\r\n\r\n private renderToDate(): JSX.Element {\r\n const { fromeDateSelected, toDateSelected, dateSelected } = this.state;\r\n const now = this.props.maxDate || new Date();\r\n const cssClassNames = classNames(this.props.cssGridTo);\r\n\r\n if (dateSelected !== DateOptions[6].key) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n d\r\n ? this.setState({ toDateSelected: d }, () => {\r\n this.props.onChange(\r\n fromeDateSelected,\r\n d,\r\n dateSelected == DateOptions[0].key,\r\n dateSelected,\r\n true\r\n );\r\n })\r\n : null\r\n }\r\n todayButton={this.props.excludeToday ? null : \"Today\"}\r\n isClearable={false}\r\n dateFormat={\"dd/MM/yyyy\"}\r\n acceptDateFormats={[\"dd/MM/yyyy\", \"dd-MM-yyyy\", \"ddMMyyyy\"]}\r\n acceptDateFormatsErrorMsg={Contents.AcceptDateFormatsErrorMsg}\r\n />\r\n
    \r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { dateSelected } = this.state;\r\n\r\n const DateRange = SelectEditorFactory.create();\r\n let _options = DateOptions.map((item) => item.key);\r\n if (this.props.excludeSinceAccountOpening) {_options = _options.filter((ele) => ele != \"1\");}\r\n const cssClassNames = classNames(this.props.cssGridDate);\r\n return (\r\n
    \r\n
    \r\n CommonHelper.getOptionsTxt(x, DateOptions)}\r\n onChange={(val) => this.onDateSelectChange(val)}\r\n />\r\n
    \r\n {this.renderLable()}\r\n {this.renderFromDate()}\r\n {this.renderToDate()}\r\n
    \r\n );\r\n }\r\n}\r\n","import { FormComponent } from \"../../../react-core/Html/FormComponent\";\r\nimport { Contents } from \"./Resource/Contents\";\r\nimport * as React from \"react\";\r\nimport { Lightbox } from \"../../../react-core/Html/Components/Lightbox\";\r\n\r\nexport interface IErrorMessagePopupProps extends React.Props {\r\n showPopup: boolean;\r\n errorMessage: string;\r\n onClose: any;\r\n}\r\n\r\nexport class ErrorMessagePopup extends FormComponent {\r\n constructor(props: IErrorMessagePopupProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n return <>{this.props.showPopup ? this.renderModal() : null};\r\n }\r\n\r\n private renderModal(): JSX.Element {\r\n return (\r\n <>\r\n {this.props.showPopup && (\r\n this.props.onClose()}\r\n title={Contents.Header_Error}\r\n >\r\n
    {this.props.errorMessage}
    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","export const DateOptions = [\r\n { key: \"1\", value: \"Since account opening\" },\r\n { key: \"2\", value: \"Past tax year\" },\r\n { key: \"3\", value: \"Current tax year\" },\r\n { key: \"4\", value: \"Past year\" },\r\n { key: \"5\", value: \"Past 6 months\" },\r\n { key: \"6\", value: \"Past 3 months\" },\r\n { key: \"7\", value: \"Custom\" },\r\n];\r\n\r\nexport const Contents = {\r\n From: \"From\",\r\n To: \"To\",\r\n InvalidDateErrorMsg: \"Invalid date period\",\r\n AcceptDateFormatsErrorMsg: \"Incorrect date format. Enter as dd/mm/yyyy.\",\r\n DateCanNotInFuture: \"Date cannot be in the future\",\r\n DateCanNotInPast: \"Date cannot precede inception date\",\r\n DateNoMoreThanOneYearApart: \"Date range cannot be more than one year\",\r\n CanNotEmpty: \"Can't be empty\",\r\n OktaUserSettingPathSegment: \"/enduser/settings\",\r\n Header_Error: \"Error\",\r\n};\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\n\r\nexport interface ITableTempElementProps {}\r\n\r\nexport interface ITableTempElementState {\r\n isOpen?: boolean;\r\n}\r\n\r\nexport class TableTempElement extends BaseComponent {\r\n constructor(props: ITableTempElementProps) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n };\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n
    \r\n Loading data\r\n
    \r\n );\r\n }\r\n}\r\n","import TagManagerBase from \"../../GoogleTagManager/TagManagerBase\";\r\n\r\nexport enum eventCategoryForGTM {\r\n summaryTab = \"summary tab\",\r\n investmentsTab = \"investments tab\",\r\n performanceTab = \"performance tab\",\r\n insightsTab = \"insights tab\",\r\n transactionsTab = \"transactions tab\",\r\n activityTab = \"activity tab\",\r\n documentTab = \"document tab\",\r\n aumTab = \"aum tab\",\r\n wrapperSummaryTab = \"wrapper summary tab\",\r\n adviserChargesTab = \"adviser charges tab\",\r\n clientSummaryTab = \"client summary tab\",\r\n esgAnalyserTab = \"esg hub tab\"\r\n}\r\n\r\nexport type AdviserSiteTagManagerEvent = {\r\n event: string;\r\n environment?: {\r\n appType: string;\r\n setting: string;\r\n timestamps: string;\r\n };\r\n user?: {\r\n loginId: string;\r\n internal: string;\r\n };\r\n page?: {\r\n pageUrl: string;\r\n pageTitle: string;\r\n };\r\n eventParameters?: {\r\n eventCategory: eventCategoryForGTM;\r\n eventAction: string;\r\n eventLabel: string;\r\n };\r\n filter?: {\r\n type?: string;\r\n tier?: string;\r\n date?: string;\r\n actvityType?: string;\r\n product?: string;\r\n activityStatus?: string;\r\n };\r\n document?: {\r\n title: string;\r\n url: string;\r\n id?: string;\r\n };\r\n tableEditor?: {\r\n targetAllocation: string;\r\n fundCode: string;\r\n Location: string;\r\n protectAssets: string;\r\n };\r\n clientReport?: {\r\n dateRange: string;\r\n reportView: \"total portfolio\" | \"product view\";\r\n format: \"pdf\" | \"word\";\r\n accountDetails: \"yes\" | \"no\";\r\n snapshot: \"yes\" | \"no\";\r\n valuation: \"yes\" | \"no\";\r\n performance: \"yes\" | \"no\";\r\n insights: \"yes\" | \"no\";\r\n transactions: \"yes\" | \"no\";\r\n calculationBasis: \"irr\" | \"simple\";\r\n };\r\n reportingIntroduction?: {\r\n include: \"yes\" | \"no\";\r\n cover: \"yes\" | \"no\";\r\n contents: \"yes\" | \"no\";\r\n commentary: \"yes\" | \"no\";\r\n image: \"yes\" | \"no\";\r\n };\r\n graphs?: {\r\n valuation: \"yes\" | \"no\";\r\n return: \"yes\" | \"no\";\r\n cumulative: \"yes\" | \"no\";\r\n discrete: \"yes\" | \"no\";\r\n };\r\n breakdown?: {\r\n include: \"yes\" | \"no\";\r\n valuation: \"yes\" | \"no\";\r\n performance: \"yes\" | \"no\";\r\n };\r\n benchmark?: {\r\n include: \"yes\" | \"no\";\r\n noOfBenchmarks: string;\r\n };\r\n};\r\n\r\nclass AdviserSiteTagManager extends TagManagerBase {\r\n public constructor() {\r\n super();\r\n }\r\n}\r\n\r\nexport default AdviserSiteTagManager;\r\n","import { DocumentTaskRequestClient } from \"../../../../Wrap/Api/Tasks/DocumentTaskRequest\";\r\nimport { TaskRequestStatusClient } from \"../../../../Wrap/Api/Tasks/TaskRequestStatus\";\r\nimport { DocumentTaskRequestModel } from \"../../../../Wrap/Models/Models/Tasks/DocumentTaskRequestModel\";\r\n\r\nexport class DownloadButtonAction {\r\n public static getTaskRequestStatus(taskRequestId: string, callback): void {\r\n const client = new TaskRequestStatusClient();\r\n const promise = client.get(taskRequestId);\r\n promise.onSuccess((res) => {\r\n callback(res);\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static addTaskRequestForDocument(query: DocumentTaskRequestModel, callback): void {\r\n const client = new DocumentTaskRequestClient();\r\n const promise = client.post(query);\r\n promise.onSuccess((res) => {\r\n callback(res);\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { TaskRequestStatus } from \"../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { ReportInfo } from \"../../../Wrap/Models/Models/Reports/ReportInfo\";\r\nimport { DocumentTaskRequestModel } from \"../../../Wrap/Models/Models/Tasks/DocumentTaskRequestModel\";\r\nimport { DocumentFileAction } from \"../../Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Action/DocumentFileAction\";\r\nimport { DownloadButtonAction } from \"./Actions/DownloadButtonAction\";\r\n\r\nexport interface IDownloadButtonProps {\r\n request: DocumentTaskRequestModel;\r\n selectedAccount: string;\r\n callBack?: (val) => void;\r\n}\r\nexport interface IDownloadButtonState {\r\n isPending?: boolean;\r\n isCompleted?: boolean;\r\n reportInfo?: ReportInfo;\r\n url?: string;\r\n}\r\nexport class DownloadButton extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { isPending: false, isCompleted: false };\r\n }\r\n\r\n private onStatusChange(status: TaskRequestStatus) {\r\n if (\r\n status == TaskRequestStatus.Pending ||\r\n status == TaskRequestStatus.Running ||\r\n status == TaskRequestStatus.Allocated ||\r\n status == TaskRequestStatus.PendingDelayed ||\r\n status == TaskRequestStatus.PendingHold\r\n ) {\r\n setTimeout(() => {\r\n DownloadButtonAction.getTaskRequestStatus(this.state.reportInfo.TaskRequestID.toString(), (callback) =>\r\n this.onStatusChange(callback.Status)\r\n );\r\n }, 2000);\r\n } else if (status == TaskRequestStatus.Complete) {\r\n if (this.props.callBack) {this.props.callBack(this.state.reportInfo);}\r\n const hierarchyId = this.props.selectedAccount == null ? \"\" : this.props.selectedAccount;\r\n DocumentFileAction.get(\r\n hierarchyId,\r\n this.state.reportInfo.FileName,\r\n true,\r\n 0,\r\n this.state.reportInfo.TaskRequestID,\r\n null,\r\n (result: string) => {\r\n this.setState({\r\n isPending: false,\r\n isCompleted: true,\r\n url: result,\r\n });\r\n }\r\n );\r\n } else {\r\n //failed or cancelled, need confirm with SC\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {!this.state.isPending && !this.state.isCompleted && (\r\n {\r\n this.setState({ isPending: true, isCompleted: false });\r\n DownloadButtonAction.addTaskRequestForDocument(this.props.request, (data) => {\r\n this.setState({ reportInfo: data, isPending: true, isCompleted: false });\r\n DownloadButtonAction.getTaskRequestStatus(data.TaskRequestID.toString(), (callback) =>\r\n this.onStatusChange(callback.Status)\r\n );\r\n });\r\n }}\r\n >\r\n \r\n Download\r\n \r\n )}\r\n {this.state.isPending &&
    }\r\n {this.state.isCompleted && (\r\n <>\r\n {\r\n this.setState({ isPending: false, isCompleted: false });\r\n }}\r\n >\r\n Download\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { CheckboxEditor } from \"../../../react-core/Html/CheckboxEditor\";\r\nimport { TaskRequestStatus } from \"../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { DocumentTaskRequestModel } from \"../../../Wrap/Models/Models/Tasks/DocumentTaskRequestModel\";\r\nimport { DocumentFileAction } from \"../../Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Action/DocumentFileAction\";\r\nimport { IProcessComponentProps, ProcessComponent } from \"../Process/Process/ProcessComponent\";\r\nimport AriaTooltip from \"../Tooltip/AriaTooltip\";\r\nimport { DownloadButtonAction } from \"./Actions/DownloadButtonAction\";\r\n\r\ninterface IMultiDownloadButtonProps extends IProcessComponentProps {\r\n request?: DocumentTaskRequestModel;\r\n selectedAccount: string;\r\n callBack?: (val) => void;\r\n isSelectedAll: boolean;\r\n triggerred: number;\r\n fileName: string;\r\n trigger?: (callback) => void;\r\n triggerAuto?: boolean;\r\n tooltip?: string | JSX.Element;\r\n isDisabled?: boolean;\r\n}\r\n\r\ninterface IMultiDownloadButtonState {\r\n isPending?: boolean;\r\n isCompleted?: boolean;\r\n isFailed?: boolean;\r\n taskRequestId?: number;\r\n fileName?: string;\r\n url?: string;\r\n isSelected?: boolean;\r\n}\r\nexport class MultiDownloadButton extends ProcessComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { isPending: false, isCompleted: false, isSelected: false };\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n if (this.props.triggerAuto) {\r\n this.trigger();\r\n }\r\n }\r\n\r\n private setTimeout;\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.setTimeout);\r\n }\r\n\r\n componentWillReceiveProps(nextProps: Readonly, nextContext: any): void {\r\n if (nextProps.isSelectedAll != this.props.isSelectedAll) {\r\n if (nextProps.isSelectedAll && this.state.isPending) {\r\n } else {\r\n this.setState({ isSelected: nextProps.isSelectedAll });\r\n }\r\n }\r\n if (\r\n nextProps.triggerred != this.props.triggerred &&\r\n this.state.isSelected &&\r\n !this.props.triggerAuto &&\r\n this.props.isDisabled !== false\r\n ) {\r\n this.trigger();\r\n this.setState({ isSelected: false });\r\n }\r\n }\r\n\r\n private trigger() {\r\n this.setState({ isPending: true, isCompleted: false, isFailed: false });\r\n if (this.props.trigger) {\r\n this.props.trigger((requestId, fileName) => {\r\n this.setState(\r\n {\r\n taskRequestId: requestId,\r\n fileName: fileName,\r\n isPending: true,\r\n isCompleted: false,\r\n isFailed: false,\r\n },\r\n () => {\r\n this.getStatus(requestId);\r\n }\r\n );\r\n });\r\n } else {\r\n this.triggerDefault();\r\n }\r\n }\r\n\r\n private onStatusChange(status: TaskRequestStatus) {\r\n if (\r\n status == TaskRequestStatus.Pending ||\r\n status == TaskRequestStatus.Running ||\r\n status == TaskRequestStatus.Allocated ||\r\n status == TaskRequestStatus.PendingDelayed ||\r\n status == TaskRequestStatus.PendingHold\r\n ) {\r\n this.setTimeout = setTimeout(() => {\r\n DownloadButtonAction.getTaskRequestStatus(this.state.taskRequestId.toString(), (callback) =>\r\n this.onStatusChange(callback.Status)\r\n );\r\n }, 2000);\r\n } else if (status == TaskRequestStatus.Complete) {\r\n if (this.props.callBack) {this.props.callBack(this.state.taskRequestId);}\r\n const hierarchyId = this.props.selectedAccount == null ? \"\" : this.props.selectedAccount;\r\n DocumentFileAction.get(\r\n hierarchyId,\r\n this.state.fileName,\r\n true,\r\n 0,\r\n this.state.taskRequestId,\r\n this.props.request.ClAccountId,\r\n (result: string) => {\r\n this.setState({\r\n isPending: false,\r\n isCompleted: true,\r\n isFailed: false,\r\n url: result,\r\n });\r\n }\r\n );\r\n } else {\r\n this.setState({ isFailed: true, isPending: false, isCompleted: false });\r\n }\r\n }\r\n\r\n private triggerDefault() {\r\n this.setState({ isPending: true, isCompleted: false });\r\n DownloadButtonAction.addTaskRequestForDocument(this.props.request, (data) => {\r\n this.setState(\r\n {\r\n taskRequestId: data?.TaskRequestID,\r\n fileName: data?.FileName,\r\n isPending: true,\r\n isCompleted: false,\r\n isFailed: false,\r\n },\r\n () => this.getStatus(data?.TaskRequestID)\r\n );\r\n });\r\n }\r\n\r\n private getStatus(requestId) {\r\n if (requestId == undefined) {return;}\r\n DownloadButtonAction.getTaskRequestStatus(requestId.toString(), (callback) =>\r\n this.onStatusChange(callback.Status)\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const option = {\r\n label: \"\",\r\n disabled: this.state.isPending || this.props.triggerAuto || this.props.isDisabled === false,\r\n value: !this.props.triggerAuto || this.props.isDisabled !== false ? this.state.isSelected : false,\r\n onChange: (v) => {\r\n this.setState({ isSelected: v });\r\n },\r\n };\r\n return (\r\n
    \r\n \r\n {\r\n if (this.state.isCompleted) {\r\n window.open(this.state.url, \"_blank\");\r\n }\r\n }}\r\n >\r\n {this.props.fileName}\r\n \r\n {this.props.tooltip && (\r\n \r\n \r\n {this.props.tooltip}\r\n \r\n \r\n )}\r\n <>\r\n {this.state.isPending && }\r\n {this.state.isFailed && Failed}\r\n {this.state.isCompleted && (\r\n \r\n {\r\n window.open(this.state.url, \"_blank\");\r\n }}\r\n >\r\n \r\n Download\r\n \r\n \r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport interface IDragSortProps {\r\n children: any[];\r\n data: any[];\r\n onReOrder: (result: any[]) => void;\r\n onDragStyle?: CSSStyleDeclaration;\r\n disableDrag?: boolean;\r\n}\r\n\r\nexport const DragSort = (props: IDragSortProps) => {\r\n if (!props.children) {return null;}\r\n\r\n const [items, setItems] = React.useState(props.children);\r\n\r\n React.useEffect(() => {\r\n setItems(props.children);\r\n }, [props.children]);\r\n\r\n const getList = () => document.getElementById(\"drag-sort-items\");\r\n\r\n const move = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n\r\n const list = e.currentTarget.parentNode,\r\n x = e.clientX,\r\n y = e.clientY;\r\n\r\n const swapItem = document.elementFromPoint(x, y) === null ? e.currentTarget : document.elementFromPoint(x, y);\r\n\r\n if (list === swapItem.parentNode) {\r\n const _swapItem = swapItem !== e.currentTarget.nextSibling ? swapItem : swapItem.nextSibling;\r\n list.insertBefore(e.currentTarget, _swapItem);\r\n }\r\n if (list.contains(swapItem) && list !== swapItem) {\r\n const dragItem = getDragItemByTarget(swapItem, list);\r\n const _swapItem = dragItem && dragItem !== e.currentTarget.nextSibling ? dragItem : swapItem.nextSibling;\r\n list.insertBefore(e.currentTarget, _swapItem);\r\n }\r\n };\r\n\r\n const getDragItemByTarget = (target: Element, pNode: Node) => {\r\n let _dragItem = null;\r\n pNode.childNodes.forEach((item) => {\r\n if (item.contains(target)) {\r\n _dragItem = item;\r\n }\r\n });\r\n return _dragItem;\r\n };\r\n\r\n const drop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n (e.currentTarget.childNodes[0] as HTMLElement).style.opacity = \"1\";\r\n const _list = getList();\r\n const result = [];\r\n _list.childNodes.forEach((element) => {\r\n const index = (element as HTMLElement).id;\r\n result.push(props.data[index]);\r\n });\r\n\r\n props.onReOrder(result);\r\n };\r\n\r\n const getChildren = items.map((item, key) => {\r\n return (\r\n ) => {\r\n (e.currentTarget.childNodes[0] as HTMLElement).style.opacity = \"0.2\";\r\n }}\r\n style={{ userSelect: \"none\" }}\r\n onDrag={(e) => move(e)}\r\n onDrop={(e) => {\r\n e.preventDefault();\r\n }}\r\n onDragOver={(e) => {\r\n e.preventDefault();\r\n }}\r\n onDragEnd={(e) => drop(e)}\r\n >\r\n {item}\r\n
    \r\n );\r\n });\r\n\r\n return
    {getChildren}
    ;\r\n};\r\n","import * as React from \"react\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { TextAndDotsDropdown } from \"./TextAndDotsDropdown\";\r\nimport * as classNames from \"classNames\";\r\n\r\nexport interface ITextAndDotsProps {\r\n textLinks: TextLink[];\r\n buttonTitle?: string;\r\n textAndDotsWrapperCSS?: string;\r\n showCloseButton?: boolean;\r\n}\r\n\r\nexport interface ITextAndDotsState {}\r\n\r\nexport type TextLinkWithUrl = {\r\n title: string;\r\n url: string;\r\n};\r\n\r\nexport type TextLinkWithClickHandler = {\r\n title: string;\r\n clickFunction: VoidFunction;\r\n};\r\n\r\nexport type TextLink = TextLinkWithUrl | TextLinkWithClickHandler;\r\n\r\nfunction isTextLinkWithurl(maybeLinkWithUrl: TextLink): maybeLinkWithUrl is TextLinkWithUrl {\r\n return Boolean((maybeLinkWithUrl as TextLinkWithUrl).url);\r\n}\r\n\r\nfunction isTextLinkWithClickHandler(\r\n maybeLinkWithClickHandler: TextLink\r\n): maybeLinkWithClickHandler is TextLinkWithClickHandler {\r\n return Boolean((maybeLinkWithClickHandler as TextLinkWithClickHandler).clickFunction);\r\n}\r\n\r\nexport class TextAndDots extends BaseComponent {\r\n constructor(props: ITextAndDotsProps) {\r\n super(props);\r\n this.state = {\r\n setVisibility: false,\r\n };\r\n }\r\n\r\n private lightbox;\r\n\r\n public render(): JSX.Element {\r\n let { textLinks, buttonTitle } = this.props;\r\n const textAndDotsWrapperCSS = classNames(\"dots-wrap\", this.props.textAndDotsWrapperCSS, {\r\n \"is-dismissable\": this.props.showCloseButton,\r\n });\r\n const toggleVisibility = () => {\r\n this.setState(!this.state);\r\n };\r\n\r\n textLinks = textLinks.filter((ele) => isTextLinkWithurl(ele) || isTextLinkWithClickHandler(ele));\r\n\r\n return (\r\n
    \r\n (this.lightbox = ref)}>\r\n {this.props.showCloseButton && (\r\n
    \r\n toggleVisibility()}\r\n >\r\n \r\n Dismiss this dropdown\r\n \r\n
    \r\n )}\r\n {textLinks.map((ele, index) => {\r\n return (\r\n {\r\n ele.clickFunction();\r\n if (this.lightbox) {this.lightbox.ToggleDropdown();}\r\n }\r\n : null\r\n }\r\n href={isTextLinkWithurl(ele) ? ele.url : null}\r\n >\r\n {ele.title}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import { CSSTransition } from \"react-transition-group\";\r\nimport * as React from \"react\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\n\r\nexport interface ITextAndDotsDropdownProps {\r\n label?: string;\r\n cssWrapper: string;\r\n buttonTitle: string;\r\n onRef?: (ref) => void;\r\n}\r\n\r\nexport interface ITextAndDotsDropdownState {\r\n isOpen: boolean;\r\n}\r\n\r\nexport class TextAndDotsDropdown extends BaseComponent {\r\n constructor(props: ITextAndDotsDropdownProps) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n };\r\n }\r\n private wrapperRef;\r\n\r\n handleClickOutside = () => {\r\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {this.setState({ isOpen: false });}\r\n };\r\n\r\n ToggleDropdown = () => {\r\n this.setState({ isOpen: !this.state.isOpen });\r\n };\r\n\r\n public componentDidMount() {\r\n if (this.props.onRef) {this.props.onRef(this);}\r\n document.addEventListener(\"touchstart\", this.handleClickOutside);\r\n document.addEventListener(\"mousedown\", this.handleClickOutside);\r\n }\r\n\r\n public componentWillUnmount() {\r\n document.removeEventListener(\"touchstart\", this.handleClickOutside);\r\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\r\n }\r\n\r\n private setWrapperRef = (el) => (this.wrapperRef = el);\r\n\r\n public render(): JSX.Element {\r\n const { cssWrapper, label, children, buttonTitle } = this.props;\r\n const { isOpen } = this.state;\r\n const CSSClasses = \"text-and-dots-dropdown \" + cssWrapper;\r\n\r\n return (\r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    {children}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","export enum AlertType {\r\n Success,\r\n Warning,\r\n Error,\r\n Notification\r\n}\r\n","export const DATE_FORMAT = \"dd.MM.yyyy\";\r\nexport const DATE_PLACEHOLDER = \"dd.mm.yyyy\";\r\nexport const ACCEPT_DATE_FORMATS = [\"dd.MM.yyyy\", \"dd/MM/yyyy\", \"dd-MM-yyyy\", \"ddMMyyyy\"];\r\nexport const ContentDatePicker = {\r\n DefaultMinDate: new Date(2000, 1, 1),\r\n CannotBeEmpty: \"Can't be empty\",\r\n CannotBeInThePast: \"Date cannot be in the past\",\r\n CannotBeInTheFuture: \"Date cannot be in the future\",\r\n Today: \"Today\",\r\n DateFormat: \"dd/MM/yyyy\",\r\n};\r\n","import { CountryCode } from \"../../../../Wrap/Constants/Enums/Domain/CountryCode\";\r\n\r\nexport class CountryCodeMap {\r\n public static getString(countryCode: CountryCode): string {\r\n return this.getMap().get(countryCode);\r\n }\r\n\r\n public static getEnum(countryCode: string): CountryCode {\r\n const map = this.getMap();\r\n\r\n let result: CountryCode;\r\n\r\n map.forEach((value: string, index: CountryCode) => {\r\n if (value === countryCode) {\r\n result = index;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n public static getEnumByCountryCodeId(countryCode: number): CountryCode {\r\n const map = this.getMap();\r\n\r\n let result: CountryCode;\r\n\r\n map.forEach((value: string, index: CountryCode) => {\r\n if (index === countryCode) {\r\n result = index;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n public static getArray(defaultFirstCountryCode?: CountryCode): CountryCode[] {\r\n const options = [];\r\n options.push(CountryCode.GBR);\r\n options.push(CountryCode.ABW);\r\n options.push(CountryCode.AFG);\r\n options.push(CountryCode.AGO);\r\n options.push(CountryCode.AIA);\r\n options.push(CountryCode.ALA);\r\n options.push(CountryCode.ALB);\r\n options.push(CountryCode.AND);\r\n options.push(CountryCode.ANT);\r\n options.push(CountryCode.ARE);\r\n options.push(CountryCode.ARG);\r\n options.push(CountryCode.ARM);\r\n options.push(CountryCode.ASM);\r\n options.push(CountryCode.ATG);\r\n options.push(CountryCode.AUS);\r\n options.push(CountryCode.AUT);\r\n options.push(CountryCode.AZE);\r\n options.push(CountryCode.BDI);\r\n options.push(CountryCode.BEL);\r\n options.push(CountryCode.BEN);\r\n options.push(CountryCode.BES);\r\n options.push(CountryCode.BFA);\r\n options.push(CountryCode.BGD);\r\n options.push(CountryCode.BGR);\r\n options.push(CountryCode.BHR);\r\n options.push(CountryCode.BHS);\r\n options.push(CountryCode.BIH);\r\n options.push(CountryCode.BLM);\r\n options.push(CountryCode.BLR);\r\n options.push(CountryCode.BLZ);\r\n options.push(CountryCode.BMU);\r\n options.push(CountryCode.BOL);\r\n options.push(CountryCode.BRA);\r\n options.push(CountryCode.BRB);\r\n options.push(CountryCode.BRN);\r\n options.push(CountryCode.BTN);\r\n options.push(CountryCode.BWA);\r\n options.push(CountryCode.CAF);\r\n options.push(CountryCode.CAN);\r\n options.push(CountryCode.CCK);\r\n options.push(CountryCode.CHE);\r\n options.push(CountryCode.CHL);\r\n options.push(CountryCode.CHN);\r\n options.push(CountryCode.CIV);\r\n options.push(CountryCode.CMR);\r\n options.push(CountryCode.COD);\r\n options.push(CountryCode.COG);\r\n options.push(CountryCode.COK);\r\n options.push(CountryCode.COL);\r\n options.push(CountryCode.COM);\r\n options.push(CountryCode.CPV);\r\n options.push(CountryCode.CRI);\r\n options.push(CountryCode.CUB);\r\n options.push(CountryCode.CUW);\r\n options.push(CountryCode.CXR);\r\n options.push(CountryCode.CYM);\r\n options.push(CountryCode.CYP);\r\n options.push(CountryCode.CZE);\r\n options.push(CountryCode.DEU);\r\n options.push(CountryCode.DJI);\r\n options.push(CountryCode.DMA);\r\n options.push(CountryCode.DNK);\r\n options.push(CountryCode.DOM);\r\n options.push(CountryCode.DZA);\r\n options.push(CountryCode.ECU);\r\n options.push(CountryCode.EGY);\r\n options.push(CountryCode.ERI);\r\n options.push(CountryCode.ESH);\r\n options.push(CountryCode.ESP);\r\n options.push(CountryCode.EST);\r\n options.push(CountryCode.ETH);\r\n options.push(CountryCode.FIN);\r\n options.push(CountryCode.FJI);\r\n options.push(CountryCode.FLK);\r\n options.push(CountryCode.FRA);\r\n options.push(CountryCode.FRO);\r\n options.push(CountryCode.FSM);\r\n options.push(CountryCode.GAB);\r\n options.push(CountryCode.GEO);\r\n options.push(CountryCode.GGY);\r\n options.push(CountryCode.GHA);\r\n options.push(CountryCode.GIB);\r\n options.push(CountryCode.GIN);\r\n options.push(CountryCode.GLP);\r\n options.push(CountryCode.GMB);\r\n options.push(CountryCode.GNB);\r\n options.push(CountryCode.GNQ);\r\n options.push(CountryCode.GRC);\r\n options.push(CountryCode.GRD);\r\n options.push(CountryCode.GRL);\r\n options.push(CountryCode.GTM);\r\n options.push(CountryCode.GUF);\r\n options.push(CountryCode.GUM);\r\n options.push(CountryCode.GUY);\r\n options.push(CountryCode.HKG);\r\n options.push(CountryCode.HND);\r\n options.push(CountryCode.HRV);\r\n options.push(CountryCode.HTI);\r\n options.push(CountryCode.HUN);\r\n options.push(CountryCode.IDN);\r\n options.push(CountryCode.IMN);\r\n options.push(CountryCode.IND);\r\n options.push(CountryCode.IOT);\r\n options.push(CountryCode.IRL);\r\n options.push(CountryCode.IRN);\r\n options.push(CountryCode.IRQ);\r\n options.push(CountryCode.ISL);\r\n options.push(CountryCode.ISR);\r\n options.push(CountryCode.ITA);\r\n options.push(CountryCode.JAM);\r\n options.push(CountryCode.JEY);\r\n options.push(CountryCode.JOR);\r\n options.push(CountryCode.JPN);\r\n options.push(CountryCode.KAZ);\r\n options.push(CountryCode.KEN);\r\n options.push(CountryCode.KGZ);\r\n options.push(CountryCode.KHM);\r\n options.push(CountryCode.KIR);\r\n options.push(CountryCode.KNA);\r\n options.push(CountryCode.KOR);\r\n options.push(CountryCode.KWT);\r\n options.push(CountryCode.LAO);\r\n options.push(CountryCode.LBN);\r\n options.push(CountryCode.LBR);\r\n options.push(CountryCode.LBY);\r\n options.push(CountryCode.LCA);\r\n options.push(CountryCode.LIE);\r\n options.push(CountryCode.LKA);\r\n options.push(CountryCode.LSO);\r\n options.push(CountryCode.LTU);\r\n options.push(CountryCode.LUX);\r\n options.push(CountryCode.LVA);\r\n options.push(CountryCode.MAC);\r\n options.push(CountryCode.MAF);\r\n options.push(CountryCode.MAR);\r\n options.push(CountryCode.MCO);\r\n options.push(CountryCode.MDA);\r\n options.push(CountryCode.MDG);\r\n options.push(CountryCode.MDV);\r\n options.push(CountryCode.MEX);\r\n options.push(CountryCode.MHL);\r\n options.push(CountryCode.MKD);\r\n options.push(CountryCode.MLI);\r\n options.push(CountryCode.MLT);\r\n options.push(CountryCode.MMR);\r\n options.push(CountryCode.MNE);\r\n options.push(CountryCode.MNG);\r\n options.push(CountryCode.MNP);\r\n options.push(CountryCode.MOZ);\r\n options.push(CountryCode.MRT);\r\n options.push(CountryCode.MSR);\r\n options.push(CountryCode.MTQ);\r\n options.push(CountryCode.MUS);\r\n options.push(CountryCode.MWI);\r\n options.push(CountryCode.MYS);\r\n options.push(CountryCode.MYT);\r\n options.push(CountryCode.NAM);\r\n options.push(CountryCode.NCL);\r\n options.push(CountryCode.NER);\r\n options.push(CountryCode.NFK);\r\n options.push(CountryCode.NGA);\r\n options.push(CountryCode.NIC);\r\n options.push(CountryCode.NIU);\r\n options.push(CountryCode.NLD);\r\n options.push(CountryCode.NOR);\r\n options.push(CountryCode.NPL);\r\n options.push(CountryCode.NRU);\r\n options.push(CountryCode.NZL);\r\n options.push(CountryCode.OMN);\r\n options.push(CountryCode.PAK);\r\n options.push(CountryCode.PAN);\r\n options.push(CountryCode.PCN);\r\n options.push(CountryCode.PER);\r\n options.push(CountryCode.PHL);\r\n options.push(CountryCode.PLW);\r\n options.push(CountryCode.PNG);\r\n options.push(CountryCode.POL);\r\n options.push(CountryCode.PRI);\r\n options.push(CountryCode.PRK);\r\n options.push(CountryCode.PRT);\r\n options.push(CountryCode.PRY);\r\n options.push(CountryCode.PSE);\r\n options.push(CountryCode.PYF);\r\n options.push(CountryCode.QAT);\r\n options.push(CountryCode.REU);\r\n options.push(CountryCode.ROU);\r\n options.push(CountryCode.RUS);\r\n options.push(CountryCode.RWA);\r\n options.push(CountryCode.SAU);\r\n options.push(CountryCode.SDN);\r\n options.push(CountryCode.SEN);\r\n options.push(CountryCode.SGP);\r\n options.push(CountryCode.SGS);\r\n options.push(CountryCode.SHN);\r\n options.push(CountryCode.SLB);\r\n options.push(CountryCode.SLE);\r\n options.push(CountryCode.SLV);\r\n options.push(CountryCode.SMR);\r\n options.push(CountryCode.SOM);\r\n options.push(CountryCode.SPM);\r\n options.push(CountryCode.SRB);\r\n options.push(CountryCode.SSD);\r\n options.push(CountryCode.STP);\r\n options.push(CountryCode.SUR);\r\n options.push(CountryCode.SVK);\r\n options.push(CountryCode.SVN);\r\n options.push(CountryCode.SWE);\r\n options.push(CountryCode.SWZ);\r\n options.push(CountryCode.SXM);\r\n options.push(CountryCode.SYC);\r\n options.push(CountryCode.SYR);\r\n options.push(CountryCode.TCA);\r\n options.push(CountryCode.TCD);\r\n options.push(CountryCode.TGO);\r\n options.push(CountryCode.THA);\r\n options.push(CountryCode.TJK);\r\n options.push(CountryCode.TKL);\r\n options.push(CountryCode.TKM);\r\n options.push(CountryCode.TLS);\r\n options.push(CountryCode.TON);\r\n options.push(CountryCode.TTO);\r\n options.push(CountryCode.TUN);\r\n options.push(CountryCode.TUR);\r\n options.push(CountryCode.TUV);\r\n options.push(CountryCode.TWN);\r\n options.push(CountryCode.TZA);\r\n options.push(CountryCode.UGA);\r\n options.push(CountryCode.UKR);\r\n options.push(CountryCode.URY);\r\n options.push(CountryCode.USA);\r\n options.push(CountryCode.UZB);\r\n options.push(CountryCode.VAT);\r\n options.push(CountryCode.VCT);\r\n options.push(CountryCode.VEN);\r\n options.push(CountryCode.VGB);\r\n options.push(CountryCode.VIR);\r\n options.push(CountryCode.VNM);\r\n options.push(CountryCode.VUT);\r\n options.push(CountryCode.WLF);\r\n options.push(CountryCode.WSM);\r\n options.push(CountryCode.YEM);\r\n options.push(CountryCode.ZAF);\r\n options.push(CountryCode.ZMB);\r\n options.push(CountryCode.ZWE);\r\n\r\n options.push(CountryCode.ATA);\r\n options.push(CountryCode.BVT);\r\n options.push(CountryCode.ATF);\r\n options.push(CountryCode.HMD);\r\n options.push(CountryCode.SJM);\r\n options.push(CountryCode.UMI);\r\n const countryMap = this.getMap();\r\n options.sort((prev, next) => countryMap.get(prev).localeCompare(countryMap.get(next)));\r\n if(defaultFirstCountryCode){\r\n const defaultIndex=options.indexOf(defaultFirstCountryCode)\r\n options.splice(defaultIndex,1);\r\n let newOptionsWithDefault=[];\r\n newOptionsWithDefault.push(defaultFirstCountryCode);\r\n newOptionsWithDefault=newOptionsWithDefault.concat(options);\r\n return newOptionsWithDefault;\r\n }\r\n return options;\r\n }\r\n\r\n private static getMap(): Map {\r\n const map = new Map();\r\n\r\n map.set(CountryCode.NotSpecified, \"Not Specified\");\r\n map.set(CountryCode.ABW, \"Aruba\");\r\n map.set(CountryCode.AFG, \"Afghanistan\");\r\n map.set(CountryCode.AGO, \"Angola\");\r\n map.set(CountryCode.AIA, \"Anguilla\");\r\n map.set(CountryCode.ALA, \"Aland Islands\");\r\n map.set(CountryCode.ALB, \"Albania\");\r\n map.set(CountryCode.AND, \"Andorra\");\r\n map.set(CountryCode.ANT, \"Netherlands Antilles\");\r\n map.set(CountryCode.ARE, \"United Arab Emirates\");\r\n map.set(CountryCode.ARG, \"Argentina\");\r\n map.set(CountryCode.ARM, \"Armenia\");\r\n map.set(CountryCode.ASM, \"American Samoa\");\r\n map.set(CountryCode.ATA, \"Antarctica\");\r\n map.set(CountryCode.ATF, \"French Southern Territories\");\r\n map.set(CountryCode.ATG, \"Antigua and Barbuda\");\r\n map.set(CountryCode.AUS, \"Australia\");\r\n map.set(CountryCode.AUT, \"Austria\");\r\n map.set(CountryCode.AZE, \"Azerbaijan\");\r\n map.set(CountryCode.BDI, \"Burundi\");\r\n map.set(CountryCode.BEL, \"Belgium\");\r\n map.set(CountryCode.BEN, \"Benin\");\r\n map.set(CountryCode.BES, \"Bonaire (Sint Eustatius and Saba)\");\r\n map.set(CountryCode.BFA, \"Burkina Faso\");\r\n map.set(CountryCode.BGD, \"Bangladesh\");\r\n map.set(CountryCode.BGR, \"Bulgaria\");\r\n map.set(CountryCode.BHR, \"Bahrain\");\r\n map.set(CountryCode.BHS, \"Bahamas\");\r\n map.set(CountryCode.BIH, \"Bosnia and Herzegovina\");\r\n map.set(CountryCode.BLM, \"Saint Barthelemy\");\r\n map.set(CountryCode.BLR, \"Belarus\");\r\n map.set(CountryCode.BLZ, \"Belize\");\r\n map.set(CountryCode.BMU, \"Bermuda\");\r\n map.set(CountryCode.BOL, \"Bolivia\");\r\n map.set(CountryCode.BRA, \"Brazil\");\r\n map.set(CountryCode.BRB, \"Barbados\");\r\n map.set(CountryCode.BRN, \"Brunei\");\r\n map.set(CountryCode.BTN, \"Bhutan\");\r\n map.set(CountryCode.BVT, \"Bouvet Island\");\r\n map.set(CountryCode.BWA, \"Botswana\");\r\n map.set(CountryCode.CAF, \"Central African Republic\");\r\n map.set(CountryCode.CAN, \"Canada\");\r\n map.set(CountryCode.CCK, \"Cocos (Keeling) Islands\");\r\n map.set(CountryCode.CHE, \"Switzerland\");\r\n map.set(CountryCode.CHL, \"Chile\");\r\n map.set(CountryCode.CHN, \"China\");\r\n map.set(CountryCode.CIV, \"Cote d Ivoire\");\r\n map.set(CountryCode.CMR, \"Cameroon\");\r\n map.set(CountryCode.COD, \"Congo (Democratic Republic)\");\r\n map.set(CountryCode.COG, \"Congo\");\r\n map.set(CountryCode.COK, \"Cook Islands\");\r\n map.set(CountryCode.COL, \"Colombia\");\r\n map.set(CountryCode.COM, \"Comoros\");\r\n map.set(CountryCode.CPV, \"Cape Verde\");\r\n map.set(CountryCode.CRI, \"Costa Rica\");\r\n map.set(CountryCode.CUB, \"Cuba\");\r\n map.set(CountryCode.CUW, \"Curacao\");\r\n map.set(CountryCode.CXR, \"Christmas Island\");\r\n map.set(CountryCode.CYM, \"Cayman Islands\");\r\n map.set(CountryCode.CYP, \"Cyprus\");\r\n map.set(CountryCode.CZE, \"Czech Republic\");\r\n map.set(CountryCode.DEU, \"Germany\");\r\n map.set(CountryCode.DJI, \"Djibouti\");\r\n map.set(CountryCode.DMA, \"Dominica\");\r\n map.set(CountryCode.DNK, \"Denmark\");\r\n map.set(CountryCode.DOM, \"Dominican Republic\");\r\n map.set(CountryCode.DZA, \"Algeria\");\r\n map.set(CountryCode.ECU, \"Ecuador\");\r\n map.set(CountryCode.EGY, \"Egypt\");\r\n map.set(CountryCode.ERI, \"Eritrea\");\r\n map.set(CountryCode.ESH, \"Western Sahara\");\r\n map.set(CountryCode.ESP, \"Spain\");\r\n map.set(CountryCode.EST, \"Estonia\");\r\n map.set(CountryCode.ETH, \"Ethiopia\");\r\n map.set(CountryCode.FIN, \"Finland\");\r\n map.set(CountryCode.FJI, \"Fiji\");\r\n map.set(CountryCode.FLK, \"Falkland Islands\");\r\n map.set(CountryCode.FRA, \"France\");\r\n map.set(CountryCode.FRO, \"Faroe Islands\");\r\n map.set(CountryCode.FSM, \"Micronesia\");\r\n map.set(CountryCode.GAB, \"Gabon\");\r\n map.set(CountryCode.GBR, \"UK\");\r\n map.set(CountryCode.GEO, \"Georgia\");\r\n map.set(CountryCode.GGY, \"Guernsey\");\r\n map.set(CountryCode.GHA, \"Ghana\");\r\n map.set(CountryCode.GIB, \"Gibraltar\");\r\n map.set(CountryCode.GIN, \"Guinea\");\r\n map.set(CountryCode.GLP, \"Guadeloupe\");\r\n map.set(CountryCode.GMB, \"Gambia\");\r\n map.set(CountryCode.GNB, \"Guinea-Bissau\");\r\n map.set(CountryCode.GNQ, \"Equatorial Guinea\");\r\n map.set(CountryCode.GRC, \"Greece\");\r\n map.set(CountryCode.GRD, \"Grenada\");\r\n map.set(CountryCode.GRL, \"Greenland\");\r\n map.set(CountryCode.GTM, \"Guatemala\");\r\n map.set(CountryCode.GUF, \"French Guiana\");\r\n map.set(CountryCode.GUM, \"Guam\");\r\n map.set(CountryCode.GUY, \"Guyana\");\r\n map.set(CountryCode.HKG, \"Hong Kong\");\r\n map.set(CountryCode.HMD, \"Heard Island and McDonald Islands\");\r\n map.set(CountryCode.HND, \"Honduras\");\r\n map.set(CountryCode.HRV, \"Croatia\");\r\n map.set(CountryCode.HTI, \"Haiti\");\r\n map.set(CountryCode.HUN, \"Hungary\");\r\n map.set(CountryCode.IDN, \"Indonesia\");\r\n map.set(CountryCode.IMN, \"Isle of Man\");\r\n map.set(CountryCode.IND, \"India\");\r\n map.set(CountryCode.IOT, \"British Indian Ocean Territory\");\r\n map.set(CountryCode.IRL, \"Ireland\");\r\n map.set(CountryCode.IRN, \"Iran\");\r\n map.set(CountryCode.IRQ, \"Iraq\");\r\n map.set(CountryCode.ISL, \"Iceland\");\r\n map.set(CountryCode.ISR, \"Israel\");\r\n map.set(CountryCode.ITA, \"Italy\");\r\n map.set(CountryCode.JAM, \"Jamaica\");\r\n map.set(CountryCode.JEY, \"Jersey\");\r\n map.set(CountryCode.JOR, \"Jordan\");\r\n map.set(CountryCode.JPN, \"Japan\");\r\n map.set(CountryCode.KAZ, \"Kazakhstan\");\r\n map.set(CountryCode.KEN, \"Kenya\");\r\n map.set(CountryCode.KGZ, \"Kyrgyzstan\");\r\n map.set(CountryCode.KHM, \"Cambodia\");\r\n map.set(CountryCode.KIR, \"Kiribati\");\r\n map.set(CountryCode.KNA, \"Saint Kitts and Nevis\");\r\n map.set(CountryCode.KOR, \"South Korea\");\r\n map.set(CountryCode.KWT, \"Kuwait\");\r\n map.set(CountryCode.LAO, \"Laos\");\r\n map.set(CountryCode.LBN, \"Lebanon\");\r\n map.set(CountryCode.LBR, \"Liberia\");\r\n map.set(CountryCode.LBY, \"Libya\");\r\n map.set(CountryCode.LCA, \"Saint Lucia\");\r\n map.set(CountryCode.LIE, \"Liechtenstein\");\r\n map.set(CountryCode.LKA, \"Sri Lanka\");\r\n map.set(CountryCode.LSO, \"Lesotho\");\r\n map.set(CountryCode.LTU, \"Lithuania\");\r\n map.set(CountryCode.LUX, \"Luxembourg\");\r\n map.set(CountryCode.LVA, \"Latvia\");\r\n map.set(CountryCode.MAC, \"Macau\");\r\n map.set(CountryCode.MAF, \"Saint Martin (French part)\");\r\n map.set(CountryCode.MAR, \"Morocco\");\r\n map.set(CountryCode.MCO, \"Monaco\");\r\n map.set(CountryCode.MDA, \"Moldavia\");\r\n map.set(CountryCode.MDG, \"Madagascar\");\r\n map.set(CountryCode.MDV, \"Maldives\");\r\n map.set(CountryCode.MEX, \"Mexico\");\r\n map.set(CountryCode.MHL, \"Marshall Islands\");\r\n map.set(CountryCode.MKD, \"Macedonia\");\r\n map.set(CountryCode.MLI, \"Mali\");\r\n map.set(CountryCode.MLT, \"Malta\");\r\n map.set(CountryCode.MMR, \"Myanmar\");\r\n map.set(CountryCode.MNE, \"Montenegro\");\r\n map.set(CountryCode.MNG, \"Mongolia\");\r\n map.set(CountryCode.MNP, \"Northern Mariana Islands\");\r\n map.set(CountryCode.MOZ, \"Mozambique\");\r\n map.set(CountryCode.MRT, \"Mauritania\");\r\n map.set(CountryCode.MSR, \"Montserrat\");\r\n map.set(CountryCode.MTQ, \"Martinique\");\r\n map.set(CountryCode.MUS, \"Mauritius\");\r\n map.set(CountryCode.MWI, \"Malawi\");\r\n map.set(CountryCode.MYS, \"Malaysia\");\r\n map.set(CountryCode.MYT, \"Mayotte\");\r\n map.set(CountryCode.NAM, \"Namibia\");\r\n map.set(CountryCode.NCL, \"New Caledonia\");\r\n map.set(CountryCode.NER, \"Niger\");\r\n map.set(CountryCode.NFK, \"Norfolk Island\");\r\n map.set(CountryCode.NGA, \"Nigeria\");\r\n map.set(CountryCode.NIC, \"Nicaragua\");\r\n map.set(CountryCode.NIU, \"Niue\");\r\n map.set(CountryCode.NLD, \"Netherlands\");\r\n map.set(CountryCode.NOR, \"Norway\");\r\n map.set(CountryCode.NPL, \"Nepal\");\r\n map.set(CountryCode.NRU, \"Nauru\");\r\n map.set(CountryCode.NZL, \"New Zealand\");\r\n map.set(CountryCode.OMN, \"Oman\");\r\n map.set(CountryCode.PAK, \"Pakistan\");\r\n map.set(CountryCode.PAN, \"Panama\");\r\n map.set(CountryCode.PCN, \"Pitcairn\");\r\n map.set(CountryCode.PER, \"Peru\");\r\n map.set(CountryCode.PHL, \"Philippines\");\r\n map.set(CountryCode.PLW, \"Palau\");\r\n map.set(CountryCode.PNG, \"Papua New Guinea\");\r\n map.set(CountryCode.POL, \"Poland\");\r\n map.set(CountryCode.PRI, \"Puerto Rico\");\r\n map.set(CountryCode.PRK, \"North Korea\");\r\n map.set(CountryCode.PRT, \"Portugal\");\r\n map.set(CountryCode.PRY, \"Paraguay\");\r\n map.set(CountryCode.PSE, \"Palestine (State of)\");\r\n map.set(CountryCode.PYF, \"French Polynesia\");\r\n map.set(CountryCode.QAT, \"Qatar\");\r\n map.set(CountryCode.REU, \"Reunion\");\r\n map.set(CountryCode.ROU, \"Romania\");\r\n map.set(CountryCode.RUS, \"Russia\");\r\n map.set(CountryCode.RWA, \"Rwanda\");\r\n map.set(CountryCode.SAU, \"Saudi Arabia\");\r\n map.set(CountryCode.SDN, \"Sudan\");\r\n map.set(CountryCode.SEN, \"Senegal\");\r\n map.set(CountryCode.SGP, \"Singapore\");\r\n map.set(CountryCode.SGS, \"South Georgia and the South Sandwich Islands\");\r\n map.set(CountryCode.SHN, \"Saint Helena (Ascension and Tristan da Cunha)\");\r\n map.set(CountryCode.SJM, \"Svalbard and Jan Mayen\");\r\n map.set(CountryCode.SLB, \"Solomon Islands\");\r\n map.set(CountryCode.SLE, \"Sierra Leone\");\r\n map.set(CountryCode.SLV, \"El Salvador\");\r\n map.set(CountryCode.SMR, \"San Marino\");\r\n map.set(CountryCode.SOM, \"Somalia\");\r\n map.set(CountryCode.SPM, \"Saint Pierre and Miquelon\");\r\n map.set(CountryCode.SRB, \"Serbia\");\r\n map.set(CountryCode.SSD, \"South Sudan\");\r\n map.set(CountryCode.STP, \"Sao Tome and Principe\");\r\n map.set(CountryCode.SUR, \"Suriname\");\r\n map.set(CountryCode.SVK, \"Slovakia\");\r\n map.set(CountryCode.SVN, \"Slovenia\");\r\n map.set(CountryCode.SWE, \"Sweden\");\r\n map.set(CountryCode.SWZ, \"Swaziland\");\r\n map.set(CountryCode.SXM, \"Sint Maarten (Dutch part)\");\r\n map.set(CountryCode.SYC, \"Seychelles\");\r\n map.set(CountryCode.SYR, \"Syrian Arab Republic\");\r\n map.set(CountryCode.TCA, \"Turks and Caicos Islands\");\r\n map.set(CountryCode.TCD, \"Chad\");\r\n map.set(CountryCode.TGO, \"Togo\");\r\n map.set(CountryCode.THA, \"Thailand\");\r\n map.set(CountryCode.TJK, \"Tajikistan\");\r\n map.set(CountryCode.TKL, \"Tokelau\");\r\n map.set(CountryCode.TKM, \"Turkmenistan\");\r\n map.set(CountryCode.TLS, \"Timor-Leste\");\r\n map.set(CountryCode.TON, \"Tonga\");\r\n map.set(CountryCode.TTO, \"Trinidad and Tobago\");\r\n map.set(CountryCode.TUN, \"Tunisia\");\r\n map.set(CountryCode.TUR, \"Turkey\");\r\n map.set(CountryCode.TUV, \"Tuvalu\");\r\n map.set(CountryCode.TWN, \"Taiwan\");\r\n map.set(CountryCode.TZA, \"Tanzania\");\r\n map.set(CountryCode.UGA, \"Uganda\");\r\n map.set(CountryCode.UKR, \"Ukraine\");\r\n map.set(CountryCode.UMI, \"United States Minor Outlying Islands\");\r\n map.set(CountryCode.URY, \"Uruguay\");\r\n map.set(CountryCode.USA, \"USA\");\r\n map.set(CountryCode.UZB, \"Uzbekistan\");\r\n map.set(CountryCode.VAT, \"Holy See (Vatican City State)\");\r\n map.set(CountryCode.VCT, \"Saint Vincent and the Grenadines\");\r\n map.set(CountryCode.VEN, \"Venezuela\");\r\n map.set(CountryCode.VGB, \"Virgin Islands (British)\");\r\n map.set(CountryCode.VIR, \"Virgin Islands (USA)\");\r\n map.set(CountryCode.VNM, \"Vietnam\");\r\n map.set(CountryCode.VUT, \"Vanuatu\");\r\n map.set(CountryCode.WLF, \"Wallis and Futuna\");\r\n map.set(CountryCode.WSM, \"Samoa\");\r\n map.set(CountryCode.YEM, \"Yemen\");\r\n map.set(CountryCode.ZAF, \"South Africa\");\r\n map.set(CountryCode.ZMB, \"Zambia\");\r\n map.set(CountryCode.ZWE, \"Zimbabwe\");\r\n\r\n return map;\r\n }\r\n}\r\n","import { Gender } from \"../../../../Wrap/Constants/Enums/Domain/Gender\";\r\nimport { Title } from \"../../../../Wrap/Constants/Enums/Title\";\r\nimport { TitleMap } from \"./TitleMap\";\r\n\r\nexport class GenderMap {\r\n public static getString(Gender: Gender): string {\r\n return this.getMap().get(Gender);\r\n }\r\n\r\n public static getEnum(Gender: string): Gender {\r\n const map = this.getMap();\r\n\r\n let result: Gender;\r\n\r\n map.forEach((value: string, index: Gender) => {\r\n if (value === Gender) {\r\n result = index;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n public static getArray(): Gender[] {\r\n const options = [Gender.Female, Gender.Male];\r\n return options;\r\n }\r\n\r\n private static getMap(): Map {\r\n const map = new Map();\r\n map.set(Gender.NotSpecified, \"Not specified\");\r\n map.set(Gender.Female, \"Female\");\r\n map.set(Gender.Male, \"Male\");\r\n return map;\r\n }\r\n\r\n public static checkGenderValidation(value: Gender, title: Title): boolean {\r\n const femaleSalutations = [Title.Mrs, Title.Ms, Title.Miss, Title.Lady];\r\n const maleSalutations = [Title.Mr, Title.Sir, Title.Lord, Title.Father];\r\n let isValid = true;\r\n if (title) {\r\n switch (value) {\r\n case Gender.Female:\r\n isValid = !maleSalutations.some((salutation) => salutation === title);\r\n break;\r\n case Gender.Male:\r\n isValid = !femaleSalutations.some((salutation) => salutation === title);\r\n break;\r\n }\r\n }\r\n return isValid;\r\n }\r\n}\r\n","import { ServiceProposition } from \"../../../../Wrap/Constants/Enums/ServiceProposition\";\r\n\r\nexport class ServicePropositionMap {\r\n public static getString(ServiceProposition: ServiceProposition): string {\r\n return this.getMap().get(ServiceProposition);\r\n }\r\n\r\n public static getEnum(ServiceProposition: string): ServiceProposition {\r\n const map = this.getMap();\r\n\r\n let result: ServiceProposition;\r\n\r\n map.forEach((value: string, index: ServiceProposition) => {\r\n if (value === ServiceProposition) {\r\n result = index;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n public static getArray(): ServiceProposition[] {\r\n const options = [ServiceProposition.Wrap, ServiceProposition.Fundzone];\r\n return options;\r\n }\r\n\r\n private static getMap(): Map {\r\n const map = new Map();\r\n map.set(ServiceProposition.Wrap, \"Wrap\");\r\n map.set(ServiceProposition.Fundzone, \"Fundzone\");\r\n map.set(ServiceProposition.NonWrapEnabled, \"Non Wrap Enabled\");\r\n return map;\r\n }\r\n}\r\n","import { Title } from \"../../../../Wrap/Constants/Enums/Title\";\r\n\r\nexport class TitleMap {\r\n public static getString(Title: Title): string {\r\n if (!Title) {return null;}\r\n return this.getMap().get(Title);\r\n }\r\n\r\n public static getEnum(Title: string): Title {\r\n const map = this.getMap();\r\n\r\n let result: Title;\r\n\r\n map.forEach((value: string, index: Title) => {\r\n if (value === Title) {\r\n result = index;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n public static getArray(): Title[] {\r\n const options = [];\r\n options.push(Title.Mr);\r\n options.push(Title.Mrs);\r\n options.push(Title.Miss);\r\n options.push(Title.Ms);\r\n options.push(Title.Dr);\r\n options.push(Title.AssocProfessor);\r\n options.push(Title.Captain);\r\n options.push(Title.Father);\r\n options.push(Title.Judge);\r\n options.push(Title.Justice);\r\n options.push(Title.Lady);\r\n options.push(Title.Madam);\r\n options.push(Title.Major);\r\n options.push(Title.Pastor);\r\n options.push(Title.Prof);\r\n options.push(Title.Rev);\r\n options.push(Title.Sir);\r\n options.push(Title.Dame);\r\n options.push(Title.Lord);\r\n options.push(Title.Sister);\r\n options.push(Title.TheHon);\r\n options.push(Title.Other);\r\n options.push(Title.Brigadier);\r\n options.push(Title.Baroness);\r\n options.push(Title.LtComm);\r\n options.push(Title.Colonel);\r\n options.push(Title.ExecutorsOf);\r\n options.push(Title.HisHonour);\r\n options.push(Title.Commodore);\r\n options.push(Title.Deacon);\r\n options.push(Title.TheRightHon);\r\n options.push(Title.TheRightHonLord);\r\n options.push(Title.RevPrebendary);\r\n options.push(Title.Mx);\r\n options.push(Title.Reverend);\r\n return options;\r\n }\r\n\r\n public static getTitleArrayAsString(): string[] {\r\n const options = [];\r\n options.push(\"Mr\");\r\n options.push(\"Mrs\");\r\n options.push(\"Miss\");\r\n options.push(\"Ms\");\r\n options.push(\"Dr\");\r\n options.push(\"Assoc. Prof\");\r\n options.push(\"Captain\");\r\n options.push(\"Father\");\r\n options.push(\"Judge\");\r\n options.push(\"Justice\");\r\n options.push(\"Lady\");\r\n options.push(\"Madam\");\r\n options.push(\"Major\");\r\n options.push(\"Pastor\");\r\n options.push(\"Prof\");\r\n options.push(\"Rev\");\r\n options.push(\"Sir\");\r\n options.push(\"Dame\");\r\n options.push(\"Lord\");\r\n options.push(\"Sister\");\r\n options.push(\"The Hon\");\r\n options.push(\"Other\");\r\n options.push(\"Brigadier\");\r\n options.push(\"Baroness\");\r\n options.push(\"Lieutenant Commander\");\r\n options.push(\"Colonel\");\r\n options.push(\"Executors of\");\r\n options.push(\"His Honour\");\r\n options.push(\"Commodore\");\r\n options.push(\"Deacon\");\r\n options.push(\"The Right Honourable\");\r\n options.push(\"The Right Honourable Lord\");\r\n options.push(\"Rev Prebendary\");\r\n options.push(\"Mx\");\r\n options.push(\"Reverend\");\r\n\r\n return options;\r\n }\r\n\r\n private static getMap(): Map {\r\n const map = new Map();\r\n\r\n map.set(Title.NotSpecified, \"Not Specified\");\r\n map.set(Title.Mr, \"Mr\");\r\n map.set(Title.Mrs, \"Mrs\");\r\n map.set(Title.Miss, \"Miss\");\r\n map.set(Title.Ms, \"Ms\");\r\n map.set(Title.Dr, \"Dr\");\r\n map.set(Title.AssocProfessor, \"Assoc. Prof\");\r\n map.set(Title.Captain, \"Captain\");\r\n map.set(Title.Father, \"Father\");\r\n map.set(Title.Judge, \"Judge\");\r\n map.set(Title.Justice, \"Justice\");\r\n map.set(Title.Lady, \"Lady\");\r\n map.set(Title.Madam, \"Madam\");\r\n map.set(Title.Major, \"Major\");\r\n map.set(Title.Pastor, \"Pastor\");\r\n map.set(Title.Prof, \"Prof\");\r\n map.set(Title.Rev, \"Rev\");\r\n map.set(Title.Sir, \"Sir\");\r\n map.set(Title.Dame, \"Dame\");\r\n map.set(Title.Lord, \"Lord\");\r\n map.set(Title.Sister, \"Sister\");\r\n map.set(Title.TheHon, \"The Hon\");\r\n map.set(Title.Other, \"Other\");\r\n map.set(Title.Brigadier, \"Brigadier\");\r\n map.set(Title.Baroness, \"Baroness\");\r\n map.set(Title.LtComm, \"Lt Comm\");\r\n map.set(Title.Colonel, \"Colonel\");\r\n map.set(Title.ExecutorsOf, \"Executors of\");\r\n map.set(Title.HisHonour, \"His Honour\");\r\n map.set(Title.Commodore, \"Commodore\");\r\n map.set(Title.Deacon, \"Deacon\");\r\n map.set(Title.TheRightHon, \"The Right Honourable\");\r\n map.set(Title.TheRightHonLord, \"The Right Honourable Lord\");\r\n map.set(Title.RevPrebendary, \"Rev Prebendary\");\r\n map.set(Title.Mx, \"Mx\");\r\n map.set(Title.Reverend, \"Reverend\");\r\n\r\n return map;\r\n }\r\n}\r\n","import { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { JsonDateParser } from \"../../../../react-core/Utils/JsonDateParser\";\r\nimport { AdviserChargeReportClient } from \"../../../../Wrap/Api/Reports/BusinessManagement/AdviserCharge/AdviserChargeReport\";\r\nimport { PortfolioInvestmentReportClient } from \"../../../../Wrap/Api/Reports/Investment/PortfolioInvestmentReport\";\r\nimport { PerformanceSummaryReportClient } from \"../../../../Wrap/Api/Reports/Performance/PerformanceSummaryReport\";\r\nimport { CashTransactionReportClient } from \"../../../../Wrap/Api/Reports/Transaction/CashTransactionReport\";\r\nimport { InvestmentTransactionReportClient } from \"../../../../Wrap/Api/Reports/Transaction/InvestmentTransactionReport\";\r\nimport { TaskRequestStatusClient } from \"../../../../Wrap/Api/Tasks/TaskRequestStatus\";\r\nimport { AssetClassType } from \"../../../../Wrap/Constants/Enums/Domain/Instrument/AssetClassType\";\r\nimport { PerformanceMethod } from \"../../../../Wrap/Constants/Enums/Domain/PerformanceMethod\";\r\nimport { ServiceProposition } from \"../../../../Wrap/Constants/Enums/ServiceProposition\";\r\nimport { SortDirection } from \"../../../../Wrap/Core/SortingAndPaging/SortDirection\";\r\nimport { ViewType } from \"../../../../Wrap/Mapping/PortfolioAnalysis/Investment/Enum/ViewType\";\r\nimport { CashTransactionTypes } from \"../../../../Wrap/Models/Domains/Transactions/Cash/CashTransactionTypes\";\r\nimport { AdviserChargeReport } from \"../../../../Wrap/Models/Models/AdviserCharges/AdviserChargeReport\";\r\nimport { ExcelExportDispatcher } from \"../Store/Variable\";\r\n\r\nexport class ExcelExportAction {\r\n public static generatePerformanceSummaryReport(\r\n hierarchyIds: Array,\r\n toDate: Date,\r\n fromDate: Date,\r\n fromInception: boolean,\r\n returnBasis: PerformanceMethod,\r\n customerId: number,\r\n consolidateHeadAccountHierarchyId: string\r\n ): void {\r\n const selectFromDate = JsonDateParser.toJsonDateNoOffset(fromDate);\r\n const selectToDate = JsonDateParser.toJsonDateNoOffset(toDate);\r\n const client = new PerformanceSummaryReportClient();\r\n const promise = client.post(\r\n hierarchyIds,\r\n selectFromDate,\r\n selectToDate,\r\n fromInception,\r\n returnBasis,\r\n customerId,\r\n consolidateHeadAccountHierarchyId\r\n );\r\n promise.onSuccess((res) => {\r\n ExcelExportDispatcher.dispatch({ actionType: ActionType.Success, payload: res });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static generateInvestmentTransactionReport(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n cNoteId: number,\r\n instrumentCode: string,\r\n transSource: string,\r\n sortName: string,\r\n sortDirection: string,\r\n modelId: number\r\n ): void {\r\n const client = new InvestmentTransactionReportClient();\r\n const promise = client.post(\r\n hierarchyId,\r\n modelId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n transSource,\r\n instrumentCode,\r\n cNoteId,\r\n sortName,\r\n sortDirection\r\n );\r\n promise.onSuccess((res) => {\r\n ExcelExportDispatcher.dispatch({ actionType: ActionType.Success, payload: res });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static generateInvestmentReport(\r\n hierarchyIds: string[],\r\n asAt: Date,\r\n assetClassType: AssetClassType,\r\n viewType: ViewType,\r\n drillDownModelList: Array,\r\n actorId: number\r\n ): void {\r\n const client = new PortfolioInvestmentReportClient();\r\n const promise = client.post(\r\n hierarchyIds,\r\n assetClassType,\r\n JsonDateParser.toJsonDateNoOffset(asAt),\r\n viewType,\r\n drillDownModelList,\r\n actorId\r\n );\r\n promise.onSuccess((res) => {\r\n ExcelExportDispatcher.dispatch({ actionType: ActionType.Success, payload: res });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static generateCashTransactionReport(\r\n hierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n fromInception: boolean,\r\n movementType: CashTransactionTypes,\r\n modelId: number,\r\n sortDirection: SortDirection\r\n ) {\r\n const client = new CashTransactionReportClient();\r\n const promise = client.post(\r\n hierarchyId,\r\n JsonDateParser.toJsonDateNoOffset(fromDate),\r\n JsonDateParser.toJsonDateNoOffset(toDate),\r\n fromInception,\r\n movementType,\r\n modelId,\r\n 0,\r\n 0,\r\n sortDirection\r\n );\r\n promise.onSuccess((res) => {\r\n ExcelExportDispatcher.dispatch({ actionType: ActionType.Success, payload: res });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static generateAdviserChargeReport(\r\n companyHierarchyId: string,\r\n adviserHierarchyId: string,\r\n fromDate: Date,\r\n toDate: Date,\r\n servicePropositions: ServiceProposition[]\r\n ): void {\r\n const client = new AdviserChargeReportClient();\r\n const request: AdviserChargeReport = {\r\n CompanyHierarchyId: companyHierarchyId,\r\n AdviserHierarchyId: adviserHierarchyId,\r\n FromDate: JsonDateParser.toJsonDateNoOffset(fromDate),\r\n ToDate: JsonDateParser.toJsonDateNoOffset(toDate),\r\n ServicePropositions: servicePropositions,\r\n };\r\n const promise = client.post(request);\r\n promise.onSuccess((res) => {\r\n ExcelExportDispatcher.dispatch({ actionType: ActionType.Success, payload: res });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n public static getTaskRequestStatus(taskRequestId: string, callback?): void {\r\n const client = new TaskRequestStatusClient();\r\n const promise = client.get(taskRequestId);\r\n promise.onSuccess((res) => {\r\n if (callback) {callback(res);}\r\n ExcelExportDispatcher.dispatch({ actionType: ActionType.Update, payload: res.Status });\r\n });\r\n promise.onError((err) => {\r\n console.log(err);\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { ActionType } from \"../../../react-core/Flux/ActionType\";\r\nimport { BaseComponent } from \"../../../react-core/Html/BaseComponent\";\r\nimport { TaskRequestStatus } from \"../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { ReportInfo } from \"../../../Wrap/Models/Models/Reports/ReportInfo\";\r\nimport { DocumentFileAction } from \"../../Dashboard/Components/Clients/PortfolioDashboard/Components/Document/Action/DocumentFileAction\";\r\nimport { TableColSettingsStore } from \"../TableColFilter/Store/Variable\";\r\nimport { ExcelExportAction } from \"./Actions/ExcelExportAction\";\r\nimport { ExcelExportStore } from \"./Store/Variable\";\r\n\r\nexport interface IExcelExportButtonProps {\r\n onRequestReport: Function;\r\n selectedAccount: string;\r\n}\r\nexport interface IExcelExportButtonState {\r\n isPending?: boolean;\r\n isCompleted?: boolean;\r\n reportInfo?: ReportInfo;\r\n url?: string;\r\n}\r\nexport class ExcelExportButton extends BaseComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { isPending: false, isCompleted: false };\r\n this.subscribeToStore(ExcelExportStore, () => this.onStoreChange());\r\n this.subscribeToStore(TableColSettingsStore, () => this.onTableColSettingsStoreChange());\r\n }\r\n\r\n private onStoreChange() {\r\n if (ExcelExportStore.getActionType() == ActionType.Success) {\r\n const data = ExcelExportStore.getData();\r\n this.setState({ reportInfo: data, isPending: true, isCompleted: false });\r\n ExcelExportAction.getTaskRequestStatus(data.TaskRequestID.toString());\r\n }\r\n if (ExcelExportStore.getActionType() == ActionType.Update) {\r\n const status = ExcelExportStore.getStatus();\r\n if (\r\n status == TaskRequestStatus.Pending ||\r\n status == TaskRequestStatus.Running ||\r\n status == TaskRequestStatus.Allocated ||\r\n status == TaskRequestStatus.PendingDelayed ||\r\n status == TaskRequestStatus.PendingHold\r\n ) {\r\n setTimeout(() => {\r\n ExcelExportAction.getTaskRequestStatus(this.state.reportInfo.TaskRequestID.toString());\r\n }, 2000);\r\n } else if (status == TaskRequestStatus.Complete) {\r\n DocumentFileAction.get(\r\n this.props.selectedAccount,\r\n this.state.reportInfo.FileName,\r\n true,\r\n 0,\r\n this.state.reportInfo.TaskRequestID,\r\n null,\r\n (result: string) => {\r\n this.setState({\r\n isPending: false,\r\n isCompleted: true,\r\n url: result,\r\n });\r\n },\r\n true\r\n );\r\n } else {\r\n //failed or cancelled, need confirm with SC\r\n }\r\n }\r\n }\r\n\r\n private onTableColSettingsStoreChange() {\r\n this.setState({\r\n isPending: false,\r\n isCompleted: false,\r\n url: null,\r\n });\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <>\r\n {!this.state.isPending && !this.state.isCompleted && (\r\n {\r\n this.setState({ isPending: true, isCompleted: false });\r\n this.props.onRequestReport();\r\n }}\r\n >\r\n \r\n Export to excel\r\n \r\n )}\r\n {this.state.isPending && (\r\n <>\r\n
    \r\n \r\n Generating file, please wait.\r\n \r\n
    \r\n \r\n )}\r\n {this.state.isCompleted && (\r\n <>\r\n
    \r\n \r\n Generating file complete.\r\n \r\n {\r\n this.setState({ isPending: false, isCompleted: false });\r\n }}\r\n >\r\n Download\r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { BaseStore } from \"../../../../react-core/Flux/BaseStore\";\r\nimport { TaskRequestStatus } from \"../../../../Wrap/Constants/Enums/Tasks/TaskRequestStatus\";\r\nimport { ReportInfo } from \"../../../../Wrap/Models/Models/Reports/ReportInfo\";\r\nimport { ExcelExportDispatcher } from \"./Variable\";\r\n\r\nexport interface ExcelExportStaticState {\r\n isLoading?: boolean;\r\n actionType: ActionType;\r\n data?: ReportInfo;\r\n status?: TaskRequestStatus;\r\n}\r\n\r\nexport class ExcelExportStatic extends BaseStore {\r\n constructor() {\r\n super();\r\n this.subscribeToDispatcher(ExcelExportDispatcher, (actionData) => this.onStoreResponse(actionData));\r\n }\r\n\r\n public getLastResult(): ExcelExportStaticState {\r\n return this.getState();\r\n }\r\n\r\n public isLoading(): boolean {\r\n return this.getState().isLoading;\r\n }\r\n\r\n public getActionType() {\r\n return this.getState().actionType;\r\n }\r\n\r\n protected getDefaultState(): ExcelExportStaticState {\r\n return { actionType: ActionType.Loading };\r\n }\r\n\r\n public getData() {\r\n return this.getState().data;\r\n }\r\n\r\n public getStatus() {\r\n return this.getState().status;\r\n }\r\n\r\n private onStoreResponse(actionData): void {\r\n switch (actionData.actionType) {\r\n case ActionType.Success:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n data: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Update:\r\n this.setState({\r\n actionType: actionData.actionType,\r\n isLoading: false,\r\n status: actionData.payload,\r\n });\r\n break;\r\n case ActionType.Error:\r\n case ActionType.Loading:\r\n this.setState({ actionType: actionData.actionType });\r\n break;\r\n }\r\n }\r\n}\r\n","import { ActionType } from \"../../../../react-core/Flux/ActionType\";\r\nimport { Dispatcher } from \"../../../../react-core/Flux/Dispatcher\";\r\nimport { ExcelExportStatic } from \"./ExcelExportStatic\";\r\n\r\n\r\nexport interface FluxResponse {\r\n actionType: ActionType;\r\n isLoading?: boolean;\r\n payload?: any;\r\n otherObj?: any;\r\n}\r\n\r\nexport const ExcelExportDispatcher: Dispatcher = new Dispatcher();\r\nexport const ExcelExportStore: ExcelExportStatic = new ExcelExportStatic();\r\n","import { isObject } from \"lodash\";\r\n\r\nexport type BaseEvent = {\r\n event: string;\r\n};\r\n\r\nabstract class TagManagerBase {\r\n private readonly _dataLayer: string;\r\n\r\n private static isInitialised: { [key: string]: boolean } = {};\r\n\r\n public constructor(dataLayer = \"dataLayer\") {\r\n this._dataLayer = dataLayer;\r\n }\r\n\r\n /**\r\n * @description Initialise a GTM container. This handles \\