{"version":3,"sources":["components/ReusableComponents/ReusableElements/Modals.tsx","Assets/imgs/Skrill.png","Assets/imgs/BitCoin.png","Assets/imgs/BTC(Bitcoin).jpeg","Assets/imgs/ETH(ERC20).jpeg","Assets/imgs/USDT(ERC20).jpeg","Assets/imgs/USDT(TRC20).jpeg","Assets/imgs/CashUSDT.png","redux/actions/NotificationActions.ts","Interfaces/IApplicationForm.ts","Assets/imgs/notsuported.jpg","components/Lazy.tsx","redux/actions/CompanyDataAction.ts","redux/actions/SignalRAction.ts","Services/ThemeService.ts","redux/actions/themeActions.ts","redux/actions/UserConnectivityAction.ts","components/ReusableComponents/Layouts/ExternalLayout.tsx","components/ReusableComponents/Bars/LeftSideBar.tsx","Pages/ClientSettings/MyProfileAdmin.tsx","Pages/NotificationPage.tsx","components/ReusableComponents/Bars/LeftsidebarMobile.tsx","components/ReusableComponents/Bars/TopBar.tsx","components/ReusableComponents/Layouts/InternalLayout.tsx","Pages/Auth/Page404.tsx","Routes/PrivateRoute.tsx","Routes/Routes.tsx","i18n.ts","Pages/CompanyWidgets/EliteWbChat.tsx","Pages/CompanyWidgets/CrispChatBot.tsx","App.tsx","redux/actions/LanguageOptionsAction.ts","BrowserNotSuported.tsx","index.tsx","Helpers/BrowserHelper.ts","redux/actions/languageAction.ts","redux/actions/PushNotificationActions.ts","Routes/index.tsx","components/AdvancedComponents/ErrorBoundary.tsx","components/ReusableComponents/ReusableElements/BasicElements.tsx","redux/constants.ts","Pages/ClientSettings/ContactUs.tsx","Helpers/DataFillingHelpers.tsx","Interfaces/Interfaces.ts","redux/actions/CompanySettingsAction.ts","redux/actions/ServersConnectivityAction.ts","Pages/ClientSettings/MyProfile.tsx","components/ReusableComponents/Bars/Bars.tsx","redux/reducers/themeReducer.ts","redux/reducers/AuthReducer.ts","redux/reducers/LanguageReducer.ts","redux/reducers/NotificationReducer.ts","redux/reducers/PushNotificationReducer.ts","redux/reducers/DashboardReducer.ts","redux/reducers/LanguageOptionsReducer.ts","redux/reducers/CompanySettingsReducer.ts","redux/reducers/CompanyDataReducer.ts","redux/reducers/SignalRReducer.ts","redux/reducers/UserConnectivityReducer.ts","redux/reducers/ServersConnectivityReducer.ts","redux/reducers/ColumnTableReducer.ts","redux/reducers/TableFiltrationReducer.ts","redux/reducers/IBManualSyncTimeStampReducer.ts","redux/reducers/index.ts","Middleware/signalRMiddleware.tsx","Middleware/StorageMiddleware.tsx","redux/store/index.ts","redux/actions/AuthActions.ts","Helpers/DataHelpers.tsx","Helpers/axiosHelpers.ts"],"names":["ModalPopup","React","state","open","escFunction","event","keyCode","this","props","handleClose","componentDidMount","document","addEventListener","render","aria-labelledby","aria-describedby","className","BackdropComponent","Backdrop","BackdropProps","timeout","in","hidden","showTitle","title","onClick","isGraph","body","ModalPopup2","isloadingAction","undefined","componentDidUpdate","prevProps","setState","onDiscard","cancel","loading","onSave","save","Popup","handleOpen","id","modalID","inmiddle","buttons","EmailViewModal","PopupInMiddle","showDots","hideBody","isCloseBtn","icon","faUserTie","TraderName","Basebody","hideSave","isLoading","disabled","handleSave","Save","dots","SmallModalPop","componentWillUnmount","removeEventListener","ProfileModal","small","nobuttons","backBtn","module","exports","AddNewMessage","newMessage","type","types","payload","SetHasNewValue","value","RemoveMessage","RemoveAllMessages","GetDeclarationsResult","Answer","DAID","DeclarationText","DID","WithRadioBtn","GetKYCComplianceAnswersResult","acctype","ADComment","Address","ADPrivilege","AmountToInvest12Months","attendedAseminar","averageLeverageLevel","averageYearlyVolume","BackBankFileSrc","BackIDSrc","BackIDSrc2","BankCardID","BankName","basecurr","BuildingNbr","BusinessNature","CAID","CardHolderName","CFDsKnowledgeLevel","CFDsTrades","CFDsYears","City","citytown","clntEmail","cob","CommoditiesKnowledgeLevel","CommoditiesTrades","CommoditiesYears","country","CountryBankAccount","CountryOfIssuance","CountryOfIssuance2","CountyStateProvince","curremployer","currentLevel","currposition","declaredBankruptcy","derivativesFutures","DOB","DocsComment","DocsPrivilege","education","eduqualification","eduqualificationtxt","empstat","EstimatedAnnualIncome","EstimatedAnnualInvestment","EstimatedAnnualNetIncome","estimatedinvest","EstimatedLiquidNetWorth","EstimatedNetWorth","Experience","ExpiryDate","ExpiryDate2","familiarOTCderivatives","fname","foreignExchTrades","foreignExchYears","foreignKnowledgeLevel","FrontIDSrc","FrontIDSrc2","FuturesMarket","GovernmentKnowledgeLevel","GovernmentTrades","GovernmentYears","HowTradedPreviously","IDNumber","IDNumber2","IDType","IDType2","IIComment","IIPrivilege","industryEmployed","industryRetired","industryStudent","InfrontBankFileSrc","initialMarginReq","instrumentsFamiliar","instrumentsWithMargin","KYCID","LevelOfEducation","leverage","lname","MarginConcepts","MarginRequired","maritalStatus","marketMovingAgainstU","MaximumLeverageUsed","Member","mname","mnthlyavgvol","MonthlyExpenses","MonthlyRentalIncome","monthlyTrades","MutualfundsExchYears","MutualfundsKnowledgeLevel","MutualfundsTrades","NameEmployerOrganisation","nationality","NationalPassport","NbrOfDependents","NetValueWealth","Occupation","OptionsKnowledgeLevel","OptionsTrades","OptionsYears","OtherInvesKnowledgeLevel","OtherInvesTrades","OtherInvesYears","PDComment","PDPrivilege","phone1","phone2","PlannedInitialInvestment","PlannedInvestment","PostalCode","prevemp","prevpos","Profession","ProfessionRelateFinancialIndustryQsn","ProofAddressType","proofOfAddress","ProofOfAddSrc","PurposeInvesting","PurposeOpening","purposetrading","QualThatAssistUnderstanding","resaddress","riskiestinv","RiskOfLoss","salutation","salutationtxt","SecondaryIncome","serverType","SharesKnowledgeLevel","SharesTrades","SharesYears","SourceOfFunds","sourceofwealth","SpecialDoc","SrcIncomeRetired","SrcIncomeStudent","stoploss","StopOutBeTriggered","StreetName","TAComment","TAPrivilege","taxnb","taxnbtxt","taxrescntry","TDComment","TDPrivilege","TEComment","TEPrivilege","timeframePosition","TKComment","TKPrivilege","TotalPortfolio","tradedForex","tradedFunds","tradingWithHigherLeverage","TrueAboutFuturesQns","UnderstandingOfRisks","understandOTCderivatives","UsedLeveragedProductsQsn","usperson","USResident","ValueRentalProp","volatilityConcepts","WhySpreadFloatingQns","zipcode","GetKYCDetailsResult","Status","IdentificationDoc1Status","IdentificationDoc2Status","ProofAddDocStatus","BankDetailsDocStatus","TotalScore","AdminUsername","ApprovedBy","AttendedCoursesQsn","AverageLevelLeverage","AverageYearlyVolume","BackBankPhoto","BackDocID","BackDocID2","BankingFacilities","BankingFacilitiesSF","BuildingNumber","BusinessOwnership","BusinessOwnershipSF","CFDsLevel","CFDsTradesNo","CommissionsRevenuesBonuses","CommissionsRevenuesBonusesSF","CommoditiesPreciousMetalsLevel","CommoditiesPreciousMetalsTradesNo","CommoditiesPreciousMetalsYears","Country","CountryBankAccountName","CountryID","CountryOfBirth","CountryOfBirthID","Creationdate","Date","CurrentEmployer","CurrentPosition","DayDOB","DayDocExpiryDate","DayDocExpiryDate2","DeclaredBankruptcyQsn","DocCountryIssuance","DocCountryIssuance2","DocCountryIssuanceID","DocCountryIssuanceID2","DocExpiryDate","DocExpiryDate2","DocIDNumber","DocIDNumber2","Education","EducationalFinancial","EducationalFinancialTXT","EmployerRegulatedFinancial","EmploymentAddress","EmploymentCity","EmploymentCountry","EmploymentPostalCode","EmploymentStatus","ESignature","EstimatedAmountInvest","FamilyIncomeRelationship","FamilyIncomeRelationshipSF","FName","ForeignExchangeLevel","ForeignExchangeTradesNo","ForeignExchangeYears","FrontDocID","FrontDocID2","FullName","FuturesMarketQns","GovernmentCorporateBondsLevel","GovernmentCorporateBondsTradesNo","GovernmentCorporateBondsYears","GUID","HoldBachelorOtherSubjects","HoldProfessionalQualification","HowRoleProvidedExperience","HowTradedTheseProducts","IFCommodities","IFCryptoCurrency","IFCurrencies","IFIndices","IFStocks","IncomeEmployment","IncomeEmploymentSF","Industry","industryEmpOther","IndustryRetired","industryRetiredOther","IndustryStudent","industryStudentOther","InfontBankPhoto","Inheritance","InheritanceSF","InitialPositionQns","InsurancePayout","InsurancePayoutSF","IsAdmin","IUnderstand","LevelKnowledgeFinancialMarkets","LName","LongHaveTraded","MarginRequiredQns","MaritalStatus","MName","MonthDOB","MonthDocExpiryDate","MonthDocExpiryDate2","MonthlyAverageVolume","MutualFundsOfSharesLevel","MutualFundsOfSharesTradesNo","MutualFundsOfSharesYears","Nationality","NationalityID","NationalPassportQsn","NatureOfBusiness","NoneAbove","NumberOfDependents","OptionsOrFuturesLevel","OptionsOrFuturesTradesNo","OptionsOrFuturesYears","OTCDerivativesDifferentQns","OTCDerivativesPlacedQns","OtherInvestmentsLevel","OtherInvestmentsTradesNo","OtherInvestmentsYears","OtherSourceFunds","OtherSourceFundsTxt","OtherSrcWlth","OtherSrcWlthTxt","PersonalSaving","PersonalSavingSF","Phone","PoliticallyPersonQsn","PreviousEmployer","PreviousPosition","ProofAddressDoc","ProofAddressValid","PropertyLandInvestments","PropertyLandInvestmentsSF","ProvideAverageNumber","PurposeNatureTrading","PurposeOpeningAcc","QualificationLeveragedQsn","Reason","ReceivedHigherFinanceEducation","RelevantEmployerName","ReturnInvestmentsSharesDividends","ReturnInvestmentsSharesDividendsSF","RiskiestInvestmentQns","RoleHoldWithEmployer","RoleHoldWithEmployerOther","Salutation","SalutationID","SalutationTxt","SecondaryIncomeQsn","SecondPhone","SelfieDoc","SharesLevel","SharesTradesNo","SizeFinancialPortfolio","SourceIncome","SourceOfIncomeStudent","State","StopLossOrderUsedQns","StoppedOutSituationsQns","TaxNumber","TaxNumberTxt","TaxResidencyCountry","TaxResidencyCountryID","TimeframeHeldPositions","TINUnavailable","TINUnavailableTXT","TradedSignificantSize","TradesPerMonth","TradingHigherLeverageApplyQns","TradingHigherLeverageQns","TypeInstrumentsFamiliar","UnderstandConceptsVolatilityQsn","UnderstandLeveragedProductsQsn","UnderstandRisksWithTradingQsn","USAResidentQsn","USATaxPurposesQsn","WhatExtentTradedDerivatives","WhatExtentTradedFunds","WhatExtentTradedWithMargin","WorkedRoleRelevantTrading","WorkExperienceQsn","WorkFinancialSector","YearDOB","YearDocExpiryDate","YearDocExpiryDate2","ZipCode","GetKYCPermissionsResult","AccountType","AmountToInvest","AnnualIncome","AnnualNetIncome","BankStatement","BaseCurrency","BrokerApplication","BrokerApplicationDesc","BrokerApplicationDescTxt","CFDs","CommoditiesPreciousMetals","CountryIssuance","CountryIssuance2","CountryIssuanceDriverID","CountryIssuanceDriverID2","CountryIssuanceNationalID","CountryIssuanceNationalID2","DateOfBirth","Documents","DocumentsDesc","DocumentsDescTxt","DriverLicenseID","DriverLicenseID2","EmailPerm","ExpiryDateDriverID","ExpiryDateDriverID2","ExpiryDateNationalID","ExpiryDateNationalID2","FirstName","ForeignExchange","GovernmentAndCorporateBonds","InvestorInfo","InvestorInfoDesc","InvestorInfoDescTxt","IsFillDocumentRequired","KPID","KTID","LastName","LetterFromGovernmentAgency","LevelEducationOurProducts","Leverage","LiquidNetWorth","MiddleName","MutualFundsOfShares","NationalCardID","NationalCardID2","NetWorth","OptionsOrFutures","OtherInvestments","OtherProofOfAddressType","PassportID","PassportID2","PassportNumber","PassportNumber2","PassportNumberDriverID","PassportNumberDriverID2","PassportNumberNationalID","PassportNumberNationalID2","PersonalDetails","PersonalDetailsDesc","PersonalDetailsDescTxt","Platform","ProfessionalClientStatus","ProfessionalClientStatusDesc","ProfessionalClientStatusDescTxt","PurposeAndNatureTrading","ResidentialAddress","Shares","SourceOfIncome","SourceOfWealth","TraderDeclaration","TraderDeclarationDesc","TraderDeclarationDescTxt","TradingExperience","TradingExperienceDesc","TradingExperienceDescTxt","TradingHigherLeverage","TradingKnowledge","TradingKnowledgeDesc","TradingKnowledgeDescTxt","Utilitybill","IdentificationDoc1","IdentificationDoc2","ProofAddDoc","BankDetailsDoc","BasicSelectOption","label","DocumentParameters","Token","CompanyName","objData","ClientID","Type","BinaryDocument","DefaultValueDict","imgsrc","placeholder","SpinnerComponent","require","Lazy","position","color","UpdateCompanyData","CompanyData","CheckSignalR","toggleTheme","name","Array","from","querySelectorAll","forEach","style","parentNode","removeChild","link","createElement","href","setAttribute","rel","getElementsByTagName","appendChild","insertStylesheet","enableDarkTheme","enableTheme","enableLightTheme","enableMixTheme","enableOrangeTheme","enableNavyTheme","enableBlackRedTheme","enableIGainTheme","enableLDNTheme","enableATFXTheme","enableACMTheme","enableGMCTheme","enableAvantTheme","enablePrimexTheme","enableGivTradeTheme","enableiQuotoTheme","enablePureNorthTheme","enableOrbitLight","enableOrbitDark","enableTNFXTheme_OrangeDark","enableGold","enableBrownTheme","MenuToggleCollapse","HandleUserConnectivity","isConnected","ErrorBoundary","removeScroll","children","$","SubMenu","Menu","dispatchProps","push","Login","Logout","MenuSetCollapse","collapsed","LeftSideBar","isElite","CheckIfCompanyIs","isJKV","isOrbit","isTNFX","isIconFx","rootSubmenuKeys","subtab","ContactUSMessage","SendMessageLoading","openContactUSPOPUP","current","visible","theme","MenuIsCollapsed","openKeys","path","toLowerCase","includes","defaultSelectedKeys","selectedSetting","OpenContactUs","scrollToSelectedPath","selectedPathElement","getElementById","scrollIntoView","behavior","e","console","error","toggleCollapsed","SetCollapsed","unselectItems","trigger","onOpenChange","latestOpenKey","find","key","indexOf","closeALLMenus","unselectAll","openContactusModal","closeContact","navigatetoSettings","showDrawer","onClose","openContactUS","closeContactUS","Pointer","float","clear","checkIfAllowedForPureNorthMAM","isClientMM","isClientMoneyManager","Allowed","checkIfAllowedForPureNorthLogs","isKYCRequired","isA","ClientData","RequireKYC","ReturnPortfolioName","t","DisplayOnbording","isRequireKYC","DisplayMyAccounts","isClientCRM","isValid","RenderMyAccountsSubMenu","AllowAddDemoAcc","Item","to","RenderIBMenuItems","isClientIB","isClientAccessSubIB","isClientReporting","isClientBreakDownReport","isPromotion","sub","defaultValue","PreviousPath","result2","split","slice","join","userData","isAdmin","DisplayZendDeskChat","TraderUserPerms","GetPermissionDetailsByName","UserPermissions","ClientsUserPerms","PartnersUserPerms","MAMUserPerms","BackOfficeUserPerms","BonusUserPerms","OnBoardingUserPerms","ReportsUserPerms","NotesUserPerms","TasksUserPerms","PortalSettingsUserPerms","DynamicMargin","LogsPermission","ViewAccountTypes","CheckIfPermAlllowedByName","Perms","isAdminBonus","IsBonus","isAdminIB","IsIB","isAdminMM","IsMM","isAdminCRM","IsCRM","isAdminDynamicMargin","IsDynamicMargin","isClientCRMPermssion","isClientIBPermssion","isClientInvestorCopier","isClientSignalMAMPerms","LeaderBoard","isAccountExist","parseInt","String","NmbrOfAcc","isHasKYC","hasKYC","IsValid","isNotRequiredAndAccountExist","isRequiredKycSumbitedAndAccountExist","isRequiredKycAndSumbited","GetReportsPerms","BonusReportsPerm","CRMREports","IBReports","DLReports","BackofficeReports","MAMReports","_OneOFReportsEnabled","OneOFReportsEnabled","defaultOpenKeys","mode","inlineCollapsed","Row","md","Col","ContactUs","withTranslation","connect","auth","UserData","lang","language","sidebar","history","AdminData","UpdateTimezone","ChangeLanguage","companyName","userName","MyProfileAdmin","EmailtoSendPassword","countriesOptions","contactCountriesSelectedValue","GetContactInfoResult","Contact","selectedEmail","resetEmail","SendByEmail","passwordValue","autoGeneratePassword","GetGUTradersResult","GetDashboardDataResponse","DashboardClass","serverSelectOptions","loginSelectOptions","serverSelectedValue","ServersOptions","loginSelectedValue","GUTradersOptions","capitalAloc","YTDROIChart","ProfilesCopyMe","GetGUDataResponse","Email","UserStatus","ProfileImage","CountryName","LoadPlatformLinksResponse","currentPassword","newPassword","ConfirmPassword","currentEmail","currentPasswordEmail","newEmail","languageSelectOptions","languageSelectedValue","LinkPlatform","PLink","PDesc","profileImg","openPassword","openLangauge","openLinks","openTimeZone","TimeZone","TimeZonesOptions","TimeZoneSelectedValue","openProfileNotification","openAutoGenerate","openEditContact","AddContactClass","ActionContact","dateString","FillServerOptions","ServersData","FilterFlag","_options","FillServerOptionsHelper","languageOptionsFunction","languageOptions","langOpt","k","length","selectOptionByValue","LoadPlatformLinks","LoadPlatformLinksParams","UserName","ObjData","CallAxiosRequest","GetURL","res","data","listRes","LoadTimeZones","timezoneOptions","options","tzCode","text","offset","UpdateMailLang","preventDefault","UpdateMailLangParams","Language","BUID","ActionURL","IsAuth","toastr","success","UpdateUserPassword","_Password","_SendByEmail","password_generator","UpdateUserPasswordParams","ClientName","ContactID","Password","btoa","SendToEmail","IntRes","closePasswordModal","atob","warning","onDetailsChange","target","serverSelectOnChange","handleImg","binary","addresImg","DocumentType","UpdateUserProfileImageParms","YoonitRequest","UploadKYCDocumentRequest","LiveRes","DocPath","closeAutoGenerate","list","selectedValue","i","closeEditContact","languageOnChange","TimeZoneOnChange","OpenLanguageModal","closeLanguageModal","OpenPasswordModal","resetUpdatePassword","TimeZoneCode","closeTimeZone","triggerUserImg","closeProfileNotification","navigateToNotification","OnChangRadioPassword","passwordType","generatePassword","inputOnchange","contactInputOnchange","persist","prevstate","changeDate","FillSelectOptions","SelectOpt","stateName","Data","GetCountries","GetCountriesParams","ListRes","_countries","SetUSAFirstCounty","ReturnSelectOptions","ReturnOptionByValue","GetContactInfoCall","GetContactInfoParams","_GetContactInfoResult","_temp","Object","keys","validateEdit","ValidateInput","UpdateContact","ManageContactsUserPermValName","GetPermValName","UpdateContactParams","_ObjData","validateDate","MaritalStatusID","MilitaryStatusID","StatusID","ContactOwner","GraduationDate","CreationDate","IsActive","UnsubscribedFromAllEmail","AUID","ValidateSelect","closeProfile","contactCountriesOnChange","ReturnTimeZone","TimeZoneoffset","_result","sign","charAt","substr","hrs","mins","UpdateUserTimeZone","a","Parms","UpdateUserLanguage","i18n","changeLanguage","documentElement","SaveAllConfiguration","copyUsername","copyText","select","setSelectionRange","execCommand","copyPassword","onCheckBoxChange","checked","SendPasswordByEmail","validateEmail","SendPasswordByEmailParams","UserEmail","Servers","LanguageData","Options","openProfile","currentTheme","Label","StatusType","Button","faBell","UncontrolledDropdown","DropdownToggle","nav","caret","faEllipsisV","height","width","DropdownMenu","right","DropdownItem","classNamePrefix","isSearchable","onChange","Input","bsSize","readOnly","isMulti","getOptionLabel","option","CountryCode","ReturnCountryCode","MobilePhoneNumber","Skype","Wechat","Group","FormGroup","hasFeedback","validateStatus","help","CheckPasswordStrength","autoComplete","for","faCopy","validate","yoonitGetURL","yoonitActionURL","TabPane","Tabs","moment","NotificationPage","isOpen","index","ReturnElapsedTime","_date","_now","_timeOfExecution","days","diff","hours","minutes","deleteAll","Modal","Fade","Close","tabBarExtraContent","tab","Notifications","map","item","messageTitle","messageContent","messageDate","faCircle","location","router","MenuItemGroup","ItemGroup","LeftSideBarMobile","SecondaryIcon","cdnLink","LightLogo","DarkLogo","IsCircular","website","ReturnLogo","CompanyDataProps","CDNURL","CompanySettings","placement","closable","src","alt","ClearPushNotifications","TopBar","username","blacRedTheme","darkTheme","lightTheme","mixTheme","orangeTheme","navyTheme","iGainTheme","ldnTheme","OpenMail","openNotification","openProfileMainAdmin","atfxTheme","acmTheme","avantTheme","primexTheme","gmcTheme","givTradeTheme","iquotaTheme","pureNorthTheme","ThemeChecked","languageChecked","closeTheme","AddAuthenticationLog","Params","onLogout","window","reload","onLanguageChange","Dict","addClass","delay","queue","removeClass","dequeue","enableIQuotoTheme","enableTNFXTheme","enableGoldTheme","openProfileMain","closeProfileMainAdmin","closeProfileMain","closeNotification","openManual","HandBookURL","encodeURIComponent","LangselectedOption","click","radioBtnsOnChange","CheckIfThereIfAllServersConnected","MAMOrDynamic","isAnyOtherthanDLTrue","ServersConnectivity","serverKey","IsConnected","IsNotHiddenWebAPI","IsNotHiddenManager","server","ID","ServerType","RenderLanguages","ReturnLightTheme","ReturnDarkTheme","CompanyCode","checkIfOtherThemesAllowed","ReturnLogoClassName","CompanySite","toUpperCase","isMAMAllowed","isDynamicMarginAllowed","SupportCenter","Navbar","expand","faBars","Collapse","navbar","Nav","inNavbar","Tooltip","count","faCheckCircle","faTimesCircle","faServer","ServerName","ServerID","HasNew","dot","faQuestion","MyProfile","faSlidersH","faSun","faMoon","faStar","faUserCircle","faSignOutAlt","URL","closedMenu","Page404","navigate","isAuth","isBonus","sm","lg","getImagesURL_LDN","BannerCDNURL","PrivateRoute","Component","component","rest","Routes","LogoutIFPrimexClient","store","getState","dispatch","PushNotificationStatus","signalRIsConnected","componentWillReceiveProps","nextProps","pathname","CheckIfIsExternalPage","ExternalRoutes","route","fallback","Component2","layoutComp","any","exact","ExternalLayout","routes","InternalLayout","MapPrivateRoutes","InternalRoutes","isTokenValid","isTokenExpired","use","Backend","LanguageDetector","initReactI18next","init","fallbackLng","load","debug","keySeparator","nsSeparator","backend","loadPath","crossDomain","interpolation","escapeValue","FreshChat","default","EliteWbChat","token","host","CrispChatBot","Crisp","configure","App","DisplayExternalPage","titleName","googleAdsCode","googleAdsCodeName","googleAnalyticsCode","googleAnalyticsCodeName","GetCompanyDataResult","companyCode","openOfflinePopup","isopenUserActivity","timeoutID","checkUserActivity","resetTimer","startTimer","clearTimeout","goActive","setTimeout","goInactive","openUserActivity","closeUserActivity","CheckIfIsAnInternalRoute","UserConnectivity","CheckToken","closeOfflinePopup","LoadCompanyLogoJson","CallLocalRequestGetNoCache","trim","Logs","_icon","Icon","UpdateCompanySettings","LoadCompanyLogoResult","axios","post","then","catch","GetCompanyData","UpdateLanguageOptions","YoonitGetURL","DefaultLanguage","GoogleAdsCode","GoogleAnalyticsCode","HeaderTitle","DefaultTheme","CheckActivityAndInternetStatus","navigateToLogin","GetLanguageOptions","_languagesOptions","_Dict","ConvertIntoDictionary","isDefault","GetClientListParams","GetAxiosResponse","LoadZendesk","selectedLanguage","RenderOfflienPopup","img","localStorage","getItem","RenderUserActivityPopup","checkIFDefaultLanguageLoaded","toDataUrl","myBase64","setItem","onstorage","_storageKey","JSON","parse","action","endsWith","actionPayload","persistor","sizes","async","timeOut","newestOnTop","transitionIn","transitionOut","progressBar","closeOnToastrClick","preventDuplicates","unsupportedbrower","BrowserNotSuported","baseUrl","getAttribute","createBrowserHistory","basename","navigator","userAgent","documentMode","ReactDOM","PushNotification","newNotifcation","SetSignalR","Connected","SignIn","lazy","OfflinePage","ResetPassword","BridgerPay","OperationRequests","ApplicationRequest","OperationLogs","DynamicReport","Transactions","BonusReports","BonusReferralReport","ClientPage","Wallet","ApplicationAdmin","DeletedClients","ClientMainPage","DocumentsExpiration","RegistrationLogs","BonusPromotion","EachPromotion","LeadPage","LeadMainPage","ContactPage","ContactMainPage","Task","Notes","Dashboard","DashboardAdmin","MyWallet","MAMProfiles","InvestorMAM","SignalProfile","CopiersPage","PerformanceFees","SignalsPerformanceFees","AccountLogs","TransactionLogs","MonthlyFees","FeesPerformanceTracker","TradeHistorySummary","Signals","AnalystView","WebTerminal","WebTrader","MarketCalendar","Platforms","Investors","InvestorsTracker","CopiersClientPage","OpenPositionSummary","MyAccounts","MyDemoAccounts","DemoAccountCard","NewAccount","CreditCardValidation","CPAReport","SubIB","ClientIBTree","AccountStatement","Leads","IBClients","BreakdownReport","BreakdownAdminReport","Promotion","HistoricalPerformance","Trades","Overview","RiskMeasures","CardJson","ApplicationFormCard","ReviewCard","PaymentPending","PaymentSuccess","PaymentFailure","PaymentCancelled","FirstUser","CreateAccount","RealAccountWrapper","ConfirmResetPassword","PasswordConfirmed","ActivateUser","ThankYouPage","DemoAccountSuccess","NotAuth","HomePage","DemoAccountIframe","DemoAccountWrapper","PromoCodeIframe","PromoCodeWrapper","LiveAccount","FormSuccess","IBAllocation","ProfileTemplates","EachProfile","IBAccount","CampaignLinks","IBDetailedReport","closetrades","CPAReportIB","InvestorsReport","ClicksConversion","AccountTypes","Pools","CLientIDRange","Templates","WalletCurrencies","Countries","ClientCountries","ApplicationSettings","IBCodeRange","AccountCurrency","AccountLeverage","LoginRanges","RegistrationGroups","PortalSettings","Synchronize","SystemNotifications","DynamicMarginSettings","AffiliateSettings","MAMSettings","CompanySMTP","PaymentMethod","EmailTemplate","WebHookIntegrations","PermessionsSettings","Teams","EachUserPermission","EachRole","BonusSetttings","RegistrationTemplates","TradingAccount","DemoAccounts","SymbolProfle","AccountProfile","HistoricalPerformanceAdmin","TradesAdmin","OverviewAdmin","RiskMeasuresAdmin","InvestorsTrackerAdmin","TradeHistorySummaryAdmin","dashboardRedirect","dashboardRoutes","DynamicMarginRoutes","dashboardAdminRoutes","MyWalletRoutes","manage","MAMRoutes","ReportsRoutes","LogsReport","TraderRoutes","IBRoutes","portalSettings","logsRoutes","RequestsRoutes","IBAdminRoutes","ClientRoutes","OnBoardingRoutes","BonusRoutes","privateRoutes","PortfolioRoutes","TaskRoutes","NotesRoutes","SignalsRoutes","AnalyticsRoutes","ManageTradingAccount","isTableExists","concat","isExternal","hasError","GetAuthData","LogErrorToAI","Message","componentDidCatch","errorInfo","stringify","DatePicker","RangePicker","FiltrationButton","ReloadTable","filterFirstTable","showSeatch","prefix","faSearch","FilterBy","filterKeyWord","onKeyUp","care","faFilter","faChevronDown","toggle","filterbar","FiltrationButtonPages","filterOn","FiltrationDate","inputDateValue","maxLength","yearChange","onBlur","yearBlur","inputPlaceholder","monthSelectOptions","isNotMultiIsSearchable","monthSelectValue","monthSelectonChange","FilterMultiSelect","placeholderMonth","inpages","RefreshBtn","refreshBtnOnclick","refreshText","ServerSelect","serverSelectValue","serverSelectonChange","ServerMultiSelect","ServerChange","ExcelBtn","csvData","fileName","mainTitle","isImport","faFileImport","faDownload","FiltrationDateAnalytics","showDateInput","selectclass","classPrefix","ServerLogin","hide","loginSelectValue","loginSelectonChange","FinishReviewDisplay","result","showEdit","onEditClick","editText","InternalLeftsidebarLabels","SkeletonWrapper","ClassName","answer","InternalLeftsidebarLabelsNewDesign","LabelClass","NoDataInTable","getImagesURL_IGain_LDN","ReturnImageName","NoDataToDisplay","BasicValidation","InputFormWithFocus","Compliance","InputComponent","rows","PasswordComponent","RadioLabelWithCompCompliance","CheckAllHeader","checkALL","asc","checkBoxOnChange","_checked","checkboxesClass","prop","change","SortFirstColumn","tableID","DataTable","order","draw","marginLeft","SelectWithFocus","SelectWithFocusNewDesgin","box","menuIsOpen","menuDivIsOpen","Toggle","str","closeAll","OpenMenu","CloseMenu","handleOutsideClick","contains","ref","onMouseDown","onFocus","onMenuOpen","onMenuClose","SelectComponent","compliance","isDisabled","SelectMultiWithFocusNewDesgin","ReturnTranslatedOption","keyLabel","_option","filter","itemTemplate","ReturnPlaceHolderStatement","maxSelectedLabels","fixedPlaceholder","PassowrdValidation","UpperCaseExists","LowerCaseExists","NumberExists","SpecialCharacterExists","ColumnFilterMultiSelect","tableColumnsOnChange","SetSelectedColumns","ConvertTitlesToColumnOptions","titleIndex","Index","ConvertTitlesToColumnPosDic","reduce","obj","ColumnPosDic","Titles","hasOwnProperty","column","log","InputPostiveNumber","constructor","super","timer","Math","abs","onBlurCapture","MultiSelectDropdownSelectAll","valueRef","_newtitle","selectAllOption","Title","isSelectAllSelected","isOptionSelected","some","newValue","actionMeta","removedValue","hideSelectedOptions","closeMenuOnSelect","filterOption","searchText","UserLicensePermissionDetails","clientName","RolePermission","RoleLicense","GetUserRolesPermsForUser","GetClientDropDownListsParams","CompanyID","_permmissions","CastToRolePermsLic","PermsLicListResult","_distinctIc","thing","arr","LicID","sort","b","LicOrder","PermID","PermOrder","newList","LicName","ParentPermID","PermName","PermValID","PermIsChecked","returnselectedPerm","_selectedPerm","clientPermsDic","EPermissionValue","Deny","clientPermsDicNames","returnChildernValues","permItem","MainItem","_newList","cloneDeep","element","child","checkifHaveChildren","ParentPerName","ReturnLevel1Perm","parentItem","ReturnLevel3Perm","Lic","toString","returnChildernOptions","ReturnLevel2Perm","RenderTutorialModal","openTutorial","closeTutorial","tabPosition","faCode","isCode","faImage","faEye","faAlignLeft","faExpandAlt","faUndo","faRedo","withStyles","tooltip","backgroundColor","palette","common","white","boxShadow","shadows","fontSize","active","avatar","paragraph","SearchInput","typingTimeout","ValidationTXT","validateLoginTrigger","validateLoginTriggerTxt","self","_value","SearchRequest","DateRangeDropDown","dateType","setIsOpen","DateOnChange","date","DateTypeOnChange","_type","GetDayPriorBy","OnChange","ReturnValue","toLocaleDateString","onAccept","isValidDate","start","end","getTime","GetDayPostBy","dateAdapter","AdapterDateFns","startText","endText","renderInput","startProps","endProps","variant","Get_Hour_Minute","time","RenderSymbolMarginTier","Securitylabel","selectedSessionID","closeAndGenerate","UpdateTiers","isEdit","col","findIndex","SessionID","Tier","ReDrawMarginTiers","tiers","currentTier","_list","levels","level","Trenches","MarginTiles","RedrawMatginTiersOnEnterKey","levelOnChange","FromDateOnChange","FromDay","onFromTimeChange","timeString","hour","minute","FromHour","FromMinute","onToTimeChange","ToHour","ToMinute","toDateOnChange","ToDay","GenerateMarginTiers","_marginTiers","MarginTiers","TrenchesOnChange","_marginTitles","LeverageOnChange","ResetMarginTiers","DAY_OPTIONS","DAY_DICTIONARY","format","ValidateExpLimit","ProfileExpLimit","CheckIFTrenchesIntervalIsValid","ReturnSymbolSecType","min","RenderAccountMarginTier","selectedSecurities","ReDrawMarginTiles","_itemsFromValue","ConvertIntoDictionaryWithSpecificValue","ReturnSecuirtyTypeTitle","GenerateMarginString","LeveragesOnChange","LeverageType","ReturnAccSecType","LiveChatClass","handleNewEvent","CheckIfClientInInternalPage","isClientInInternalPage","isAvant","isPRIMEX","license","visibility","onNewEvent","LiveChat","THEME_TOGGLE","MENU_TOGGLE_COLLAPSE","MENU_SET_COLLAPSE","AUTH_LOGIN","AUTH_LOGOUT","REFRESH_TOKENS","UPDATE_TIMEZONE","UPDATE_ISVALID","CHANGE_LANGUAGE","ADD_NEW_MESSAGE","SET_HAS_NEW_VALUE","REMOVE_MESSAGE","REMOVE_ALL_MESSAGES","Push_Notifications","SIGNAL_R","CLEAR_PUSH_NOTIFICATIONS","UPDATE_DASHBOARD_ITEMS","UPDATE_LANGAUGE_OPTIONS","UPDATE_COMPANY_SETTINGS","UPDATE_COMPANY_DATA","ADD_SIGNALR","REMOVE_SIGNALR","CHECK_SIGNALR","HANDLE_USER_CONNECTIVITY","HANDLE_SERVER_CONNECTIVITY","ADD_SERVERS","UPDATE_COLUMN_DICT","UPDATE_FILTRATION_DICT","UPDATE_IB_MANUAL_SYNC_TIMESTAMP","UPDATE_NUMBER_OF_ACCOUNTS","subject","inputOnChange","dontDisplayTypeSix","hideMT5","_serverOptions","serverID","serverName","wlName","wlid","FillServerDetailsHelper","FillLoginsOptionsHelper","isMAM","_loginOptions","ProfileID","MasterLogin","AccountID","ARuleID","ARuleName","Currency","DashboardBSTradesPerSymbol","NumberOfBuyTrades","NumberOfSellTrades","Symbol","AllocPerLogins","Balance","BSTradesPerSymbol","Credit","Equity","FreeMargin","GUKYCStatus","IBBalance","Margin","MarginLevel","NetAssetValue","NetReturnPer","Profit","RecentActivities","ROIPer","SignalActivities","TradesPerSymbol","ProfilesICopy","AutoForcePFOnExclude","OverviewTables","BegNetAssetValue","EndNetAssetValue","Deposits","Withdrawals","Swaps","Commission","Gain","GetGUDataResult","Client","ClientRangeID","CRID","PoolID","ReferralID","OwnerAssigned","OwnerAssignedTxt","AnnualRevenue","AssociatedDeals","RecentDealAmount","CompanyOwner","CompanyDescription","YearFounded","CompanyDomainName","CompanySize","NumberEmployees","CompanyPhoneNumber","StreetAddress","StreetAddress2","WebsiteURL","FacebookPage","GooglePlusPage","LinkedInPage","PoolName","KYCType","PromoCode","AssociatedContacts","ContactOwnerTxt","MobilePhonenumber","Faxnumber","Gender","School","Seniority","Degree","FieldOfStudy","JobTitle","JobFunction","WorkEmail","ProductInterest","RequestType","MembershipNotes","TwitterUsername","IPCity","IPCountry","IPTime","ActivationCode","MaritalDescription","TimeRegistrationEmailSent","MilitaryDescription","AssociatedClient","CreationDateStr","WhitelistedIPs","Role","RoleID","RoleName","LicPerms","ClientRequestInfo","ReqType","ReqID","PermsLicList","LicIsAdmin","TotalUsers","RemainingUsers","TaskClass","TaskID","TaskPriorityID","TaskStatusID","TaskSubject","DueDate","AssignedTo","OwnerID","OwnerType","StatusIcon","PriorityIcon","PriorityDescription","StatusDescription","AssignedToName","CreatedBy","CreatedByName","NoteClass","NoteID","NoteSubject","NoteText","Lead","LeadID","LeadNote","EmailLang","ReferralCode","LeadOwner","DomainRegistrationEmailSent","OwnerAssignedDate","NumberTimesContacted","Product","RelationshipStatus","LastActivityDate","LastContactedDate","LastModifiedDate","FirstConversion","FirstConversionDate","NumberFormSubmitted","NumberUniqueFormsSubmitted","RecentConversion","RecentConversionDate","IPCountryCode","IPState","IPStateCode","IPTimeZone","CloseDate","TraderMainClass","Amount","IsPrimary","IsEnabled","IsReadOnly","AccCurrencyID","AccCurrency","AccTypeID","AccLeverageID","IBCode","LRID","IBRID","MasterIB","NewLogin","Floating","TraderClass","IBProfile","ProfName","CopyProfID","GetIBDetailsResult","Name","AccType","ComProfCog","Level","Markup","LotProfCog","LotAmount","DepositProfCog","From","To","SelectOptionWithData","IBProfileCog","CogID","PID","PTID","DistName","Priority","DistSymbols","DistSecurities","EntryID","ComDist","PDTID","LotDist","FirstATID","FirstMaxComsn","DepDist","AnyATID","AnyMaxComsn","AnyAmount","ProfType","DepProfType","IsCashback","IsDeductFromIB","CashbackATID","CashbackPercentage","Scalping","ServerIDs","IP","OperationName","SlaveLogin","ProfileName","ConfigName","GetClientRangeInfo","CRStart","CREnd","CRCurrent","ActionClient","ExternalID","FaxNumber","ActionTraderClass","GetDWInfoClass","CurrencyID","PMID","PaymentName","IsDeposit","Account","Zip","LeadDate","EquityUSD","GroupName","LeadSource","MetaQuotesID","AgentAccount","UnrealizedPL","MasterFloatingPnl","Digits","GetUserDetails","TradinAccPerm","RegistrationLogClass","RegistrationDate","GetDDOptions","DDID","Value","OID","DDOption","OptionValue","Declaration","IsQsnt","AddNewPromotionParams","$Priority","StartingDate","EndingDate","RemovalDate","RTID","RemovalDays","PoolIDs","CountryIDs","IsCashBonusEnabled","Minimumdeposit","LosableBonus","DepositRange","WelcomeParallel","IsWelcomeBonusEnabled","WelcomeBonusTypeID","WelcomeAmount","WelcomeMax","WelcomeHours","IsWelcomeBonusEnabledSecond","WelcomeBonusTypeIDSecond","WelcomeAmountSecond","WelcomeMaxSecond","IsLoyaltyBonusEnabled","LoyaltyBonusTypeID","LoyaltyCumulative","LoyaltyAmount","LoyaltyMax","IsNextBonusEnabled","NextBonusTypeID","NextAmount","NextMax","NextStartingDate","NextEndingDate","IsCashPromotionDate","CashAccounts","CashBalanceLots","CashScalping","Comment","isAnd","DepositAmount","BonusAmount","AllowedPercentage","BonusHours","CashDays","BonustoBalanceLots","ScalpingTrades","CashCurrencyID","isCommentType","isStopOut","CashBonuses","UpdateMarginCashPromotionParams","toISOString","PGID","Groups","OHTypeID","UpdateCashPromotionParams","CashEnabled","isMargin","CashAmount","CashLots","BonusComment","GetBonusDetailsInfoResult","ExcludedAccountTypes","UploadCSVBonusParams","IsCheck","RoleDataNew","RoleDescription","Permissions","UserPermsData","TeamID","IBCodeRangesInfo","IBRDescription","IBRStart","IBREnd","IBRCurrent","LoadCompanySMTPSettingsResult","SettingID","CompanyAddress","CompanyPhone","Logo","ClientWebsite","EnableSSL","Host","Port","BOEmail","EmailUserName","EmailDisplayName","ETDefaultHTML","ETHeader","TradeComment","AccountComment","TransferComment","CompanyImage","GetPaymentMethodsResult","PMPayURL","PMClientID","PMClientSecret","PMEmail","PMSecretWord","PMMD5Code","PMCurrency","PMDescription","PMImageURL","PMFee","PMFeeInfo","PMComment","PMIsActive","PMCreationDate","PMFixedFee","PMOrder","MinimumAmount","Instruction","FeeType","IsCoveredByCompany","HasTTCopy","CPID","CPCID","CPCName","CPCSymbols","CPCSecurities","CPCRatio","GetBonusSettingsDetailsResult","BonusSettingsDetails","APIType","NegativeBalanceType","RemoveCreditType","StopOutType","OnHoldType","SettingsID","APITypeID","SOTypeID","NBTypeID","RCTypeID","IsEmail","IsZipCode","WithdrawalComment","APIToken","BankWireDetails","BankAddress","BID","BankWireDetailsList","AccountsInfo","MTStatus","PhonePassword","TaxRate","RequestsDataSB","CopierAccount","MasterAccount","ARule","IsReverse","BenifName","BenifAddress","BenifAccNumber","Swift","IBAN","ttCopy","ClientEmail","MerchantID","Branch","Province","CardNumber","BankCurrency","BenifBankName","OldAccType","AccLeverage","OldAccLeverage","ToAcc","CreationReason","ServerPlatform","MIBTxt","AutomaticLogin","MasterServerID","ConvertedAmount","Note","OrderID","Governorate","MAMTraderClass","GetEditTeamResult","TeamName","TeamDescription","UserList","AccTypeListResult","PoolListResult","UpdateProfileRequest","IsAruleChanged","Profile","ProfilesClass","groups","Removedgroups","Addedgroups","PFAgents","STPID","CopierSTPID","ProfileCloseSubPositions","ProfileWDClosure","ProfileEnabled","ProfilePFEnabled","ProfileStrategyName","ProfileIsMinLot","ProfileEnableMarkup","ProfileEnableCommission","ProfileEnableSwaps","ProfileMarkupAccount","ProfileSyncBalance","PFPID","ProfileMaxLot","ProfileDefaultAmount","IsRoundVol","DeductPF","DeletePFRecords","ProfileEnableRegistrationFee","ProfileEnableManagementFee","ApplicationSettingsClass","GetProfilesDataResult","CloseSubPositions","PFIsEnabled","ProfileGroups","ProfileLogins","SyncBalance","STPText","CopierSTPText","GetKYCCardPermsResult","GetKYCCardStatusResult","PersonalInfoStatus","WorkExpStatus","TradingExpStatus","TraderDecStatus","DocStatus","GetEmailTemplateResult","ETIID","ETID","LanguageID","ETSubject","ETContent","ETAdminSubject","ETAdminContent","ETIsEnabled","ETTypeID","ETName","ETDescription","BOEmails","ClientBOEmails","GetBannerLink","BannerName","TypeName","YoonitURL","BannerPath","Size","BannerDoc","RegLink","ReferralIDName","IBBannerDetails","GetSignalDataResult","MirroredLogin","IsAutoSync","ActionCreateClientClass","Trader","IsLicensed","WalletRanges","WRID","WRDescription","WRStart","WREnd","WRCurrent","DashboardItems","DIID","ItemName","IsPinned","XAxis","YAxis","PortalSite","versionKey","GoogleAdsEventCode","YoonitActionURL","SecretKey","SiteKey","GetDWInfoByAccountIDResult","GetSAPFSBResultClass","WalletID","SAPF","IsDefault","PAID","GetCashPromotionClass","Enabled","ReferralPromotion","RPID","CashBackAmount","ReferralNb","RPConfig","RPCID","RPCName","RPCSymbols","RPCSecurities","RPCRatio","AddProfileRequest","SecTypeID","VolTypeID","ProfileSymbols","ProfileSecurities","ProfileHedgeCon","ProfileMargTiers","ProfilePending","ProfileOldTrades","ProfilePriority","ProfileDefaultPref","ProfileFixedTiers","ProfilePendingMargin","PSessions","ProfileIsDefaultMargin","ProfileIsOverrideTiers","AccountExposureRequestClass","AccExpID","NTID","MargTiers","SecTypeIDs","AccExpPending","AccExpEnabled","AccExpStrategyName","AccExpGroups","AccExpLogins","AccExpSymbols","AccExpSecurities","AccExpLimit","AccExpHedgeCon","AccExpMargTiers","AccSecType","AccExpPriority","AccExpOldTrades","AccExpFixedTiers","AccExpIsAccGr","AccExpIsOverrideTiers","AccExpSesssions","OperationLogDetails","CopyIsReversed","ReverseDateStr","ttcopy","AutomaticLoginTxt","AmountCurrency","ConvertedAmountCurrency","StatuxTxt","ActionDateStr","TraderAccountSummary","AllTimePerfROI","PL","UnrealisedPL","MaxDD","SharpeRatio","PipsMade","Deposit","AccountAgeDays","ClosedTrades","WinningTrades","LosingTrades","WinRatio","AverageTradeLength","AvgTradesPerWeek","TraderPerformance","AccountSummary","ROIPipsChartString","TraderInstrumentsChart","Symbols","Loss","ImmutableAccountInfoStates","manageIsReadOnly","manageName","manageEmail","managePhone","manageMTStatus","manageIDNumber","manageCountry","manageCity","manageState","manageAddress","manageZipCode","manageMetaQuotesID","manageTaxRate","manageLeadSource","manageComment","selectedLeverage","GetIBWalletInfo","ERemovalBonusTypes","EProfTypes","EDistProfTypes","B2B_PAYMENTS","TierClass","EPayments","MARKET_EQUITY_PAYMENT_POOLS","DefaultPool","NGN_BANK_TRANSFER","SticPay","SKRILL","SKRILL_EUR","SKRILL_GBP","SKRILL_USD","SKRILL_JPY","PaySafeNeteller","GateToPay","FasaPay","BankWire","Bankwire2","NETELLER","TapPay_KNET","TapPay_CreditCard_USD","TapPay_CreditCard_KWD","Cash","ONE_GLOBAL","ONE_GLOBAL_KNET","HESABE","HESABE_KNET","DefaultWG","TapPay_KNET_WG","TapPay_Creditcard_USD_WG","TapPay_Creditcard_KWD_WG","HESABE_WG","HESABE_KNET_WG","ROW","RPN_P2P","Alogateway","NACE","myfatoorah","myfatoorah_creditcard","NowPayments","virtualpay","VIRTUALPAY_CARD","VIRTUALPAY_MOBILE","DUSUPAY","DUSUPAY_BANK","DUSUPAY_MOBILE","GCC","FEE_FREE","myfatoorah_a","myfatoorah_a_creditcard","TapPay_Creditcard_USD_WG_ِِA","HESABE_WG_A","Hesabe_Knet_WG_A","GateToPay_A","BankWire_A","Bankwire2_A","ASIA_PAYMENT","E_IQX_ACCOUNT_TYPES","E_IQX_POOLS","EMARKET_EQUITY_POOLS","SignalRSingleton","inProgress","failedInRowCount","instance","Error","HandleServerConnectivity","ADDSERVERS","servers","LoadPlatformLinksLoading","GetBUDataLoading","platformList","GetBUData","GetGUDataParams","UpdateUserEmail","UpdateUserEmailParams","CurrPassword","intRes","UpdateClientPassword","UpdateClientPasswordParams","OpenMailModal","closeMailModal","UpdateLanguageAndTimeZone","RenderPlatformLinks","PLLink","PLDesc","FilterB","FilterBar","FilterBarFr","filterContact","FilterBarFront","FilterBarInPages","scrollable","indicators","interval","prevIcon","nextIcon","bodyList","elements","columnFilter","FilterBarPages","FilterBarWithSlider","ShowMobile","useMediaQuery","mobileBodyList","FilterBarS","ChangeCssLogo","filterSettings","handleClear","NavigationBarClass","Navigation","NavigationWithoutSub","navigatetoPage","links","_HasDashboard","HasDashboard","linksNoSub","splice","NavigationBar","TabBar","tabTitle","initialState","reducer","actions","isPrimarySalt","GUARules","aRuleName","aRuleID","aRuleOrder","CompanyTitle","SignalRHubURL","RefreshToken","isFirstUser","ContactStatus","KYCStatus","KYCReason","CardValidation","IsClientSegment","RiskStatementReminder","NationalIDCardNumber","CompanyAuth","refreshToken","createRootReducer","combineReducers","connectRouter","PushNotifications","Items","SignalRConnection","TableColumns","TableFiltrationDict","IBManualSyncTimeStamp","connection","i18next","CheckIfValidCredinations","signalRMiddleware","next","ConnectToSignalR","_CheckIfValidCredinations","stop","connectionState","startConnection","_email","CreateConnection","adminData","userId","email","checkIfValidCredinations","_connectionHub","HubConnectionBuilder","withUrl","build","on","actionType","_message","ReturnActionMessage","notification","message","description","content","CheckIfAUIDIsEnabled","auiDs","isWebAPI","IsWebAPI","timestampAction","now","storageMiddleware","stampedAction","persistConfig","storage","blacklist","persistedReducer","persistReducer","enhancers","windowIfDefined","__REDUX_DEVTOOLS_EXTENSION__","createStore","preloadedState","compose","applyMiddleware","routerMiddleware","thunk","persistStore","RefreshTokens","Tokens","UpdateIsValid","UpdateNumberOfAccounts","_","timezones","luxonIgnoredTimezones","crypto","VERSION","FILETYPE_SPREADSHEET","FILE_EXTENSION_XLSX","RequestTypeOp","AccountRequestTypeOp","TransactionRequestTypeOp","RequestStatusOption","PrivilegesOption","selected","ValidateMultiSelect","validateCheckBoxIsTrue","isDate","match","validateDateAndInternval","validateDateInterval","validateDateIsValid","Start","End","isStart","validateDateAndReturnDate","validateDateRange","fromDate","toDate","dateReg","CountryLists","_finalList","_USACountry","SetFirstCounty","test","_parentList","PermValName","_parentID","_allowed","_children","_nameList","GetPermIDByPermName","GetPermissionDetailsByNameAndID","validateCommaSeparatedStrings","startsWith","validateCommaSeparatedStringsSecuirties","validateCommaSeparatedStringsTrue","validateCommaSeparatedNumberTrue","DisplayAllocationRules","UserAllocationPermissions","ELS","ECS","EV","Percentage","Multiplier","BLS","FixedLot","_newAllocationRuleList","DisplaySignalsAllocation","dynamicSort","property","sortOrder","isNumber","isFinite","validateNumber","_number","ValidateAndReturnInput","input","len","string","password","character","_string","ceil","random","_numbers","_specialCharacters","_captialLetter","passed","task","admin","clientID","login","amount","currency","subType","ibName","ibCode","ticket","listEmails","lead","contact","fromLogin","fromServer","toLogin","toServer","lots","mamName","mamLogin","profileName","profileID","AUIDs","checkifPdf","pop","isPDF_Binary","ReturnDistinctList","PropertyName","ReturnActivity","escapeRegExp","replace","ReturnAllocationsLabel","AruleName","signal","ReturnValuesForMultiSelect","ReturnValuesForMultiSelectAsString","ReturnExcludedIncludedOptions","includelist","excludedList","_included","_excluded","ReturnExcludedIncludedOptionsLabels","ReturnLabelsForMultiSelect","ValidateAndReturnDataAsType","CheckIfVisibleIF","ActionParams","choices","settings","isVisible","visibleIfKey","visibleIfType","visibleIfkey","_dict","_selectedOption","ValidateOneOfOptionsExists","visibleIfList","visibleIfKeys","ValidateOneOfElementsIsVisible","_selectedOptions","ValidateOneOfOptionsExistsInMultiSelect","ValidateBooleanSelectedAsStatus","visibleIfStatus","_choices","ValidateRadioGroupSelectedAsStatus","CheckIfSubElement","ValidateByType","Interval","ValidateSelectAndReturnValue","ValidateSelectAndReturnValueID","dictStatus","multiSelectValue","CheckList","CastTreePathForAction","_newlist","Depth","CheckIflastNode","PathIndex","Path","ReturnIBTreePaths","Opt","_IBCodes","_clientIDs","_maxDepth","maxDepth","ReturnIBTreePathKey","OptionNone","DepositClientUniquePayments","ClientWithdrawalUniquePayments","IBFSkrill","IBFBitcoin","BitCoinWallet","ChineseBankNames","CNProvince","CNCity","GBPRIME_BANK_CODES","CheckTextIsSimplifiedChinese","inputText","url","callback","xhr","XMLHttpRequest","onload","reader","FileReader","onloadend","readAsDataURL","response","responseType","send","ReturnPaymentIndexsGroupedBy3","_paymentIndexs","_count","IBGroupingOptionsDict","SecuirtyType","parseFloatIfValid","number","getProperty","_prop","ReturnLinkName","ReturnIframeName","ReturnValidStock","jsonString","ReturnValidJson","Default","BIGCHARTSDict","SMALLCHARTSDict","ActionNames","ModuleName","PermissionType","ModuleNames","ReturnLanguageOptionsHtML","languagesOptions","_languages","preview","ReturnNumberFixedBY","decmialPoints","isNaN","parseFloat","toFixed","RenturnSplitedRange","_dateRanges","ReturnFilterValue","PageName","dict","elementName","StaticValue","ReturnFilterSelectedOptions","UpdateSelectedFiltrationValues","Values","UpdateFiltrationDict","_TableFiltrationDict","Code","timezone","DateTime","local","setZone","offsetSign","offsetNormalized","offsetText","tzRegion","localeCompare","GetColumWitdh","pageName","StaticWidth","Columns","ReturnMultiSelectedFiltrationValuesToUpdate","selectedValues","ReturnOptionByLabel","ReturnFirstValue","ReturnOptionByField","field","ReturnValidJsonAppforms","JsonString","myEscapedJSONString","NONESELECTED","SetValueOfIndex","callBack","ReturnValidLink","ValidateValue","toFixedNoRoundingDigits","num","pow","RoundingDigit","ReturnParamString","ReturnSlashString","ThunderPayPaymentCurrency","FXBitPaymentCurrency","ReturnNameAfterDash","ReturnAllocationFormula","validateRef","RemoveSpacesNLastSemicolon","emails","ValidateEmailList","_emailList","ConvertListToTree","parent","d","ParentClientID","expanded","EDocumentTypes","GetDocuments","_Documents","pickBy","_inTab","GetExpirationList","expirations","_IDType","_IDType2","Selected","GetDocumentValues","EKYCStatus","EPlatforms","GBPrimePayPaymentOptions","isVisble","GenerateRandomKey","charset","Captial","retVal","n","floor","addlowercase","addCaptial","addNumeric","addSpecialCharacters","PRAXIS_LANGUAGES","DefaultURL","BTC_BITCOIN","BTC_BITCOIN_txt","ETH_ERC20","ETH_ERC20_txt","USDT_ERC20","USDT_ERC20_txt","USDT_TRC20","USDT_TRC20_txt","ReturnFromTierDate","_tier","_FromDay","ReturnToTierDate","SortSessions","ConvertMarginIntoDictionary","ValidateDMTiers","Tiers","TiersDict","PrevTier","tier","ValidateTierDate","_fromDate","_toDate","setSeconds","PervFromDate","PervToDate","CheckDateInBetween","check","0","1","2","3","4","5","6","ReturnAccSecTypesIfMarginIsEmpty","selectedSecuitries","_AccSecTypesList","_SecTypes","secTypeID","ReturnAccSecTypesList","_ID","_margin","ReturnAccExpMarginTiers","_margins","margin","SecuitryType","castIntoSessions","isAdd","isAccountExp","ACC_SECTYPES_LIST","TiersJson","ReturnMarginTiersWithTitles","AccSecTypeList","SecurityTypeDict","castIntoTiers","PSesssions","MARGIN_TILES","ReturnTimeDisplay","Time","CheckIfCommaSeparatedList","SPLITED_LIST","ReturnCountriesOptionByTranslatedLabel","BANK_NAME_EASYWIRE","ACCOUNT_TYPES_EASYWIRE","BANKING_BRANCHS_EASYWIRE","setDate","getDate","ReturnTotalRounded","fix","Number","ReturnDateBeforeYears","YearsAgo","setFullYear","getFullYear","setHours","setMinutes","ZahaPayBank","ZahaPayBankDict","DusuPayMobileMoneyWorks","DusuPayBankWorks","DusuPayPaymentTypes","CashUSDT","SurepayCountries","SurepayBankCode","SurepayBankCodeDict","GenerateManagerPassword","FAST2PAYS_DEPOSIT_TYPES","FAST2PAYS_DEPOSIT_BANKCODE","FAST2PAYS_WITHDRAWAL_BANKCODE","FAST2PAYS_WITHDRAWAL_BANKCODE_DICTIONARY","FAST2PAYS_WITHDRAWAL_TYPES","FAST2PAYS_WITHDRAWAL_TYPES_DICTIONARY","FAST2PAYS_TRANSLATIONS","NinePay_WITHDRAWAL_TYPES","NinePay_BANK_ACOUNTS","NINEPAY_WITHDRAWAL_BANKCODE_DICTIONARY","downloadPDF","pdf","linkSource","downloadLink","FileName","download","XLTrades_Secure_Client_Area_Payment_Details","MATCH2PAY_NETWORKS","MATCH2PAY_CRYPTO_CURRENCY","paymentCurrency","paymentGatewayName","HELP2PAY_DEPOSIT_BANKCODES","BankCode","CHIMARA_ACCOUNT_TYPE_GROUPS","BIGPAY_BANK_NAMES","CAPITAL_WALLET_CURRENCIES","CAPTIAL_WALLET_DICTIONARY","OZOW_WITHDRAWAL_BANKS","validateCardExpiration","expirationDate","OZOW_WITHDRAWAL_BANKS_DICT","BRIDGER_PAYMENT_OPERATOR_CODE_OPTIONS","BRIDGER_PAYMENT_OPERATOR_CODE_DICT","BRIDGER_PAYMENT_ACCOUNT_TYPE_OPTIONS","BRIDGER_PAYMENT_ACCOUNT_TYPE_DICT","validateBridgerCurrencyAmount","ReturnBridgerCurrencyAmount","validateNamesRegex","NACE_CRYPTO_CURRENCIES","isMarketEquityPaymentVisible","IB_USER","Bonus","isIQXPaymentVisible","acctypeId","values","UPay","isIQXPaymentVisibleForWallet","poolId","PH_Default","encryptParams","params","cipher","createCipheriv","substring","encrypted","update","final","OTHERS_CRYPTO_PAYMENTS_ICONFX","OTHERS_CRYPTO_PAYMENTS_WinPro","ReturnWalletsPerCompany","OTHERS_PAYMENTS","ReturnOthersPaymentLabel","paymentName","_paymentName","GET_FLW_BANKS","isAccount","FLW_Dict","FLW_COUNTRIES","getFlwMOMOPaymentMethods","Bank_FLW_COUNTRIES","FLW_Banks_DATA","required","FLW_Banks_DATA_TITLES","COUNTRIES_ISO_3166_1_ALPHA_2_COUNTRY_CODES","COUNTRIES_ISO_3166_1_ALPHA_2_COUNTRY_CODES_DICT","US_STATES","CA_STATES","US_STATES_DICT","CRYPTO_CURRENCY","network","CRYPTO_CURRENCY_DICT","downloadBase64Excel","base64Data","blob","contentType","byteCharacters","byteArrays","byteNumbers","charCodeAt","byteArray","Uint8Array","Blob","base64ToBlob","createObjectURL","revokeObjectURL","VND_PAYMENT_BANK_NAMES","VND_PAYMENT_BANK_DICT","VNDPaymen_dit","VNDPaymen_Options","isPlainEnglish","DEFAULT_NETWORKS","CFX_CRYPTO_CURRENCIES","_XLTrades_Wise_Transfer_Details","PF_PERCENTAGES","ICONFX_CRYPTO_CURRENCIES","Philippines_Regions__ISO_3166_2","Philippines_Regions__ISO_3166_2_Dict","ASIA_PAYEMNT__BANKS","ASIA_PAYEMNT__BANKS_Dict","ValidateResponse","IsTokenExpired","Singleton","getInstance","dataObj","Axios","refreshReducerParams","LogoutUser","ResetCount","IncrementCount","status","BaseURL","ObjectParameters","headerParameters","SuccessCallback","FailureCallback","translate","PopUpsNotAlowed","headers","RevertCall","maxContentLength","maxBodyLength","CallAxiosRequestWithCancelToken","CancelToken","cancelToken","CallLocalRequest","noVersion","_path","get","CallAsyncAxiosRequest","CallAsyncAxiosRequestWithCancelToken","AxiosPost","FinallyCallback","finally"],"mappings":"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,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,iCACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,iCACV,OAAU,iCACV,OAAU,iCACV,OAAU,iCACV,OAAU,qBACV,OAAU,iCACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,mDACV,OAAU,2BACV,OAAU,iCACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,2BACV,MAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,uCACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,+DACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,+DACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,MAAU,yDACV,OAAU,qBACV,OAAU,qBACV,OAAU,qBACV,OAAU,2BACV,OAAU,qBACV,O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N,GAAM,UACN,GAAM,QACN,GAAM,YACN,GAAM,SACN,GAAM,YACN,GAAM,UACN,GAAM,aACN,GAAM,OACN,GAAM,YACN,GAAM,WACN,GAAM,SACN,GAAM,gBACN,GAAM,SACN,GAAM,QACN,GAAM,kCACN,GAAM,gCACN,GAAM,WACN,GAAM,YACN,GAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,YACN,GAAM,4BACN,GAAM,OACN,GAAM,UACN,GAAM,cACN,GAAM,SACN,GAAM,QACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,SACN,GAAM,aACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM,cACN,GAAM,SACN,GAAM,aACN,GAAM,mCACN,GAAM,SACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,yBACN,GAAM,gBACN,GAAM,YACN,GAAM,aACN,GAAM,QACN,GAAM,YACN,GAAM,aACN,GAAM,SACN,GAAM,WACN,GAAM,WACN,GAAM,OACN,GAAM,QACN,GAAM,mBACN,GAAM,aACN,GAAM,aACN,GAAM,YACN,GAAM,UACN,GAAM,SACN,GAAM,kCACN,GAAM,UACN,GAAM,SACN,GAAM,WACN,GAAM,aACN,GAAM,aACN,GAAM,UACN,GAAM,aACN,GAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,QACN,GAAM,cACN,GAAM,uBACN,GAAM,gBACN,GAAM,cACN,GAAM,YACN,GAAM,QACN,GAAM,UACN,GAAM,OACN,GAAM,iBACN,GAAM,2BACN,GAAM,SACN,GAAM,OACN,GAAM,WACN,GAAM,QACN,GAAM,kCACN,GAAM,SACN,GAAM,mBACN,GAAM,WACN,GAAM,OACN,GAAM,cACN,GAAM,WACN,GAAM,SACN,GAAM,WACN,GAAM,cACN,GAAM,QACN,GAAM,UACN,GAAM,UACN,GAAM,qBACN,GAAM,SACN,GAAM,mBACN,GAAM,eACN,GAAM,wBACN,GAAM,cACN,GAAM,eACN,GAAM,4BACN,GAAM,+BACN,GAAM,QACN,GAAM,aACN,GAAM,wBACN,GAAM,eACN,GAAM,UACN,GAAM,SACN,GAAM,aACN,GAAM,eA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","file":"static/js/main.f091febf.chunk.js","sourcesContent":["import { faUserTie } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Fade from '@material-ui/core/Fade';\r\nimport Modal from '@material-ui/core/Modal';\r\nimport { ArrowBack, Close } from '@material-ui/icons';\r\nimport { Divider } from 'antd';\r\nimport { default as ButtonANTD } from \"antd/es/button\";\r\nimport * as React from 'react';\r\nimport { Button, Label } from \"reactstrap\";\r\n\r\ninterface Modal1IndexProps {\r\n handleClose: any;\r\n open: any;\r\n title: any;\r\n body: any;\r\n showTitle: any;\r\n push?: any;\r\n theme?: any;\r\n isGraph?: boolean;\r\n}\r\n\r\nexport class ModalPopup extends React.Component {\r\n state = { open: false }\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.props.handleClose();\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n {this.props.body}
\r\n\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\ninterface Modal2IndexProps {\r\n handleClose: any;\r\n open: any;\r\n title: any;\r\n body: any;\r\n showTitle: any;\r\n onDiscard: any;\r\n onSave: any;\r\n theme?: any;\r\n cancel?: any;\r\n save?: any;\r\n isloadingAction?: any;\r\n}\r\n\r\nexport class ModalPopup2 extends React.Component {\r\n state = {\r\n open: false,\r\n isloadingAction: (this.props.isloadingAction === undefined || this.props.isloadingAction === null) ? false : this.props.isloadingAction,\r\n }\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n componentDidUpdate(prevProps: Modal2IndexProps) {\r\n if (prevProps.isloadingAction !== this.props.isloadingAction) {\r\n this.setState({ isloadingAction: (this.props.isloadingAction === undefined || this.props.isloadingAction === null) ? false : this.props.isloadingAction })\r\n }\r\n }\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.props.handleClose();\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
{this.props.body}
\r\n
\r\n
\r\n
\r\n {this.props.cancel} \r\n {this.props.save} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface PopUpProps {\r\n lang?: string;\r\n userData?: any;\r\n push?: any;\r\n histor?: any;\r\n location?: any;\r\n theme?: any;\r\n handleClose: any;\r\n open?: any;\r\n title?: any;\r\n body: any;\r\n showTitle?: any;\r\n buttons?: any;\r\n modalID?: any;\r\n inmiddle?: boolean;\r\n}\r\ninterface PopUpState {\r\n open: boolean;\r\n}\r\nexport class Popup extends React.Component {\r\n state = {\r\n open: false\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n handleOpen = () => {\r\n this.setState({ open: true })\r\n }\r\n handleClose = () => {\r\n this.setState({ open: false })\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n
{this.props.body}
\r\n
\r\n
\r\n {this.props.buttons}\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\nexport class EmailViewModal extends React.Component {\r\n state = {\r\n open: false\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n handleOpen = () => {\r\n this.setState({ open: true })\r\n }\r\n handleClose = () => {\r\n this.setState({ open: false })\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n
{this.props.body}
\r\n
\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\ninterface PopupInMiddleProps {\r\n lang?: string;\r\n userData?: any;\r\n push?: any;\r\n histor?: any;\r\n location?: any;\r\n theme?: any;\r\n handleClose: any;\r\n open?: any;\r\n body?: any;\r\n modalID?: any;\r\n Cancel?: any;\r\n Save?: any;\r\n handleSave?: any;\r\n TraderName?: any;\r\n showDots?: boolean;\r\n dots?: any;\r\n hideBody?: any;\r\n Basebody?: any;\r\n hideSave?: boolean;\r\n isCloseBtn?: boolean;\r\n isLoading?: boolean;\r\n}\r\ninterface PopupInMiddlepState {\r\n open: boolean;\r\n}\r\nexport class PopupInMiddle extends React.Component {\r\n state = {\r\n open: false, showDots: false, hideBody: false\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n handleOpen = () => {\r\n this.setState({ open: true })\r\n }\r\n handleClose = () => {\r\n this.setState({ open: false })\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n {!this.props.isCloseBtn &&
\r\n
\r\n
}\r\n {this.props.hideBody &&\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n }\r\n {!this.props.hideBody &&\r\n
\r\n {this.props.Basebody}\r\n
\r\n }\r\n
\r\n {!this.props.hideSave &&
\r\n {this.props.Save} \r\n
}\r\n {this.props.isCloseBtn &&
\r\n Close \r\n
}\r\n
\r\n {this.props.showDots &&\r\n
\r\n
\r\n {this.props.dots}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface SmallModalProps {\r\n theme?: any;\r\n handleClose: any;\r\n open: any;\r\n title: any;\r\n body: any;\r\n showTitle: any;\r\n buttons?: any;\r\n}\r\ninterface SmallModalState {\r\n open: boolean;\r\n}\r\n\r\nexport class SmallModalPop extends React.Component {\r\n state = {\r\n open: false\r\n }\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n componentWillUnmount() {\r\n document.removeEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.props.handleClose();\r\n }\r\n }\r\n handleOpen = () => {\r\n this.setState({ open: true })\r\n }\r\n handleClose = () => {\r\n this.setState({ open: false })\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
{this.props.body}
\r\n
\r\n
\r\n
\r\n {this.props.buttons}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\ninterface ProfileModalProps {\r\n theme?: any;\r\n handleClose: any;\r\n open: any;\r\n body: any;\r\n title: any;\r\n backBtn?: any;\r\n buttons?: any;\r\n small?: boolean;\r\n nobuttons?: boolean;\r\n}\r\ninterface ProfileModalState {\r\n open: boolean;\r\n small: boolean;\r\n nobuttons: boolean;\r\n}\r\n\r\nexport class ProfileModal extends React.Component {\r\n state = {\r\n open: false, small: false, nobuttons: true\r\n }\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n componentWillUnmount() {\r\n document.removeEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.props.handleClose();\r\n }\r\n }\r\n handleOpen = () => {\r\n this.setState({ open: true })\r\n }\r\n handleClose = () => {\r\n this.setState({ open: false })\r\n }\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\r\n

{this.props.title}

\r\n
{this.props.body}
\r\n {this.props.nobuttons &&\r\n
\r\n
\r\n
\r\n {this.props.buttons}\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface RegistrationModalProps {\r\n handleClose: any;\r\n open: any;\r\n title: any;\r\n body: any;\r\n showTitle: any;\r\n push?: any;\r\n theme?: any;\r\n\r\n}\r\n\r\nexport class RegistrationModal extends React.Component {\r\n state = { open: false }\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.props.handleClose();\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n
{this.props.body}
\r\n\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface ApplicationCardProps {\r\n handleClose: any;\r\n handlePrevious: any;\r\n open: any;\r\n body: any;\r\n push?: any;\r\n theme?: any;\r\n\r\n}\r\n\r\nexport class ApplicationCardModal extends React.Component {\r\n state = { open: false }\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.props.handleClose();\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n\r\n {this.props.handlePrevious}\r\n
\r\n
\r\n \r\n
\r\n

\r\n
\r\n {this.props.body}\r\n\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n\r\n","module.exports = __webpack_public_path__ + \"static/media/Skrill.e777f7d8.png\";","module.exports = __webpack_public_path__ + \"static/media/BitCoin.b0c1ed12.png\";","module.exports = __webpack_public_path__ + \"static/media/BTC(Bitcoin).de7035d0.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/ETH(ERC20).c0eddfbe.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/USDT(ERC20).88afa9f1.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/USDT(TRC20).e6ad0a93.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/CashUSDT.fbb21e37.png\";","import * as types from \"../constants\";\r\n\r\nexport function AddNewMessage(newMessage: types.ActionMessage): types.NotificationActionsTypes {\r\n return {\r\n type: types.ADD_NEW_MESSAGE,\r\n payload: newMessage\r\n };\r\n}\r\nexport function SetHasNewValue(value: boolean): types.NotificationActionsTypes {\r\n return {\r\n type: types.SET_HAS_NEW_VALUE,\r\n payload:value\r\n };\r\n}\r\n\r\nexport function RemoveMessage(value: number): types.NotificationActionsTypes {\r\n return {\r\n type: types.REMOVE_MESSAGE,\r\n payload: value\r\n };\r\n}\r\n\r\nexport function RemoveAllMessages(): types.NotificationActionsTypes {\r\n return {\r\n type: types.REMOVE_ALL_MESSAGES\r\n };\r\n}\r\n\r\n","export class AppFormDetails {\r\n AccTypes: GetAccTypesResult[] = [];\r\n BackBankBinary: string = \"\";\r\n BackIDBinary: string = \"\";\r\n Countries: GetCountriesResult[] = [];\r\n Currency: GetAccCurrencyResult[] = [];\r\n Declarations: GetDeclarationsResult[] = [];\r\n FrontIDBinary: string = \"\";\r\n InfrontBankBinary: string = \"\";\r\n KYCComplianceAnswers: GetKYCComplianceAnswersResult = new GetKYCComplianceAnswersResult();\r\n KYCDetails: GetKYCDetailsResult = new GetKYCDetailsResult();\r\n KYCDocuments: Documents[] = [];\r\n Leverage: GetAccLeverageResult[] = [];\r\n ProofAddrBinary: string = \"\";\r\n Salutation: GetSalutationResult[] = [];\r\n}\r\nexport class Documents {\r\n BackBankBinary: string = \"\";\r\n BackBankName: string = \"\";\r\n BackBankType: string = \"\";\r\n BackIDBinary: string = \"\";\r\n BackIDName: string = \"\";\r\n BackIDType: string = \"\";\r\n BankCardID: string = \"\";\r\n BankName: string = \"\";\r\n CardHolderName: string = \"\";\r\n DocCountryIssuanceID: string = \"\";\r\n DocExpiryDate: Date = new Date();\r\n DocIDNumber: string = \"\";\r\n FrontIDBinary: string = \"\";\r\n FrontIDName: string = \"\";\r\n FrontIDType: string = \"\";\r\n IDType: string = \"\";\r\n InfrontBankBinary: string = \"\";\r\n InfrontBankName: string = \"\";\r\n InfrontBankType: string = \"\";\r\n ProofAddrBinary: string = \"\";\r\n ProofAddressType: string = \"\";\r\n ProofAddressValid: boolean = false;\r\n ProofAddrName: string = \"\";\r\n ProofAddrType: string = \"\";\r\n SelfieBinary: string = \"\";\r\n SelfieName: string = \"\";\r\n SelfieType: string = \"\";\r\n}\r\nexport class GetAccCurrencyResult {\r\n AccCurrency: string = \"\";\r\n AccCurrencyID: number = 0;\r\n AccCurrencyPerm: boolean = false;\r\n WLID: number = 0;\r\n}\r\nexport class GetAccLeverageResult {\r\n AccLeverage: number = 0;\r\n AccLeverageID: number = 0;\r\n WLID: number = 0;\r\n}\r\nexport class GetAccTypesResult {\r\n AccType: string = \"\";\r\n AccTypeID: number = 0;\r\n WLID: number = 0;\r\n}\r\nexport class GetCountriesResult {\r\n CountryCode: string = \"\";\r\n CountryFlag: string = \"\";\r\n CountryID: number = 0;\r\n CountryName: string = \"\";\r\n CountryNameCN: string = \"\";\r\n CountryPerm: boolean = false;\r\n PoolID: number = 0;\r\n}\r\nexport class GetDeclarationsResult {\r\n Answer: boolean = false;\r\n DAID: number = 0;\r\n DeclarationText: string = \"\";\r\n DID: number = 0;\r\n WithRadioBtn: boolean = false;\r\n}\r\n\r\nexport class GetKYCComplianceAnswersResult {\r\n acctype: boolean = true;\r\n ADComment: string = \"\";\r\n Address: boolean = true;\r\n ADPrivilege: number = 0;\r\n AmountToInvest12Months: boolean = true;\r\n attendedAseminar: boolean = true;\r\n averageLeverageLevel: boolean = true;\r\n averageYearlyVolume: boolean = true;\r\n BackBankFileSrc: boolean = true;\r\n BackIDSrc: boolean = true;\r\n BackIDSrc2: boolean = true;\r\n BankCardID: boolean = true;\r\n BankName: boolean = true;\r\n basecurr: boolean = true;\r\n BuildingNbr: boolean = true;\r\n BusinessNature: boolean = true;\r\n CAID: number = 0;\r\n CardHolderName: boolean = true;\r\n CFDsKnowledgeLevel: boolean = true;\r\n CFDsTrades: boolean = true;\r\n CFDsYears: boolean = true;\r\n City: boolean = true;\r\n citytown: boolean = true;\r\n clntEmail: boolean = true;\r\n cob: boolean = true;\r\n CommoditiesKnowledgeLevel: boolean = true;\r\n CommoditiesTrades: boolean = true;\r\n CommoditiesYears: boolean = true;\r\n country: boolean = true;\r\n CountryBankAccount: boolean = true;\r\n CountryOfIssuance: boolean = true;\r\n CountryOfIssuance2: boolean = true;\r\n CountyStateProvince: boolean = true;\r\n curremployer: boolean = true;\r\n currentLevel: boolean = true;\r\n currposition: boolean = true;\r\n declaredBankruptcy: boolean = true;\r\n derivativesFutures: boolean = true;\r\n DOB: boolean = true;\r\n DocsComment: string = \"\";\r\n DocsPrivilege: number = 0;\r\n education: boolean = true;\r\n eduqualification: boolean = true;\r\n eduqualificationtxt: boolean = true;\r\n empstat: boolean = true;\r\n EstimatedAnnualIncome: boolean = true;\r\n EstimatedAnnualInvestment: boolean = true;\r\n EstimatedAnnualNetIncome: boolean = true;\r\n estimatedinvest: boolean = true;\r\n EstimatedLiquidNetWorth: boolean = true;\r\n EstimatedNetWorth: boolean = true;\r\n Experience: boolean = true;\r\n ExpiryDate: boolean = true;\r\n ExpiryDate2: boolean = true;\r\n familiarOTCderivatives: boolean = true;\r\n fname: boolean = true;\r\n foreignExchTrades: boolean = true;\r\n foreignExchYears: boolean = true;\r\n foreignKnowledgeLevel: boolean = true;\r\n FrontIDSrc: boolean = true;\r\n FrontIDSrc2: boolean = true;\r\n FuturesMarket: boolean = true;\r\n GovernmentKnowledgeLevel: boolean = true;\r\n GovernmentTrades: boolean = true;\r\n GovernmentYears: boolean = true;\r\n HowTradedPreviously: boolean = true;\r\n IDNumber: boolean = true;\r\n IDNumber2: boolean = true;\r\n IDType: boolean = true;\r\n IDType2: boolean = true;\r\n IIComment: string = \"\";\r\n IIPrivilege: number = 0;\r\n industryEmployed: boolean = true;\r\n industryRetired: boolean = true;\r\n industryStudent: boolean = true;\r\n InfrontBankFileSrc: boolean = true;\r\n initialMarginReq: boolean = true;\r\n instrumentsFamiliar: boolean = true;\r\n instrumentsWithMargin: boolean = true;\r\n KYCID: number = 0;\r\n LevelOfEducation: boolean = true;\r\n leverage: boolean = true;\r\n lname: boolean = true;\r\n MarginConcepts: boolean = true;\r\n MarginRequired: boolean = true;\r\n maritalStatus: boolean = true;\r\n marketMovingAgainstU: boolean = true;\r\n MaximumLeverageUsed: boolean = true;\r\n Member: boolean = true;\r\n mname: boolean = true;\r\n mnthlyavgvol: boolean = true;\r\n MonthlyExpenses: boolean = true;\r\n MonthlyRentalIncome: boolean = true;\r\n monthlyTrades: boolean = true;\r\n MutualfundsExchYears: boolean = true;\r\n MutualfundsKnowledgeLevel: boolean = true;\r\n MutualfundsTrades: boolean = true;\r\n NameEmployerOrganisation: boolean = true;\r\n nationality: boolean = true;\r\n NationalPassport: boolean = true;\r\n NbrOfDependents: boolean = true;\r\n NetValueWealth: boolean = true;\r\n Occupation: boolean = true;\r\n OptionsKnowledgeLevel: boolean = true;\r\n OptionsTrades: boolean = true;\r\n OptionsYears: boolean = true;\r\n OtherInvesKnowledgeLevel: boolean = true;\r\n OtherInvesTrades: boolean = true;\r\n OtherInvesYears: boolean = true;\r\n PDComment: string = \"\";\r\n PDPrivilege: number = 0;\r\n phone1: boolean = true;\r\n phone2: boolean = true;\r\n PlannedInitialInvestment: boolean = true;\r\n PlannedInvestment: boolean = true;\r\n PostalCode: boolean = true;\r\n prevemp: boolean = true;\r\n prevpos: boolean = true;\r\n Profession: boolean = true;\r\n ProfessionRelateFinancialIndustryQsn: boolean = true;\r\n ProofAddressType: boolean = true;\r\n proofOfAddress: boolean = true;\r\n ProofOfAddSrc: boolean = true;\r\n PurposeInvesting: boolean = true;\r\n PurposeOpening: boolean = true;\r\n purposetrading: boolean = true;\r\n QualThatAssistUnderstanding: boolean = true;\r\n resaddress: boolean = true;\r\n riskiestinv: boolean = true;\r\n RiskOfLoss: boolean = true;\r\n salutation: boolean = true;\r\n salutationtxt: boolean = true;\r\n SecondaryIncome: boolean = true;\r\n serverType: boolean = true;\r\n SharesKnowledgeLevel: boolean = true;\r\n SharesTrades: boolean = true;\r\n SharesYears: boolean = true;\r\n SourceOfFunds: boolean = true;\r\n sourceofwealth: boolean = true;\r\n SpecialDoc: string = \"\";\r\n SrcIncomeRetired: boolean = true;\r\n SrcIncomeStudent: boolean = true;\r\n state: boolean = true;\r\n stoploss: boolean = true;\r\n StopOutBeTriggered: boolean = true;\r\n StreetName: boolean = true;\r\n TAComment: string = \"\";\r\n TAPrivilege: number = 0;\r\n taxnb: boolean = true;\r\n taxnbtxt: boolean = true;\r\n taxrescntry: boolean = true;\r\n TDComment: string = \"\";\r\n TDPrivilege: number = 0;\r\n TEComment: string = \"\";\r\n TEPrivilege: number = 0;\r\n timeframePosition: boolean = true;\r\n TKComment: string = \"\";\r\n TKPrivilege: number = 0;\r\n TotalPortfolio: boolean = true;\r\n tradedForex: boolean = true;\r\n tradedFunds: boolean = true;\r\n tradingWithHigherLeverage: boolean = true;\r\n TrueAboutFuturesQns: boolean = true;\r\n UnderstandingOfRisks: boolean = true;\r\n understandOTCderivatives: boolean = true;\r\n UsedLeveragedProductsQsn: boolean = true;\r\n usperson: boolean = true;\r\n USResident: boolean = true;\r\n ValueRentalProp: boolean = true;\r\n volatilityConcepts: boolean = true;\r\n WhySpreadFloatingQns: boolean = true;\r\n zipcode: boolean = true;\r\n}\r\nexport interface Sumbit {\r\n Compliance: GetKYCComplianceAnswersResult;\r\n ClientID: string;\r\n KYCID: number;\r\n SpecialDoc: string;\r\n}\r\nexport class GetKYCDetailsResult {\r\n Status: number = 2;\r\n IdentificationDoc1Status: number = 2;\r\n IdentificationDoc2Status: number = 2;\r\n ProofAddDocStatus: number = 2;\r\n BankDetailsDocStatus: number = 2;\r\n TotalScore: number = 0;\r\n Address: string = \"\";\r\n AdminUsername: string = \"\";\r\n AmountToInvest12Months: string = \"\";\r\n ApprovedBy: string = \"\";\r\n AttendedCoursesQsn: boolean = false;\r\n AverageLevelLeverage: string = \"\";\r\n AverageYearlyVolume: string = \"\";\r\n BackBankPhoto: string = \"\";\r\n BackDocID: string = \"\";\r\n BackDocID2: string = \"\";\r\n BankCardID: string = \"\";\r\n BankingFacilities: boolean = false;\r\n BankingFacilitiesSF: boolean = false;\r\n BankName: string = \"\";\r\n BuildingNumber: string = \"\";\r\n BusinessOwnership: boolean = false;\r\n BusinessOwnershipSF: boolean = false;\r\n CardHolderName: string = \"\";\r\n CFDsLevel: string = \"\";\r\n CFDsTradesNo: string = \"\";\r\n CFDsYears: string = \"\";\r\n City: string = \"\";\r\n CommissionsRevenuesBonuses: boolean = false;\r\n CommissionsRevenuesBonusesSF: boolean = false;\r\n CommoditiesPreciousMetalsLevel: string = \"\";\r\n CommoditiesPreciousMetalsTradesNo: string = \"\";\r\n CommoditiesPreciousMetalsYears: string = \"\";\r\n Country: string = \"\";\r\n CountryBankAccount: number = 0;\r\n CountryBankAccountName: string = \"\";\r\n CountryID: number = 0;\r\n CountryOfBirth: string = \"\";\r\n CountryOfBirthID: number = 0;\r\n Creationdate: Date = new Date();\r\n CurrentEmployer: string = \"\";\r\n CurrentPosition: string = \"\";\r\n DayDOB: number = 0;\r\n DayDocExpiryDate: number = 0;\r\n DayDocExpiryDate2: number = 0;\r\n DeclaredBankruptcyQsn: boolean = false;\r\n DOB: Date = new Date();\r\n DocCountryIssuance: string = \"\";\r\n DocCountryIssuance2: string = \"\";\r\n DocCountryIssuanceID: number = 0;\r\n DocCountryIssuanceID2: number = 0;\r\n DocExpiryDate: Date = new Date();\r\n DocExpiryDate2: Date = new Date();\r\n DocIDNumber: string = \"\";\r\n DocIDNumber2: string = \"\";\r\n Education: string = \"\";\r\n EducationalFinancial: string = \"\";\r\n EducationalFinancialTXT: string = \"\";\r\n EmployerRegulatedFinancial: boolean = false;\r\n EmploymentAddress: string = \"\";\r\n EmploymentCity: string = \"\";\r\n EmploymentCountry: string = \"\";\r\n EmploymentPostalCode: string = \"\";\r\n EmploymentStatus: string = \"\";\r\n ESignature: string = \"\";\r\n EstimatedAmountInvest: string = \"\";\r\n EstimatedAnnualIncome: string = \"\";\r\n EstimatedAnnualInvestment: string = \"\";\r\n EstimatedAnnualNetIncome: string = \"\";\r\n EstimatedLiquidNetWorth: string = \"\";\r\n EstimatedNetWorth: string = \"\";\r\n FamilyIncomeRelationship: boolean = false;\r\n FamilyIncomeRelationshipSF: boolean = false;\r\n FName: string = \"\";\r\n ForeignExchangeLevel: string = \"\";\r\n ForeignExchangeTradesNo: string = \"\";\r\n ForeignExchangeYears: string = \"\";\r\n FrontDocID: string = \"\";\r\n FrontDocID2: string = \"\";\r\n FullName: string = \"\";\r\n FuturesMarketQns: boolean = false;\r\n GovernmentCorporateBondsLevel: string = \"\";\r\n GovernmentCorporateBondsTradesNo: string = \"\";\r\n GovernmentCorporateBondsYears: string = \"\";\r\n GUID: number = 0;\r\n HoldBachelorOtherSubjects: boolean = false;\r\n HoldProfessionalQualification: boolean = false;\r\n HowRoleProvidedExperience: string = \"\";\r\n HowTradedTheseProducts: string = \"\";\r\n IDType: string = \"\";\r\n IDType2: string = \"\";\r\n IFCommodities: boolean = false;\r\n IFCryptoCurrency: boolean = false;\r\n IFCurrencies: boolean = false;\r\n IFIndices: boolean = false;\r\n IFStocks: boolean = false;\r\n IncomeEmployment: boolean = false;\r\n IncomeEmploymentSF: boolean = false;\r\n Industry: string = \"\";\r\n industryEmpOther: string = \"\";\r\n IndustryRetired: string = \"\";\r\n industryRetiredOther: string = \"\";\r\n IndustryStudent: string = \"\";\r\n industryStudentOther: string = \"\";\r\n InfontBankPhoto: string = \"\";\r\n Inheritance: boolean = false;\r\n InheritanceSF: boolean = false;\r\n InitialPositionQns: boolean = false;\r\n InsurancePayout: boolean = false;\r\n InsurancePayoutSF: boolean = false;\r\n IsAdmin: boolean = false;\r\n IUnderstand: boolean = false;\r\n KYCID: number = 0;\r\n LevelKnowledgeFinancialMarkets: string = \"\";\r\n LName: string = \"\";\r\n LongHaveTraded: string = \"\";\r\n MarginRequiredQns: string = \"\";\r\n MaritalStatus: string = \"\";\r\n MaximumLeverageUsed: string = \"\";\r\n MName: string = \"\";\r\n MonthDOB: number = 0;\r\n MonthDocExpiryDate: number = 0;\r\n MonthDocExpiryDate2: number = 0;\r\n MonthlyAverageVolume: string = \"\";\r\n MonthlyRentalIncome: string = \"\";\r\n MutualFundsOfSharesLevel: string = \"\";\r\n MutualFundsOfSharesTradesNo: string = \"\";\r\n MutualFundsOfSharesYears: string = \"\";\r\n NameEmployerOrganisation: string = \"\";\r\n Nationality: string = \"\";\r\n NationalityID: number = 0;\r\n NationalPassportQsn: boolean = false;\r\n NatureOfBusiness: string = \"\";\r\n NetValueWealth: string = \"\";\r\n NoneAbove: boolean = false;\r\n NumberOfDependents: string = \"\";\r\n Occupation: string = \"\";\r\n OptionsOrFuturesLevel: string = \"\";\r\n OptionsOrFuturesTradesNo: string = \"\";\r\n OptionsOrFuturesYears: string = \"\";\r\n OTCDerivativesDifferentQns: boolean = false;\r\n OTCDerivativesPlacedQns: boolean = false;\r\n OtherInvestmentsLevel: string = \"\";\r\n OtherInvestmentsTradesNo: string = \"\";\r\n OtherInvestmentsYears: string = \"\";\r\n OtherSourceFunds: boolean = false;\r\n OtherSourceFundsTxt: string = \"\";\r\n OtherSrcWlth: boolean = false;\r\n OtherSrcWlthTxt: string = \"\";\r\n PersonalSaving: boolean = false;\r\n PersonalSavingSF: boolean = false;\r\n Phone: string = \"\";\r\n PlannedInitialInvestment: string = \"\";\r\n PlannedInvestment: string = \"\";\r\n PoliticallyPersonQsn: boolean = false;\r\n PreviousEmployer: string = \"\";\r\n PreviousPosition: string = \"\";\r\n Profession: string = \"\";\r\n ProfessionRelateFinancialIndustryQsn: boolean = false;\r\n ProofAddressDoc: string = \"\";\r\n ProofAddressType: string = \"\";\r\n ProofAddressValid: boolean = false;\r\n PropertyLandInvestments: boolean = false;\r\n PropertyLandInvestmentsSF: boolean = false;\r\n ProvideAverageNumber: string = \"\";\r\n PurposeInvesting: string = \"\";\r\n PurposeNatureTrading: string = \"\";\r\n PurposeOpeningAcc: string = \"\";\r\n QualificationLeveragedQsn: boolean = false;\r\n Reason: string = \"\";\r\n ReceivedHigherFinanceEducation: boolean = false;\r\n RelevantEmployerName: string = \"\";\r\n ReturnInvestmentsSharesDividends: boolean = false;\r\n ReturnInvestmentsSharesDividendsSF: boolean = false;\r\n RiskiestInvestmentQns: string = \"\";\r\n RoleHoldWithEmployer: string = \"\";\r\n RoleHoldWithEmployerOther: string = \"\";\r\n Salutation: string = \"\";\r\n SalutationID: number = 0;\r\n SalutationTxt: string = \"\";\r\n SecondaryIncomeQsn: boolean = false;\r\n SecondPhone: string = \"\";\r\n SelfieDoc: string = \"\";\r\n SharesLevel: string = \"\";\r\n SharesTradesNo: string = \"\";\r\n SharesYears: string = \"\";\r\n SizeFinancialPortfolio: boolean = false;\r\n SourceIncome: string = \"\";\r\n SourceOfIncomeStudent: string = \"\";\r\n State: string = \"\";\r\n StopLossOrderUsedQns: string = \"\";\r\n StopOutBeTriggered: string = \"\";\r\n StoppedOutSituationsQns: string = \"\";\r\n StreetName: string = \"\";\r\n TaxNumber: boolean = false;\r\n TaxNumberTxt: string = \"\";\r\n TaxResidencyCountry: string = \"\";\r\n TaxResidencyCountryID: number = 0;\r\n TimeframeHeldPositions: string = \"\";\r\n TINUnavailable: string = \"\";\r\n TINUnavailableTXT: string = \"\";\r\n TotalPortfolio: string = \"\";\r\n TradedSignificantSize: boolean = false;\r\n TradesPerMonth: string = \"\";\r\n TradingHigherLeverageApplyQns: string = \"\";\r\n TradingHigherLeverageQns: boolean = false;\r\n TrueAboutFuturesQns: string = \"\";\r\n TypeInstrumentsFamiliar: string = \"\";\r\n UnderstandConceptsVolatilityQsn: boolean = false;\r\n UnderstandLeveragedProductsQsn: boolean = false;\r\n UnderstandRisksWithTradingQsn: boolean = false;\r\n USAResidentQsn: boolean = false;\r\n USATaxPurposesQsn: boolean = false;\r\n UsedLeveragedProductsQsn: boolean = false;\r\n ValueRentalProp: string = \"\";\r\n WhatExtentTradedDerivatives: string = \"\";\r\n WhatExtentTradedFunds: string = \"\";\r\n WhatExtentTradedWithMargin: string = \"\";\r\n WhySpreadFloatingQns: string = \"\";\r\n WorkedRoleRelevantTrading: boolean = false;\r\n WorkExperienceQsn: boolean = false;\r\n WorkFinancialSector: boolean = false;\r\n YearDOB: number = 0;\r\n YearDocExpiryDate: number = 0;\r\n YearDocExpiryDate2: number = 0;\r\n ZipCode: string = \"\";\r\n}\r\nexport class GetSalutationResult {\r\n Salutation: string = \"\";\r\n SalutationID: number = 0;\r\n}\r\n\r\n\r\n\r\nexport class GetDynamicDropDownResult {\r\n DDID: number = 0;\r\n DDID1: number = 0;\r\n OID: number = 0;\r\n OptionName: string = \"\";\r\n OptionVal: string = \"\";\r\n SelectName: string = \"\";\r\n}\r\nexport class GetKYCPermissionsResult {\r\n AccountType: boolean = false;\r\n AmountToInvest: boolean = false;\r\n AmountToInvest12Months: boolean = false;\r\n AnnualIncome: boolean = false;\r\n AnnualNetIncome: boolean = false;\r\n AttendedCoursesQsn: boolean = false;\r\n AverageLevelLeverage: boolean = false;\r\n AverageYearlyVolume: boolean = false;\r\n BankCardID: boolean = false;\r\n BankName: boolean = false;\r\n BankStatement: boolean = false;\r\n BaseCurrency: boolean = false;\r\n BrokerApplication: boolean = false;\r\n BrokerApplicationDesc: boolean = false;\r\n BrokerApplicationDescTxt: string = \"\";\r\n BuildingNumber: boolean = false;\r\n CardHolderName: boolean = false;\r\n CFDs: boolean = false;\r\n City: boolean = false;\r\n CommoditiesPreciousMetals: boolean = false;\r\n Country: boolean = false;\r\n CountryBankAccount: boolean = false;\r\n CountryIssuance: boolean = false;\r\n CountryIssuance2: boolean = false;\r\n CountryIssuanceDriverID: boolean = false;\r\n CountryIssuanceDriverID2: boolean = false;\r\n CountryIssuanceNationalID: boolean = false;\r\n CountryIssuanceNationalID2: boolean = false;\r\n CountryOfBirth: boolean = false;\r\n CurrentEmployer: boolean = false;\r\n CurrentPosition: boolean = false;\r\n DateOfBirth: boolean = false;\r\n DeclaredBankruptcyQsn: boolean = false;\r\n Documents: boolean = false;\r\n DocumentsDesc: boolean = false;\r\n DocumentsDescTxt: string = \"\";\r\n DriverLicenseID: boolean = false;\r\n DriverLicenseID2: boolean = false;\r\n Education: boolean = false;\r\n EducationalFinancial: boolean = false;\r\n EmailPerm: boolean = false;\r\n EmploymentAddress: boolean = false;\r\n EmploymentCity: boolean = false;\r\n EmploymentCountry: boolean = false;\r\n EmploymentPostalCode: boolean = false;\r\n EmploymentStatus: boolean = false;\r\n EstimatedAnnualInvestment: boolean = false;\r\n ExpiryDate: boolean = false;\r\n ExpiryDate2: boolean = false;\r\n ExpiryDateDriverID: boolean = false;\r\n ExpiryDateDriverID2: boolean = false;\r\n ExpiryDateNationalID: boolean = false;\r\n ExpiryDateNationalID2: boolean = false;\r\n FirstName: boolean = false;\r\n ForeignExchange: boolean = false;\r\n FuturesMarketQns: boolean = false;\r\n GovernmentAndCorporateBonds: boolean = false;\r\n HowTradedTheseProducts: boolean = false;\r\n Industry: boolean = false;\r\n IndustryRetired: boolean = false;\r\n IndustryStudent: boolean = false;\r\n InitialPositionQns: boolean = false;\r\n InvestorInfo: boolean = false;\r\n InvestorInfoDesc: boolean = false;\r\n InvestorInfoDescTxt: string = \"\";\r\n IsFillDocumentRequired: boolean = false;\r\n KPID: number = 0;\r\n KTID: number = 0;\r\n LastName: boolean = false;\r\n LetterFromGovernmentAgency: boolean = false;\r\n LevelEducationOurProducts: boolean = false;\r\n LevelKnowledgeFinancialMarkets: boolean = false;\r\n Leverage: boolean = false;\r\n LiquidNetWorth: boolean = false;\r\n LongHaveTraded: boolean = false;\r\n MarginRequiredQns: boolean = false;\r\n MaritalStatus: boolean = false;\r\n MaximumLeverageUsed: boolean = false;\r\n MiddleName: boolean = false;\r\n MonthlyAverageVolume: boolean = false;\r\n MonthlyExpenses: boolean = false;\r\n MonthlyRentalIncome: boolean = false;\r\n MutualFundsOfShares: boolean = false;\r\n NameEmployerOrganisation: boolean = false;\r\n NationalCardID: boolean = false;\r\n NationalCardID2: boolean = false;\r\n Nationality: boolean = false;\r\n NationalPassportQsn: boolean = false;\r\n NatureOfBusiness: boolean = false;\r\n NetValueWealth: boolean = false;\r\n NetWorth: boolean = false;\r\n NumberOfDependents: boolean = false;\r\n Occupation: boolean = false;\r\n OptionsOrFutures: boolean = false;\r\n OTCDerivativesDifferentQns: boolean = false;\r\n OTCDerivativesPlacedQns: boolean = false;\r\n OtherInvestments: boolean = false;\r\n OtherProofOfAddressType: boolean = false;\r\n PassportID: boolean = false;\r\n PassportID2: boolean = false;\r\n PassportNumber: boolean = false;\r\n PassportNumber2: boolean = false;\r\n PassportNumberDriverID: boolean = false;\r\n PassportNumberDriverID2: boolean = false;\r\n PassportNumberNationalID: boolean = false;\r\n PassportNumberNationalID2: boolean = false;\r\n PersonalDetails: boolean = false;\r\n PersonalDetailsDesc: boolean = false;\r\n PersonalDetailsDescTxt: string = \"\";\r\n Phone: boolean = false;\r\n PlannedInitialInvestment: boolean = false;\r\n PlannedInvestment: boolean = false;\r\n Platform: boolean = false;\r\n PoliticallyPersonQsn: boolean = false;\r\n PostalCode: boolean = false;\r\n PreviousEmployer: boolean = false;\r\n PreviousPosition: boolean = false;\r\n Profession: boolean = false;\r\n ProfessionalClientStatus: boolean = false;\r\n ProfessionalClientStatusDesc: boolean = false;\r\n ProfessionalClientStatusDescTxt: string = \"\";\r\n ProfessionRelateFinancialIndustryQsn: boolean = false;\r\n ProofAddressValid: boolean = false;\r\n PurposeAndNatureTrading: boolean = false;\r\n PurposeInvesting: boolean = false;\r\n PurposeOpeningAcc: boolean = false;\r\n QualificationLeveragedQsn: boolean = false;\r\n ResidentialAddress: boolean = false;\r\n RiskiestInvestmentQns: boolean = false;\r\n Salutation: boolean = false;\r\n SecondaryIncomeQsn: boolean = false;\r\n SecondPhone: boolean = false;\r\n Shares: boolean = false;\r\n SourceOfFunds: boolean = false;\r\n SourceOfIncome: boolean = false;\r\n SourceOfIncomeStudent: boolean = false;\r\n SourceOfWealth: boolean = false;\r\n State: boolean = false;\r\n StopLossOrderUsedQns: boolean = false;\r\n StopOutBeTriggered: boolean = false;\r\n StoppedOutSituationsQns: boolean = false;\r\n StreetName: boolean = false;\r\n TaxNumber: boolean = false;\r\n TaxResidencyCountry: boolean = false;\r\n TimeframeHeldPositions: boolean = false;\r\n TotalPortfolio: boolean = false;\r\n TraderDeclaration: boolean = false;\r\n TraderDeclarationDesc: boolean = false;\r\n TraderDeclarationDescTxt: string = \"\";\r\n TradesPerMonth: boolean = false;\r\n TradingExperience: boolean = false;\r\n TradingExperienceDesc: boolean = false;\r\n TradingExperienceDescTxt: string = \"\";\r\n TradingHigherLeverage: boolean = false;\r\n TradingHigherLeverageQns: boolean = false;\r\n TradingKnowledge: boolean = false;\r\n TradingKnowledgeDesc: boolean = false;\r\n TrueAboutFuturesQns: boolean = false;\r\n TradingKnowledgeDescTxt: string = \"\";\r\n TypeInstrumentsFamiliar: boolean = false;\r\n UnderstandConceptsVolatilityQsn: boolean = false;\r\n UnderstandLeveragedProductsQsn: boolean = false;\r\n UnderstandRisksWithTradingQsn: boolean = false;\r\n USAResidentQsn: boolean = false;\r\n USATaxPurposesQsn: boolean = false;\r\n UsedLeveragedProductsQsn: boolean = false;\r\n Utilitybill: boolean = false;\r\n ValueRentalProp: boolean = false;\r\n WhatExtentTradedDerivatives: boolean = false;\r\n WhatExtentTradedFunds: boolean = false;\r\n WhatExtentTradedWithMargin: boolean = false;\r\n WhySpreadFloatingQns: boolean = false;\r\n WorkExperienceQsn: boolean = false;\r\n IdentificationDoc1: boolean = false;\r\n IdentificationDoc2: boolean = false;\r\n ProofAddDoc: boolean = false;\r\n BankDetailsDoc: boolean = false;\r\n}\r\nexport class GetScoringPointsResult {\r\n FieldID: string = \"\";\r\n FieldIndex: string = \"\";\r\n Score: number = 0;\r\n SID: number = 0;\r\n Value: string = \"\";\r\n}\r\nexport class KYCPermissions {\r\n declarationslist: GetDeclarationsResult[] = [];\r\n dropDownlist: GetDynamicDropDownResult[] = [];\r\n permissionslist: GetKYCPermissionsResult = new GetKYCPermissionsResult();\r\n scoringpoints: GetScoringPointsResult[] = [];\r\n}\r\n\r\nexport class BasicSelectOption {\r\n value: string | number = -1;\r\n label: string = \"choose\";\r\n\r\n}\r\n\r\n\r\nexport class NotBasicSelectOption extends BasicSelectOption {\r\n accountid: string = \"-1\";\r\n\r\n}\r\nexport class IpersonaldetailsTab {\r\n usaresident: boolean = false;\r\n politicallypersonqsn: boolean = false;\r\n declaredbankruptcyqsn: boolean = false;\r\n usataxpurposesqsn: boolean = false;\r\n}\r\n\r\nexport class SelectOptionsClass {\r\n Options: Array;\r\n onChange: any;\r\n selectedOption: T;\r\n constructor() {\r\n this.Options = [] as Array;\r\n this.onChange = () => { };\r\n this.selectedOption = {} as T;\r\n }\r\n}\r\nexport class personaldetailsTextInput {\r\n firstname: string = \"\";\r\n lastname: string = \"\";\r\n middlename: string = \"\";\r\n phoneNumber: string = \"\";\r\n secondphoneNumberOptional: string = \"\";\r\n Email: string = \"\";\r\n residentialaddress: string = \"\";\r\n state: string = \"\";\r\n city: string = \"\";\r\n streetname: string = \"\";\r\n buildingnumber: string = \"\";\r\n postalcode: string = \"\";\r\n}\r\nexport class personaldetailsTextInputLabel {\r\n firstname: boolean = false;\r\n lastname: boolean = false;\r\n middlename: boolean = false;\r\n phoneNumber: boolean = false;\r\n secondphoneNumberOptional: boolean = false;\r\n Email: boolean = false;\r\n residentialaddress: boolean = false;\r\n state: boolean = false;\r\n city: boolean = false;\r\n streetname: boolean = false;\r\n buildingnumber: boolean = false;\r\n postalcode: boolean = false;\r\n}\r\nexport class personaldetailsSelectDropDown {\r\n salutation: SelectOptionsClass = new SelectOptionsClass();\r\n dateofbirthDay: SelectOptionsClass = new SelectOptionsClass();\r\n dateofbirthMonth: SelectOptionsClass = new SelectOptionsClass();\r\n dateofbirthYear: SelectOptionsClass = new SelectOptionsClass();\r\n countries: SelectOptionsClass = new SelectOptionsClass();\r\n maritalstatus: SelectOptionsClass = new SelectOptionsClass();\r\n nationality: SelectOptionsClass = new SelectOptionsClass();\r\n countryResidence: SelectOptionsClass = new SelectOptionsClass();\r\n countryofbirth: SelectOptionsClass = new SelectOptionsClass();\r\n}\r\nexport class personaldetailsRadioBtns {\r\n usaresident: boolean = false;\r\n politicallypersonqsn: boolean = false;\r\n declaredbankruptcyqsn: boolean = false;\r\n usataxpurposesqsn: boolean = false;\r\n}\r\n\r\nexport class investorinfoTextInput {\r\n //now are text \r\n PlannedInvestment: string = \"\";\r\n EstimatedNetWorth: string = \"\";\r\n EstimatedAnnualIncome: string = \"\";\r\n ///\r\n Estimatedamounttoinvest: string = \"\";\r\n profession: string = \"\";\r\n numberofdependents: string = \"\";\r\n nameemployerorganisation: string = \"\";\r\n previousemployer: string = \"\";\r\n othersourcefunds: string = \"\";\r\n OtherSourceWealth: string = \"\";\r\n OtherindustryCurrentEmployment: string = \"\";\r\n OtherDoYouHaveIdentificationNumber: string = \"\";\r\n OtherSelectDoYouHaveIdentificationNumber: string = \"\";\r\n currentemployer: string = \"\";\r\n OtherindustryCurrentEmploymentOther: string = \"\";\r\n natureofbusiness: string = \"\";\r\n occupation: string = \"\";\r\n address: string = \"\";\r\n city: string = \"\";\r\n countystateprovince: string = \"\";\r\n postalcode: string = \"\";\r\n valuerentalprop: string = \"\";\r\n monthlyrentalincome: string = \"\";\r\n sourceofincomeRetired: string = \"\";\r\n OtherindustryCurrentEmploymentRetired: string = \"\";\r\n\r\n\r\n}\r\nexport class investorinfoSelectDropDown {\r\n education: SelectOptionsClass = new SelectOptionsClass();\r\n estimatednetworth: SelectOptionsClass = new SelectOptionsClass();\r\n estimatedliquidnetworth: SelectOptionsClass = new SelectOptionsClass();\r\n EstimatedAnnualnetworth: SelectOptionsClass = new SelectOptionsClass();\r\n estimatedannualincome: SelectOptionsClass = new SelectOptionsClass();\r\n totalportfoliovalueInUSD: SelectOptionsClass = new SelectOptionsClass();\r\n plannedinvestment: SelectOptionsClass = new SelectOptionsClass();\r\n PurposeOfInvesting: SelectOptionsClass = new SelectOptionsClass();\r\n EstimatedamounttoinvestNextMonths: SelectOptionsClass = new SelectOptionsClass();\r\n monthlyexpenses: SelectOptionsClass = new SelectOptionsClass();\r\n estimatedannualinvestment: SelectOptionsClass = new SelectOptionsClass();\r\n netvaluewealth: SelectOptionsClass = new SelectOptionsClass();\r\n plannedinitialinvestment: SelectOptionsClass = new SelectOptionsClass();\r\n employmentstatus: SelectOptionsClass = new SelectOptionsClass();\r\n sourceofincome: SelectOptionsClass = new SelectOptionsClass();\r\n previousposition: SelectOptionsClass = new SelectOptionsClass();\r\n industryCurrentEmployment: SelectOptionsClass = new SelectOptionsClass();\r\n taxresidencycountry: SelectOptionsClass = new SelectOptionsClass();\r\n countrybankaccount: SelectOptionsClass = new SelectOptionsClass();\r\n DoYouHaveIdentificationNumber: SelectOptionsClass = new SelectOptionsClass();\r\n currentposition: SelectOptionsClass = new SelectOptionsClass();\r\n industryCurrentEmploymentOther: SelectOptionsClass = new SelectOptionsClass();\r\n industryCurrentEmploymentRetired: SelectOptionsClass = new SelectOptionsClass();\r\n sourceofincomeRetired: SelectOptionsClass = new SelectOptionsClass();\r\n}\r\nexport class investorinfoRadioBtns {\r\n DoYouHaveIdentificationNumber: boolean = false;\r\n DoYouHaveWorkexperience: boolean = false;\r\n HaveYouattendedaseminar: boolean = false;\r\n DoYouHaveAnationalpassportnumber: boolean = false;\r\n}\r\nexport class investorinfoSourceFundsCheckBoxes {\r\n BusinessOwnership: boolean = false;\r\n PropertyLandInvestments: boolean = false;\r\n FamilyIncomeRelationship: boolean = false;\r\n PersonalSaving: boolean = false;\r\n InsurancePayout: boolean = false;\r\n IncomeFromEmployment: boolean = false;\r\n CommissionsRevenuesBonuses: boolean = false;\r\n ReturnOnInvestmentsSharesDividends: boolean = false;\r\n BankingFacilities: boolean = false;\r\n Inheritance: boolean = false;\r\n Other: boolean = false;\r\n}\r\nexport class investorinfoCheckBoxes {\r\n SourceFundsList: string[] = [];\r\n sourceofwealthList: string[] = [];\r\n investorinfoSourceFundsCheckBoxes: investorinfoSourceFundsCheckBoxes = new investorinfoSourceFundsCheckBoxes();\r\n sourceofwealthCheckboxCheckBoxes: investorinfoSourceFundsCheckBoxes = new investorinfoSourceFundsCheckBoxes();\r\n}\r\nexport class tradingexperienceSelectDropDown {\r\n monthlyaveragevolume: SelectOptionsClass = new SelectOptionsClass();\r\n PurposeAndNatureOfTrading: SelectOptionsClass = new SelectOptionsClass();\r\n PurposeOfOpeningTheAccount: SelectOptionsClass = new SelectOptionsClass();\r\n currentlevelOfKnowledge: SelectOptionsClass = new SelectOptionsClass();\r\n HowLongHaveYoutradedforex: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesDoYouPlaceEachMonth: SelectOptionsClass = new SelectOptionsClass();\r\n OverWhatTimeframeHaveYouHeldPositions: SelectOptionsClass = new SelectOptionsClass();\r\n StocksMutualFundsBondsEquities: SelectOptionsClass = new SelectOptionsClass();\r\n DerivativesSuchAsFuturesOptionsSwaps: SelectOptionsClass = new SelectOptionsClass();\r\n ForexRollingSpotFXSpreadBets: SelectOptionsClass = new SelectOptionsClass();\r\n WhatWasTheaverageyearlyvolume: SelectOptionsClass = new SelectOptionsClass();\r\n WhatWasTheAverageLevelOfleverage: SelectOptionsClass = new SelectOptionsClass();\r\n maximumleverageused: SelectOptionsClass = new SelectOptionsClass();\r\n}\r\nexport class traderdeclarationResultList {//null as my come never choosen\r\n did: number = -1;\r\n answer: string | null = null;\r\n}\r\nexport class documentsRadioBtns {//null as my come never choosen\r\n idtype: string = \"\";\r\n secondidtype: string = \"\";\r\n IsYourproofofaddressValid: string = \"\";\r\n proofofaddressType: string = \"\";\r\n}\r\nexport class DocumentParameters {\r\n Token: string = \"\";\r\n CompanyName: string = \"\";\r\n objData: {\r\n ClientID: string;\r\n Type: string;\r\n BinaryDocument: any;\r\n } = { ClientID: \"\", Type: \"\", BinaryDocument: \"\" }\r\n}\r\nexport class uploadFormType {\r\n Spinner: boolean = false;\r\n Name: string = \"\";\r\n Img: any = \"\";\r\n}\r\nexport class documentsUpload {\r\n FrontID: uploadFormType = new uploadFormType();\r\n FrontIDNational: uploadFormType = new uploadFormType();\r\n FrontIDDriverLicense: uploadFormType = new uploadFormType();\r\n BackID: uploadFormType = new uploadFormType();\r\n BackIDNational: uploadFormType = new uploadFormType();\r\n BackIDLicense: uploadFormType = new uploadFormType();\r\n\r\n ProofOfAdd: uploadFormType = new uploadFormType();\r\n InfrontBank: uploadFormType = new uploadFormType();\r\n BackBank: uploadFormType = new uploadFormType();\r\n\r\n FrontID2: uploadFormType = new uploadFormType();\r\n FrontIDNational2: uploadFormType = new uploadFormType();\r\n FrontIDDriverLicense2: uploadFormType = new uploadFormType();\r\n BackID2: uploadFormType = new uploadFormType();\r\n BackIDNational2: uploadFormType = new uploadFormType();\r\n BackIDLicense2: uploadFormType = new uploadFormType();\r\n}\r\nexport class documentsSelects {\r\n countryofissuance: SelectOptionsClass = new SelectOptionsClass();\r\n countryofissuanceNationalIDcard: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryDay: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryMonth: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryYear: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryDayNationalIDcard: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryMonthNationalIDcard: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryYearNationalIDcard: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryDayDriversLicense: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryMonthDriversLicense: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryYearDriversLicense: SelectOptionsClass = new SelectOptionsClass();\r\n\r\n countryofissuance2: SelectOptionsClass = new SelectOptionsClass();\r\n countryofissuanceNationalIDcard2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryDay2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryMonth2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryYear2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryDayNationalIDcard2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryMonthNationalIDcard2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryYearNationalIDcard2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryDayDriversLicense2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryMonthDriversLicense2: SelectOptionsClass = new SelectOptionsClass();\r\n ExpiryYearDriversLicense2: SelectOptionsClass = new SelectOptionsClass();\r\n\r\n}\r\nexport class documentsTextInput {\r\n passportnumber: string = \"\";\r\n NationalIDCardNumber: string = \"\";\r\n DriversLicenseNumber: string = \"\";\r\n\r\n passportnumber2: string = \"\";\r\n NationalIDCardNumber2: string = \"\";\r\n DriversLicenseNumber2: string = \"\";\r\n\r\n cardholdername: string = \"\";\r\n CardHolderID: string = \"\";\r\n bankname: string = \"\";\r\n\r\n}\r\nexport class tradingknowledgelevelofeducation {\r\n IHoldProfessionalQualification: boolean = false;\r\n IReceivedHigherEducation: boolean = false;\r\n IHoldABachelor: boolean = false;\r\n InTheLastThreeYears: boolean = false;\r\n NoneOfTheAbove: boolean = false;\r\n}\r\nexport class tradingknowledgeCheckboxes {\r\n levelofeducationList: string[] = [];\r\n levelofeducationCheckBoxes: tradingknowledgelevelofeducation = new tradingknowledgelevelofeducation();\r\n}\r\nexport class tradingknowledgeSelects {\r\n educationalQualification: SelectOptionsClass = new SelectOptionsClass();\r\n ThestoplossOrderIsUsedTo: SelectOptionsClass = new SelectOptionsClass();\r\n Investment: SelectOptionsClass = new SelectOptionsClass();\r\n HowMuchMarginIsRequired: SelectOptionsClass = new SelectOptionsClass();\r\n TheMarketIsMovingAgainstYou: SelectOptionsClass = new SelectOptionsClass();\r\n Whentradingwithhigherleverage: SelectOptionsClass = new SelectOptionsClass();\r\n stopoutbetriggered: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecuted: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgeFE: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecutedshares: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgeshares: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgeMutualFundsOfshares: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecutedMutualFundsOfshares: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgegovernmentandcorporatebonds: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecutedgovernmentandcorporatebonds: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgecfds: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecutedcfds: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgeCommoditiesAndPreciousMetals: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecutedCommoditiesAndPreciousMetals: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgeoptionsorfutures: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecutedoptionsorfutures: SelectOptionsClass = new SelectOptionsClass();\r\n HowManyTradesHaveYouExecutedotherinvestments: SelectOptionsClass = new SelectOptionsClass();\r\n LevelOfKnowledgeotherinvestments: SelectOptionsClass = new SelectOptionsClass();\r\n HowHaveYouTradedTheseProducts: SelectOptionsClass = new SelectOptionsClass();\r\n whyspreadfloatingqns: SelectOptionsClass = new SelectOptionsClass();\r\n}\r\nexport class tradingknowledgeTextInput {\r\n educationalQualificationTxtOther: string = \"\";\r\n YearsOfTrading: string = \"\";\r\n YearsOfTradingshares: string = \"\";\r\n YearsOfTradingMutualFundsOfshares: string = \"\";\r\n YearsOfTradinggovernmentandcorporatebonds: string = \"\";\r\n YearsOfTradingCommoditiesAndPreciousMetals: string = \"\";\r\n YearsOfTradingcfds: string = \"\";\r\n YearsOfTradingoptionsorfutures: string = \"\";\r\n YearsOfTradingotherinvestments: string = \"\";\r\n}\r\nexport class tradingknowledgeRadioBtns {\r\n tradingwithhigherleverageIncfds: boolean = false;\r\n IfThevalueOfYourInitialPosition: boolean = false;\r\n futuresmarketAreTraded: boolean = false;\r\n DoYouHaveGoodUnderstandingOTCDeriv: boolean = false;\r\n DoYouHaveGoodUndersOTCDerivFamiliar: boolean = false;\r\n}\r\nexport class professionalclientstatusSelects {\r\n provideaveragenumber: SelectOptionsClass = new SelectOptionsClass();\r\n roleholdwithemployer: SelectOptionsClass = new SelectOptionsClass();\r\n}\r\nexport class professionalclientstatusTextInput {\r\n relevantemployername: string = \"\";\r\n howroleprovidedexperience: string = \"\";\r\n Otherroleholdwithemployer: string = \"\";\r\n\r\n}\r\nexport class professionalclientstatusRadioBtns {\r\n SIZEOFPORTFOLIO: boolean = false;\r\n workfinancialsector: boolean = false;\r\n employerregulatedfinancial: boolean = false;\r\n tradedsignificantsize: boolean = false;\r\n}\r\nexport class professionalclientstatuscheckBox {\r\n iunderstand: boolean = false;\r\n}\r\nexport class TheTypesOfFinancialInstrumentsCheckboxGroup {\r\n Currencies: boolean = false;\r\n Commodities: boolean = false;\r\n Indices: boolean = false;\r\n Stocks: boolean = false;\r\n CryptoCurrency: boolean = false;\r\n}\r\nexport class tradingexperienceCheckboxes {\r\n TheTypesOfFinancialInstrumentsList: string[] = [];\r\n TheTypesOfFinancialInstrumentsCheckboxGroup: TheTypesOfFinancialInstrumentsCheckboxGroup = new TheTypesOfFinancialInstrumentsCheckboxGroup();\r\n}\r\nexport class tradingexperienceRadioBtns {\r\n DoYouHaveGoodUndersOfleveragedProducts: boolean = false;\r\n DoYouHaveGoodUndersOfvolatilityconcepts: boolean = false;\r\n DoYouHaveQualificationOfleveragedProducts: boolean = false;\r\n DoYouHaveunderstandingofrisks: boolean = false;\r\n professionrelatefinancialindustryqsn: boolean = false;\r\n usedleveragedproductsqsn: boolean = false;\r\n}\r\nexport class ReviewSubmitcheckBox {\r\n IConfirmInformationIsAccurate: boolean = false;\r\n ModalRisk: boolean = false;\r\n}\r\n//Add kycReq\r\nexport interface KYCClass {\r\n KYCID: number;\r\n ClientID: string;\r\n IsAdmin: boolean;\r\n KYCStatus: string;\r\n Reason: string;\r\n Status: number;\r\n AdminUsername: string;\r\n ESignature: string;\r\n ESignatureBinary: string;\r\n RiskWarning: boolean;\r\n TotalScore: number;\r\n PersonalDetails: PersonalDetails;\r\n InvestorInfo: InvestorInfo;\r\n TradingExperience: TradingExp;\r\n TradingKnowledge: TradingKnowledge;\r\n TraderDeclaration: TraderDeclaration[];\r\n Documents: Documents;\r\n ProfClntStatus: ProfClntStatus;\r\n}\r\n\r\nexport interface PersonalDetails {\r\n Salutation: number;\r\n SalutationTxt: string;\r\n FirstName: string;\r\n MiddleName: string;\r\n LName: string;\r\n DOB: string | null;\r\n Phone: string;\r\n SecondPhone: string;\r\n Email: string;\r\n CountryOfBirthID: number;\r\n NationalityID: number;\r\n MaritalStatus: string;\r\n USAResidentQsn: boolean;\r\n PoliticallyPersonQsn: boolean;\r\n DeclaredBankruptcyQsn: boolean;\r\n USATaxPurposesQsn: boolean;\r\n Country: number;\r\n ResidentialAddress: string;\r\n State: string;\r\n City: string;\r\n StreetName: string;\r\n BuildingNumber: string;\r\n PostalCode: string;\r\n}\r\n\r\nexport interface InvestorInfo {\r\n Education: string;\r\n AmountToInvest: string;\r\n LiquidNetWorth: string;\r\n AnnualNetIncome: string;\r\n AnnualIncome: string;\r\n TotalPortfolio: string;\r\n NetWorth: string;\r\n PlannedInvestment: string;\r\n PurposeInvesting: string;\r\n NumberOfDependents: string;\r\n AmountToInvest12Months: string;\r\n BusinessOwnership: boolean;\r\n FamilyIncomeRelationship: boolean;\r\n InsurancePayout: boolean;\r\n ReturnInvestmentsSharesDividends: boolean;\r\n PropertyLandInvestments: boolean;\r\n Inheritance: boolean;\r\n IncomeEmployment: boolean;\r\n BankingFacilities: boolean;\r\n PersonalSaving: boolean;\r\n CommissionsRevenuesBonuses: boolean;\r\n OtherSrcWlth: boolean;\r\n OtherSrcWlthTxt: string;\r\n TaxResidencyCountry: number;\r\n TaxNumber: boolean;\r\n TaxNumberTxt: string;\r\n WorkExperienceQsn: boolean;\r\n AttendedCoursesQsn: boolean;\r\n NationalPassportQsn: boolean;\r\n CurrentEmployer: string;\r\n EmploymentStatus: string;\r\n CurrentPosition: string;\r\n Industry: string;\r\n NatureOfBusiness: string;\r\n Occupation: string;\r\n EmploymentAddress: string;\r\n EmploymentCity: string;\r\n EmploymentCountry: string;\r\n EmploymentPostalCode: string;\r\n SecondaryIncomeQsn: boolean;\r\n SourceOfIncome: string;\r\n PreviousEmployer: string;\r\n IndustryRetired: string;\r\n PreviousPosition: string;\r\n SourceOfIncomeStudent: string;\r\n IndustryStudent: string;\r\n MonthlyExpenses: string;\r\n EstimatedAnnualInvestment: string;\r\n NetValueWealth: string;\r\n PlannedInitialInvestment: string;\r\n Profession: string;\r\n NameEmployerOrganisation: string;\r\n CountryBankAccount: number;\r\n BusinessOwnershipSF: boolean;\r\n FamilyIncomeRelationshipSF: boolean;\r\n InsurancePayoutSF: boolean;\r\n ReturnInvestmentsSharesDividendsSF: boolean;\r\n PropertyLandInvestmentsSF: boolean;\r\n InheritanceSF: boolean;\r\n IncomeEmploymentSF: boolean;\r\n BankingFacilitiesSF: boolean;\r\n PersonalSavingSF: boolean;\r\n CommissionsRevenuesBonusesSF: boolean;\r\n OtherSourceFunds: boolean;\r\n OtherSourceFundsTxt: string;\r\n ValueRentalProp: string;\r\n MonthlyRentalIncome: string;\r\n IndustryStudentOther: string;\r\n IndustryEmpOther: string;\r\n IndustryRetiredOther: string;\r\n TINUnavailableTXT: string;\r\n TINUnavailable: string;\r\n}\r\n\r\nexport interface TradingExp {\r\n MonthlyAverageVolume: string;\r\n PurposeNatureTrading: string;\r\n PurposeOpeningAcc: string;\r\n LevelKnowledgeFinancialMarkets: string;\r\n LongHaveTraded: string;\r\n TradesPerMonth: string;\r\n TimeframeHeldPositions: string;\r\n TypeInstrumentsFamiliar: string;\r\n IFCurrencies: boolean;\r\n IFCommodities: boolean;\r\n IFIndices: boolean;\r\n IFStocks: boolean;\r\n IFCryptoCurrency: boolean;\r\n WhatExtentTradedFunds: string;\r\n WhatExtentTradedDerivatives: string;\r\n WhatExtentTradedWithMargin: string;\r\n AverageYearlyVolume: string;\r\n AverageLevelLeverage: string;\r\n UnderstandLeveragedProductsQsn: boolean;\r\n QualificationLeveragedQsn: boolean;\r\n UnderstandRisksWithTradingQsn: boolean;\r\n UnderstandConceptsVolatilityQsn: boolean;\r\n MaximumLeverageUsed: string;\r\n ProfessionRelateFinancialIndustryQsn: boolean;\r\n UsedLeveragedProductsQsn: boolean;\r\n}\r\n\r\nexport interface TradingKnowledge {\r\n StopLossOrderUsedQns: string;\r\n RiskiestInvestmentQns: string;\r\n MarginRequiredQns: string;\r\n StoppedOutSituationsQns: string;\r\n TradingHigherLeverageApplyQns: string;\r\n HoldProfessionalQualification: boolean;\r\n ReceivedHigherFinanceEducation: boolean;\r\n HoldBachelorOtherSubjects: boolean;\r\n WorkedRoleRelevantTrading: boolean;\r\n NoneAbove: boolean;\r\n EducationalFinancial: string;\r\n EducationalFinancialTXT: string;\r\n TradingHigherLeverageQns: boolean;\r\n InitialPositionQns: boolean;\r\n FuturesMarketQns: boolean;\r\n OTCDerivativesDifferentQns: boolean;\r\n OTCDerivativesPlacedQns: boolean;\r\n ForeignExchangeLevel: string;\r\n ForeignExchangeYears: string;\r\n ForeignExchangeTradesNo: string;\r\n SharesLevel: string;\r\n SharesYears: string;\r\n SharesTradesNo: string;\r\n MutualFundsOfSharesLevel: string;\r\n MutualFundsOfSharesYears: string;\r\n MutualFundsOfSharesTradesNo: string;\r\n GovernmentCorporateBondsLevel: string;\r\n GovernmentCorporateBondsYears: string;\r\n GovernmentCorporateBondsTradesNo: string;\r\n CFDsLevel: string;\r\n CFDsYears: string;\r\n CFDsTradesNo: string;\r\n CommoditiesPreciousMetalsLevel: string;\r\n CommoditiesPreciousMetalsYears: string;\r\n CommoditiesPreciousMetalsTradesNo: string;\r\n OptionsOrFuturesLevel: string;\r\n OptionsOrFuturesYears: string;\r\n OptionsOrFuturesTradesNo: string;\r\n OtherInvestmentsLevel: string;\r\n OtherInvestmentsYears: string;\r\n OtherInvestmentsTradesNo: string;\r\n HowTradedTheseProducts: string;\r\n StopOutBeTriggered: string;\r\n TrueAboutFuturesQns: string;\r\n WhySpreadFloatingQns: string;\r\n}\r\n\r\nexport interface TraderDeclaration {\r\n DID: number;\r\n Answer: boolean;\r\n}\r\n\r\nexport interface ProfClntStatus {\r\n TradedSignificantSize: boolean;\r\n SizeFinancialPortfolio: boolean;\r\n WorkFinancialSector: boolean;\r\n ProvideAverageNumber: string;\r\n RelevantEmployerName: string;\r\n EmployerRegulatedFinancial: boolean;\r\n HowRoleProvidedExperience: string;\r\n RoleHoldWithEmployer: string;\r\n RoleHoldWithEmployerOther: string;\r\n IUnderstand: boolean;\r\n}\r\nexport interface ProfileInfo {\r\n ContactID: number;\r\n ClientID: string;\r\n BUID: number;\r\n Type: string;\r\n BinaryDocument: string;\r\n Password: string;\r\n CurrPassword: string;\r\n Email: string;\r\n Language: string;\r\n WLName: string;\r\n PoolID: number;\r\n Code: string;\r\n}\r\n//#region appform Json\r\nexport const DefaultValueDict: any = {\r\n \"dropdown\": new BasicSelectOption(),\r\n \"dynamicDropdown\": new BasicSelectOption(),//x\r\n \"multiDropdown\": [],\r\n \"input\": \"\",\r\n \"boolean\": false,\r\n \"radiogroup\": '',\r\n \"radiogroupCard\": '',//client docuemnts\r\n \"date\": new Date(),\r\n \"file\": { imgsrc: \"\", placeholder: \"\" },\r\n \"html\": \"\",//label\r\n \"listDeclaration\": \"\",\r\n};\r\n//#endregion","module.exports = __webpack_public_path__ + \"static/media/notsuported.395eb69a.jpg\";","import * as React from 'react';\r\n\r\ndeclare var require: any\r\nconst { SpinnerComponent }: any = require('react-element-spinner');\r\n\r\n\r\n\r\n//const loading = require(\"../Assets/imgs/loading.png\") as string;\r\nclass Lazy extends React.Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n};\r\nexport default Lazy;","import * as types from \"../constants\";\r\nimport { GetCompanyDataResult } from \"../../Interfaces/Interfaces\";\r\n\r\nexport function UpdateCompanyData(CompanyData: GetCompanyDataResult): types.UpdateCompanyData {\r\n return {\r\n type: types.UPDATE_COMPANY_DATA,\r\n payload: CompanyData\r\n };\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nexport function AddSignalr(connection: any): types.ADDSIGNALR {\r\n return {\r\n type: types.ADD_SIGNALR,\r\n payload: connection\r\n };\r\n}\r\nexport function RemoveSignalr(): types.REMOVESIGNALR {\r\n return {\r\n type: types.REMOVE_SIGNALR\r\n };\r\n}\r\nexport function CheckSignalR(): types.CheckSignalR {\r\n return {\r\n type: types.CHECK_SIGNALR\r\n };\r\n}","export function toggleTheme(name: any) {\r\n detachStylesheets();\r\n insertStylesheet(name);\r\n}\r\n\r\nfunction detachStylesheets() {\r\n Array.from(document.querySelectorAll('link[data-theme=\"true\"]')).forEach(\r\n (style: any | null) => {\r\n style.parentNode.removeChild(style);\r\n }\r\n );\r\n}\r\n\r\nfunction insertStylesheet(name: any) {\r\n var link = document.createElement(\"link\");\r\n link.href = \"https://prod01-cdn-yoonit.plugitapps.com/cdn/css/\" + name + \".css\";\r\n //link.href = \"/css/\" + name + \".css\";\r\n link.type = \"text/css\";\r\n link.setAttribute('data-theme', \"true\");\r\n link.rel = \"stylesheet\";\r\n document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n}","import * as types from \"../constants\";\r\nimport { toggleTheme } from \"../../Services/ThemeService\";\r\n\r\nexport function enableDarkTheme() {\r\n return enableTheme(\"addons-DarkTheme\");\r\n}\r\nexport function enableLightTheme() {\r\n return enableTheme(\"addons-LightTheme\");\r\n}\r\nexport function enableMixTheme() {\r\n return enableTheme(\"addons-MixTheme\");\r\n}\r\nexport function enableOrangeTheme() {\r\n return enableTheme(\"addons-OrangeTheme\");\r\n}\r\nexport function enableNavyTheme() {\r\n return enableTheme(\"addons-NavyTheme\");\r\n}\r\nexport function enableBlackRedTheme() {\r\n return enableTheme(\"addons-BlackRedTheme\");\r\n}\r\nexport function enableIGainTheme() {\r\n return enableTheme(\"addons-IGainTheme\");\r\n}\r\nexport function enableLDNTheme() {\r\n return enableTheme(\"addons-LDNTheme\");\r\n}\r\nexport function enableATFXTheme() {\r\n return enableTheme(\"addons-ATFXTheme\");\r\n}\r\nexport function enableACMTheme() {\r\n return enableTheme(\"addons-ACMTheme\");\r\n}\r\nexport function enableGMCTheme() {\r\n return enableTheme(\"addons-GMCTheme\");\r\n}\r\nexport function enableAvantTheme() {\r\n return enableTheme(\"addons-AvantTheme\");\r\n}\r\nexport function enablePrimexTheme() {\r\n return enableTheme(\"addons-PrimexTheme\");\r\n}\r\nexport function enableGivTradeTheme() {\r\n return enableTheme(\"addons-GivTradeTheme\");\r\n}\r\nexport function enableiQuotoTheme() {\r\n return enableTheme(\"addons-iQuotoTheme\");\r\n}\r\nexport function enablePureNorthTheme() {\r\n return enableTheme(\"addons-PureNorthTheme\");\r\n}\r\nexport function enableOrbitLight() {\r\n return enableTheme(\"addons-Orbit-Light\");\r\n}\r\nexport function enableOrbitDark() {\r\n return enableTheme(\"addons-Orbit-Dark\");\r\n}\r\nexport function enableTNFXTheme_OrangeDark() {\r\n return enableTheme(\"addons-TNFXTheme\");\r\n}\r\nexport function enableGold() {\r\n return enableTheme(\"addons-GoldTheme\");\r\n}\r\nexport function enableBrownTheme() {\r\n return enableTheme(\"addons-BrownTheme\");\r\n}\r\nfunction enableTheme(name: any) {\r\n toggleTheme(name);\r\n return {\r\n type: types.THEME_TOGGLE,\r\n payload: name\r\n };\r\n}\r\n\r\nexport function MenuToggleCollapse() {\r\n return {\r\n type: types.MENU_TOGGLE_COLLAPSE\r\n };\r\n}\r\nexport function MenuSetCollapse(collapsed: boolean) {\r\n return {\r\n type: types.MENU_SET_COLLAPSE,\r\n payload: collapsed\r\n\r\n };\r\n}","import * as types from \"../constants\";\r\n\r\nexport function HandleUserConnectivity(isConnected: boolean): types.HandleUserConnectivity {\r\n return {\r\n type: types.HANDLE_USER_CONNECTIVITY,\r\n payload: isConnected\r\n };\r\n}","import * as React from 'react';\r\nimport ErrorBoundary from '../../AdvancedComponents/ErrorBoundary';\r\n\r\n//removeCss TODO danger check \r\nexport default (props: { children?: React.ReactNode, removeScroll?:boolean }) => (\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n {props.children}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n);\r\n","import DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport LinkIcon from '@mui/icons-material/Link';\r\nimport 'antd/dist/antd.css';\r\nimport Menu from 'antd/es/menu';\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport { CheckIfCompanyIs, CheckIfPermAlllowedByName, DisplayZendDeskChat, GetPermissionDetailsByName, GetReportsPerms, OneOFReportsEnabled } from '../../../Helpers/DataHelpers';\r\nimport { translationType, UserPermissionOBjectClass } from '../../../Interfaces/Interfaces';\r\nimport ContactUs from '../../../Pages/ClientSettings/ContactUs';\r\nimport { Login, Logout } from '../../../redux/actions/AuthActions';\r\nimport { MenuSetCollapse, MenuToggleCollapse } from '../../../redux/actions/themeActions';\r\nimport { GetAdminData, GetClientData, ICompanyData, IPerms, IStore, IUserData } from '../../../redux/constants';\r\ndeclare var require: any;\r\n\r\nconst $ = require(\"jquery\");\r\nconst { SubMenu } = Menu;\r\nconst mapStateToProps = (state: IStore) => ({\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n state: state.sidebar,\r\n history: state.history,\r\n theme: state.theme,\r\n CompanyData: state.auth.CompanyData,\r\n AdminData: state.auth.AdminData,\r\n ClientData: state.auth.ClientData,\r\n UserPermissions: state.auth.UserPermissions\r\n});\r\nconst dispatchProps = { push, Login, Logout, MenuToggleCollapse, MenuSetCollapse }\r\ninterface LeftSideBarProps {\r\n AdminData: GetAdminData;\r\n ClientData: GetClientData;\r\n path: any;\r\n PreviousPath: string;\r\n closedMenu: any;\r\n subtab: any;\r\n history: any;\r\n lang: translationType;\r\n userData: IUserData;\r\n theme: any;\r\n push: any;\r\n CompanyData: ICompanyData\r\n MenuSetCollapse: any;\r\n MenuToggleCollapse: any;\r\n UserPermissions: IPerms[];\r\n t: any;\r\n i18n: any;\r\n}\r\ninterface LeftSideBarState {\r\n ContactUSMessage: string;\r\n SendMessageLoading: boolean;\r\n openContactUSPOPUP: boolean;\r\n defaultSelectedKeys: string;\r\n openKeys: string[];\r\n collapsed: boolean;\r\n selectedSetting: boolean;\r\n subtab: string;\r\n OpenContactUs: boolean;\r\n current: string;\r\n visible: boolean;\r\n}\r\nclass LeftSideBar extends React.Component {\r\n // submenu keys of first level\r\n //without this in tsx \r\n isElite: boolean = CheckIfCompanyIs(\"elite\");\r\n isJKV: boolean = CheckIfCompanyIs(\"JKV\");\r\n isOrbit: boolean = CheckIfCompanyIs(\"Orbit\");\r\n isTNFX: boolean = CheckIfCompanyIs(\"TNFX\");\r\n isIconFx: boolean = CheckIfCompanyIs(\"Icon\");\r\n rootSubmenuKeys = [this.props.subtab];\r\n state = {\r\n ContactUSMessage: \"\",\r\n SendMessageLoading: false,\r\n openContactUSPOPUP: false,\r\n // Mobile\r\n current: 'mail',\r\n visible: false,\r\n collapsed: this.props.theme.MenuIsCollapsed,\r\n openKeys: (this.props.path\r\n && (this.props.path.toLowerCase().includes(\"/portalsettings\")\r\n || this.props.path.toLowerCase().includes(\"clients/pools/\")\r\n || this.props.path.toLowerCase().includes(\"trader/accounttypes/\"))\r\n ) ? [] : [this.props.subtab],//@point here put [] if from sub menus //not empty or existing one \r\n defaultSelectedKeys: '1000',\r\n selectedSetting: false,\r\n subtab: this.props.subtab,\r\n OpenContactUs: false,\r\n };\r\n componentDidMount() {\r\n this.rootSubmenuKeys = ['/Manage', '/IB', '/Portfolio', '/Analytics', '/Logs', '/MAM', '/IBAdmin', '/Trader', '/Clients', '/BackOffice', '/Users', '/OnBoarding', '/DynamicMargin', '/Bonus', '/Reports', '/LogsReport'];//add them ALL \r\n\r\n if (this.props.path\r\n && (this.props.path.toLowerCase().includes(\"/portalsettings\")\r\n || this.props.path.toLowerCase().includes(\"clients/pools/\")\r\n || this.props.path.toLowerCase().includes(\"trader/accounttypes/\"))\r\n ) {\r\n this.SetCollapsed(true);\r\n this.props.MenuSetCollapse(true);\r\n this.unselectItems();\r\n }\r\n else if (\r\n (this.props.PreviousPath)\r\n && (this.props.PreviousPath.toLowerCase().includes(\"/login\")\r\n || this.props.PreviousPath.toLowerCase().includes(\"/portalsettings\")\r\n || this.props.PreviousPath.toLowerCase().includes(\"clients/pools/\")\r\n || this.props.PreviousPath.toLowerCase().includes(\"trader/accounttypes/\"))\r\n ) {\r\n //opens in other tabs \r\n this.SetCollapsed(false);\r\n this.props.MenuSetCollapse(false);\r\n }\r\n else if (!this.props.PreviousPath) { //reload from link and path not submenu\r\n this.SetCollapsed(false);\r\n this.props.MenuSetCollapse(false);\r\n }\r\n if (this.props.path) {\r\n // To get the substring BEFORE the nth occurence\r\n var tokens2 = this.props.path.split('/').slice(1, 2),\r\n result2 = tokens2.join('/'),\r\n sub = result2 !== undefined && result2 !== null && result2 !== '/' ? '/' + result2 : '/'; // this\r\n ;\r\n //in subTab so it closes opens\r\n if (this.props.path\r\n && (this.props.path.toLowerCase().includes(\"/portalsettings\")\r\n || this.props.path.toLowerCase().includes(\"clients/pools/\")\r\n || this.props.path.toLowerCase().includes(\"trader/accounttypes/\"))\r\n ) {\r\n this.setState({ subtab: sub, openKeys: [] });\r\n }\r\n else {\r\n this.setState({ subtab: sub, openKeys: [sub] });\r\n this.scrollToSelectedPath();\r\n }\r\n }\r\n if (this.props.userData?.isAdmin) {\r\n DisplayZendDeskChat(true);\r\n } else {\r\n DisplayZendDeskChat(false);\r\n }\r\n }\r\n scrollToSelectedPath = () => {\r\n try {\r\n let selectedPathElement: any = document.getElementById(this.props.path);\r\n selectedPathElement?.scrollIntoView({ behavior: \"smooth\" });\r\n } catch (e) {\r\n console.error('scrollToSelectedPath', e);\r\n }\r\n }\r\n toggleCollapsed = () => {\r\n this.props.MenuToggleCollapse();\r\n this.setState({ //order matter \r\n openKeys: [], defaultSelectedKeys: 'closeAll'\r\n });\r\n //this.unselectItems(); no need\r\n //this.forceUpdate();\r\n this.setState({\r\n collapsed: !this.state.collapsed,\r\n\r\n });\r\n };\r\n SetCollapsed = (collapsed: boolean) => {\r\n this.props.MenuToggleCollapse();\r\n this.setState({ //order matter \r\n openKeys: [], defaultSelectedKeys: 'closeAll'\r\n });\r\n //this.unselectItems(); no need\r\n //this.forceUpdate();\r\n this.setState({ collapsed });\r\n };\r\n unselectItems = () => {\r\n $(\"#closeAll\").trigger(\"click\");\r\n this.setState({ selectedSetting: true });\r\n this.setState({\r\n openKeys: [],\r\n });\r\n\r\n }\r\n onOpenChange = (openKeys: any) => {\r\n const latestOpenKey = openKeys.find((key: any) => this.state.openKeys.indexOf(key) === -1);\r\n if (this.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {\r\n this.setState({ openKeys });\r\n } else {\r\n this.setState({\r\n openKeys: latestOpenKey ? [latestOpenKey] : [],\r\n });\r\n }\r\n };\r\n closeALLMenus = () => {\r\n this.setState({\r\n openKeys: [],\r\n });\r\n this.setState({ selectedSetting: false });\r\n }\r\n unselectAll = () => {\r\n this.setState({\r\n openKeys: [],\r\n });\r\n\r\n }\r\n openContactusModal = () => {\r\n this.setState({ OpenContactUs: !this.state.OpenContactUs })\r\n }\r\n closeContact = () => {\r\n this.setState({ OpenContactUs: false })\r\n }\r\n navigatetoSettings = () => {\r\n this.props.push(\"/PortalSettings/CompanySettings\");\r\n this.SetCollapsed(true);\r\n this.props.MenuSetCollapse(true);\r\n this.unselectItems();\r\n }\r\n showDrawer = () => {\r\n this.setState({\r\n visible: true,\r\n });\r\n };\r\n\r\n onClose = () => {\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n openContactUS = () => {\r\n this.setState({ OpenContactUs: true });\r\n }\r\n closeContactUS = () => {\r\n this.setState({ OpenContactUs: false });\r\n }\r\n render() {\r\n var TraderUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Trader', this.props.UserPermissions);\r\n var ClientsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Clients', this.props.UserPermissions);\r\n var PartnersUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Partners', this.props.UserPermissions);\r\n var MAMUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('MAM', this.props.UserPermissions);\r\n var BackOfficeUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Back Office', this.props.UserPermissions);\r\n var BonusUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Bonus', this.props.UserPermissions);\r\n var OnBoardingUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('On Boarding', this.props.UserPermissions);\r\n var ReportsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Reports', this.props.UserPermissions);\r\n var NotesUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Notes', this.props.UserPermissions);\r\n var TasksUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Tasks', this.props.UserPermissions);\r\n var PortalSettingsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Portal Settings', this.props.UserPermissions);\r\n var DynamicMargin: UserPermissionOBjectClass = GetPermissionDetailsByName('Dynamic Margin', this.props.UserPermissions);\r\n let LogsPermission: UserPermissionOBjectClass = GetPermissionDetailsByName('Logs', this.props.UserPermissions);\r\n var ViewAccountTypes: boolean = CheckIfPermAlllowedByName('View Account Types', TraderUserPerms.Perms);\r\n var isA = this.props.userData.isAdmin;\r\n var isAdminBonus = isA && this.props.CompanyData.IsBonus;\r\n var isAdminIB = isA && this.props.CompanyData.IsIB;\r\n var isAdminMM = isA && this.props.CompanyData.IsMM;\r\n var isAdminCRM = isA && this.props.CompanyData.IsCRM;\r\n var isAdminDynamicMargin = isA && this.props.CompanyData.IsDynamicMargin;\r\n //Client\r\n //CRM\r\n var isClientCRMPermssion: UserPermissionOBjectClass = GetPermissionDetailsByName('CRM', this.props.UserPermissions);\r\n var isClientCRM = !isA && this.props.CompanyData.IsCRM && isClientCRMPermssion.Allowed;\r\n //IB\r\n var isClientIBPermssion: UserPermissionOBjectClass = GetPermissionDetailsByName('IB', this.props.UserPermissions);\r\n var isClientIB = !isA && this.props.CompanyData.IsIB && isClientIBPermssion.Allowed;\r\n var isPromotion: boolean = CheckIfPermAlllowedByName('Promotion', isClientIBPermssion.Perms);//if same name take from props name\r\n var isClientReporting: boolean = CheckIfPermAlllowedByName('Reporting', isClientIBPermssion.Perms);\r\n var isClientBreakDownReport: boolean = CheckIfPermAlllowedByName('Breakdown Report', isClientIBPermssion.Perms);\r\n var isClientAccessSubIB: boolean = CheckIfPermAlllowedByName('Access SubIB', isClientIBPermssion.Perms);\r\n //MAM\r\n var isClientMM = !isA && this.props.CompanyData.IsMM;//3 parents here\r\n //#region MAM parents \r\n var isClientMoneyManager: UserPermissionOBjectClass = GetPermissionDetailsByName('Money Manager', this.props.UserPermissions);\r\n var isClientInvestorCopier: UserPermissionOBjectClass = GetPermissionDetailsByName('Investor/Copier', this.props.UserPermissions);\r\n var isClientSignalMAMPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Signal', this.props.UserPermissions);//copier\r\n //#endregion \r\n var LeaderBoard: boolean = CheckIfPermAlllowedByName('LeaderBoard', isClientInvestorCopier.Perms);\r\n var isRequireKYC = this.isKYCRequired(isA);\r\n var isAccountExist = !isA && parseInt(String(this.props.ClientData.NmbrOfAcc), 10) > 0;\r\n var isHasKYC = !isA && this.props.ClientData.hasKYC;\r\n var isValid = !isA && (this.props.ClientData.IsValid ? true : false);//as may be null\r\n var isNotRequiredAndAccountExist = (!isRequireKYC && isAccountExist);\r\n var isRequiredKycSumbitedAndAccountExist = (isRequireKYC && isAccountExist && isHasKYC);\r\n var isRequiredKycAndSumbited = (isRequireKYC && isHasKYC);\r\n var AllowAddDemoAcc = !isA && this.props.ClientData?.AllowAddDemoAcc;\r\n let { BonusReportsPerm, CRMREports, IBReports, DLReports, BackofficeReports, MAMReports } = GetReportsPerms(ReportsUserPerms);\r\n let _OneOFReportsEnabled = OneOFReportsEnabled({ BonusReportsPerm, CRMREports, IBReports, DLReports, BackofficeReports, MAMReports });\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n {(!isA && ((!isClientCRM && isAccountExist) || (isClientCRM && (isNotRequiredAndAccountExist || isRequiredKycSumbitedAndAccountExist)))) && \r\n \r\n \r\n {this.props.t(\"Dashboard\")} \r\n {this.Pointer(\"/\")}\r\n \r\n \r\n }\r\n\r\n {((!isA && this.DisplayMyAccounts(isClientCRM, isRequireKYC, isValid)) && !this.isTNFX) &&\r\n this.RenderMyAccountsSubMenu(isClientCRM, isRequireKYC, isValid, AllowAddDemoAcc)\r\n }\r\n {((!isA && !this.isIconFx) && (!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid))))) &&\r\n \r\n \r\n\r\n \r\n   {this.props.t(\"MyWallet\")}\r\n {this.Pointer(\"/MyWallet\")}\r\n \r\n \r\n }\r\n {!isA && (this.DisplayOnbording(isRequireKYC)) && isClientCRM &&\r\n \r\n\r\n \r\n {this.props.t(\"OnBoarding\")}\r\n \r\n \r\n\r\n }\r\n >\r\n\r\n {!isA && (this.DisplayOnbording(isRequireKYC)) &&\r\n //(applicationFormPerm) && !isA && hasKYCdminBonus &&\r\n \r\n \r\n \r\n {this.props.t(\"Application\")}\r\n {this.Pointer(\"/OnBoarding/ApplicationForm\")}\r\n \r\n \r\n \r\n }\r\n\r\n\r\n \r\n }\r\n {(!isA && (!isClientCRM || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) && (isClientIB)) &&\r\n (!this.isTNFX ? \r\n \r\n {this.props.t(\"IB\")}\r\n \r\n \r\n }\r\n >\r\n {this.RenderIBMenuItems(isClientIB, isClientAccessSubIB, isClientReporting, isClientBreakDownReport, isPromotion, true)}\r\n : this.RenderIBMenuItems(isClientIB, isClientAccessSubIB, isClientReporting, isClientBreakDownReport, isPromotion, false))\r\n }\r\n {(!isA && (!isClientCRM && (isClientMM && isClientMoneyManager.Allowed)) || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) &&\r\n this.checkIfAllowedForPureNorthMAM(isClientMM, isClientMoneyManager) && < SubMenu\r\n className=\"PortfolioSubMenu\"\r\n key=\"/Portfolio\"\r\n title={\r\n \r\n \r\n  {this.ReturnPortfolioName()}\r\n \r\n \r\n }\r\n >\r\n {(isClientMM && isClientMoneyManager.Allowed) &&\r\n \r\n \r\n \r\n \r\n {this.props.t(\"Investors\")}\r\n {this.Pointer(\"/Portfolio/Investors\")}\r\n \r\n \r\n \r\n }\r\n {(isClientMM && isClientMoneyManager.Allowed) &&\r\n \r\n \r\n \r\n \r\n {this.props.t(\"InvestorsTracker\")}\r\n {this.Pointer(\"/Portfolio/InvestorsTracker\")}\r\n \r\n \r\n \r\n }\r\n {(isClientMM && isClientMoneyManager.Allowed) && \r\n \r\n \r\n \r\n {this.props.t(\"OpenPositionSummary\")} {/*@TODO*/}\r\n {this.Pointer(\"/Portfolio/PositionSummary\")}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {this.props.t(\"TradeHistorySummary\")}\r\n {this.Pointer(\"/Portfolio/HistorySummary\")}\r\n \r\n \r\n \r\n {(isClientMM && isClientMoneyManager.Allowed) &&\r\n \r\n \r\n \r\n \r\n {this.props.t(\"FeesPerformanceTracker\")}\r\n {this.Pointer(\"/Portfolio/PerformanceTracker\")}\r\n \r\n \r\n \r\n }\r\n {(isClientMM && isClientMoneyManager.Allowed) &&\r\n \r\n \r\n \r\n  {this.props.t(\"MonthlyFees\")}\r\n {this.Pointer(\"/Portfolio/MonthlyFees\")}\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n {(!isA && (!isClientCRM || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) && (isClientMM && isClientSignalMAMPerms.Allowed)) &&\r\n this.checkIfAllowedForPureNorthMAM(isClientMM, isClientMoneyManager) && \r\n \r\n \r\n  {this.props.t(\"Copiers\")}\r\n {this.Pointer(\"/Copiers\")}\r\n \r\n \r\n \r\n }\r\n {(!isA && (!isClientCRM || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) && (isClientMM && LeaderBoard)) &&\r\n \r\n \r\n \r\n  {this.props.t(\"LeaderBoard\")}\r\n {this.Pointer(\"/LeaderBoard\")}\r\n \r\n \r\n \r\n }\r\n {(!isA && [\"plugit\", \"capstock\"].includes(this.props.CompanyData?.CompanyName?.toLowerCase())) && < Menu.Item key=\"/AnalystView\" onClick={this.closeALLMenus} className=\"LeaderBoardSubMenu\">\r\n \r\n \r\n  {this.props.t(\"AnalystView\")}\r\n {this.Pointer(\"/AnalystView\")}\r\n \r\n \r\n }\r\n {(!isA && [\"plugit\", \"finzolo\", \"iqx\"].includes(this.props.CompanyData?.CompanyName?.toLowerCase())) && < Menu.Item key=\"/WebTerminal\" onClick={this.closeALLMenus} className=\"LeaderBoardSubMenu\">\r\n \r\n \r\n  {this.props.t(\"WebTerminal\")}\r\n {this.Pointer(\"/WebTerminal\")}\r\n \r\n \r\n }\r\n {(!isA && [\"plugit\", \"marketequity\"].includes(this.props.CompanyData?.CompanyName?.toLowerCase())) && < Menu.Item key=\"/WebTrader\" onClick={this.closeALLMenus} className=\"LeaderBoardSubMenu\">\r\n \r\n \r\n  {this.props.t(\"WebTrader\")}\r\n {this.Pointer(\"/WebTrader\")}\r\n \r\n \r\n }\r\n {!isA && (CheckIfCompanyIs(\"TiranForex\") || CheckIfCompanyIs(\"PLUGIT\")) && \r\n \r\n \r\n  {this.props.t(\"MarketCalendar\")}\r\n {this.Pointer(\"/MarketCalendar\")}\r\n \r\n \r\n }\r\n {(!isA && (!isClientCRM || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) && ((isClientMM && (isClientMoneyManager.Allowed || isClientInvestorCopier.Allowed || isClientSignalMAMPerms.Allowed)) || isClientCRM)) &&\r\n this.checkIfAllowedForPureNorthMAM(isClientMM, isClientMoneyManager) && \r\n \r\n  {this.props.t(\"Analytics\")}\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {this.props.t(\"Overview\")}\r\n {this.Pointer(\"/Analytics/Overview\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.t(\"Trades\")}\r\n {this.Pointer(\"/Analytics/trades\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.t(\"RiskMeasures\")}\r\n {this.Pointer(\"/Analytics/RiskMeasures\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n  {this.props.t(\"HistoricalPerformance\")}\r\n {this.Pointer(\"/Analytics/HistoricalPerformance\")}\r\n \r\n \r\n \r\n \r\n }\r\n {(!isA && (this.checkIfAllowedForPureNorthLogs() || this.isJKV || ((!isClientCRM && isAccountExist) || (isClientCRM && (isNotRequiredAndAccountExist || isRequiredKycSumbitedAndAccountExist))))) &&\r\n \r\n \r\n  {this.props.t(\"Logs\")}\r\n \r\n \r\n }\r\n > \r\n \r\n\r\n \r\n {this.props.t(\"AccountLogs\")}\r\n {this.Pointer(\"/Logs/AccountLogs\")}\r\n \r\n \r\n \r\n {(this.isJKV || ((!isClientCRM && isAccountExist) || (isClientCRM && (isNotRequiredAndAccountExist || isRequiredKycSumbitedAndAccountExist)))) &&\r\n \r\n \r\n \r\n {this.props.t(\"TransactionsLogs\")}\r\n {this.Pointer(\"/Logs/TransactionsLogs\")}\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n {(!isA && this.isElite) && \r\n \r\n \r\n {this.props.t(\"Platforms\")} \r\n {this.Pointer(\"/Platforms\")}\r\n \r\n \r\n }\r\n {((!isA && this.DisplayMyAccounts(isClientCRM, isRequireKYC, isValid)) && this.isTNFX) &&\r\n this.RenderMyAccountsSubMenu(isClientCRM, isRequireKYC, isValid, AllowAddDemoAcc)\r\n }\r\n {isA &&\r\n (isAdminCRM || (isAdminMM) || isAdminIB || isAdminDynamicMargin) && \r\n \r\n \r\n {this.props.t(\"Dashboard\")} \r\n {this.Pointer(\"/\")}\r\n \r\n \r\n \r\n }\r\n {(isA && (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) && ClientsUserPerms.Allowed) &&\r\n \r\n\r\n \r\n {this.props.t(\"Clients\")}\r\n \r\n \r\n\r\n }\r\n >\r\n {(isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) && \r\n \r\n \r\n   {this.props.t(\"Clients\")}\r\n {this.Pointer(\"/Clients/ClientPage\")}\r\n \r\n\r\n \r\n }\r\n {(isA && (isAdminIB || (isAdminMM) || isAdminCRM)) && \r\n \r\n \r\n   {this.props.t(\"Wallet\")}\r\n {this.Pointer(\"/Clients/Wallet\")}\r\n \r\n\r\n \r\n }\r\n {(isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) && \r\n \r\n \r\n  {this.props.t(\"DeletedClients\")}\r\n {this.Pointer(\"/Clients/DeletedClients\")}\r\n \r\n\r\n\r\n \r\n }\r\n {(isAdminCRM || isAdminIB) && \r\n \r\n \r\n {this.props.t(\"Leads\")}\r\n {this.Pointer(\"/Clients/Leads\")}\r\n\r\n \r\n \r\n }\r\n {(isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) && \r\n \r\n \r\n  {this.props.t(\"Contacts\")}\r\n {this.Pointer(\"/Clients/Contact\")}\r\n \r\n \r\n }\r\n {(isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) && \r\n \r\n \r\n  {this.props.t(\"Pools\")}\r\n {this.Pointer(\"/Clients/Pools\")}\r\n \r\n \r\n }\r\n \r\n }\r\n {isAdminCRM && isA && OnBoardingUserPerms.Allowed &&\r\n \r\n \r\n {this.props.t(\"OnBoarding\")}\r\n \r\n \r\n\r\n }\r\n >\r\n {isAdminCRM && \r\n \r\n\r\n \r\n {this.props.t(\"Application\")}\r\n \r\n {this.Pointer(\"/OnBoarding/Application\")}\r\n \r\n }\r\n\r\n \r\n }\r\n {(isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) && TraderUserPerms.Allowed && < SubMenu\r\n className=\"TraderSubMenu\"\r\n key=\"/Trader\"\r\n title={\r\n \r\n \r\n {this.props.t(\"Trader\")}\r\n \r\n \r\n }\r\n > \r\n \r\n \r\n  {this.props.t(\"TradingAccounts\")}\r\n {this.Pointer(\"/Trader/TradingAccounts\")}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n  {this.props.t(\"DemoAccounts\")}\r\n {this.Pointer(\"/Trader/DemoAccounts\")}\r\n \r\n\r\n \r\n \r\n {ViewAccountTypes && \r\n \r\n \r\n {this.props.t(\"AccountTypes\")}\r\n {this.Pointer(\"/Trader/AccountTypes\")}\r\n \r\n\r\n \r\n }\r\n }\r\n {(isAdminIB) && isA && PartnersUserPerms.Allowed &&\r\n \r\n \r\n {this.props.t(\"Partners\")}\r\n \r\n \r\n }\r\n >\r\n {(isAdminIB) && \r\n \r\n \r\n  {this.props.t(\"IBAllocations\")}\r\n {this.Pointer(\"/IBAdmin/IBAllocation\")}\r\n \r\n \r\n }\r\n {(isAdminIB) && \r\n \r\n \r\n {this.props.t(\"ProfileTemplates\")}\r\n {this.Pointer(\"/IBAdmin/ProfileTemplates\")}\r\n \r\n \r\n }\r\n {(isAdminIB) &&\r\n\r\n \r\n \r\n \r\n  {this.props.t(\"CampaignLinks\")}\r\n {this.Pointer(\"/IBAdmin/CampaignLinks\")}\r\n \r\n \r\n }\r\n\r\n \r\n }\r\n\r\n {(isAdminMM) && isA && MAMUserPerms.Allowed &&\r\n \r\n \r\n MAM\r\n \r\n \r\n }\r\n >\r\n {(isAdminMM) &&\r\n \r\n \r\n \r\n \r\n {this.props.t(\"MamAllocations\")}\r\n {this.Pointer(\"/MAM/MamAllocations\")}\r\n \r\n \r\n \r\n }\r\n {(isAdminMM) && \r\n \r\n \r\n {this.props.t(\"SignalAllocations\")}\r\n {this.Pointer(\"/MAM/SignalAllocations\")}\r\n \r\n \r\n }\r\n \r\n }\r\n {(isA && (isAdminCRM || (isAdminMM) || isAdminIB) && BackOfficeUserPerms.Allowed) &&\r\n \r\n \r\n {this.props.t(\"BackOffice\")}\r\n \r\n \r\n\r\n }\r\n >\r\n {(isAdminCRM || isAdminMM || isAdminIB) && \r\n \r\n \r\n  {this.props.t(\"OperationRequests\")}\r\n {this.Pointer(\"/BackOffice/OperationRequest\")}\r\n \r\n \r\n }\r\n {(isAdminCRM && OnBoardingUserPerms.Allowed) && \r\n \r\n \r\n {this.props.t(\"ApplicationRequest\")}\r\n {this.Pointer(\"/BackOffice/ApplicationRequest\")}\r\n \r\n \r\n }\r\n\r\n \r\n }\r\n {(isAdminBonus) && BonusUserPerms.Allowed && \r\n \r\n {this.props.t(\"Bonus\")}\r\n \r\n \r\n\r\n }\r\n > \r\n \r\n \r\n {this.props.t(\"Promotion\")}\r\n {this.Pointer(\"/Bonus/Promotion\")}\r\n \r\n\r\n \r\n \r\n }\r\n {(isAdminDynamicMargin) && DynamicMargin.Allowed && < SubMenu\r\n className=\"DynamicMarginSubMenu\"\r\n key=\"/DynamicMargin\"\r\n title={\r\n \r\n \r\n {this.props.t(\"DynamicMargin\")}\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n  {this.props.t(\"SymbolProfile\")}\r\n {this.Pointer(\"/DynamicMargin/SymbolProfile\")}\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.props.t(\"AccountProfile\")}\r\n {this.Pointer(\"/DynamicMargin/AccountProfile\")}\r\n \r\n\r\n \r\n \r\n }\r\n {((isA && (isAdminCRM || (isAdminMM) || isAdminIB || isAdminBonus || isAdminDynamicMargin)) && ReportsUserPerms.Allowed && !!_OneOFReportsEnabled) &&\r\n \r\n \r\n \r\n {this.props.t(\"Reports\")}\r\n \r\n \r\n\r\n }\r\n >\r\n {((isAdminIB && IBReports) || (isAdminMM && MAMReports) || (isAdminCRM && CRMREports)) &&\r\n < Menu.Item key=\"/Reports/Transactions\" className=\"MenuItemsSub ReportsMenuTitle\">\r\n \r\n \r\n   {this.props.t(\"Wallet\")} {this.props.t(\"Transactions\")}\r\n {this.Pointer(\"/Reports/Transactions\")}\r\n \r\n \r\n }\r\n {(isAdminMM && MAMReports) && \r\n \r\n\r\n \r\n  {this.props.t(\"PerformanceFees\")}\r\n {this.Pointer(\"/Reports/PerformanceFees\")}\r\n \r\n \r\n }\r\n {(isAdminMM && MAMReports) && \r\n \r\n\r\n \r\n  {this.props.t(\"SignalsPerformanceFees\", { defaultValue: \"Signals Performance Fees\" })}\r\n {this.Pointer(\"/Reports/SignalsPerformanceFees\")}\r\n \r\n \r\n }\r\n {(isAdminIB && IBReports) && \r\n \r\n \r\n    {this.props.t(\"IBDetailedReport\")}\r\n {this.Pointer(\"/Reports/IBDetailedReport\")}\r\n \r\n \r\n }\r\n {(isAdminIB && IBReports) && \r\n \r\n \r\n   {this.props.t(\"CPAReport\")}\r\n {this.Pointer(\"/Reports/CPAReport\")}\r\n \r\n \r\n\r\n }\r\n {(isAdminIB && IBReports) && \r\n \r\n \r\n    {this.props.t(\"Breakdown\")}\r\n {this.Pointer(\"/Reports/BreakdownReport\")}\r\n \r\n \r\n }\r\n {(isAdminIB && false) && \r\n \r\n\r\n \r\n  {this.props.t(\"ClicksConversion\")}\r\n {this.Pointer(\"/Reports/ClicksConversion\")}\r\n \r\n \r\n }\r\n {(isAdminCRM && CRMREports) && \r\n \r\n \r\n   {this.props.t(\"DocumentsExpiration\")}\r\n {this.Pointer(\"/Reports/DocumentsExpiration\")}\r\n \r\n \r\n }\r\n {((isAdminCRM || (isAdminMM) || isAdminIB) && CRMREports) && < Menu.Item key=\"/Reports/RegistrationLogs\" className=\"MenuItemsSub ReportsMenuTitle\">\r\n \r\n \r\n   {this.props.t(\"RegistrationLogs\")}\r\n {this.Pointer(\"/Reports/RegistrationLogs\")}\r\n\r\n \r\n \r\n }\r\n {((isAdminCRM || (isAdminMM) || isAdminIB) && BackofficeReports) && \r\n \r\n \r\n   {this.props.t(\"OperationLogs\")}\r\n {this.Pointer(\"/Reports/OperationLogs\")}\r\n \r\n \r\n }\r\n {(isAdminCRM && CRMREports) && \r\n \r\n \r\n  {this.props.t('ClosedTrades')}\r\n {this.Pointer(\"/Reports/closetrades\")}\r\n \r\n \r\n }\r\n {(isAdminDynamicMargin && DLReports) &&\r\n \r\n \r\n \r\n {this.props.t('DynamicMargin')}\r\n {this.Pointer(\"/Reports/DynamicReport\")}\r\n\r\n \r\n \r\n }\r\n {(isAdminBonus && BonusReportsPerm) &&\r\n \r\n \r\n \r\n {this.props.t('BonusReport')}\r\n {this.Pointer(\"/Reports/BonusReport\")}\r\n \r\n \r\n }\r\n {(isAdminBonus && BonusReportsPerm) && \r\n \r\n \r\n   {this.props.t('BonusReferralReport')}\r\n {this.Pointer(\"/Reports/BonusReferralReport\")}\r\n \r\n \r\n }\r\n \r\n }\r\n {(isA && (isAdminMM || isAdminCRM) && ReportsUserPerms.Allowed) && //all under MAM\r\n \r\n \r\n {this.props.t(\"Analytics\")}\r\n \r\n \r\n\r\n }\r\n >\r\n {(isAdminMM || isAdminCRM) && \r\n \r\n \r\n  {this.props.t(\"Overview\")}\r\n {this.Pointer(\"/Analytics/Overview\")}\r\n \r\n \r\n }\r\n {(isAdminMM || isAdminCRM) && \r\n \r\n \r\n  {this.props.t(\"Trades\")}\r\n {this.Pointer(\"/Analytics/Trades\")}\r\n \r\n \r\n }\r\n {(isAdminMM || isAdminCRM) && \r\n \r\n \r\n  {this.props.t(\"RiskMeasures\")}\r\n {this.Pointer(\"/Analytics/RiskMeasures\")}\r\n \r\n \r\n }\r\n {(isAdminMM || isAdminCRM) && \r\n \r\n \r\n  {this.props.t('HistoricalPerformance')}\r\n {this.Pointer(\"/Analytics/HistoricalPerformance\")}\r\n \r\n \r\n }\r\n {(isAdminMM) &&\r\n \r\n \r\n \r\n {this.props.t(\"Investors\")}\r\n {this.Pointer(\"/Analytics/InvestorsReport\")}\r\n \r\n \r\n \r\n }\r\n {(isAdminMM) &&\r\n \r\n \r\n \r\n {this.props.t(\"InvestorsTracker\")}\r\n {this.Pointer(\"/Analytics/InvestorsTracker\")}\r\n \r\n \r\n \r\n }\r\n {(isAdminMM || isAdminCRM) && \r\n \r\n \r\n {this.props.t(\"TradeHistorySummary\")}\r\n {this.Pointer(\"/Analytics/TradeHistorySummary\")}\r\n \r\n \r\n }\r\n \r\n }\r\n {(isA && LogsPermission.Allowed) &&\r\n \r\n \r\n \r\n {this.props.t(\"Logs\")}\r\n {this.Pointer(\"/LogsReport\")}\r\n \r\n \r\n \r\n }\r\n\r\n {isA && NotesUserPerms.Allowed && \r\n \r\n \r\n {this.props.t(\"Notes\")}\r\n {this.Pointer(\"/Notes\")}\r\n \r\n \r\n \r\n }\r\n {isA && TasksUserPerms.Allowed && \r\n \r\n \r\n {this.props.t(\"Tasks\")}\r\n {this.Pointer(\"/Tasks\")}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n \r\n \r\n {!isA &&\r\n
\r\n {!this.state.collapsed && \r\n {this.props.t(\"ContactUs\")} }\r\n {this.state.collapsed && \r\n \r\n }\r\n
\r\n }\r\n {isA && PortalSettingsUserPerms.Allowed &&\r\n
\r\n {!this.state.collapsed && \r\n {this.props.t(\"PortalSettings\")} }\r\n {this.state.collapsed && \r\n \r\n }\r\n
\r\n }\r\n \r\n {!isA &&\r\n <>\r\n {\r\n this.state.OpenContactUs &&\r\n \r\n }\r\n \r\n }\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n Pointer = (id: string) => {\r\n return
;\r\n }\r\n checkIfAllowedForPureNorthMAM = (isClientMM: boolean, isClientMoneyManager: UserPermissionOBjectClass) => {\r\n return (!CheckIfCompanyIs(\"PureNorth\") || (isClientMM && isClientMoneyManager.Allowed));\r\n }\r\n checkIfAllowedForPureNorthLogs = () => {\r\n return CheckIfCompanyIs(\"PureNorth\");\r\n }\r\n\r\n isKYCRequired = (isA: boolean) => {\r\n if (this.isElite) return false;\r\n if (this.isOrbit) return false;\r\n return !isA && this.props.ClientData.RequireKYC;\r\n }\r\n\r\n ReturnPortfolioName = () => {\r\n if (this.isElite || this.isIconFx) return this.props.t(\"Portfolio\");//TODO check if need to add check if MAM\r\n return `${this.props.t(\"MAM\")} ${this.props.t(\"Portfolio\")}`;\r\n }\r\n DisplayOnbording = (isRequireKYC: boolean) => {\r\n if (this.isElite) return this.props.ClientData.RequireKYC;\r\n if (this.isOrbit) return this.props.ClientData.RequireKYC;\r\n return isRequireKYC;\r\n }\r\n\r\n DisplayMyAccounts = (isClientCRM: boolean, isRequireKYC: boolean, isValid: boolean) => {\r\n if (this.isOrbit) return (!isClientCRM || (isClientCRM && (!this.props.ClientData.RequireKYC || (this.props.ClientData.RequireKYC && isValid))))\r\n return (!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid))));\r\n }\r\n\r\n RenderMyAccountsSubMenu = (isClientCRM: boolean, isRequireKYC: boolean, isValid: boolean, AllowAddDemoAcc: boolean): any => {\r\n return \r\n\r\n \r\n   {this.props.t(\"MyAccounts\")}\r\n \r\n }\r\n >\r\n\r\n {(!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid)))) /*(manageAccountsPerm)*/ &&\r\n\r\n \r\n \r\n \r\n {this.props.t(\"LiveAccount\")}\r\n {this.Pointer(\"/Manage/MyAccounts\")}\r\n \r\n \r\n }\r\n {(!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid)))) && AllowAddDemoAcc &&\r\n \r\n \r\n \r\n {this.props.t(\"DemoAccount\")}\r\n {this.Pointer(\"/Manage/DemoAccounts\")}\r\n \r\n \r\n }\r\n ;\r\n }\r\n\r\n RenderIBMenuItems = (isClientIB: boolean, isClientAccessSubIB: boolean, isClientReporting: boolean, isClientBreakDownReport: boolean, isPromotion: boolean, sub: any) => {\r\n return [\r\n \r\n \r\n \r\n \r\n {this.props.t(\"Clients\")}\r\n {this.Pointer(\"IB/IBClients\")}\r\n \r\n \r\n ,\r\n (isClientIB && !this.isTNFX) && \r\n \r\n \r\n\r\n {this.props.t(\"Leads\")}\r\n {this.Pointer(\"/IB/leads\")}\r\n \r\n \r\n ,\r\n isClientIB && \r\n \r\n \r\n  {this.props.t(\"AccountStatement\")}\r\n {this.Pointer(\"/IB/accountStatement\")}\r\n \r\n \r\n ,\r\n (isClientAccessSubIB && !this.isTNFX) &&\r\n \r\n \r\n \r\n  {this.props.t(\"SubIBStatement\")}\r\n {this.Pointer(\"/IB/subIBStatement\")}\r\n \r\n \r\n ,\r\n isClientReporting && \r\n \r\n \r\n {this.props.t(\"CPAReport\")}\r\n {this.Pointer(\"/IB/CPAReport\")}\r\n \r\n \r\n ,\r\n isClientBreakDownReport && \r\n \r\n \r\n  {this.props.t(\"BreakdownReport\")}\r\n {this.Pointer(\"/IB/BreakdownReport\")}\r\n \r\n \r\n \r\n ,\r\n isClientIB && \r\n \r\n \r\n {this.props.t(\"IBDiagram\")}\r\n {this.Pointer(\"/IB/IBDiagram\")}\r\n \r\n \r\n \r\n ,\r\n isClientIB && isPromotion && \r\n \r\n \r\n {this.props.t(\"IBPromotion\", { defaultValue: \"IB Promotion\" })}\r\n {this.Pointer(\"/IB/Promotion\")}\r\n \r\n \r\n \r\n ]\r\n }\r\n}\r\n\r\n\r\nexport default withTranslation()(connect(mapStateToProps, dispatchProps)(LeftSideBar) as any) as any;\r\n\r\n","import { faBell, faCopy, faEllipsisV } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Avatar, Divider, Form, Input as AntInput } from 'antd';\r\nimport Checkbox from 'antd/es/checkbox';\r\nimport Radio from 'antd/es/radio';\r\nimport { AxiosResponse } from 'axios';\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { toastr } from \"react-redux-toastr\";\r\nimport { default as Select } from 'react-select';\r\nimport { Button, Col, DropdownItem, DropdownMenu, DropdownToggle, FormGroup, Input, Label, Row, UncontrolledDropdown } from \"reactstrap\";\r\nimport { BasicValidation } from '../../components/ReusableComponents/ReusableElements/BasicElements';\r\nimport { ProfileModal } from '../../components/ReusableComponents/ReusableElements/Modals';\r\nimport { CallAxiosRequest } from '../../Helpers/axiosHelpers';\r\nimport { FillServerOptionsHelper } from '../../Helpers/DataFillingHelpers';\r\nimport { CheckPasswordStrength, GetPermValName, password_generator, ReturnCountryCode, ReturnOptionByValue, ReturnSelectOptions, SetUSAFirstCounty, TimeZonesOptions, validateDate, validateEmail, ValidateInput, ValidateSelect } from '../../Helpers/DataHelpers';\r\nimport { BasicSelectOption } from '../../Interfaces/IApplicationForm';\r\nimport { ActionContact, Contact, DashboardClass, GUTraders, GUTradersOptions, ProfileInfoAction, SendPassword, Servers, ServersOptions, translationType, UploadKYCDocumentRequest, YoonitRequest, YoonitResponse } from '../../Interfaces/Interfaces';\r\nimport { Login, Logout, UpdateTimezone } from '../../redux/actions/AuthActions';\r\nimport { ChangeLanguage } from '../../redux/actions/languageAction';\r\nimport { GetAdminData, ICompanyData, ILanguageData, IPerms, IStore, IUserData } from '../../redux/constants';\r\n\r\n\r\n\r\nconst mapStateToProps = (state: IStore) => ({\r\n LanguageData: state.LanguageData,\r\n UserPermissions: state.auth.UserPermissions,\r\n AdminData: state.auth.AdminData,\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n history: state.history,\r\n GetURL: state.auth.UserData.yoonitGetURL,\r\n Servers: state.auth.Servers,\r\n theme: state.theme,\r\n ActionURL: state.auth.UserData.yoonitActionURL,\r\n CompanyData: state.auth.CompanyData,\r\n});\r\nconst $ = require(\"jquery\");\r\n\r\nconst dispatchProps = { push, Login, Logout, UpdateTimezone, ChangeLanguage }\r\n//const antIcon = ;\r\nexport interface MyProfileProps {\r\n LanguageData: ILanguageData;\r\n lang: translationType;\r\n userData: IUserData;\r\n push: any;\r\n GetURL: string;\r\n theme: any;\r\n ActionURL: string;\r\n CompanyData: ICompanyData;\r\n Servers: any;\r\n openProfile: any;\r\n closeProfile: any;\r\n UpdateTimezone: any;\r\n ChangeLanguage: any;\r\n AdminData: GetAdminData;\r\n UserPermissions: IPerms[];\r\n i18n: any;\r\n t: any;\r\n}\r\n\r\nexport interface MyProfileState {\r\n EmailtoSendPassword: string;\r\n countriesOptions: any[];\r\n contactCountriesSelectedValue: BasicSelectOption;\r\n GetContactInfoResult: Contact;\r\n selectedEmail: string;\r\n resetEmail: string;\r\n SendByEmail: boolean;\r\n passwordValue: any;\r\n GetGUTradersResult: GUTraders[];\r\n GetDashboardDataResponse: DashboardClass;\r\n serverSelectOptions: ServersOptions[];\r\n loginSelectOptions: GUTradersOptions[];\r\n serverSelectedValue: ServersOptions;\r\n loginSelectedValue: GUTradersOptions;\r\n capitalAloc: any;\r\n YTDROIChart: any;\r\n isLoading: boolean;\r\n ProfilesCopyMe: number;\r\n GetGUDataResponse: any;\r\n LoadPlatformLinksResponse: any;\r\n currentPassword: any;\r\n newPassword: any;\r\n ConfirmPassword: any;\r\n currentEmail: any;\r\n currentPasswordEmail: any;\r\n newEmail: any;\r\n languageSelectOptions: any;\r\n languageSelectedValue: any;\r\n LinkPlatform: any;\r\n PLink: any;\r\n PDesc: any;\r\n profileImg: any;\r\n openPassword: boolean;\r\n openLangauge: boolean;\r\n openLinks: boolean;\r\n openTimeZone: boolean;\r\n TimeZone: number;\r\n TimeZonesOptions: any[];\r\n TimeZoneSelectedValue: any;\r\n openProfileNotification: boolean;\r\n autoGeneratePassword: string;\r\n openAutoGenerate: boolean;\r\n openEditContact: boolean;\r\n AddContactClass: ActionContact;\r\n dateString: string;\r\n}\r\nvar companyName: any; var userName: any; var Token: any;\r\n\r\nclass MyProfileAdmin extends React.Component {\r\n state = {\r\n EmailtoSendPassword: '',\r\n countriesOptions: [],\r\n contactCountriesSelectedValue: new BasicSelectOption(),\r\n GetContactInfoResult: new Contact() as any,\r\n selectedEmail: '',\r\n resetEmail: '',\r\n SendByEmail: false,\r\n passwordValue: 1,\r\n autoGeneratePassword: \"\",\r\n GetGUTradersResult: [],\r\n GetDashboardDataResponse: new DashboardClass(),\r\n serverSelectOptions: [],\r\n loginSelectOptions: [],\r\n serverSelectedValue: new ServersOptions(),\r\n loginSelectedValue: new GUTradersOptions(),\r\n capitalAloc: [],\r\n YTDROIChart: [],\r\n isLoading: false,\r\n ProfilesCopyMe: -1,\r\n GetGUDataResponse: {\r\n Email: \"\",\r\n FullName: \"\",\r\n UserStatus: \"\",\r\n ProfileImage: \"\",\r\n Phone: \"\",\r\n CountryName: \"\",\r\n Nationality: \"\",\r\n Address: \"\",\r\n ZipCode: \"\",\r\n EmploymentStatus: \"\",\r\n },\r\n LoadPlatformLinksResponse: [],\r\n currentPassword: '',\r\n newPassword: '',\r\n ConfirmPassword: '',\r\n currentEmail: '',\r\n currentPasswordEmail: '',\r\n newEmail: '',\r\n languageSelectOptions: [],\r\n languageSelectedValue: { value: \"en\" },\r\n LinkPlatform: '',\r\n PLink: [],\r\n PDesc: [],\r\n profileImg: \"\", openPassword: false, openLangauge: false, openLinks: false,\r\n openTimeZone: false, TimeZone: 0, TimeZonesOptions: [], TimeZoneSelectedValue: new BasicSelectOption() as any, openProfileNotification: false,\r\n openAutoGenerate: false,\r\n openEditContact: false,\r\n AddContactClass: new ActionContact(),\r\n dateString: \"\",\r\n }\r\n componentDidMount() {\r\n this.LoadTimeZones();\r\n companyName = this.props.CompanyData.CompanyName;\r\n Token = this.props.userData.Token;\r\n userName = this.props.AdminData.Email;\r\n this.FillServerOptions(this.props.Servers, true);\r\n this.languageOptionsFunction(this.props.LanguageData.Options);\r\n this.setState({ isLoading: true });\r\n }\r\n FillServerOptions = (ServersData: Servers[], FilterFlag: boolean) => {\r\n let _options = FillServerOptionsHelper(ServersData, FilterFlag);\r\n this.setState({ serverSelectOptions: _options, serverSelectedValue: _options[0] });\r\n };\r\n languageOptionsFunction = (languageOptions: any) => {\r\n var langOpt = [];\r\n for (var k = 0; k < languageOptions.length; k++) {\r\n langOpt.push({\r\n value: languageOptions[k].value,\r\n label: languageOptions[k].label\r\n });\r\n }\r\n this.setState({ languageSelectOptions: langOpt, languageSelectedValue: langOpt[0] }, () => this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\"));\r\n }\r\n LoadPlatformLinks = () => {\r\n var LoadPlatformLinksParams: any = {\r\n CompanyName: companyName,\r\n Token: Token,\r\n UserName: userName,\r\n ObjData: {\r\n Platform: this.state.serverSelectedValue.type,\r\n }\r\n };\r\n CallAxiosRequest(\r\n this.props.GetURL,\r\n `CRM/LoadPlatformLinks`,\r\n LoadPlatformLinksParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n this.setState({ LoadPlatformLinksResponse: res.data.listRes });\r\n if (this.state.LoadPlatformLinksResponse.length === 0) {\r\n this.setState({ LinkPlatform: 'None' });\r\n }\r\n else {\r\n this.setState({ PLink: this.state.LoadPlatformLinksResponse });\r\n }\r\n },\r\n () => { },\r\n this.props.t\r\n\r\n );\r\n }\r\n LoadTimeZones = () => {\r\n //var timezoneOptions = timezones.default;\r\n var timezoneOptions = TimeZonesOptions(this.props.t);\r\n var options = [];\r\n for (let k = 0; k < timezoneOptions.length; k++) {\r\n options.push({ value: timezoneOptions[k].tzCode, label: timezoneOptions[k].text, tzCode: timezoneOptions[k].tzCode, offset: timezoneOptions[k].offset });\r\n }\r\n this.setState({ TimeZonesOptions: options, TimeZoneSelectedValue: options[0] });\r\n //sent the valueSent for api\r\n }\r\n UpdateMailLang = (e: any) => {\r\n e.preventDefault();\r\n var UpdateMailLangParams = {\r\n CompanyName: companyName,\r\n Token: Token,\r\n ObjData: {\r\n Language: this.state.languageSelectedValue.value,\r\n //GUID: GUID\r\n //ClientID : \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\r\n BUID: \"75f5fad2-9aa9-48d8-a753-a5b71535f1e3\",//static\r\n }\r\n };\r\n\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `MAMM/UpdateMailLang`,\r\n UpdateMailLangParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IsAuth) { toastr.success('', this.props.t('Updated')) } else {\r\n toastr.error('', this.props.t('FailedAction'));\r\n }\r\n },\r\n () => { },\r\n this.props.t\r\n\r\n );\r\n }\r\n UpdateUserPassword = () => {\r\n //add a modal for it\r\n let _Password = this.state.newPassword;\r\n let _SendByEmail = false;\r\n if (this.state.passwordValue === 1) {\r\n _SendByEmail = this.state.SendByEmail;\r\n _Password = password_generator(7);\r\n this.setState({ newPassword: _Password });//for auto generate \r\n }\r\n var UpdateUserPasswordParams: YoonitRequest = {\r\n CompanyName: companyName,\r\n Token: Token,\r\n UserName: userName,\r\n ClientName: this.state.GetContactInfoResult ? `${this.state.GetContactInfoResult.FirstName ? this.state.GetContactInfoResult.FirstName : \"\"}${this.state.GetContactInfoResult.LastName ? this.state.GetContactInfoResult.LastName : \"\"}` : \"\",\r\n ObjData: {\r\n ContactID: this.props.AdminData.ContactID,\r\n Password: btoa(_Password),\r\n SendByEmail: _SendByEmail,\r\n Email: this.props.AdminData.Email,\r\n SendToEmail: this.state.resetEmail,\r\n IsAdmin: true\r\n }\r\n };\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/UpdateUserPassword`,\r\n UpdateUserPasswordParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n ;\r\n if (res.data.IntRes > 0) {\r\n toastr.success(\" \", this.props.t('PasswordChanged'));\r\n this.closePasswordModal();\r\n if (String(this.state.passwordValue) === \"1\") {\r\n this.setState({\r\n newPassword: UpdateUserPasswordParams.ObjData?.Password ? atob(UpdateUserPasswordParams.ObjData?.Password) : \"\"\r\n });\r\n this.openAutoGenerate();\r\n }\r\n } else if (res.data.IntRes === -2) {\r\n toastr.warning(\"\", this.props.t('ContactDoesnotExist'));\r\n } else if (res.data.IntRes === -10) {\r\n toastr.warning(\"\", this.props.t('PasswordUpdateFailed'));\r\n } else {\r\n toastr.warning(\" \", this.props.t('FailedAction'));\r\n }\r\n },\r\n () => {\r\n },\r\n this.props.t\r\n\r\n );\r\n\r\n }\r\n onDetailsChange = (e: any) => {\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n } as any);\r\n };\r\n serverSelectOnChange = (serverSelectedValue: any) => {\r\n this.setState({ serverSelectedValue }, this.LoadPlatformLinks);\r\n };\r\n handleImg = (binary: any, name: any, type: any, addresImg: any, DocumentType: any) => {\r\n if (binary !== undefined) {\r\n }\r\n if (name !== undefined) {\r\n }\r\n if (type !== undefined) {\r\n }\r\n let UpdateUserProfileImageParms: YoonitRequest = new YoonitRequest();\r\n UpdateUserProfileImageParms.ObjData = new UploadKYCDocumentRequest();\r\n //pp\r\n //UpdateUserProfileImageParms.objData.DocumentType =\"pp\" no type here\r\n UpdateUserProfileImageParms.Token = Token;\r\n UpdateUserProfileImageParms.CompanyName = companyName;\r\n //UpdateUserProfileImageParms.objData.GUID = GUID;\r\n //UpdateUserProfileImageParms.ObjData.ClientID = \"3fa85f64-5717-4562-b3fc-2c963f66afa6\";//removed\r\n UpdateUserProfileImageParms.ObjData.ContactID = \"4FD31932-E48C-444E-ABEE-9320F21A41C5\";\r\n //UpdateUserProfileImageParms.ObjData.ContactID = \"4FD31932-E48C-444E-ABEE-9320F21A41C5\";\r\n UpdateUserProfileImageParms.ObjData.Type = \"pp\";\r\n UpdateUserProfileImageParms.ObjData.BinaryDocument = addresImg;\r\n //DocumentName\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `MAMM/UpdateUserProfileImage`,\r\n UpdateUserProfileImageParms,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IntRes === -1)\r\n toastr.error('', this.props.t('FailedAction'));\r\n else if (res.data.IntRes === -5)\r\n toastr.error('', this.props.t('WrongFormatWasUploaded'));\r\n else if (res.data.IntRes < 0)\r\n toastr.error('', this.props.t('FailedAction'));\r\n else {\r\n this.setState({ profileImg: res.data.LiveRes.DocPath });// res.data.\r\n toastr.success('', this.props.t('DocumentUploadedSuccessfully'));\r\n }\r\n },\r\n () => {\r\n toastr.error('', this.props.t('ImageNotUpdated'));\r\n },\r\n this.props.t\r\n\r\n );\r\n\r\n }\r\n openAutoGenerate = () => {\r\n this.setState({\r\n openAutoGenerate: true,\r\n EmailtoSendPassword: this.props.userData.UserName\r\n })\r\n }\r\n closeAutoGenerate = () => {\r\n this.setState({ openAutoGenerate: false })\r\n }\r\n selectOptionByValue = (value: any, list: any[], selectedValue: any) => {\r\n for (let i: number = 0; i < list.length; i++) {\r\n if (String(value) === String(list[i].value)) //icons on icon\r\n this.setState({ [selectedValue]: { ...list[i] } } as any)\r\n }\r\n }\r\n openEditContact = () => {\r\n this.selectOptionByValue(this.state.AddContactClass.CountryID, this.state.countriesOptions, \"contactCountriesSelectedValue\");\r\n this.setState({ openEditContact: true })\r\n }\r\n closeEditContact = () => {\r\n this.setState({ openEditContact: false })\r\n }\r\n languageOnChange = (languageSelectedValue: any) => {\r\n this.setState({ languageSelectedValue });\r\n };\r\n TimeZoneOnChange = (TimeZoneSelectedValue: any) => {\r\n this.setState({ TimeZoneSelectedValue })\r\n }\r\n OpenLanguageModal = () => {\r\n this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n this.setState({ openLangauge: true })\r\n }\r\n closeLanguageModal = () => {\r\n this.setState({ openLangauge: false })\r\n }\r\n OpenPasswordModal = () => {\r\n this.resetUpdatePassword();\r\n this.setState({ openPassword: true })\r\n }\r\n closePasswordModal = () => {\r\n this.setState({ openPassword: false })\r\n }\r\n\r\n openTimeZone = () => {\r\n this.selectOptionByValue(this.state.GetContactInfoResult && this.state.GetContactInfoResult.TimeZoneCode ? this.state.GetContactInfoResult.TimeZoneCode : \"\", this.state.TimeZonesOptions, \"TimeZoneSelectedValue\");\r\n this.setState({ openTimeZone: true })\r\n }\r\n closeTimeZone = () => {\r\n this.setState({ openTimeZone: false })\r\n }\r\n triggerUserImg = () => {\r\n $('#userImg').trigger(\"click\");\r\n }\r\n openProfileNotification = () => {\r\n this.setState({ openProfileNotification: true })\r\n }\r\n closeProfileNotification = () => {\r\n this.setState({ openProfileNotification: false })\r\n }\r\n navigateToNotification = (value: any) => {\r\n this.props.push('/PortalSettings/Notifications');\r\n }\r\n OnChangRadioPassword = (e: any) => {\r\n this.setState({\r\n passwordType: e.target.value,\r\n [e.target.name]: e.target.value\r\n } as any, this.generatePassword);\r\n }\r\n generatePassword = () => {\r\n this.setState({ autoGeneratePassword: password_generator(7) })\r\n }\r\n inputOnchange = (e: any) => {//for all\r\n this.setState({ [e.target.name]: e.target.value } as any)\r\n }\r\n resetUpdatePassword = () => {\r\n this.setState({\r\n passwordValue: 1,\r\n newPassword: \"\",\r\n SendByEmail: false,\r\n })\r\n }\r\n contactInputOnchange = (e: any) => {//for all\r\n e.persist();\r\n this.setState((prevstate: any) => ({\r\n AddContactClass: {\r\n ...prevstate.AddContactClass,\r\n [e.target.name]: e.target.value\r\n }\r\n }))\r\n }\r\n changeDate = (e: any) => {\r\n e.persist();\r\n this.setState({ dateString: e.target.value })\r\n this.setState((prevstate: any) => ({\r\n AddContactClass: {\r\n ...prevstate.AddContactClass,\r\n DOB: e.target.value\r\n }\r\n }))\r\n }\r\n FillSelectOptions = (SelectOpt: any, stateName: string, value: string, label: string) => {\r\n let _options: any = [];\r\n for (let k = 0; k < SelectOpt.length; k++) {\r\n _options.push({ value: SelectOpt[k][value], label: SelectOpt[k][label], Data: SelectOpt[k], ...SelectOpt[k] });\r\n }\r\n this.setState({ [stateName]: _options } as any);\r\n\r\n };\r\n GetCountries = () => {\r\n let GetCountriesParams: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n ObjData: 0\r\n };\r\n CallAxiosRequest(\r\n this.props.GetURL,\r\n `Trader/GetCountries`,\r\n GetCountriesParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n if (res.data.ListRes) {\r\n let _countries = SetUSAFirstCounty(res.data.ListRes);\r\n this.setState({ countriesOptions: ReturnSelectOptions(_countries, \"CountryID\", \"CountryName\") },\r\n () => this.setState({ contactCountriesSelectedValue: ReturnOptionByValue(this.state.GetContactInfoResult?.CountryID, this.state.countriesOptions) })\r\n );\r\n }\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n GetContactInfoCall = () => {\r\n let GetContactInfoParams: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n ObjData: this.props.AdminData.ContactID\r\n };\r\n CallAxiosRequest(\r\n this.props.GetURL,\r\n `Trader/GetContactInfo`,\r\n GetContactInfoParams,\r\n { Token: this.props.userData.Token },\r\n (res: AxiosResponse>) => {\r\n if (res.data.LiveRes) {\r\n let _GetContactInfoResult: any = res.data.LiveRes;\r\n let _temp: any = new Contact();\r\n Object.keys(_GetContactInfoResult).forEach(function (key) {\r\n if (_GetContactInfoResult[key] === null) {\r\n _GetContactInfoResult[key] = _temp[key];\r\n }\r\n })\r\n this.setState({\r\n GetContactInfoResult: _GetContactInfoResult,\r\n AddContactClass: _GetContactInfoResult\r\n }, () =>\r\n this.selectOptionByValue(this.state.GetContactInfoResult && this.state.GetContactInfoResult.TimeZoneCode ? this.state.GetContactInfoResult.TimeZoneCode : \"\", this.state.TimeZonesOptions, \"TimeZoneSelectedValue\")\r\n\r\n )\r\n if (res.data.LiveRes.CountryID) {\r\n this.setState({ contactCountriesSelectedValue: ReturnOptionByValue(res.data.LiveRes.CountryID, this.state.countriesOptions) });\r\n }\r\n if (res?.data?.LiveRes?.Language) {\r\n this.selectOptionByValue(res?.data?.LiveRes?.Language, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n } else {\r\n this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n }\r\n this.setState({ dateString: res?.data?.LiveRes?.DOB ? res?.data?.LiveRes?.DOB : '' });\r\n }\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n validateEdit = () => {\r\n return (ValidateInput(this.state.AddContactClass.FirstName)\r\n && ValidateInput(this.state.AddContactClass.LastName)\r\n //&& ValidateInput(this.state.AddContactClass.Email)\r\n ////&& ValidateSelect(this.state.c)\r\n //&& ValidateInput(this.state.AddContactClass.Phone)\r\n )\r\n }\r\n UpdateContact = () => {\r\n let ManageContactsUserPermValName: string = GetPermValName('Manage Contacts', this.props.UserPermissions);\r\n //add a modal for it\r\n let UpdateContactParams: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n UserName: this.props.AdminData.Email,\r\n ClientName: this.state.AddContactClass ? `${this.state.AddContactClass.FirstName} ${this.state.AddContactClass.LastName}` : \"\",\r\n ObjData: this.state.AddContactClass\r\n };\r\n let _ObjData: any = this.state.AddContactClass;\r\n _ObjData.DOB = validateDate(this.state.dateString) ? this.state.dateString : null;\r\n _ObjData.CountryID = String(_ObjData.CountryID) === \"-1\" ? null : _ObjData.CountryID;\r\n _ObjData.SalutationID = String(_ObjData.SalutationID) === \"-1\" ? null : _ObjData.SalutationID;\r\n _ObjData.MaritalStatusID = String(_ObjData.MaritalStatusID) === \"-1\" ? null : _ObjData.MaritalStatusID;\r\n _ObjData.MilitaryStatusID = !_ObjData.MilitaryStatusID || String(_ObjData.MilitaryStatusID) === \"-1\" ? null : _ObjData.MilitaryStatusID;\r\n _ObjData.StatusID = String(_ObjData.StatusID) === \"-1\" ? null : _ObjData.StatusID;\r\n _ObjData.ContactOwner = this.state.AddContactClass.ContactOwner ? this.state.AddContactClass.ContactOwner : null;\r\n _ObjData.ContactID = this.props.AdminData.ContactID;\r\n //_ObjData.ClientID = null;\r\n _ObjData.GraduationDate = null;\r\n _ObjData.CreationDate = null;\r\n _ObjData.IsActive = _ObjData.IsActive === \"true\" ? true : false;\r\n _ObjData.UnsubscribedFromAllEmail = _ObjData.UnsubscribedFromAllEmail === \"true\" ? true : false;\r\n _ObjData.Perms = ManageContactsUserPermValName;\r\n _ObjData.AUID = this.props.AdminData.AUID;\r\n _ObjData.Language = ValidateSelect(this.state.languageSelectedValue) ? this.state.languageSelectedValue.value : \"en\";\r\n //add values\r\n _ObjData.TimeZone = this.state.TimeZoneSelectedValue.offset ? this.state.TimeZoneSelectedValue.offset : 0;\r\n _ObjData.TimeZoneCode = this.state.TimeZoneSelectedValue.tzCode ? this.state.TimeZoneSelectedValue.tzCode : \"\";\r\n UpdateContactParams.ObjData = _ObjData;\r\n\r\n if (this.validateEdit()) {\r\n this.setState({ isLoading: true });\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/UpdateContact`,\r\n UpdateContactParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IntRes > 0) {\r\n toastr.success(\"\", this.props.t('ContactWasUpdatedSuccessfully'));\r\n this.closeEditContact();\r\n } else if (res.data.IntRes === -2) {\r\n toastr.warning(\"\", this.props.t('EmailExists'));\r\n }\r\n else if (res.data.IntRes === -403) {\r\n toastr.warning(\"\", this.props.t('YouDontHavePermissionToProceedWithThisAction'));\r\n }\r\n else\r\n toastr.warning(\"\", this.props.t('FailedAction'));\r\n this.setState({ isLoading: false });\r\n this.props.closeProfile();\r\n },\r\n () => {\r\n this.closeEditContact();\r\n this.props.closeProfile();\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n else {\r\n toastr.warning(\"\", this.props.t('FillRequiredFields'))\r\n }\r\n };\r\n contactCountriesOnChange = (value: any) => {\r\n this.setState({ contactCountriesSelectedValue: value });\r\n this.setState((prevstate: any) => ({\r\n AddContactClass: {\r\n ...prevstate.AddContactClass,\r\n CountryID: +(value.value)\r\n }\r\n }))\r\n };\r\n componentDidUpdate(prevProps: MyProfileProps) {\r\n if (this.props.openProfile && (prevProps.openProfile !== this.props.openProfile)) {\r\n this.LoadTimeZones();\r\n this.GetCountries();//TODO add to redux as my profile get called \r\n this.GetContactInfoCall();\r\n //this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\");//on each open //account lang not selected in redux\r\n }\r\n }\r\n ReturnTimeZone = (TimeZoneoffset: string) => {\r\n let _result: number = 0;\r\n let sign = TimeZoneoffset.charAt(0);\r\n let offset = TimeZoneoffset.substr(1);\r\n let hrs = parseInt(offset.split(\":\")[0], 10);\r\n let mins = parseInt(offset.split(\":\")[1], 10);\r\n if (sign === \"+\")\r\n _result = (hrs * 60) + mins;\r\n else\r\n _result = (hrs * -60) - mins;\r\n return _result;\r\n }\r\n UpdateUserTimeZone = async () => {\r\n let Parms: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n ObjData: {\r\n ContactID: this.props.AdminData.ContactID,\r\n TimeZone: this.state.TimeZoneSelectedValue.offset,\r\n TimeZoneCode: this.state.TimeZoneSelectedValue.tzCode,\r\n }\r\n };\r\n this.setState({ isLoading: true });\r\n await CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/UpdateUserTimeZone`,\r\n Parms,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IntRes > 0) {\r\n this.closeLanguageModal();\r\n toastr.success(this.props.t('TimeZone'), this.props.t('Updated'));\r\n //this.props.UpdateTimezone(this.ReturnTimeZone(String(this.state.TimeZoneSelectedValue.offset)));\r\n this.props.UpdateTimezone(this.state.TimeZoneSelectedValue.offset);\r\n }\r\n else\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n UpdateUserLanguage = async () => {\r\n let Parms: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n ObjData: {\r\n ContactID: this.props.AdminData.ContactID,\r\n Language: this.state.languageSelectedValue.value\r\n }\r\n };\r\n this.setState({ isLoading: true });\r\n await CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/UpdateUserLanguage`,\r\n Parms,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IntRes > 0) {\r\n this.closeLanguageModal();\r\n toastr.success(this.props.t('Language'), this.props.t('Updated'));\r\n this.props.ChangeLanguage(this.state.languageSelectedValue);\r\n this.props.i18n.changeLanguage(this.state.languageSelectedValue.value);\r\n document.documentElement.setAttribute('lang', this.state.languageSelectedValue.value);\r\n if (this.state.languageSelectedValue.value === \"ar\") {\r\n document.documentElement.setAttribute('dir', \"rtl\");\r\n }\r\n else {\r\n document.documentElement.setAttribute('dir', \"ltr\");\r\n }\r\n }\r\n else\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n SaveAllConfiguration = async () => {\r\n await this.UpdateUserLanguage();\r\n await this.UpdateUserTimeZone();\r\n this.UpdateContact();// they must be send in update contact \r\n }\r\n copyUsername = () => {\r\n var copyText: any = document.getElementById(\"copyUsername\");\r\n copyText.select();\r\n copyText.setSelectionRange(0, 99999); /*For mobile devices*/\r\n document.execCommand(\"copy\");\r\n toastr.success(\"\", this.props.t('EmailCopied'))\r\n }\r\n copyPassword = () => {\r\n var copyText: any = document.getElementById(\"copyPassword\");\r\n copyText.select();\r\n copyText.setSelectionRange(0, 99999); /*For mobile devices*/\r\n document.execCommand(\"copy\");\r\n toastr.success(\"\", this.props.t('PasswordCopied'))\r\n }\r\n onCheckBoxChange = (e: any) => {\r\n this.setState({ [e.target.name]: e.target.checked } as any)\r\n }\r\n SendPasswordByEmail = () => {\r\n if (!validateEmail(this.state.EmailtoSendPassword)) {\r\n toastr.warning(\"\", this.props.t('AddEmailPlease'))\r\n }\r\n else {\r\n let SendPasswordByEmailParams: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n UserName: this.props.AdminData.Email,\r\n ClientName: this.state.GetContactInfoResult ? `${this.state.GetContactInfoResult.FirstName ? this.state.GetContactInfoResult.FirstName : \"\"}${this.state.GetContactInfoResult.LastName ? this.state.GetContactInfoResult.LastName : \"\"}` : \"\",\r\n ObjData: {\r\n IsAdmin: true,\r\n UserEmail: this.state.resetEmail,\r\n Email: this.state.EmailtoSendPassword,\r\n Password: btoa(this.state.newPassword)\r\n }\r\n };\r\n this.setState({ isLoading: true });\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/SendPasswordByEmail`,\r\n SendPasswordByEmailParams,\r\n { Token: this.props.userData.Token },\r\n () => {\r\n toastr.success(\"\", this.props.t('EmailSent'));\r\n this.closeAutoGenerate();\r\n this.closeEditContact();\r\n this.props.closeProfile();\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.closeEditContact();\r\n this.closeAutoGenerate();\r\n this.props.closeProfile();\r\n this.setState({ isLoading: false });\r\n toastr.error(\"\", this.props.t('FailedAction'));\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n };\r\n render() {\r\n //var PortalSettingsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Portal Settings', this.props.UserPermissions);\r\n //var ManageUsers: boolean = CheckIfPermAlllowedByName('Manage Users', PortalSettingsUserPerms.Perms);//no perm as own user\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {this.state.GetContactInfoResult ? `${this.state.GetContactInfoResult.FirstName ? this.state.GetContactInfoResult.FirstName.charAt(0) : \"\"}${this.state.GetContactInfoResult.LastName ? this.state.GetContactInfoResult.LastName.charAt(0) : \"\"}` : \"\"} \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n

{this.props.t('Welcome')} {`${this.state.GetContactInfoResult.FirstName}`}

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

\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \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.t('ContactInformation')}
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.t(option?.CountryCode ? ReturnCountryCode(option?.CountryCode) : option.label)}\r\n options={this.state.countriesOptions}\r\n value={this.state.contactCountriesSelectedValue}\r\n onChange={this.contactCountriesOnChange}\r\n />\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \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.t('Save')} }\r\n body={\r\n
\r\n \r\n \r\n\r\n \r\n {this.props.t('AutoGeneratePassword')} \r\n\r\n {this.props.t('CreateYourOwnPassword')}\r\n \r\n {this.state.passwordValue === 2 &&\r\n \r\n \r\n \r\n = 4 ? \"\" : this.props.t('WeakPassword')}\r\n >\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.t('Save')} }\r\n body={\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \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.t('SendPasswordByEmail')}\r\n \r\n \r\n \r\n \r\n \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.t('Save')} }\r\n body={\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \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.t(option?.CountryCode ? ReturnCountryCode(option?.CountryCode) : option.label)}\r\n options={this.state.countriesOptions}\r\n value={this.state.contactCountriesSelectedValue}\r\n onChange={this.contactCountriesOnChange}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.t('Save')} }\r\n body={\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n />\r\n {this.props.t('Save')} }\r\n body={\r\n
\r\n \r\n \r\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 withTranslation()(connect(mapStateToProps, dispatchProps)(MyProfileAdmin) as any) as any;","import { faCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Fade from '@material-ui/core/Fade';\r\nimport Modal from '@material-ui/core/Modal';\r\nimport { Close } from '@material-ui/icons';\r\nimport { Divider } from 'antd';\r\nimport Tabs from \"antd/es/tabs\";\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { Button, Col, Row } from 'reactstrap';\r\nimport { RemoveAllMessages, RemoveMessage } from '../redux/actions/NotificationActions';\r\nimport { ActionMessage, IStore } from '../redux/constants';\r\nimport { INotificationStore } from '../redux/reducers/NotificationReducer';\r\nconst { TabPane } = Tabs;\r\n\r\ndeclare var require: any;\r\nconst moment: any = require('moment');\r\nconst dispatchProps = { push, RemoveMessage, RemoveAllMessages }\r\nconst mapStateToProps = (state: IStore) => ({\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n Notifications: state.Notifications,\r\n history: state.history,\r\n location: state.router.location,\r\n theme: state.theme\r\n});\r\n\r\ninterface IndexProps {\r\n RemoveMessage: any;\r\n RemoveAllMessages: any;\r\n lang: string;\r\n userData: any;\r\n push: any;\r\n history: any;\r\n location: any;\r\n theme: any;\r\n title: string;\r\n header?: any;\r\n handleClose: any;\r\n isOpen: boolean;\r\n Notifications: INotificationStore;\r\n t: any;\r\n}\r\nclass NotificationPage extends React.Component {\r\n state = { isOpen: true };\r\n\r\n handleClose = () => {\r\n this.setState({ isOpen: false });\r\n }\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.handleClose();\r\n }\r\n }\r\n RemoveMessage = (index: number) => {\r\n this.props.RemoveMessage(index);\r\n }\r\n RemoveAllMessages = () => {\r\n this.props.RemoveAllMessages();\r\n }\r\n\r\n ReturnElapsedTime = (_date: any) => {\r\n if (!_date) return '-';\r\n //moment(Date).format(\"hh:mm:ss a\")\r\n let _now = moment(new Date());//now\r\n let _timeOfExecution = moment(new Date(_date));\r\n\r\n let days = _now.diff(_timeOfExecution, 'days');\r\n let hours = _now.diff(_timeOfExecution, 'hours') < 24 ? _now.diff(_timeOfExecution, 'hours') : _now.diff(_timeOfExecution, 'hours') % 24;\r\n let minutes = _now.diff(_timeOfExecution, 'minutes') < 60 ? _now.diff(_timeOfExecution, 'minutes') : _now.diff(_timeOfExecution, 'minutes') % 60;\r\n\r\n if (String(days) === \"0\" && String(hours) === \"0\" && String(minutes) === \"0\") return \"just now\";\r\n return `${String(days) !== \"0\" ? days + \" days \" : \"\"}${String(hours) !== \"0\" ? hours + \" hours and \" : \"\"}${String(minutes) !== \"0\" ? minutes + \" minutes ago \" : \"\"} `\r\n }\r\n deleteAll = () => {\r\n this.props.RemoveAllMessages();\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n

{this.props.t(\"Notifications\")}

\r\n
\r\n
\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.Notifications.Notifications.map((item: ActionMessage, index: number) => {\r\n return (\r\n
\r\n this.RemoveMessage(index)}>\r\n \r\n {item.messageTitle}: \r\n\r\n {item.messageContent}\r\n {this.ReturnElapsedTime(item.messageDate)}\r\n\r\n \r\n this.RemoveMessage(index)}>\r\n \r\n \r\n \r\n \r\n
);\r\n })}\r\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 withTranslation()(connect(mapStateToProps, dispatchProps)(NotificationPage) as any) as any;\r\n","import DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport { Divider, Drawer } from 'antd';\r\nimport Menu from 'antd/es/menu';\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from \"react-router-dom\";\r\nimport { CheckIfCompanyIs, CheckIfPermAlllowedByName, DisplayZendDeskChat, GetPermissionDetailsByName, GetReportsPerms, OneOFReportsEnabled } from '../../../Helpers/DataHelpers';\r\nimport { GetCompanyDataResult, LoadCompanyLogoResult, translationType, UserPermissionOBjectClass } from '../../../Interfaces/Interfaces';\r\nimport ContactUs from '../../../Pages/ClientSettings/ContactUs';\r\nimport { Login, Logout } from '../../../redux/actions/AuthActions';\r\nimport { MenuToggleCollapse } from '../../../redux/actions/themeActions';\r\nimport { GetAdminData, GetClientData, ICompanyData, IPerms, IStore, IUserData } from '../../../redux/constants';\r\nconst MenuItemGroup = Menu.ItemGroup;\r\n\r\nconst { SubMenu } = Menu;\r\nconst mapStateToProps = (state: IStore) => ({\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n state: state.sidebar,\r\n history: state.history,\r\n theme: state.theme,\r\n CompanyData: state.auth.CompanyData,\r\n AdminData: state.auth.AdminData,\r\n ClientData: state.auth.ClientData,\r\n UserPermissions: state.auth.UserPermissions,\r\n CompanySettings: state.CompanySettings,\r\n CompanyDataProps: state.CompanyData,//not auth, CompanyData\r\n});\r\nconst dispatchProps = { push, Login, Logout, MenuToggleCollapse }\r\nexport interface LeftSideBarMobileProps {\r\n CompanyDataProps: GetCompanyDataResult;\r\n AdminData: GetAdminData;\r\n ClientData: GetClientData;\r\n lang: translationType;\r\n userData: IUserData;\r\n theme: any;\r\n push: any;\r\n CompanyData: ICompanyData\r\n UserPermissions: IPerms[];\r\n visible: boolean;\r\n onClose: any;\r\n CompanySettings: LoadCompanyLogoResult;\r\n t: any;\r\n}\r\nexport interface LeftSideBarMobileState {\r\n SecondaryIcon: string | null;\r\n defaultSelectedKeys: string;\r\n collapsed: boolean;\r\n selectedSetting: boolean;\r\n OpenContactUs: boolean;\r\n current: string;\r\n visible: boolean;\r\n LightLogo: string | null;\r\n DarkLogo: string | null;\r\n IsCircular: boolean;\r\n cdnLink: string;\r\n}\r\nclass LeftSideBarMobile extends React.Component {\r\n // submenu keys of first level\r\n //without this in tsx \r\n isElite: boolean = CheckIfCompanyIs(\"elite\");\r\n isJKV: boolean = CheckIfCompanyIs(\"JKV\");\r\n isOrbit: boolean = CheckIfCompanyIs(\"Orbit\");\r\n isTNFX: boolean = CheckIfCompanyIs(\"TNFX\");\r\n isIconFx: boolean = CheckIfCompanyIs(\"Icon\");\r\n state = {\r\n // Mobile\r\n SecondaryIcon: '',\r\n cdnLink: \"\",\r\n current: 'mail',\r\n visible: false,\r\n collapsed: this.props.theme.MenuIsCollapsed,\r\n defaultSelectedKeys: '1000',\r\n selectedSetting: false,\r\n OpenContactUs: false,\r\n LightLogo: '',\r\n DarkLogo: '',\r\n IsCircular: false, website: ''\r\n };\r\n componentDidMount() {\r\n this.setState({\r\n cdnLink: this.props.CompanyDataProps.CDNURL\r\n });\r\n this.setState({\r\n LightLogo: this.props.CompanySettings ? this.props.CompanySettings.LightLogo : null,\r\n SecondaryIcon: this.props.CompanySettings ? this.props.CompanySettings.SecondaryIcon : null,\r\n DarkLogo: this.props.CompanySettings ? this.props.CompanySettings.DarkLogo : null,\r\n IsCircular: this.props.CompanySettings ? this.props.CompanySettings.IsCircular : false\r\n });\r\n if (this.props.userData?.isAdmin) {\r\n DisplayZendDeskChat(true);\r\n } else {\r\n DisplayZendDeskChat(false);\r\n }\r\n }\r\n\r\n\r\n openContactusModal = () => {\r\n this.setState({ OpenContactUs: !this.state.OpenContactUs })\r\n }\r\n closeContact = () => {\r\n this.setState({ OpenContactUs: false })\r\n }\r\n navigatetoSettings = () => {\r\n this.props.push(\"/PortalSettings/CompanySettings\");\r\n }\r\n showDrawer = () => {\r\n this.setState({\r\n visible: true,\r\n });\r\n };\r\n\r\n onClose = () => {\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n ReturnLogo = (): string | undefined => {\r\n return (this.props.theme.currentTheme === \"addons-LightTheme\" || this.props.theme.currentTheme === \"addons-OrangeTheme\" || this.props.theme.currentTheme === \"addons-PrimexTheme\") ? this.state.LightLogo : this.state.DarkLogo;\r\n }\r\n render() {\r\n var TraderUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Trader', this.props.UserPermissions);\r\n var ClientsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Clients', this.props.UserPermissions);\r\n var PartnersUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Partners', this.props.UserPermissions);\r\n var MAMUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('MAM', this.props.UserPermissions);\r\n var BackOfficeUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Back Office', this.props.UserPermissions);\r\n var BonusUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Bonus', this.props.UserPermissions);\r\n var OnBoardingUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('On Boarding', this.props.UserPermissions);\r\n var ReportsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Reports', this.props.UserPermissions);\r\n var NotesUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Notes', this.props.UserPermissions);\r\n var TasksUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Tasks', this.props.UserPermissions);\r\n var PortalSettingsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Portal Settings', this.props.UserPermissions);\r\n var DynamicMargin: UserPermissionOBjectClass = GetPermissionDetailsByName('Dynamic Margin', this.props.UserPermissions);\r\n let LogsPermission: UserPermissionOBjectClass = GetPermissionDetailsByName('Logs', this.props.UserPermissions);\r\n var ViewAccountTypes: boolean = CheckIfPermAlllowedByName('View Account Types', TraderUserPerms.Perms);\r\n var isA = this.props.userData.isAdmin;\r\n var isAdminBonus = isA && this.props.CompanyData.IsBonus;\r\n var isAdminIB = isA && this.props.CompanyData.IsIB;\r\n var isAdminMM = isA && this.props.CompanyData.IsMM;\r\n var isAdminCRM = isA && this.props.CompanyData.IsCRM;\r\n var isAdminDynamicMargin = isA && this.props.CompanyData.IsDynamicMargin;\r\n //Client\r\n //CRM\r\n var isClientCRMPermssion: UserPermissionOBjectClass = GetPermissionDetailsByName('CRM', this.props.UserPermissions);\r\n var isClientCRM = !isA && this.props.CompanyData.IsCRM && isClientCRMPermssion.Allowed;\r\n //IB\r\n var isClientIBPermssion: UserPermissionOBjectClass = GetPermissionDetailsByName('IB', this.props.UserPermissions);\r\n var isClientIB = !isA && this.props.CompanyData.IsIB && isClientIBPermssion.Allowed;\r\n var isPromotion: boolean = CheckIfPermAlllowedByName('Promotion', isClientIBPermssion.Perms);//if same name take from props name\r\n var isClientReporting: boolean = CheckIfPermAlllowedByName('Reporting', isClientIBPermssion.Perms);\r\n var isClientBreakDownReport: boolean = CheckIfPermAlllowedByName('Breakdown Report', isClientIBPermssion.Perms);\r\n var isClientAccessSubIB: boolean = CheckIfPermAlllowedByName('Access SubIB', isClientIBPermssion.Perms);\r\n //MAM\r\n var isClientMM = !isA && this.props.CompanyData.IsMM;//3 parents here\r\n //#region MAM parents \r\n var isClientMoneyManager: UserPermissionOBjectClass = GetPermissionDetailsByName('Money Manager', this.props.UserPermissions);\r\n var isClientInvestorCopier: UserPermissionOBjectClass = GetPermissionDetailsByName('Investor/Copier', this.props.UserPermissions);\r\n var isClientSignalMAMPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Signal', this.props.UserPermissions);//copier\r\n //#endregion \r\n var LeaderBoard: boolean = CheckIfPermAlllowedByName('LeaderBoard', isClientInvestorCopier.Perms);\r\n var isRequireKYC = this.isKYCRequired(isA);\r\n var isAccountExist = !isA && parseInt(String(this.props.ClientData.NmbrOfAcc), 10) > 0;\r\n var isHasKYC = !isA && this.props.ClientData.hasKYC;\r\n var isValid = !isA && (this.props.ClientData.IsValid ? true : false);//as may be null\r\n var isNotRequiredAndAccountExist = (!isRequireKYC && isAccountExist);\r\n var isRequiredKycSumbitedAndAccountExist = (isRequireKYC && isAccountExist && isHasKYC);\r\n var isRequiredKycAndSumbited = (isRequireKYC && isHasKYC);\r\n var AllowAddDemoAcc = !isA && this.props.ClientData?.AllowAddDemoAcc;\r\n let { BonusReportsPerm, CRMREports, IBReports, DLReports, BackofficeReports, MAMReports } = GetReportsPerms(ReportsUserPerms);\r\n let _OneOFReportsEnabled = OneOFReportsEnabled({ BonusReportsPerm, CRMREports, IBReports, DLReports, BackofficeReports, MAMReports });\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n checkIfAllowedForPureNorthMAM = (isClientMM: boolean, isClientMoneyManager: UserPermissionOBjectClass) => {\r\n return (!CheckIfCompanyIs(\"PureNorth\") || (isClientMM && isClientMoneyManager.Allowed));\r\n }\r\n checkIfAllowedForPureNorthLogs = () => {\r\n return CheckIfCompanyIs(\"PureNorth\");\r\n }\r\n isKYCRequired = (isA: boolean) => {\r\n if (this.isElite) return false;\r\n if (this.isOrbit) return false;\r\n return !isA && this.props.ClientData.RequireKYC;\r\n }\r\n ReturnPortfolioName = () => {\r\n if (this.isElite || this.isIconFx) return this.props.t(\"Portfolio\");//TODO check if need to add check if MAM\r\n return `${this.props.t(\"MAM\")} ${this.props.t(\"Portfolio\")}`;\r\n }\r\n\r\n DisplayOnbording = (isRequireKYC: boolean) => {\r\n if (this.isElite) return this.props.ClientData.RequireKYC;\r\n if (this.isOrbit) return this.props.ClientData.RequireKYC;\r\n return isRequireKYC;\r\n }\r\n\r\n DisplayMyAccounts = (isClientCRM: boolean, isRequireKYC: boolean, isValid: boolean) => {\r\n if (this.isOrbit) return (!isClientCRM || (isClientCRM && (!this.props.ClientData.RequireKYC || (this.props.ClientData.RequireKYC && isValid))))\r\n return (!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid))));\r\n }\r\n\r\n RenderMyAccountsSubMenu = (isClientCRM: boolean, isRequireKYC: boolean, isValid: boolean, AllowAddDemoAcc: boolean): any => {\r\n return \r\n \r\n {this.props.t(\"MyAccounts\")}\r\n \r\n } className=\"mobileSubMenu\">\r\n \r\n {(!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid)))) /*(manageAccountsPerm)*/ &&\r\n \r\n \r\n \r\n {this.props.t(\"TradingAccounts\")}\r\n \r\n \r\n }\r\n {(!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid)))) && AllowAddDemoAcc &&\r\n \r\n \r\n \r\n {this.props.t(\"DemoAccount\")}\r\n \r\n \r\n }\r\n \r\n ;\r\n }\r\n}\r\n\r\n\r\nexport default withTranslation()(connect(mapStateToProps, dispatchProps)(LeftSideBarMobile) as any) as any;\r\n\r\n","import { faBars, faBell, faCheckCircle, faMoon, faQuestion, faServer, faSignOutAlt, faSlidersH, faStar, faSun, faTimesCircle, faUserCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport { Avatar, Badge, Divider } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport Radio from 'antd/es/radio';\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { connect } from 'react-redux';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Button, Collapse, DropdownItem, DropdownMenu, DropdownToggle, FormGroup, Label, Nav, Navbar, Row, UncontrolledDropdown } from \"reactstrap\";\r\nimport { CallAxiosRequest } from \"../../../Helpers/axiosHelpers\";\r\nimport { LoadCompanyLogoResult, ServerData, YoonitRequest, UserPermissionOBjectClass, GetCompanyDataResult as IGetCompanyDataResult } from \"../../../Interfaces/Interfaces\";\r\nimport MyProfile from \"../../../Pages/ClientSettings/MyProfile\";\r\nimport MyProfileAdmin from \"../../../Pages/ClientSettings/MyProfileAdmin\";\r\nimport NotificationPage from \"../../../Pages/NotificationPage\";\r\nimport { Login, Logout } from '../../../redux/actions/AuthActions';\r\nimport { ChangeLanguage } from '../../../redux/actions/languageAction';\r\nimport { RemoveAllMessages, SetHasNewValue } from '../../../redux/actions/NotificationActions';\r\nimport { ClearPushNotifications } from '../../../redux/actions/PushNotificationActions';\r\nimport { enableDarkTheme, enableLightTheme, enableMixTheme, enableOrangeTheme, enableBlackRedTheme, enableNavyTheme, enableIGainTheme, enableLDNTheme, enableATFXTheme, enableACMTheme, enableAvantTheme, enablePrimexTheme, enableGMCTheme, enableGivTradeTheme, enableiQuotoTheme, enablePureNorthTheme, enableOrbitLight, enableOrbitDark, enableTNFXTheme_OrangeDark, enableGold, enableBrownTheme } from '../../../redux/actions/themeActions';\r\nimport * as ReduxTypes from \"../../../redux/constants\";\r\nimport { IUserData } from '../../../redux/constants';\r\nimport { INotificationStore } from \"../../../redux/reducers/NotificationReducer\";\r\nimport { NavigationBar } from \"../Bars/Bars\";\r\nimport LeftSideBarMobile from \"./LeftsidebarMobile\";\r\nimport { CheckIfCompanyIs, DisplayZendDeskChat, GetPermissionDetailsByName } from '../../../Helpers/DataHelpers';\r\nimport { BasicSelectOption } from '../../../Interfaces/IApplicationForm';\r\ndeclare var window: any;\r\nconst $ = require(\"jquery\");\r\n\r\nexport interface TopBarProps {\r\n LanguageData: ReduxTypes.ILanguageData;\r\n Logout: any;\r\n Login: any;\r\n ChangeLanguage: any;\r\n enableDarkTheme: any;\r\n enableLightTheme: any;\r\n enableMixTheme: any;\r\n enableOrangeTheme: any;\r\n enableBlackRedTheme: any;\r\n enableNavyTheme: any;\r\n enableIGainTheme: any;\r\n enableLDNTheme: any;\r\n enableATFXTheme: any;\r\n enablePrimexTheme: any;\r\n enableACMTheme: any;\r\n enableAvantTheme: any;\r\n enableGMCTheme: any;\r\n enableGivTradeTheme: any;\r\n enableiQuotoTheme: any;\r\n enablePureNorthTheme: any;\r\n enableOrbitLight: any;\r\n enableOrbitDark: any;\r\n enableTNFXTheme_OrangeDark: any;\r\n enableGold: any;\r\n enableBrownTheme: any;\r\n history: any;\r\n LangselectedOption: ReduxTypes.LanguageOption;\r\n userData: IUserData;\r\n Servers: ServerData[];\r\n ServersConnectivity: any;\r\n lang: string;\r\n theme: any;\r\n router: any;\r\n AdminData: ReduxTypes.GetAdminData;\r\n ClientData: ReduxTypes.GetClientData;\r\n CompanyData: ReduxTypes.ICompanyData;\r\n Notifications: INotificationStore;\r\n SetHasNewValue: any;\r\n CompanySettings: LoadCompanyLogoResult;\r\n CompanyDataProps: IGetCompanyDataResult;\r\n i18n: any;\r\n t: any;\r\n ClearPushNotifications: any;\r\n RemoveAllMessages: any;\r\n ActionURL: any;\r\n UserPermissions: ReduxTypes.IPerms[]\r\n}\r\nexport interface TopBarState {\r\n}\r\n\r\nconst mapStateToProps = (state: ReduxTypes.IStore) => ({\r\n LanguageData: state.LanguageData,\r\n AdminData: state.auth.AdminData,\r\n ClientData: state.auth.ClientData,\r\n userData: state.auth.UserData,\r\n history: state.history,\r\n LangselectedOption: state.language,\r\n lang: state.language.value,\r\n CompanyData: state.auth.CompanyData,\r\n URL: state.auth.UserData.yoonitGetURL,\r\n ActionURL: state.auth.UserData.yoonitActionURL,\r\n theme: state.theme,\r\n router: state.router,\r\n Notifications: state.Notifications,\r\n CompanySettings: state.CompanySettings,\r\n ServersConnectivity: state.ServersConnectivity,\r\n Servers: state.auth.Servers,\r\n UserPermissions: state.auth.UserPermissions,\r\n CompanyDataProps: state.CompanyData\r\n});\r\nconst dispatchProps = { push, Login, Logout, ChangeLanguage, enableLightTheme, enableDarkTheme, enableMixTheme, enableBlackRedTheme, enableOrangeTheme, enableNavyTheme, enableIGainTheme, enableLDNTheme, enableATFXTheme, enableACMTheme, enableGMCTheme, enableAvantTheme, enablePrimexTheme, enableGivTradeTheme, SetHasNewValue, enableiQuotoTheme, enablePureNorthTheme, enableOrbitLight, enableOrbitDark, enableTNFXTheme_OrangeDark, enableGold, enableBrownTheme, ClearPushNotifications, RemoveAllMessages }\r\n\r\ndocument.addEventListener(\r\n 'touchmove',\r\n function (e) {\r\n e.preventDefault();\r\n },\r\n false\r\n);\r\nclass TopBar extends React.Component {\r\n state = {\r\n value: 1, username: \"\", open: false, blacRedTheme: false, darkTheme: false, lightTheme: false, mixTheme: false, orangeTheme: false, navyTheme: false, iGainTheme: false, ldnTheme: false, openProfile: false, OpenMail: false, openPassword: false, openLangauge: false, openLinks: false, openNotification: false, openProfileMainAdmin: false, openProfileNotification: false, visible: false, atfxTheme: false, acmTheme: false, avantTheme: false, primexTheme: false, gmcTheme: false, givTradeTheme: false, iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n LightLogo: '',\r\n SecondaryIcon: '',\r\n DarkLogo: '',\r\n IsCircular: false,\r\n website: '',\r\n ThemeChecked: \"\",\r\n languageChecked: \"\",\r\n cdnLink: \"\"\r\n };\r\n componentDidMount() {\r\n var firstName;\r\n var lastName;\r\n var name;\r\n this.setState({\r\n ThemeChecked: this.props.theme.currentTheme,\r\n languageChecked: this.props.i18n.language\r\n })\r\n document.documentElement.setAttribute('lang', this.props.i18n.language);\r\n this.setState({\r\n LightLogo: this.props.CompanySettings.LightLogo,\r\n SecondaryIcon: this.props.CompanySettings.SecondaryIcon,\r\n DarkLogo: this.props.CompanySettings.DarkLogo,\r\n IsCircular: this.props.CompanySettings.IsCircular,\r\n website: this.props.CompanySettings.CompanySite,\r\n cdnLink: this.props.CompanyDataProps.CDNURL\r\n });\r\n if (this.props.userData.isAdmin) {\r\n firstName = this.props.AdminData.FirstName ? this.props.AdminData.FirstName.charAt(0) : '';\r\n lastName = this.props.AdminData.LastName ? this.props.AdminData.LastName.charAt(0) : '';\r\n name = firstName + lastName;\r\n this.setState({ username: name.toUpperCase() })\r\n }\r\n else {\r\n firstName = this.props.ClientData.FirstName ? this.props.ClientData.FirstName.charAt(0) : '';\r\n lastName = this.props.ClientData.LastName ? this.props.ClientData.LastName.charAt(0) : '';\r\n name = firstName + lastName;\r\n this.setState({ username: name.toUpperCase() })\r\n }\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n this.props.i18n.changeLanguage(this.props.LangselectedOption.value);\r\n document.documentElement.setAttribute('lang', this.props.i18n.language);\r\n if (this.props.i18n.language === \"ar\") {\r\n document.documentElement.setAttribute('dir', \"rtl\");\r\n }\r\n else {\r\n document.documentElement.setAttribute('dir', \"ltr\");\r\n }\r\n }\r\n showDrawer = () => {\r\n this.setState({\r\n visible: true,\r\n });\r\n };\r\n\r\n onClose = () => {\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n escFunction = (event: any) => {\r\n if (event.keyCode === 27) {\r\n this.closeTheme();\r\n }\r\n }\r\n AddAuthenticationLog = (Login?: boolean) => {\r\n let Params: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n UserName: this.props.userData.isAdmin ? this.props.AdminData.Email : this.props.ClientData.Email,\r\n ClientName: this.props.userData.isAdmin ?\r\n `${this.props.AdminData.FirstName ? this.props.AdminData.FirstName : \"\"} ${this.props.AdminData.LastName ? this.props.AdminData.LastName : \"\"}`\r\n : `${this.props.ClientData.FirstName ? this.props.ClientData.FirstName : \"\"} ${this.props.ClientData.LastName ? this.props.ClientData.LastName : \"\"}`\r\n ,\r\n ObjData: Login ? \"Login\" : \"Logout\",\r\n };\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/AddAuthenticationLog`,\r\n Params,\r\n { Token: this.props.userData.Token, },\r\n () => { },\r\n () => { },\r\n this.props.t\r\n );\r\n\r\n }\r\n onLogout = (e: any) => {\r\n\r\n this.props.ClearPushNotifications();\r\n this.props.RemoveAllMessages();\r\n this.props.history.push('/');\r\n this.props.Logout();//must be last\r\n //localStorage.clear();\r\n window.location.reload();\r\n }\r\n\r\n onLanguageChange = (e: any) => {\r\n //if (e.target.name === \"APIType\" && String(e.target.value) !== \"3\") {\r\n // this.GenerateBonusToken();\r\n //}\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n } as any);\r\n this.props.ChangeLanguage(this.props.LanguageData.Dict[e.target.value]);\r\n this.props.i18n.changeLanguage(e.target.value);\r\n document.documentElement.setAttribute('lang', e.target.value);\r\n if (e.target.value === \"ar\") {\r\n document.documentElement.setAttribute('dir', \"rtl\");\r\n }\r\n else {\r\n document.documentElement.setAttribute('dir', \"ltr\");\r\n }\r\n }\r\n\r\n enableDarkTheme = () => {\r\n this.setState({\r\n darkTheme: true,\r\n lightTheme: true,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n ldnTheme: false,\r\n iGainTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableDarkTheme();\r\n //$(\".DarkThemeIcon\").on('click', function () {\r\n // $('body').fadeOut(1000);\r\n //});\r\n\r\n\r\n }\r\n\r\n enableLightTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: true,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n ldnTheme: false,\r\n iGainTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableLightTheme();\r\n //$(\".LightThemeIcon\").on('click', function () {\r\n // $('body').fadeIn(300);\r\n //});\r\n\r\n }\r\n enableMixTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: true,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n ldnTheme: false,\r\n iGainTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableMixTheme();\r\n }\r\n enableOrangeTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: true,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n ldnTheme: false,\r\n iGainTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableOrangeTheme();\r\n }\r\n enableBlackRedTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: true,\r\n navyTheme: false,\r\n ldnTheme: false,\r\n iGainTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableBlackRedTheme();\r\n }\r\n enableNavyTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: true,\r\n ldnTheme: false,\r\n iGainTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableNavyTheme();\r\n }\r\n enableIGainTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n ldnTheme: false,\r\n iGainTheme: true,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableIGainTheme();\r\n }\r\n enableLDNTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: true,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableLDNTheme();\r\n }\r\n enableATFXTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: true,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableATFXTheme();\r\n }\r\n enableACMTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: true,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableACMTheme();\r\n }\r\n enableGMCTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: true,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableGMCTheme();\r\n }\r\n enableAvantTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: true,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableAvantTheme();\r\n }\r\n enablePrimexTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: true,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enablePrimexTheme();\r\n }\r\n enableGivTradeTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: true,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableGivTradeTheme();\r\n }\r\n enablePureNorthTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: true,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enablePureNorthTheme();\r\n }\r\n enableIQuotoTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: true,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableiQuotoTheme();\r\n }\r\n enableOrbitLight = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: true,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableOrbitLight();\r\n }\r\n enableOrbitDark = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: false,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: true,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableOrbitDark();\r\n }\r\n enableTNFXTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: true,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: true,\r\n enableGold: false,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableTNFXTheme_OrangeDark();\r\n }\r\n enableGoldTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: true,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: true,\r\n enableBrownTheme: false,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableGold();\r\n }\r\n enableBrownTheme = () => {\r\n this.setState({\r\n darkTheme: false,\r\n lightTheme: false,\r\n mixTheme: false,\r\n orangeTheme: false,\r\n blacRedTheme: false,\r\n navyTheme: false,\r\n iGainTheme: true,\r\n ldnTheme: true,\r\n atfxTheme: false,\r\n acmTheme: false,\r\n avantTheme: false,\r\n primexTheme: false,\r\n gmcTheme: false,\r\n givTradeTheme: false,\r\n iquotaTheme: false,\r\n pureNorthTheme: false,\r\n enableOrbitLight: false,\r\n enableOrbitDark: false,\r\n enableTNFXTheme_OrangeDark: false,\r\n enableGold: false,\r\n enableBrownTheme: true,\r\n });\r\n $('html').addClass(\"blurBackground\").delay(2000).queue(function () {\r\n $(\"html\").removeClass(\"blurBackground\").dequeue();\r\n });\r\n this.props.enableBrownTheme();\r\n }\r\n openProfileMainAdmin = () => {\r\n this.setState({ openProfileMainAdmin: true })\r\n }\r\n openProfileMain = () => {\r\n this.setState({ openProfile: true })\r\n }\r\n closeProfileMainAdmin = () => {\r\n this.setState({ openProfileMainAdmin: false })\r\n }\r\n closeProfileMain = () => {\r\n this.setState({ openProfile: false })\r\n }\r\n handleOpen = () => {\r\n this.setState({ open: !this.state.open })\r\n }\r\n closeTheme = () => {\r\n this.setState({ open: false })\r\n }\r\n openNotification = () => {\r\n this.props.SetHasNewValue(false);\r\n this.setState({ openNotification: true })\r\n }\r\n closeNotification = () => {\r\n this.setState({ openNotification: false })\r\n }\r\n openManual = (value: any) => {\r\n let a = document.createElement('a');\r\n a.target = '_blank';\r\n a.href = `${this.props.CompanyDataProps.HandBookURL ? this.props.CompanyDataProps.HandBookURL : \"https://yoonit-handbook.azurewebsites.net/\"}login?Data=${encodeURIComponent(value)}&&lng=${this.props.LangselectedOption.value}`;\r\n a.click();\r\n }\r\n radioBtnsOnChange = (e: any) => {\r\n //if (e.target.name === \"APIType\" && String(e.target.value) !== \"3\") {\r\n // this.GenerateBonusToken();\r\n //}\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n } as any);\r\n if (e.target.value === \"addons-DarkTheme\") {\r\n this.enableDarkTheme();\r\n }\r\n else if (e.target.value === \"addons-LightTheme\") {\r\n this.enableLightTheme();\r\n }\r\n else if (e.target.value === \"addons-MixTheme\") {\r\n this.enableMixTheme();\r\n }\r\n else if (e.target.value === \"addons-NavyTheme\") {\r\n this.enableNavyTheme();\r\n }\r\n else if (e.target.value === \"addons-OrangeTheme\") {\r\n this.enableOrangeTheme();\r\n }\r\n else if (e.target.value === \"addons-BlackRedTheme\") {\r\n this.enableBlackRedTheme();\r\n }\r\n else if (e.target.value === \"addons-IGainTheme\") {\r\n this.enableIGainTheme()\r\n }\r\n else if (e.target.value === \"addons-LDNTheme\") {\r\n this.enableLDNTheme()\r\n }\r\n else if (e.target.value === \"addons-TNFXTheme\") {\r\n this.enableTNFXTheme()\r\n }\r\n else if (e.target.value === \"addons-ATFXTheme\") {\r\n this.enableATFXTheme()\r\n }\r\n else if (e.target.value === \"addons-ACMTheme\") {\r\n this.enableACMTheme()\r\n }\r\n else if (e.target.value === \"addons-GMCTheme\") {\r\n this.enableGMCTheme()\r\n }\r\n else if (e.target.value === \"addons-AvantTheme\") {\r\n this.enableAvantTheme()\r\n }\r\n else if (e.target.value === \"addons-PrimexTheme\") {\r\n this.enablePrimexTheme()\r\n }\r\n else if (e.target.value === \"addons-GivTradeTheme\") {\r\n this.enableGivTradeTheme()\r\n }\r\n else if (e.target.value === \"addons-iQuotoTheme\") {\r\n this.enableIQuotoTheme()\r\n }\r\n else if (e.target.value === \"addons-PureNorthTheme\") {\r\n this.enablePureNorthTheme()\r\n }\r\n else if (e.target.value === \"addons-Orbit-Light\") {\r\n this.enableOrbitLight()\r\n }\r\n else if (e.target.value === \"addons-Orbit-Dark\") {\r\n this.enableOrbitDark()\r\n }\r\n else if (e.target.value === \"addons-GoldTheme\") {\r\n this.enableGoldTheme()\r\n }\r\n else if (e.target.value === \"addons-BrownTheme\") {\r\n this.enableBrownTheme()\r\n }\r\n }\r\n CheckIfThereIfAllServersConnected = (MAMOrDynamic: boolean, isAnyOtherthanDLTrue: boolean) => {\r\n if (!this.props.ServersConnectivity || this.props.ServersConnectivity.length === 0) return false;\r\n for (let serverKey in this.props.ServersConnectivity) {\r\n if (!this.props.ServersConnectivity[serverKey]?.IsConnected\r\n && this.IsNotHiddenWebAPI(serverKey, MAMOrDynamic)\r\n && this.IsNotHiddenManager(this.props.ServersConnectivity[serverKey], isAnyOtherthanDLTrue)\r\n )\r\n return false;\r\n }\r\n return true;\r\n }\r\n IsNotHiddenWebAPI = (serverKey: string, MAMOrDynamic: boolean) => {\r\n return (!serverKey?.includes('WebAPI') || MAMOrDynamic);\r\n }\r\n IsNotHiddenManager = (server: any, isAnyOtherthanDLTrue: boolean) => {\r\n //at login start true or false only so no need to come here \r\n return (server?.ID?.includes('WebAPI') || server?.ServerType === \"MT4\" || isAnyOtherthanDLTrue);\r\n }\r\n render() {\r\n var isA = this.props.userData.isAdmin;\r\n var isAdminMM = isA && this.props.CompanyData.IsMM;\r\n var isAdminDynamicMargin = isA && this.props.CompanyData.IsDynamicMargin;\r\n var MAMUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('MAM', this.props.UserPermissions);\r\n var DynamicMargin: UserPermissionOBjectClass = GetPermissionDetailsByName('Dynamic Margin', this.props.UserPermissions);\r\n var isMAMAllowed = (isAdminMM) && isA && MAMUserPerms.Allowed;//for WebPAI\r\n var isDynamicMarginAllowed = (isAdminDynamicMargin) && DynamicMargin.Allowed;\r\n var isAdminIB = isA && this.props.CompanyData.IsIB;\r\n var isAdminBonus = isA && this.props.CompanyData.IsBonus;\r\n var isAdminCRM = isA && this.props.CompanyData.IsCRM;\r\n var SupportCenter: UserPermissionOBjectClass = GetPermissionDetailsByName('Support Center', this.props.UserPermissions);\r\n var isAnyOtherthanDLTrue = (isAdminCRM || isAdminIB || isAdminBonus || isMAMAllowed);\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n {!!this.state.SecondaryIcon && }\r\n {(!this.props.theme.MenuIsCollapsed && !!this.ReturnLogo())\r\n && < img\r\n src={this.ReturnLogo()}\r\n alt=\"logo\"\r\n className={this.ReturnLogoClassName()}\r\n />\r\n }\r\n \r\n\r\n {this.state.visible &&\r\n \r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n RenderLanguages = () => {\r\n return \r\n {this.props.LanguageData.Options\r\n && this.props.LanguageData.Options.map((lang: BasicSelectOption) => {\r\n return \r\n {lang.label}\r\n \r\n })}\r\n ;\r\n }\r\n\r\n ReturnLogo = (): string | undefined => {\r\n return (\r\n this.props.theme.currentTheme === \"addons-LightTheme\"\r\n || this.props.theme.currentTheme === \"addons-OrangeTheme\"\r\n || this.props.theme.currentTheme === \"addons-PrimexTheme\"\r\n || this.props.theme.currentTheme === \"addons-BrownTheme\"\r\n ) ? this.state.LightLogo : this.state.DarkLogo;\r\n }\r\n\r\n ReturnLightTheme = (): any => {\r\n if (CheckIfCompanyIs(\"orbit\")) return \"addons-Orbit-Light\";\r\n if (CheckIfCompanyIs(\"Malfex\")) return \"addons-BrownTheme\";\r\n return \"addons-LightTheme\";\r\n }\r\n\r\n ReturnDarkTheme = (): any => {\r\n if (CheckIfCompanyIs(\"orbit\")) return \"addons-Orbit-Dark\";\r\n return this.props.CompanyDataProps.CompanyCode?.toLowerCase() === \"ldn\" ? \"addons-LDNTheme\" : \"addons-DarkTheme\";\r\n }\r\n\r\n checkIfOtherThemesAllowed = () => {\r\n if (CheckIfCompanyIs(\"XAMarkets\")) return false;\r\n if (CheckIfCompanyIs(\"Malfex\")) return false;\r\n return this.props.CompanyDataProps.CompanyCode?.toLowerCase() !== \"ldn\" && !CheckIfCompanyIs(\"orbit\");\r\n }\r\n\r\n ReturnLogoClassName = (): string => {\r\n if (CheckIfCompanyIs('LimitMarkets')) return \"imagelogoLimitMarkets hideMobile\";\r\n return `${this.state.IsCircular ? \"logoTop hideMobile\" : CheckIfCompanyIs('Maleyat') ? \"imagelogoGold hideMobile\" : \"imagelogo hideMobile\"}`;\r\n }\r\n}\r\n\r\nexport default withTranslation()(connect(mapStateToProps, dispatchProps)(TopBar));\r\n","import * as React from 'react';\r\nimport LeftSideBar from '../Bars/LeftSideBar';\r\nimport TopBar from '../Bars/TopBar';\r\nimport ErrorBoundary from '../../AdvancedComponents/ErrorBoundary';\r\nexport default (props: { children?: React.ReactNode, path: any, PreviousPath: any, closedMenu: any, subtab: any }) => (\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {props.children}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n);\r\n","import { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { Button, Col, Label } from \"reactstrap\";\r\nimport { getImagesURL_LDN } from '../../Helpers/DataHelpers';\r\nimport { GetCompanyDataResult as IGetCompanyDataResult } from '../../Interfaces/Interfaces';\r\nimport { Login, Logout } from '../../redux/actions/AuthActions';\r\nimport { GetClientData, IStore } from '../../redux/constants';\r\n\r\nconst mapStateToProps = (state: IStore) => ({\r\n ClientData: state.auth.ClientData,\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n history: state.history, URL: state.auth.UserData.yoonitGetURL,\r\n theme: state.theme,\r\n CompanyDataProps: state.CompanyData,\r\n});\r\n\r\nconst dispatchProps = { push, Login, Logout }\r\nexport interface Page404Props {\r\n ClientData: GetClientData;\r\n lang: string;\r\n userData: any;\r\n push: any;\r\n URL: string;\r\n theme: any\r\n isAuth: boolean;\r\n isAdmin: boolean;\r\n isBonus: boolean;\r\n t: any;\r\n CompanyDataProps: IGetCompanyDataResult;\r\n }\r\n\r\nexport interface Page404State {\r\n cdnLink: string;\r\n}\r\n\r\nclass Page404 extends React.Component {\r\n \r\n state = {\r\n cdnLink: \"\"\r\n }\r\n componentDidMount() {\r\n this.setState({\r\n cdnLink: this.props.CompanyDataProps.CDNURL\r\n });\r\n\r\n }\r\n navigate = () => {\r\n if (this.props.isAuth) {\r\n if (!this.props.isAdmin)\r\n this.props.push('/');\r\n else {\r\n if (this.props.isBonus)\r\n this.props.push('/Clients/ClientPage');\r\n else\r\n this.props.push('/')\r\n };\r\n }\r\n else\r\n this.props.push('/login');\r\n }\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
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withTranslation()(connect(mapStateToProps, dispatchProps)(Page404) as any) as any;\r\n","import * as React from \"react\";\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { RouteProps } from 'react-router';\r\n\r\ninterface Props extends RouteProps {\r\n component: any;\r\n isAuth: boolean;\r\n path: string;\r\n PreviousPath: string|null;\r\n}\r\n\r\nconst PrivateRoute = ({ component: Component, isAuth, path, PreviousPath, ...rest }: Props) => { \r\n return (\r\n (\r\n isAuth ? : \r\n )} />\r\n )\r\n}\r\n\r\nexport default PrivateRoute;","import { Icon } from 'antd';\r\nimport { push } from 'connected-react-router';\r\nimport * as React from 'react';\r\nimport { Suspense } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { RouteProps } from 'react-router';\r\nimport { Route, Router, Switch } from 'react-router-dom';\r\nimport Lazy from \"../components/Lazy\";\r\nimport ExternalLayout from '../components/ReusableComponents/Layouts/ExternalLayout';\r\nimport InternalLayout from '../components/ReusableComponents/Layouts/InternalLayout';\r\nimport { CheckIfCompanyIs, DisplayZendDeskChat, GetPermissionDetailsByName } from '../Helpers/DataHelpers';\r\nimport { UserPermissionOBjectClass } from '../Interfaces/Interfaces';\r\nimport Page404 from '../Pages/Auth/Page404';\r\nimport { Logout } from '../redux/actions/AuthActions';\r\nimport { RemoveAllMessages } from '../redux/actions/NotificationActions';\r\nimport { ClearPushNotifications } from '../redux/actions/PushNotificationActions';\r\nimport { GetAdminData, GetClientData, ICompanyData, IPerms, IStore } from '../redux/constants';\r\nimport store, { history } from '../redux/store';\r\nimport { ExternalRoutes, InternalRoutes } from \"./index\";\r\nimport PrivateRoute from './PrivateRoute';\r\n\r\n\r\nconst mapStateToProps = (state: IStore) => ({\r\n userData: state.auth,\r\n CompanyData: state.auth.CompanyData,\r\n AdminData: state.auth.AdminData,\r\n ClientData: state.auth.ClientData,\r\n UserPermissions: state.auth.UserPermissions,\r\n isAuth: state.auth.isAuth,\r\n isTokenExpired: state.auth.isTokenExpired,\r\n isTokenValid: state.auth.isTokenValid,\r\n location: state.router.location,\r\n});\r\nexport interface AppProps {\r\n userData?: any;\r\n CompanyData: ICompanyData;\r\n AdminData: GetAdminData;\r\n ClientData: GetClientData;\r\n UserPermissions: IPerms[];\r\n history: any;\r\n location: any;\r\n routes?: any;\r\n isAuth: boolean;\r\n isTokenExpired: boolean;\r\n isTokenValid: boolean;\r\n}\r\nexport interface AppState {\r\n PreviousPath: string | null;\r\n}\r\ninterface Props2 extends RouteProps {\r\n component: new (props: any) => React.Component | any;\r\n userData: any;\r\n layoutComp: any;\r\n path: any;\r\n closedMenu: any;\r\n subtab: any;\r\n}\r\nconst antIcon = ;\r\n\r\nconst MapPrivateRoutes = (routes: any, userData: any, PreviousPath: string | null) =>\r\n routes.map(({ path, component: Component, closedMenu, subtab }: Props2, index: any) =>\r\n (\r\n \r\n }>\r\n \r\n \r\n \r\n )\r\n }\r\n />\r\n );\r\n\r\nconst MapExternalRoutes = (routes: any) =>\r\n routes.map(({ path, component: Component2, layoutComp: any }: Props2, index: any) =>\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n\r\nclass Routes extends React.Component {\r\n state = {\r\n PreviousPath: null,\r\n }\r\n componentWillReceiveProps(nextProps: any) {\r\n if (nextProps.location !== this.props.location) {\r\n this.setState({ PreviousPath: this.props.location && this.props.location ? this.props.location.pathname : null })\r\n }\r\n }\r\n componentDidMount() {\r\n this.LogoutIFPrimexClient();\r\n }\r\n componentDidUpdate(prevProps: any) {\r\n if (prevProps.location !== this.props.location) {\r\n this.LogoutIFPrimexClient();\r\n }\r\n }\r\n CheckIfIsExternalPage(href: any): boolean {\r\n if (!href) return false;\r\n for (let route of ExternalRoutes) {\r\n if (href && href.toLowerCase().includes(route.path.toLowerCase())) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n LogoutIFPrimexClient = () => {\r\n const LogoutAndClearCache = () => {\r\n store.dispatch(ClearPushNotifications({\r\n PushNotificationStatus: [],\r\n signalRIsConnected: false\r\n }));\r\n store.dispatch(RemoveAllMessages());\r\n store.dispatch(Logout());\r\n //store.dispatch(push('/'));\r\n }\r\n if (!!store?.getState()?.auth?.isAuth && !store?.getState()?.auth?.UserData?.isAdmin && CheckIfCompanyIs(\"PRIMEX\")) {\r\n LogoutAndClearCache();\r\n }\r\n }\r\n render() {\r\n let ClientsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Clients', this.props.UserPermissions)\r\n if (this.CheckIfIsExternalPage(window?.location?.href) || !this.props.userData?.UserData?.isAdmin) {\r\n DisplayZendDeskChat(false);\r\n } else {\r\n DisplayZendDeskChat(true);\r\n }\r\n return (\r\n }>\r\n \r\n \r\n \r\n {MapExternalRoutes(ExternalRoutes)}\r\n {MapPrivateRoutes(\r\n InternalRoutes(this.props.userData.UserData.isAdmin, this.props.CompanyData, this.props.UserPermissions, this.props.ClientData, this.props.isAuth), this.props.userData,\r\n this.state.PreviousPath\r\n )}\r\n {this.props.isAuth &&\r\n (\r\n \r\n }>\r\n \r\n \r\n \r\n )} />}\r\n {!this.props.isAuth &&\r\n (\r\n )} />}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default connect(mapStateToProps, { push })(Routes);\r\n","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\nimport Backend from 'i18next-http-backend';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\n// don't want to use this?\r\n// have a look at the Quick start guide \r\n// for passing in lng and translations on init\r\n\r\ni18n\r\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\r\n // learn more: https://github.com/i18next/i18next-http-backend\r\n .use(Backend)\r\n // detect user language\r\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n .use(LanguageDetector)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n // init i18next\r\n // for all options read: https://www.i18next.com/overview/configuration-options\r\n .init({\r\n fallbackLng: 'en',\r\n load: 'languageOnly',\r\n debug: false,\r\n keySeparator: false,\r\n nsSeparator: false,\r\n backend: {\r\n loadPath: `https://prod01-cdn-yoonit.plugitapps.com/cdn/translations/{{lng}}.json`,\r\n crossDomain: false,\r\n //requestOptions: {\r\n // mode: 'cors',\r\n // credentials: 'same-origin',\r\n // cache: 'default',\r\n // method:'GET'\r\n //},\r\n //parse: function (data:any) { console.log(data); return data.replace(/a/g, ''); },\r\n },\r\n interpolation: {\r\n escapeValue: false, // not needed for react as it escapes by default\r\n }\r\n });\r\n\r\n\r\nexport default i18n;","\r\nimport * as React from 'react';\r\nimport Helmet from 'react-helmet';\r\n\r\ndeclare var require: any;\r\n\r\nconst FreshChat: any = require(\"react-freshchat\" as any).default;\r\n\r\nconst EliteWbChat = () => {\r\n return
\r\n \r\n \r\n \r\n \r\n
\r\n};\r\n\r\nexport default EliteWbChat;","\r\nimport * as React from 'react';\r\nimport { Crisp } from \"crisp-sdk-web\";\r\nconst CrispChatBot = ({ id }: { id: any }) => {\r\n React.useEffect(() => {\r\n Crisp.configure(id);\r\n }, []);\r\n return
\r\n};\r\n\r\nexport default CrispChatBot;","import 'antd/dist/antd.css';\r\nimport axios from \"axios\";\r\nimport { ConnectedRouter, push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport 'react-app-polyfill/ie9';\r\nimport Helmet from 'react-helmet';\r\nimport { Provider } from \"react-redux\";\r\nimport ReduxToastr from 'react-redux-toastr';\r\nimport \"react-redux-toastr/lib/css/react-redux-toastr.min.css\";\r\nimport { Col, Label } from \"reactstrap\";\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\nimport { ExternalRoutes } from \"../src/Routes/index\";\r\nimport ErrorBoundary from './components/AdvancedComponents/ErrorBoundary';\r\nimport Lazy from './components/Lazy';\r\nimport { CallLocalRequestGetNoCache, GetAxiosResponse } from './Helpers/axiosHelpers';\r\nimport { CheckIfIsExternalPage, ConvertIntoDictionary, DisplayZendDeskChat, getImagesURL_LDN, ReturnSelectOptions, toDataUrl } from './Helpers/DataHelpers';\r\nimport { GetCompanyDataResult, LoadCompanyLogoResult, YoonitRequest } from './Interfaces/Interfaces';\r\nimport { Login, Logout } from './redux/actions/AuthActions';\r\nimport { UpdateCompanyData } from './redux/actions/CompanyDataAction';\r\nimport { UpdateCompanySettings } from './redux/actions/CompanySettingsAction';\r\nimport { UpdateLanguageOptions } from './redux/actions/LanguageOptionsAction';\r\nimport { RemoveAllMessages } from './redux/actions/NotificationActions';\r\nimport { ClearPushNotifications } from './redux/actions/PushNotificationActions';\r\nimport { CheckSignalR } from './redux/actions/SignalRAction';\r\nimport { enableBlackRedTheme, enableDarkTheme, enableIGainTheme, enableLightTheme, enableMixTheme, enableNavyTheme, enableOrangeTheme, enableLDNTheme, enableTNFXTheme_OrangeDark, enableATFXTheme, enableACMTheme, enableAvantTheme, enablePrimexTheme, enableGMCTheme, enableGivTradeTheme, enableiQuotoTheme, enablePureNorthTheme, enableOrbitLight, enableOrbitDark, enableGold, enableBrownTheme } from './redux/actions/themeActions';\r\nimport { HandleUserConnectivity } from './redux/actions/UserConnectivityAction';\r\nimport store, { history, persistor } from \"./redux/store\";\r\nimport Routes from \"./Routes/Routes\";\r\nimport { LiveChat } from './components/ReusableComponents/ReusableElements/BasicElements';\r\nimport i18n from './i18n';\r\nimport { ChangeLanguage } from './redux/actions/languageAction';\r\nimport EliteWbChat from './Pages/CompanyWidgets/EliteWbChat';\r\nimport CrispChatBot from './Pages/CompanyWidgets/CrispChatBot';\r\n\r\nexport interface AppProps {\r\n}\r\ndeclare var require: any\r\n\r\nexport interface AppState {\r\n DisplayExternalPage: boolean;\r\n icon: string;\r\n GetURL: string;\r\n titleName: string;\r\n googleAdsCode: any;\r\n googleAdsCodeName: any;\r\n googleAnalyticsCode: any;\r\n googleAnalyticsCodeName: any;\r\n GetCompanyDataResult: GetCompanyDataResult;\r\n companyCode: any;\r\n openOfflinePopup: boolean;\r\n isopenUserActivity: boolean;\r\n timeoutID: any;\r\n}\r\nclass App extends React.Component {\r\n state = {\r\n DisplayExternalPage: false,\r\n titleName: '',\r\n googleAdsCode: 'null',\r\n googleAdsCodeName: 'null',\r\n googleAnalyticsCode: 'null',\r\n googleAnalyticsCodeName: 'null',\r\n GetCompanyDataResult: new GetCompanyDataResult(),\r\n icon: '',\r\n GetURL: \"\",\r\n companyCode: \"\",\r\n openOfflinePopup: false,\r\n isopenUserActivity: false,\r\n timeoutID: null as any,\r\n }\r\n //#region tCheck inactivity \r\n checkUserActivity = () => {\r\n window.addEventListener(\"mousemove\", this.resetTimer, false);\r\n window.addEventListener(\"mousedown\", this.resetTimer, false);\r\n window.addEventListener(\"keypress\", this.resetTimer, false);\r\n window.addEventListener(\"DOMMouseScroll\", this.resetTimer, false);\r\n window.addEventListener(\"mousewheel\", this.resetTimer, false);\r\n window.addEventListener(\"touchmove\", this.resetTimer, false);\r\n window.addEventListener(\"MSPointerMove\", this.resetTimer, false);\r\n\r\n this.startTimer();\r\n }\r\n resetTimer = (e: any) => {\r\n window.clearTimeout(this.state.timeoutID);\r\n this.goActive();\r\n }\r\n startTimer = () => {\r\n // wait 7200000 millseconds ,2hrs before calling goInactive\r\n this.setState({ timeoutID: window.setTimeout(this.goInactive, 7200000) })\r\n }\r\n goInactive = () => {\r\n if (!this.state.openOfflinePopup)\r\n this.openUserActivity();\r\n }\r\n\r\n goActive = () => {\r\n if (!this.state.openOfflinePopup)\r\n this.closeUserActivity();\r\n this.startTimer();\r\n }\r\n //#endregion\r\n CheckIfIsAnInternalRoute = (): boolean => {\r\n if (!window?.location?.href) return false;\r\n for (let route of ExternalRoutes) {\r\n if (window?.location?.href && window?.location?.href.toLowerCase().includes(route.path.toLowerCase())) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n componentDidMount() {\r\n toDataUrl(`${getImagesURL_LDN(\r\n store?.getState()?.CompanyData?.BannerCDNURL,\r\n store?.getState()?.auth?.CompanyData?.CompanyName,\r\n store?.getState()?.CompanyData?.CDNURL)}connection.png`, function (myBase64: any) {\r\n //console.log(myBase64); // myBase64 is the base64 string\r\n window.localStorage.setItem(\"connectionImg\", myBase64);\r\n });\r\n if (this.CheckIfIsAnInternalRoute()) {\r\n //console.log(\"External\");\r\n } else {\r\n this.CheckActivityAndInternetStatus();\r\n }\r\n\r\n window.onstorage = () => {\r\n if (window?.localStorage?.getItem(\"STORAGE-KEY\")) {\r\n let _storageKey = JSON.parse(String(window.localStorage.getItem(\"STORAGE-KEY\")));\r\n //console.log({ _storageKey }, _storageKey?.action);\r\n if (_storageKey && _storageKey?.action === \"AUTH_LOGOUT\" && store?.getState()?.auth?.isAuth) {//check auth so don run in loop\r\n this.Logout();\r\n }\r\n if (_storageKey && _storageKey?.action === \"AUTH_LOGIN\"\r\n //&& !store?.getState()?.auth?.isAuth\r\n && window?.location?.href.toLowerCase().endsWith('/login')) {\r\n store.dispatch(Login(_storageKey?.actionPayload));\r\n store.dispatch(push('/'));\r\n }\r\n\r\n }\r\n };\r\n this.GetCompanyData();\r\n this.LoadZendesk();\r\n\r\n }\r\n openUserActivity = () => {\r\n this.setState({ isopenUserActivity: true })\r\n store.dispatch(HandleUserConnectivity(false));\r\n }\r\n closeUserActivity = () => {\r\n if (store && !store.getState().UserConnectivity) {\r\n this.CheckToken();\r\n store.dispatch(HandleUserConnectivity(true));//only trigger when false to set true\r\n }\r\n this.setState({ isopenUserActivity: false }); //online\r\n }\r\n openOfflinePopup = () => {\r\n //store.dispatch(push('/Offline'));//keep Code in page(just remove page) resource nto loaded if reditrect to new page\r\n this.setState({ openOfflinePopup: true, isopenUserActivity: false })//ffline os inactive is false as diffwrnt actions\r\n store.dispatch(HandleUserConnectivity(false));\r\n }\r\n closeOfflinePopup = () => {\r\n if (store && !store.getState().UserConnectivity) {\r\n this.CheckToken(true);\r\n }\r\n this.setState({ openOfflinePopup: false }); //online\r\n store.dispatch(HandleUserConnectivity(true));\r\n //store.dispatch(push('/'));\r\n }\r\n LoadCompanyLogoJson = () => {\r\n CallLocalRequestGetNoCache\r\n (`${store.getState().CompanyData.BannerCDNURL}${store.getState().CompanyData.CompanyCode?.toLowerCase().trim()}/logo/JsonData.json`,\r\n {}, (res: any) => {\r\n if (res.data) {\r\n let Logs: any = res.data;\r\n let _icon = Logs.Icon;\r\n _icon = (_icon === '' || _icon === null) ? `` : _icon;//${store?.getState()?.CompanyData?.BannerCDNURL}\r\n store.dispatch(UpdateCompanySettings(\r\n {\r\n CompanyName: Logs.CompanyName,\r\n CompanySite: Logs.CompanySite,\r\n IsCircular: Logs.IsCircular ? true : false,\r\n LightLogo: Logs.LightLogo,\r\n DarkLogo: Logs.DarkLogo,\r\n Icon: _icon,\r\n SecondaryIcon: Logs.SecondaryIcon,\r\n }\r\n ));\r\n this.setState({ icon: `${_icon}` })\r\n } else {\r\n store.dispatch(UpdateCompanySettings(new LoadCompanyLogoResult()));\r\n }\r\n }, () => {\r\n //this.LoadCompanyLogoDefaultJson()no need \r\n store.dispatch(UpdateCompanySettings(new LoadCompanyLogoResult()));\r\n });\r\n }\r\n CheckToken = (reload?: boolean) => {\r\n axios.post(\"api/auth/CheckToken\", { Token: store.getState().auth.UserData.Token })\r\n .then(res => {\r\n if (res.data) {\r\n store.dispatch(CheckSignalR()); //check if on will triggrer again\r\n if (reload) {\r\n window.location.reload();\r\n }\r\n }\r\n else {\r\n store.dispatch(Logout());\r\n store.dispatch(push('/login'));\r\n }\r\n })\r\n .catch((e: any) => {\r\n store.dispatch(Logout());\r\n store.dispatch(push('/login'));\r\n console.error(e);\r\n });\r\n }\r\n\r\n GetCompanyData = () => {\r\n axios.post(\"api/auth/GetCompanyData\")\r\n .then(res => {\r\n store.dispatch(UpdateCompanyData(res.data ? res.data : new GetCompanyDataResult()));\r\n this.UpdateLanguageOptions(res.data.CompanyCode, res.data.YoonitGetURL, res.data.DefaultLanguage);\r\n this.setState({ googleAdsCode: res.data.GoogleAdsCode });\r\n this.setState({ googleAdsCodeName: \"https://www.googletagmanager.com/gtag/js?id=\" + res.data.GoogleAdsCode });\r\n this.setState({ googleAnalyticsCode: res.data.GoogleAnalyticsCode });\r\n this.setState({ googleAnalyticsCodeName: \"https://www.googletagmanager.com/gtag/js?id=\" + res.data.GoogleAnalyticsCode });\r\n this.setState({ titleName: res?.data?.HeaderTitle || \"Portal\" });\r\n this.setState({\r\n companyCode: res.data.CompanyCode,\r\n GetURL: res.data.YoonitGetURL,\r\n }, this.LoadCompanyLogoJson);\r\n this.setState({ GetCompanyDataResult: res.data });\r\n if (store && store.getState() && store.getState().theme && store.getState().theme.currentTheme) {\r\n if (store.getState().theme.currentTheme === 'addons-MixTheme')\r\n store.dispatch(enableMixTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-DarkTheme')\r\n store.dispatch(enableDarkTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-OrangeTheme')\r\n store.dispatch(enableOrangeTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-LightTheme')\r\n store.dispatch(enableLightTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-BlackRedTheme')\r\n store.dispatch(enableBlackRedTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-NavyTheme')\r\n store.dispatch(enableNavyTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-IGainTheme')\r\n store.dispatch(enableIGainTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-LDNTheme')\r\n store.dispatch(enableLDNTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-TNFXTheme')\r\n store.dispatch(enableTNFXTheme_OrangeDark());\r\n else if (store.getState().theme.currentTheme === 'addons-ATFXTheme')\r\n store.dispatch(enableATFXTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-ACMTheme')\r\n store.dispatch(enableACMTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-GMCTheme')\r\n store.dispatch(enableGMCTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-AvantTheme')\r\n store.dispatch(enableAvantTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-PrimexTheme')\r\n store.dispatch(enablePrimexTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-GivTradeTheme')\r\n store.dispatch(enableGivTradeTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-iQuotoTheme')\r\n store.dispatch(enableiQuotoTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-PureNorthTheme')\r\n store.dispatch(enablePureNorthTheme());\r\n else if (store.getState().theme.currentTheme === 'addons-Orbit-Light')\r\n store.dispatch(enableOrbitLight());\r\n else if (store.getState().theme.currentTheme === 'addons-Orbit-Dark')\r\n store.dispatch(enableOrbitDark());\r\n else if (store.getState().theme.currentTheme === 'addons-GoldTheme')\r\n store.dispatch(enableGold());\r\n else if (store.getState().theme.currentTheme === 'addons-BrownTheme')\r\n store.dispatch(enableBrownTheme());\r\n }\r\n else {\r\n if (res?.data?.DefaultTheme) {\r\n if (res.data.DefaultTheme === 'mix')\r\n store.dispatch(enableMixTheme());\r\n else if (res.data.DefaultTheme === 'dark')\r\n store.dispatch(enableDarkTheme());\r\n else if (res.data.DefaultTheme === 'orange')\r\n store.dispatch(enableOrangeTheme());\r\n else if (res.data.DefaultTheme === 'blackRed') {\r\n store.dispatch(enableBlackRedTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'navy') {\r\n store.dispatch(enableNavyTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'greenGrey') {\r\n store.dispatch(enableIGainTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'orangeBlack') {\r\n store.dispatch(enableLDNTheme());\r\n } else if (res.data.DefaultTheme === 'orangeDark') {\r\n store.dispatch(enableTNFXTheme_OrangeDark());\r\n }\r\n else if (res.data.DefaultTheme === 'orangeWhite') {\r\n store.dispatch(enableATFXTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'greenBlack') {\r\n store.dispatch(enableACMTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'gmcOrange') {\r\n store.dispatch(enableGMCTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'grey') {\r\n store.dispatch(enableAvantTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'primexOrange') {\r\n store.dispatch(enablePrimexTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'givBlackGreen') {\r\n store.dispatch(enableGivTradeTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'iQuotoBlue') {\r\n store.dispatch(enableiQuotoTheme());\r\n }\r\n else if (res.data.DefaultTheme === 'PureNorthTheme')\r\n store.dispatch(enablePureNorthTheme());\r\n else if (res.data.DefaultTheme === 'OrbitLight')\r\n store.dispatch(enableOrbitLight());\r\n else if (res.data.DefaultTheme === 'OrbitDark')\r\n store.dispatch(enableOrbitDark());\r\n else if (res.data.DefaultTheme === 'Gold')\r\n store.dispatch(enableGold());\r\n else if (res.data.DefaultTheme === 'Brown')\r\n store.dispatch(enableBrownTheme())\r\n else //default\r\n store.dispatch(enableLightTheme());\r\n }\r\n else\r\n store.dispatch(enableLightTheme());\r\n }\r\n })\r\n .catch((e: any) => {\r\n console.error(e);\r\n store.dispatch(UpdateCompanyData(new GetCompanyDataResult()));\r\n });\r\n }\r\n\r\n Logout = () => {\r\n store.dispatch(ClearPushNotifications({\r\n PushNotificationStatus: [],\r\n signalRIsConnected: false\r\n }));\r\n store.dispatch(RemoveAllMessages());\r\n store.dispatch(Logout());\r\n store.dispatch(push('/'));\r\n }\r\n\r\n CheckActivityAndInternetStatus = () => {\r\n store.dispatch(CheckSignalR()); // reconnect if off //may just need in listeners\r\n window.addEventListener(\"online\", this.closeOfflinePopup);\r\n window.addEventListener(\"offline\", this.openOfflinePopup);\r\n //window.addEventListener(\"mouseout\", () => console.log(\"Enttterrr\"));\r\n this.checkUserActivity();\r\n }\r\n navigateToLogin = () => {\r\n store.dispatch(push('/login'));\r\n }\r\n UpdateLanguageOptions = async (CompanyName: string, yoonitGetURL: string, DefaultLanguage: string) => {\r\n let _languagesOptions: any[] | null = await this.GetLanguageOptions(CompanyName, yoonitGetURL);\r\n if (_languagesOptions && _languagesOptions.length > 0) {\r\n let _Dict = ConvertIntoDictionary(_languagesOptions, \"value\");//ass it is casted now\r\n store.dispatch(UpdateLanguageOptions({ Options: _languagesOptions, Dict: _Dict }));\r\n if (!store?.getState()?.auth?.isAuth && !!DefaultLanguage && store?.getState()?.language?.isDefault && CheckIfIsExternalPage(window?.location?.href)) {\r\n this.onLanguageChange(_Dict[DefaultLanguage]);\r\n\r\n } else {\r\n this.setState({ DisplayExternalPage: true });\r\n }\r\n } else {\r\n this.setState({ DisplayExternalPage: true });\r\n }\r\n }\r\n GetLanguageOptions = async (CompanyName: string, yoonitGetURL: string) => {\r\n try {\r\n let GetClientListParams: YoonitRequest = {\r\n CompanyName: CompanyName,//link wrong as value of it from company settings \r\n };\r\n const res: any = await GetAxiosResponse(\r\n yoonitGetURL,// store.getState().auth.UserData.yoonitGetURL\r\n `External/GetLanguageOptions`,\r\n GetClientListParams,\r\n { Token: null },\r\n () => { },\r\n () => { },\r\n (value: any) => String(value),\r\n true, //external\r\n true\r\n );\r\n return ReturnSelectOptions(res?.data?.ListRes ? res.data.ListRes : [], \"Code\", \"Name\");\r\n } catch (e) {\r\n console.error(\"GetLanguageOptions: \", e);\r\n return [];\r\n }\r\n }\r\n LoadZendesk = () => {\r\n //function CheckIfIsExternalPage(href: any): boolean {\r\n // if (!href) return false;\r\n // for (let route of ExternalRoutes) {\r\n // if (href && href.toLowerCase().includes(route.path.toLowerCase())) {\r\n // return true;\r\n // }\r\n // }\r\n // return false;\r\n //}\r\n //let _self = this;\r\n //let tag = document.createElement('script');\r\n //tag.async = true;\r\n //tag.id = \"ze-snippet\";\r\n //tag.src = 'https://static.zdassets.com/ekr/snippet.js?key=84807906-e8ec-41e0-b7a0-ab70afeb4600';\r\n //tag.onload = function () {\r\n // if (!store?.getState()?.auth?.UserData?.isAdmin || CheckIfIsExternalPage(window?.location?.href)) {\r\n // DisplayZendDeskChat(false);\r\n // } else {\r\n // DisplayZendDeskChat(true);\r\n // }\r\n //};\r\n //let head = document.getElementsByTagName('head')[0];\r\n ////head.appendChild(tag);\r\n //try {\r\n // document.head.appendChild(tag);\r\n //} catch (e) {\r\n // console.error(\"ZendDesk\", e);\r\n //}\r\n ////let body = document.getElementsByTagName('body')[0];\r\n ////body.appendChild(tag);//loaded after load page //as in index.html wont work \r\n }\r\n onLanguageChange = async (selectedLanguage: any) => {\r\n await store.dispatch(ChangeLanguage(selectedLanguage));\r\n await i18n.changeLanguage(selectedLanguage.value);\r\n document.documentElement.setAttribute('lang', selectedLanguage.value);\r\n if (selectedLanguage.value === \"ar\") {\r\n document.documentElement.setAttribute('dir', \"rtl\");\r\n }\r\n else {\r\n document.documentElement.setAttribute('dir', \"ltr\");\r\n }\r\n this.setState({ DisplayExternalPage: true });//as langauge change \r\n }\r\n render() {\r\n if (!store?.getState()?.auth?.UserData?.isAdmin || CheckIfIsExternalPage(window?.location?.href) || !store?.getState()?.auth?.isAuth) {\r\n DisplayZendDeskChat(false);\r\n } else {\r\n DisplayZendDeskChat(true);\r\n }\r\n return (\r\n }>\r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.openOfflinePopup &&\r\n
\r\n {this.RenderOfflienPopup()}\r\n
\r\n }\r\n {!this.state.openOfflinePopup && this.state.isopenUserActivity &&\r\n
\r\n {this.RenderUserActivityPopup()}\r\n
\r\n }\r\n
\r\n
\r\n \r\n {this.state.titleName}\r\n \r\n {this.state.googleAdsCode &&\r\n this.state.googleAdsCode.toLowerCase() !== 'null' &&\r\n &&\r\n \r\n }\r\n {this.state.googleAnalyticsCode &&\r\n this.state.googleAnalyticsCode.toLowerCase() !== '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 RenderOfflienPopup = (): React.ReactNode => {\r\n let img: any = window.localStorage.getItem(\"connectionImg\") ? window.localStorage.getItem(\"connectionImg\") : 'not load';\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 RenderUserActivityPopup = (): React.ReactNode => {\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 checkIFDefaultLanguageLoaded = () => {\r\n return (this.state.DisplayExternalPage || !store?.getState()?.language?.isDefault || !CheckIfIsExternalPage(window?.location?.href));\r\n }\r\n}\r\n\r\nexport default App;\r\n","import * as types from \"../constants\";\r\n\r\nexport function UpdateLanguageOptions(payload: types.ILanguageData): types.IUpdateLanguageOptions {\r\n return {\r\n type: types.UPDATE_LANGAUGE_OPTIONS,\r\n payload\r\n };\r\n}\r\n","import * as React from 'react';\r\n\r\nexport interface BrowserNotSuportedProps {\r\n}\r\n\r\nexport interface BrowserNotSuportedState {\r\n}\r\ndeclare var require: any;\r\nconst unsupportedbrower = require(\"../src/Assets/imgs/notsuported.jpg\") as string;\r\nclass BrowserNotSuported extends React.Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BrowserNotSuported;","import \"react-app-polyfill/ie11\";\r\nimport 'react-app-polyfill/ie9';\r\nimport 'react-app-polyfill/stable';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport '../src/components/yoonit.css'\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { createBrowserHistory } from 'history';\r\nimport App from './App';\r\nimport { CheckBrowserType } from './Helpers/BrowserHelper';\r\nimport BrowserNotSuported from './BrowserNotSuported';\r\nimport './i18n';\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\nimport store, { persistor } from \"./redux/store\";\r\n\r\n// Create browser history to use in the Redux store\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href') as string;\r\nconst history = createBrowserHistory({ basename: baseUrl });\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\n\r\nif (CheckBrowserType() !== 'IE') {\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root'));\r\n\r\n}\r\nelse\r\n ReactDOM.render(, document.getElementById(\"root\"));\r\n\r\n\r\n","declare global {\r\n interface Document {\r\n documentMode?: any;\r\n }\r\n}\r\nexport function CheckBrowserType() {\r\n if ((navigator.userAgent.indexOf(\"Opera\") || navigator.userAgent.indexOf('OPR')) !== -1) {\r\n return 'Opera';\r\n }\r\n else if (navigator.userAgent.indexOf(\"Chrome\") !== -1) {\r\n return 'Chrome';\r\n }\r\n else if (navigator.userAgent.indexOf(\"Safari\") !== -1) {\r\n return 'Safari';\r\n }\r\n else if (navigator.userAgent.indexOf(\"Firefox\") !== -1) {\r\n return 'Firefox';\r\n }\r\n else if ((navigator.userAgent.indexOf(\"MSIE\") !== -1) || (!!document.documentMode === true)) //IF IE > 10 //edit here check result\r\n {\r\n return 'IE';\r\n }\r\n else {\r\n return 'unknown';\r\n }\r\n\r\n}","import * as types from \"../constants\";\r\n\r\n\r\nexport function ChangeLanguage(lang:types.LanguageOption): types.LanguageActionsTypes { \r\n return {\r\n type: types.CHANGE_LANGUAGE,\r\n payload: lang\r\n };\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nexport function PushNotification(newNotifcation: types.PushNotificationStatusClass): types.PushNotifications {\r\n return {\r\n type: types.Push_Notifications,\r\n payload: newNotifcation\r\n };\r\n}\r\nexport function SetSignalR(Connected: boolean): types.SignalR {\r\n return {\r\n type: types.SIGNAL_R,\r\n payload: Connected\r\n };\r\n}\r\nexport function ClearPushNotifications(state: types.PushNotificationStatusClass): types.ClearPushNotifications {\r\n return {\r\n type: types.CLEAR_PUSH_NOTIFICATIONS,\r\n };\r\n}\r\n","//External Pages\r\nimport { lazy } from 'react';\r\nimport { ICompanyData, IPerms, GetClientData } from '../redux/constants';\r\nimport { UserPermissionOBjectClass } from '../Interfaces/Interfaces';\r\nimport { GetPermissionDetailsByName, CheckIfPermAlllowedByName, GetReportsPerms, CheckIfCompanyIs } from '../Helpers/DataHelpers';\r\n//#region pages\r\nconst SignIn = lazy(() => import('../Pages/Auth/SignIn'));\r\nconst OfflinePage = lazy(() => import('../Pages/Auth/OfflinePage'));\r\nconst ResetPassword = lazy(() => import('../Pages/Auth/ResetPassword'));\r\nconst BridgerPay = lazy(() => import('../Pages/Auth/Payments/BridgerPay'));\r\nconst OperationRequests = lazy(() => import('../Pages/BackOffice/OperationRequest'));\r\nconst ApplicationRequest = lazy(() => import('../Pages/BackOffice/ApplicationRequest'));\r\nconst OperationLogs = lazy(() => import('../Pages/Reports/OperationLogs/OperationLogs'));\r\nconst DynamicReport = lazy(() => import('../Pages/Reports/DynamicReport'));\r\nconst Transactions = lazy(() => import('../Pages/Reports/Transactions'));\r\nconst BonusReports = lazy(() => import('../Pages/Reports/BonusReports'));\r\nconst BonusReferralReport = lazy(() => import('../Pages/Reports/BonusReferralReport'));\r\nconst ClientPage = lazy(() => import('../Pages/Client/ClientPage'));\r\nconst Wallet = lazy(() => import('../Pages/Client/Wallet'));\r\nconst ApplicationAdmin = lazy(() => import('../Pages/OnBoarding/ApplicationAdmin'));\r\nconst EachClientApplicationNote = lazy(() => import('../Pages/OnBoarding/EachClientApplicationNote'));\r\nconst DeletedClients = lazy(() => import('../Pages/Client/DeletedClients'));\r\nconst ClientMainPage = lazy(() => import('../Pages/Client/ClientMainPage'));\r\nconst DocumentsExpiration = lazy(() => import('../Pages/Reports/DocumentsExpiration'));\r\nconst RegistrationLogs = lazy(() => import('../Pages/Reports/RegistrationLogs'));\r\nconst BonusPromotion = lazy(() => import('../Pages/Bonus/BonusPromotion'));\r\nconst EachPromotion = lazy(() => import('../Pages/Bonus/EachPromotion'));\r\nconst LeadPage = lazy(() => import('../Pages/Lead/LeadPage'));\r\nconst LeadMainPage = lazy(() => import('../Pages/Lead/LeadMainPage'));\r\nconst ContactPage = lazy(() => import('../Pages/Contact/ContactsPage'));\r\nconst ContactMainPage = lazy(() => import('../Pages/Contact/ContactMainPage'));\r\nconst Task = lazy(() => import('../Pages/Task/Tasks'));\r\nconst Notes = lazy(() => import('../Pages/User/Notes'));\r\nconst Dashboard = lazy(() => import('../Pages/Dashboard'));\r\nconst DashboardAdmin = lazy(() => import('../Pages/DashboardAdmin/Dashboard'));\r\nconst MyWallet = lazy(() => import('../Pages/MyWallet/MyWallet'));\r\nconst MAMProfiles = lazy(() => import('../Pages/MAM/MAMProfile'));\r\nconst InvestorMAM = lazy(() => import('../Pages/MAM/InvestorMAM'));\r\nconst SignalProfile = lazy(() => import('../Pages/MAM/SignalProfile'));\r\nconst CopiersPage = lazy(() => import('../Pages/MAM/CopiersPage'));\r\n//const MAMprofiletemplate = lazy(() => import('../Pages/MAM/MAMProfileTemplate'));\r\nconst PerformanceFees = lazy(() => import('../Pages/Reports/PerformanceFees'));\r\nconst SignalsPerformanceFees = lazy(() => import('../Pages/Reports/SignalsPerformanceFees'));\r\n//const PendingOrders = lazy(() => import('../Pages/Portfolio/PendingOrders'));\r\nconst AccountLogs = lazy(() => import('../Pages/Logs/AccountLogs'));\r\nconst TransactionLogs = lazy(() => import('../Pages/Logs/TransactionLogs'));\r\nconst MonthlyFees = lazy(() => import('../Pages/Portfolio/MonthlyFees'));\r\nconst FeesPerformanceTracker = lazy(() => import('../Pages/Portfolio/FeesPerformanceTracker'));\r\nconst TradeHistorySummary = lazy(() => import('../Pages/Portfolio/TradeHistorySummary'));\r\nconst Signals = lazy(() => import('../Pages/Signals/Signals'));\r\nconst AnalystView = lazy(() => import('../Pages/CompanyWidgets/AnalystView'));\r\nconst WebTerminal = lazy(() => import('../Pages/CompanyWidgets/WebTerminal'));\r\nconst WebTrader = lazy(() => import('../Pages/CompanyWidgets/WebTrader'));\r\nconst MarketCalendar = lazy(() => import('../Pages/CompanyWidgets/MarketCalendar'));\r\nconst Platforms = lazy(() => import('../Pages/CompanyWidgets/ElitePlatforms'));\r\nconst Investors = lazy(() => import('../Pages/Portfolio/Investors'));\r\nconst InvestorsTracker = lazy(() => import('../Pages/Portfolio/InvestorsTracker'));\r\nconst CopiersClientPage = lazy(() => import('../Pages/Portfolio/CopiersClientPage'));\r\nconst OpenPositionSummary = lazy(() => import('../Pages/Portfolio/OpenPositionSummary/OpenPositionSummary'));\r\nconst MyAccounts = lazy(() => import('../Pages/Manage/MyAccounts'));\r\nconst MyDemoAccounts = lazy(() => import('../Pages/Manage/DemoAccount'));\r\nconst DemoAccountCard = lazy(() => import('../Pages/Manage/MyAccountsTab/NewDemoAccountCard'));\r\nconst NewAccount = lazy(() => import('../Pages/Manage/MyAccountsTab/NewAccountCard'));\r\nconst CreditCardValidation = lazy(() => import('../Pages/Manage/MyAccountsTab/CreditCardValidation'));\r\nconst CPAReport = lazy(() => import('../Pages/IB/CPAReport'));\r\nconst SubIB = lazy(() => import('../Pages/IB/SubIB'));\r\nconst ClientIBTree = lazy(() => import('../Pages/IB/ClientIBTree'));\r\nconst AccountStatement = lazy(() => import('../Pages/IB/AccountStatement'));\r\nconst Leads = lazy(() => import('../Pages/IB/Leads'));\r\nconst IBClients = lazy(() => import('../Pages/IB/IBClients'));\r\nconst BreakdownReport = lazy(() => import('../Pages/IB/BreakdownReport'));\r\nconst BreakdownAdminReport = lazy(() => import('../Pages/IBAdmin/BreakdownReport'));\r\nconst Promotion = lazy(() => import('../Pages/IB/Promotion'));\r\nconst HistoricalPerformance = lazy(() => import('../Pages/Analytics/HistoricalPerformance'));\r\nconst Trades = lazy(() => import('../Pages/Analytics/Trades'));\r\nconst Overview = lazy(() => import('../Pages/Analytics/Overview'));\r\nconst RiskMeasures = lazy(() => import('../Pages/Analytics/RiskMeasures'));\r\nconst ContactUs = lazy(() => import('../Pages/ClientSettings/ContactUs'));\r\nconst CardJson = lazy(() => import('../Pages/Manage/ApplicationFormCards/CardJson'));\r\nconst ApplicationFormCard = lazy(() => import('../Pages/Manage/ApplicationFormCard'));\r\nconst ReviewCard = lazy(() => import('../Pages/Manage/ApplicationFormCards/ReviewCard'));\r\nconst PaymentPending = lazy(() => import('../Pages/Manage/PaymentPending'));\r\nconst PaymentSuccess = lazy(() => import('../Pages/Manage/PaymentSuccess'));\r\nconst PaymentFailure = lazy(() => import('../Pages/Manage/PaymentFailure'));\r\nconst PaymentCancelled = lazy(() => import('../Pages/Manage/PaymentCancelled'));\r\nconst FirstUser = lazy(() => import('../Pages/ClientSettings/FirstUser'));\r\nconst CreateAccount = lazy(() => import('../Pages/ClientSettings/CreateAccount'));\r\nconst RealAccountWrapper = lazy(() => import('../components/Wrappers/RealAccountWrapper'));\r\nconst ConfirmResetPassword = lazy(() => import('../Pages/Auth/ConfirmResetPassword'));\r\nconst PasswordConfirmed = lazy(() => import('../Pages/Auth/PasswordConfirmed'));\r\nconst ActivateUser = lazy(() => import('../Pages/Auth/ActivateUser'));\r\nconst ThankYouPage = lazy(() => import('../Pages/Auth/ThankYouPage'));\r\nconst DemoAccountSuccess = lazy(() => import('../Pages/Auth/DemoAccountSuccess'));\r\nconst NotAuth = lazy(() => import('../Pages/Auth/NotAuth'));\r\nconst HomePage = lazy(() => import('../Pages/ClientSettings/HomePage'));\r\nconst DemoAccountIframe = lazy(() => import('../Pages/ClientSettings/DemoAccount'));\r\nconst DemoAccountWrapper = lazy(() => import('../components/Wrappers/DemoAccountWrapper'));\r\nconst PromoCodeIframe = lazy(() => import('../Pages/ClientSettings/PromoCode'));\r\nconst PromoCodeWrapper = lazy(() => import('../components/Wrappers/PromoCodeWrapper'));\r\nconst LiveAccount = lazy(() => import('../Pages/ClientSettings/LiveAccount'));\r\nconst FormSuccess = lazy(() => import('../Pages/ClientSettings/FormSuccess'));\r\nconst MyProfile = lazy(() => import('../Pages/ClientSettings/MyProfile'));\r\nconst IBAllocation = lazy(() => import('../Pages/IBAdmin/IBAllocation'));\r\nconst ProfileTemplates = lazy(() => import('../Pages/IBAdmin/ProfileTemplate'));\r\nconst EachProfile = lazy(() => import('../Pages/IBAdmin/EachProfile'));\r\nconst IBAccount = lazy(() => import('../Pages/IBAdmin/IBAccount'));\r\nconst CampaignLinks = lazy(() => import('../Pages/IBAdmin/CampaignLinks'));\r\nconst IBDetailedReport = lazy(() => import('../Pages/Reports/IBDetailedReport'));\r\nconst closetrades = lazy(() => import('../Pages/Reports/CloseTrades'));\r\nconst CPAReportIB = lazy(() => import('../Pages/Reports/CPAReport'));\r\nconst InvestorsReport = lazy(() => import('../Pages/Reports/InvestorsReport'));\r\nconst ClicksConversion = lazy(() => import('../Pages/Reports/ClicksConversion'));\r\nconst Logs = lazy(() => import('../Pages/Logs/Logs'));\r\nconst AccountTypes = lazy(() => import('../Pages/Settings/AccountTypes'));\r\nconst Pools = lazy(() => import('../Pages/Settings/Pools'));\r\n//const PoolSettings = lazy(() => import('../Pages/Settings/Pools/PoolSettings'));\r\nconst CLientIDRange = lazy(() => import('../Pages/Settings/Pools/CLientIDRange'));\r\nconst Templates = lazy(() => import('../Pages/Settings/Pools/Templates'));\r\nconst WalletCurrencies = lazy(() => import('../Pages/Settings/Pools/WalletCurrencies'));\r\nconst Countries = lazy(() => import('../Pages/Settings/Pools/Countries'));\r\nconst ClientCountries = lazy(() => import('../Pages/Settings/Pools/ClientCountries'));\r\nconst ApplicationSettings = lazy(() => import('../Pages/Settings/Pools/ApplicationSettings'));\r\nconst IBCodeRange = lazy(() => import('../Pages/Settings/AccountTypes/IBCodeRange'));\r\nconst AccountCurrency = lazy(() => import('../Pages/Settings/AccountTypes/AccountCurrency'));\r\nconst AccountLeverage = lazy(() => import('../Pages/Settings/AccountTypes/AccountLeverage'));\r\nconst LoginRanges = lazy(() => import('../Pages/Settings/AccountTypes/LoginRanges'));\r\nconst RegistrationGroups = lazy(() => import('../Pages/Settings/AccountTypes/RegistrationGroups'));\r\nconst PortalSettings = lazy(() => import('../Pages/Settings/PortalSettings'));\r\nconst Synchronize = lazy(() => import('../Pages/Settings/PortalSettings/Synchronize'));\r\nconst SystemNotifications = lazy(() => import('../Pages/Settings/PortalSettings/SystemNotifications'));\r\nconst DynamicMarginSettings = lazy(() => import('../Pages/Settings/PortalSettings/DynamicMarginSettings'));\r\nconst AffiliateSettings = lazy(() => import('../Pages/Settings/PortalSettings/AffiliateSettings'));\r\nconst MAMSettings = lazy(() => import('../Pages/Settings/PortalSettings/MAMSettings'));\r\nconst CompanySMTP = lazy(() => import('../Pages/Settings/PortalSettings/CompanySMTP'));\r\n//const DepositWithdrawalRate = lazy(() => import('../Pages/Settings/PortalSettings/DepositWithdrawalRate'));\r\nconst PaymentMethod = lazy(() => import('../Pages/Settings/PortalSettings/PaymentMethod'));\r\n//const PlatformLinks = lazy(() => import('../Pages/Settings/PortalSettings/PlatformLinks'));\r\nconst EmailTemplate = lazy(() => import('../Pages/Settings/PortalSettings/EmailTemplate'));\r\nconst WebHookIntegrations = lazy(() => import('../Pages/Settings/PortalSettings/WebHookIntegrations'));\r\n//const Synchronization = lazy(() => import('../Pages/Settings/PortalSettings/Synchronization'));\r\nconst PermessionsSettings = lazy(() => import('../Pages/Settings/PortalSettings/PermessionsSettings'));\r\nconst Teams = lazy(() => import('../Pages/Settings/PortalSettings/Teams'));\r\nconst EachUserPermission = lazy(() => import('../Pages/Settings/PortalSettings/EachUserPermission'));\r\nconst EachRole = lazy(() => import('../Pages/Settings/PortalSettings/EachRole'));\r\nconst BonusSetttings = lazy(() => import('../Pages/Settings/PortalSettings/BonusSetttings'));\r\nconst RegistrationTemplates = lazy(() => import('../Pages/Settings/PortalSettings/RegistrationTemplates'));\r\nconst TradingAccount = lazy(() => import('../Pages/Trader/TradingAccount'));\r\nconst DemoAccounts = lazy(() => import('../Pages/Trader/DemoAccounts'));\r\nconst SymbolProfle = lazy(() => import('../Pages/DynamicMargin/SymbolProfile'));\r\nconst AccountProfile = lazy(() => import('../Pages/DynamicMargin/AccountProfile'));\r\nconst HistoricalPerformanceAdmin = lazy(() => import('../Pages/Reports/Analytics/HistoricalPerformance'));\r\nconst TradesAdmin = lazy(() => import('../Pages/Reports/Analytics/Trades'));\r\nconst OverviewAdmin = lazy(() => import('../Pages/Reports/Analytics/Overview'));\r\nconst RiskMeasuresAdmin = lazy(() => import('../Pages/Reports/Analytics/RiskMeasures'));\r\nconst InvestorsTrackerAdmin = lazy(() => import('../Pages/Reports/Portfolio/InvestorsTracker'));\r\nconst TradeHistorySummaryAdmin = lazy(() => import('../Pages/Reports/Portfolio/TradeHistorySummary'));\r\n//#endregion\r\n\r\n//#region page Holders\r\nconst dashboardRedirect: any[] = [//To Redirect to login\r\n {\r\n path: \"/\",\r\n name: \"Dashboard\",\r\n component: Dashboard,\r\n\r\n closedMenu: false,\r\n subtab: ''\r\n }\r\n];\r\nconst dashboardRoutes: any[] = [\r\n\r\n];\r\nconst DynamicMarginRoutes: any[] = [\r\n\r\n];\r\nconst dashboardAdminRoutes: any[] = [\r\n {\r\n path: \"/\",\r\n name: \"Dashboard\",\r\n component: DashboardAdmin,\r\n closedMenu: false,\r\n subtab: ''\r\n }\r\n\r\n];\r\nconst MyWalletRoutes: any[] = [\r\n\r\n];\r\nconst manage: any[] = [\r\n]\r\nconst MAMRoutes: any[] = [\r\n\r\n]\r\n\r\nconst ReportsRoutes: any[] = [\r\n\r\n]\r\nconst LogsReport: any[] = [\r\n\r\n]\r\nconst TraderRoutes: any[] = [\r\n\r\n]\r\nconst IBRoutes: any[] = [\r\n];\r\nconst portalSettings: any[] = [\r\n];\r\nconst logsRoutes: any[] = [\r\n];\r\nconst RequestsRoutes: any[] = [\r\n\r\n];\r\nconst IBAdminRoutes: any[] = [\r\n\r\n];\r\n\r\nconst ClientRoutes: any[] = [\r\n\r\n];\r\nconst OnBoardingRoutes: any[] = [\r\n];\r\nconst BonusRoutes: any[] = [\r\n\r\n];\r\n\r\nconst privateRoutes = [\r\n {\r\n path: \"/client/myprofile\",\r\n name: \"Blank Page\",\r\n component: MyProfile,\r\n\r\n closedMenu: false,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/client/contactUs\",\r\n name: \"Blank Page\",\r\n component: ContactUs,\r\n\r\n closedMenu: false,\r\n subtab: ''\r\n }\r\n];\r\nconst PortfolioRoutes: any = [\r\n];\r\nconst TaskRoutes: any[] = [\r\n];\r\nconst NotesRoutes: any[] = [\r\n\r\n];\r\nconst SignalsRoutes: any[] = [\r\n\r\n];\r\nconst AnalyticsRoutes: any[] = [\r\n];\r\n//#endregion\r\n\r\nexport function InternalRoutes(this: any, isA: boolean, CompanyData: ICompanyData, UserPermissions: IPerms[], ClientData: GetClientData, isAuth: boolean) {\r\n let isElite: boolean = CheckIfCompanyIs(\"elite\");\r\n let isJKV: boolean = CheckIfCompanyIs(\"JKV\");\r\n let isOrbit: boolean = CheckIfCompanyIs(\"Orbit\");\r\n //#region Client\r\n var AllowAddDemoAcc = !isA && ClientData?.AllowAddDemoAcc;\r\n //IB\r\n var isClientIBPermssion: UserPermissionOBjectClass = GetPermissionDetailsByName('IB', UserPermissions);\r\n var isClientIB = !isA && CompanyData?.IsIB && isClientIBPermssion.Allowed;\r\n var isClientReporting: boolean = CheckIfPermAlllowedByName('Reporting', isClientIBPermssion.Perms);\r\n var isPromotion: boolean = CheckIfPermAlllowedByName('Promotion', isClientIBPermssion.Perms);\r\n var isClientBreakDownReport: boolean = CheckIfPermAlllowedByName('Breakdown Report', isClientIBPermssion.Perms);\r\n var isClientAccessSubIB: boolean = CheckIfPermAlllowedByName('Access SubIB', isClientIBPermssion.Perms);\r\n //CRM\r\n var isClientCRMPermssion: UserPermissionOBjectClass = GetPermissionDetailsByName('CRM', UserPermissions);\r\n var isClientCRM = !isA && CompanyData?.IsCRM && isClientCRMPermssion.Allowed;\r\n var ManageTradingAccount: boolean = CheckIfPermAlllowedByName('Manage Trading Account', isClientCRMPermssion.Perms);\r\n //MAM\r\n var isClientMM = !isA && CompanyData?.IsMM;\r\n //#region MAM parents\r\n var isClientMoneyManager: UserPermissionOBjectClass = GetPermissionDetailsByName('Money Manager', UserPermissions);\r\n var isClientInvestorCopier: UserPermissionOBjectClass = GetPermissionDetailsByName('Investor/Copier', UserPermissions);\r\n var isClientSignalMAMPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Signal', UserPermissions);//Copier\r\n //#endregion\r\n var LeaderBoard: boolean = CheckIfPermAlllowedByName('LeaderBoard', isClientInvestorCopier.Perms);\r\n var isRequireKYC = isKYCRequired();\r\n var isValid = !isA && (ClientData?.IsValid ? true : false);\r\n var isAccountExist = !isA && parseInt(String(ClientData?.NmbrOfAcc), 10) > 0;\r\n var isHasKYC = !isA && ClientData?.hasKYC;\r\n var isNotRequiredAndAccountExist = (!isRequireKYC && isAccountExist);\r\n var isRequiredKycSumbitedAndAccountExist = (isRequireKYC && isAccountExist && isHasKYC);\r\n var isRequiredKycAndSumbited = (isRequireKYC && isHasKYC);\r\n //#endregion\r\n //#region admin\r\n var isAdminBonus = isA && CompanyData?.IsBonus;\r\n var isAdminIB = isA && CompanyData?.IsIB;\r\n var isAdminMM = isA && CompanyData?.IsMM;\r\n var isAdminCRM = isA && CompanyData?.IsCRM;\r\n var isAdminDynamicMargin = isA && CompanyData?.IsDynamicMargin;\r\n var TraderUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Trader', UserPermissions);\r\n var ClientsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Clients', UserPermissions);\r\n var PartnersUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Partners', UserPermissions);\r\n var MAMUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('MAM', UserPermissions);\r\n var BackOfficeUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Back Office', UserPermissions);\r\n var BonusUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Bonus', UserPermissions);\r\n var OnBoardingUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('On Boarding', UserPermissions);\r\n var ReportsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Reports', UserPermissions);\r\n var NotesUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Notes', UserPermissions);\r\n var TasksUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Tasks', UserPermissions);\r\n var PortalSettingsUserPerms: UserPermissionOBjectClass = GetPermissionDetailsByName('Portal Settings', UserPermissions);\r\n var DynamicMargin: UserPermissionOBjectClass = GetPermissionDetailsByName('Dynamic Margin', UserPermissions);\r\n let LogsPermission: UserPermissionOBjectClass = GetPermissionDetailsByName('Logs', UserPermissions);\r\n let ViewAccountTypes: boolean = CheckIfPermAlllowedByName('View Account Types', TraderUserPerms.Perms);\r\n let { BonusReportsPerm, CRMREports, IBReports, DLReports, BackofficeReports, MAMReports } = GetReportsPerms(ReportsUserPerms);\r\n //#endregion\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB || isAdminDynamicMargin) {\r\n if (isAdminCRM || (isAdminMM) || isAdminIB || isAdminBonus) {//as to use Redirect\r\n //Dashboard Admin\r\n dashboardAdminRoutes.push()\r\n }\r\n //#region clientUser\r\n if (ClientsUserPerms.Allowed) {\r\n if ((isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB)) {\r\n ClientRoutes.push(\r\n {\r\n path: \"/Clients/ClientPage/Client\",\r\n name: \"Client\",\r\n component: ClientPage,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n },\r\n\r\n {\r\n path: \"/Clients/ClientPage\",\r\n name: \"Client\",\r\n component: ClientMainPage,\r\n closedMenu: false,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Pools\",\r\n name: \"Pools\",\r\n component: Pools,\r\n closedMenu: false,\r\n subtab: '/Clients'\r\n },\r\n )\r\n }\r\n if (isAdminCRM || (isAdminMM) || isAdminIB) {\r\n ClientRoutes.push(\r\n {\r\n path: \"/Clients/Wallet\",\r\n name: \"Wallet\",\r\n component: Wallet,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n })\r\n\r\n }\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) {\r\n ClientRoutes.push({\r\n path: \"/Clients/DeletedClients\",\r\n name: \"DeletedClients\",\r\n component: DeletedClients,\r\n closedMenu: false,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Pools/WalletCurrencies\",\r\n name: \"WalletCurrencies\",\r\n component: WalletCurrencies,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n }\r\n )\r\n }\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) {\r\n ClientRoutes.push(\r\n {\r\n path: \"/Clients/Application\",\r\n name: \"ApplicationAdmin\",\r\n component: ApplicationAdmin,\r\n closedMenu: false,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Contact/ContactPage\",\r\n name: \"Contact\",\r\n component: ContactPage,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Contact\",\r\n name: \"Contact\",\r\n component: ContactMainPage,\r\n closedMenu: false,\r\n subtab: '/Clients'\r\n })\r\n }\r\n if (isAdminCRM || isAdminIB) {\r\n ClientRoutes.push(\r\n {\r\n path: \"/Clients/Leads/LeadPage\",\r\n name: \"Lead\",\r\n component: LeadPage,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Leads\",\r\n name: \"Lead\",\r\n component: LeadMainPage,\r\n closedMenu: false,\r\n subtab: '/Clients'\r\n })\r\n }\r\n //Pools\r\n if (isAdminIB) {\r\n ClientRoutes.push(\r\n {\r\n path: \"/Clients/Pools/IBCodeRange\",\r\n name: \"IBCodeRange\",\r\n component: IBCodeRange,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n },\r\n )\r\n }\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) {\r\n ClientRoutes.push(\r\n {\r\n path: \"/Clients/Pools/CLientIDRange\",\r\n name: \"CLientIDRange\",\r\n component: CLientIDRange,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Pools/Templates\",\r\n name: \"Templates\",\r\n component: Templates,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Pools/Countries\",\r\n name: \"Countries\",\r\n component: Countries,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n },\r\n {\r\n path: \"/Clients/Pools/ClientCountries\",\r\n name: \"ClientCountries\",\r\n component: ClientCountries,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n })\r\n }\r\n if (isAdminCRM) {\r\n ClientRoutes.push({\r\n path: \"/Clients/Pools/ApplicationSettings\",\r\n name: \"ApplicationSettings\",\r\n component: ApplicationSettings,\r\n closedMenu: true,\r\n subtab: '/Clients'\r\n })\r\n }\r\n }\r\n //#endregion\r\n //OnBoarding\r\n if (OnBoardingUserPerms.Allowed) {\r\n if (isAdminCRM) {\r\n OnBoardingRoutes.push({\r\n path: \"/OnBoarding/Application\",\r\n name: \"ApplicationAdmin\",\r\n component: ApplicationAdmin,\r\n closedMenu: false,\r\n subtab: '/OnBoarding'\r\n })\r\n }\r\n }\r\n //Trader\r\n if (TraderUserPerms.Allowed) {\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) {\r\n TraderRoutes.push(\r\n {\r\n path: \"/Trader/TradingAccounts\",\r\n name: \"TradingAccount\",\r\n component: TradingAccount,\r\n\r\n closedMenu: false,\r\n subtab: '/Trader'\r\n },\r\n {\r\n path: \"/Trader/DemoAccounts\",\r\n name: \"DemoAccounts\",\r\n component: DemoAccounts,\r\n closedMenu: false,\r\n subtab: '/Trader'\r\n },\r\n )\r\n if (ViewAccountTypes) {\r\n TraderRoutes.push({\r\n path: \"/Trader/AccountTypes\",\r\n name: \"AccountTypes\",\r\n component: AccountTypes,\r\n closedMenu: false,\r\n subtab: '/Trader'\r\n })\r\n }\r\n //Acctypes\r\n if (ViewAccountTypes && (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB)) {\r\n TraderRoutes.push(\r\n {\r\n path: \"/Trader/AccountTypes/AccountCurrency\",\r\n name: \"AccountCurrency\",\r\n component: AccountCurrency,\r\n closedMenu: true,\r\n subtab: '/Trader'\r\n },\r\n {\r\n path: \"/Trader/AccountTypes/AccountLeverage\",\r\n name: \"AccountLeverage\",\r\n component: AccountLeverage,\r\n closedMenu: true,\r\n subtab: '/Trader'\r\n },\r\n {\r\n path: \"/Trader/AccountTypes/LoginRanges\",\r\n name: \"LoginRanges\",\r\n component: LoginRanges,\r\n closedMenu: true,\r\n subtab: '/Trader'\r\n })\r\n }\r\n if (ViewAccountTypes && (isAdminCRM || (isAdminMM) || isAdminIB)) {\r\n TraderRoutes.push({\r\n path: \"/Trader/AccountTypes/RegistrationGroups\",\r\n name: \"RegistrationGroups\",\r\n component: RegistrationGroups,\r\n closedMenu: true,\r\n subtab: '/Trader'\r\n })\r\n }\r\n }\r\n }\r\n //IBPartners\r\n if (PartnersUserPerms.Allowed) {\r\n if (isAdminIB) {\r\n IBAdminRoutes.push({\r\n path: \"/IBAdmin/IBAllocation\",\r\n name: \"IB Allocation\",\r\n component: IBAllocation,\r\n closedMenu: false,\r\n subtab: '/IBAdmin'\r\n },\r\n {\r\n path: \"/IBAdmin/ProfileTemplates\",\r\n name: \"Profile Templates\",\r\n component: ProfileTemplates,\r\n closedMenu: false,\r\n subtab: '/IBAdmin'\r\n },\r\n {\r\n path: \"/IBAdmin/ProfileTemplates/ProfileConfiguration\",\r\n name: \"Profile\",\r\n component: EachProfile,\r\n closedMenu: false,\r\n subtab: '/IBAdmin'\r\n },\r\n\r\n {\r\n path: \"/IBAdmin/IBAllocation/IBAccount\",\r\n name: \"IB Account\",\r\n component: IBAccount,\r\n closedMenu: false,\r\n subtab: '/IBAdmin'\r\n },\r\n {\r\n path: \"/IBAdmin/CampaignLinks\",\r\n name: \"Capaign Links\",\r\n component: CampaignLinks,\r\n closedMenu: false,\r\n subtab: '/IBAdmin'\r\n }\r\n\r\n )\r\n }\r\n }\r\n //MAMM\r\n if (MAMUserPerms.Allowed) {\r\n if (isAdminMM) {\r\n MAMRoutes.push({\r\n path: \"/MAM/MamAllocations\",\r\n name: \"MAMALLocations\",\r\n component: MAMProfiles,\r\n closedMenu: false,\r\n subtab: '/MAM'\r\n },\r\n {\r\n path: \"/MAM/MamAllocations/Investors\",\r\n name: \"InvestorMAM\",\r\n component: InvestorMAM,\r\n closedMenu: false,\r\n subtab: '/MAM'\r\n }, {\r\n path: \"/MAM/MamAllocations/Investor\",\r\n name: \"InvestorMAM\",\r\n component: InvestorMAM,\r\n closedMenu: false,\r\n subtab: '/MAM'\r\n },\r\n {\r\n path: \"/MAM/PerformanceFees\",\r\n name: \"PerformanceFees\",\r\n component: PerformanceFees,\r\n closedMenu: false,\r\n subtab: '/MAM'\r\n })\r\n }\r\n if (isAdminMM) {\r\n MAMRoutes.push(\r\n {\r\n path: \"/MAM/SignalAllocations\",\r\n name: \"SignalAllocations\",\r\n component: SignalProfile,\r\n closedMenu: false,\r\n subtab: '/MAM'\r\n },\r\n {\r\n path: \"/MAM/SignalAllocations/Copiers\",\r\n name: \"Copiers\",\r\n component: CopiersPage,\r\n closedMenu: false,\r\n subtab: '/MAM'\r\n },\r\n )\r\n }\r\n }\r\n //#region BackOffice\r\n if (BackOfficeUserPerms.Allowed) {\r\n if (isAdminCRM || (isAdminMM) || isAdminIB) {\r\n RequestsRoutes.push(\r\n\r\n )\r\n if (isAdminCRM || isAdminMM || isAdminIB) {\r\n RequestsRoutes.push({\r\n path: \"/BackOffice/OperationRequest\",\r\n name: \"Operation Requests\",\r\n component: OperationRequests,\r\n closedMenu: false,\r\n subtab: '/BackOffice'\r\n })\r\n }\r\n if (isAdminCRM && OnBoardingUserPerms.Allowed) {\r\n RequestsRoutes.push({\r\n path: \"/BackOffice/ApplicationRequest\",\r\n name: \"Application Requests\",\r\n component: ApplicationRequest,\r\n closedMenu: false,\r\n subtab: '/BackOffice'\r\n })\r\n }\r\n }\r\n }\r\n //#endregion\r\n //Bonus\r\n if (BonusUserPerms.Allowed) {\r\n if (isAdminBonus) {\r\n BonusRoutes.push({\r\n path: \"/Bonus/Promotion\",\r\n name: \"BonusPromotion\",\r\n component: BonusPromotion,\r\n closedMenu: false,\r\n subtab: '/Bonus'\r\n },\r\n {\r\n path: \"/Bonus/Promotion/EachPromotion\",\r\n name: \"EachPromotion\",\r\n component: EachPromotion,\r\n closedMenu: false,\r\n subtab: '/Bonus'\r\n })\r\n }\r\n }\r\n //#region Reports \r\n if (isA && LogsPermission.Allowed) {//for all\r\n LogsReport.push(\r\n {//@point add var for it \r\n path: \"/LogsReport\",\r\n name: \"Logs\",\r\n component: Logs,\r\n closedMenu: false,\r\n subtab: ''\r\n }\r\n )\r\n }\r\n\r\n if ((isAdminCRM || (isAdminMM) || isAdminIB || isAdminBonus || isAdminDynamicMargin) && ReportsUserPerms.Allowed) {\r\n if (isAdminBonus && BonusReportsPerm) {\r\n ReportsRoutes.push({\r\n path: \"/Reports/BonusReport\",\r\n name: \"BonusReports\",\r\n component: BonusReports,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n }, {\r\n path: \"/Reports/BonusReferralReport\",\r\n name: \"BonusReferralReport\",\r\n component: BonusReferralReport,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n },\r\n )\r\n }\r\n if (isAdminIB || (isAdminMM) || isAdminCRM) {\r\n ReportsRoutes.push(\r\n {\r\n path: \"/Reports/ClicksConversion\",\r\n name: \"ClicksConversion\",\r\n component: ClicksConversion,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n },\r\n )\r\n if (isAdminMM && MAMReports) {\r\n ReportsRoutes.push(\r\n {\r\n path: \"/Reports/PerformanceFees\",\r\n name: \"PerformanceFees\",\r\n component: PerformanceFees,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n },\r\n {\r\n path: \"/Reports/SignalsPerformanceFees\",\r\n name: \"SignalsPerformanceFees\",\r\n component: SignalsPerformanceFees,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n }\r\n )\r\n }\r\n if ((isAdminIB && IBReports) || (isAdminMM && MAMReports) || (isAdminCRM && CRMREports)) {\r\n ReportsRoutes.push(\r\n\r\n {\r\n path: \"/Reports/Transactions\",\r\n name: \"Transactions\",\r\n component: Transactions,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n },\r\n )\r\n }\r\n if ((isAdminMM || isAdminCRM)) {\r\n ReportsRoutes.push(\r\n {\r\n path: \"/Analytics/HistoricalPerformance\",\r\n name: \"HistoricalPerformance\",\r\n component: HistoricalPerformanceAdmin,\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n },\r\n {\r\n path: \"/Analytics/RiskMeasures\",\r\n name: \"RiskMeasuresAdmin\",\r\n component: RiskMeasuresAdmin,\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n }\r\n ,\r\n {\r\n path: \"/Analytics/Overview\",\r\n name: \"OverviewAdmin\",\r\n component: OverviewAdmin,\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n }\r\n ,\r\n {\r\n path: \"/Analytics/Trades\",\r\n name: \"TradesAdmin\",\r\n component: TradesAdmin,\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n },\r\n {\r\n path: \"/Analytics/TradeHistorySummary\",\r\n name: \"TradeHistorySummaryAdmin\",\r\n component: TradeHistorySummaryAdmin,\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n }\r\n )\r\n }\r\n if ((isAdminMM)) {\r\n ReportsRoutes.push(\r\n {\r\n path: \"/Analytics/InvestorsReport\",\r\n name: \"InvestorsReport\",\r\n component: InvestorsReport,\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n },\r\n {\r\n path: \"/Analytics/InvestorsTracker\",\r\n name: \"InvestorsTrackerAdmin\",\r\n component: InvestorsTrackerAdmin,\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n }\r\n )\r\n }\r\n if (isAdminIB && IBReports) {\r\n ReportsRoutes.push({\r\n path: \"/Reports/IBDetailedReport\",\r\n name: \"IBDetailedReport\",\r\n component: IBDetailedReport,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n },\r\n {\r\n path: \"/Reports/BreakdownReport\",\r\n name: \"Breakdown Report\",\r\n component: BreakdownAdminReport,\r\n closedMenu: false,\r\n subtab: '/IBAdmin'\r\n },\r\n {\r\n path: \"/Reports/CPAReport\",\r\n name: \"CPAReport\",\r\n component: CPAReportIB,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n })\r\n }\r\n if (isAdminCRM && CRMREports) {\r\n ReportsRoutes.push({\r\n path: \"/Reports/closetrades\",\r\n name: \"closetrades\",\r\n component: closetrades,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n })\r\n }\r\n if (isAdminCRM && CRMREports) {\r\n ReportsRoutes.push({\r\n path: \"/Reports/DocumentsExpiration\",\r\n name: \"DocumentsExpiration\",\r\n component: DocumentsExpiration,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n })\r\n }\r\n if (isAdminCRM || (isAdminMM) || isAdminIB) {\r\n if (BackofficeReports) {\r\n ReportsRoutes.push({\r\n path: \"/Reports/OperationLogs\",\r\n name: \"Operation Logs\",\r\n component: OperationLogs,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n })\r\n }\r\n if (CRMREports) {\r\n ReportsRoutes.push({\r\n path: \"/Reports/RegistrationLogs\",\r\n name: \"RegistrationLogs\",\r\n component: RegistrationLogs,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n })\r\n }\r\n }\r\n }\r\n if (isAdminDynamicMargin && DLReports) {\r\n ReportsRoutes.push({\r\n path: \"/Reports/DynamicReport\",\r\n name: \"DynamicReport\",\r\n component: DynamicReport,\r\n closedMenu: false,\r\n subtab: '/Reports'\r\n })\r\n }\r\n }\r\n //#endregion\r\n //Notes/tasks\r\n if (isA) {//Tasks/notes for all license\r\n if (TasksUserPerms.Allowed) {//perm for each\r\n TaskRoutes.push({\r\n path: \"/Tasks\",\r\n name: \"Tasks\",\r\n component: Task,\r\n closedMenu: false,\r\n subtab: '/Tasks'\r\n })\r\n }\r\n if (NotesUserPerms.Allowed) {\r\n NotesRoutes.push({\r\n path: \"/Notes\",\r\n name: \"Notes\",\r\n component: Notes,\r\n closedMenu: false,\r\n subtab: '/Notes'\r\n })\r\n }\r\n }\r\n //#region PortalSettings\r\n if (PortalSettingsUserPerms.Allowed) {\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB || isAdminDynamicMargin) {//All\r\n portalSettings.push({\r\n path: \"/PortalSettings\",\r\n name: \"PortalSettings\",\r\n component: PortalSettings,\r\n closedMenu: true,\r\n subtab: ''\r\n }, {\r\n path: \"/PortalSettings/Synchronize\",\r\n name: \"Synchronize\",\r\n component: Synchronize,\r\n closedMenu: true,\r\n subtab: ''\r\n },\r\n )\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB || isAdminDynamicMargin) {\r\n portalSettings.push(\r\n {\r\n path: \"/PortalSettings/CompanySettings\",\r\n name: \"CompanySMTP\",\r\n component: CompanySMTP,\r\n closedMenu: true,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/PortalSettings/Teams\",\r\n name: \"Teams\",\r\n component: Teams,\r\n closedMenu: true,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/PortalSettings/Permissions\",\r\n name: \"Permissions\",\r\n component: PermessionsSettings,\r\n closedMenu: true,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/PortalSettings/Permissions/EachRole\",\r\n name: \"EachRole\",\r\n component: EachRole,\r\n closedMenu: true,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/PortalSettings/Permissions/EachUserPermission\",\r\n name: \"EachUserPermission\",\r\n component: EachUserPermission,\r\n closedMenu: true,\r\n subtab: ''\r\n }\r\n )\r\n }\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) {\r\n portalSettings.push(\r\n {\r\n path: \"/PortalSettings/EmailTemplate\",\r\n name: \"EmailTemplate\",\r\n component: EmailTemplate,\r\n closedMenu: true,\r\n subtab: ''\r\n }, {\r\n path: \"/PortalSettings/WebHookIntegrations\",\r\n name: \"WebHookIntegrations\",\r\n component: WebHookIntegrations,\r\n closedMenu: true,\r\n subtab: ''\r\n }\r\n )\r\n }\r\n if (isAdminBonus || isAdminCRM || (isAdminMM) || isAdminIB) {\r\n portalSettings.push(\r\n {\r\n path: \"/PortalSettings/Notifications\",\r\n name: \"SystemNotifications\",\r\n component: SystemNotifications,\r\n closedMenu: true,\r\n subtab: ''\r\n },\r\n\r\n )\r\n }\r\n if (isAdminBonus) {\r\n portalSettings.push({\r\n path: \"/PortalSettings/Bonus\",\r\n name: \"Bonus\",\r\n component: BonusSetttings,\r\n closedMenu: true,\r\n subtab: ''\r\n })\r\n }\r\n if ((isAdminDynamicMargin) && DynamicMargin.Allowed) {\r\n portalSettings.push({\r\n path: \"/PortalSettings/DynamicMarginSettings\",\r\n name: \"DynamicMarginSettings\",\r\n component: DynamicMarginSettings,\r\n closedMenu: true,\r\n subtab: ''\r\n })\r\n }\r\n if (isAdminCRM || (isAdminMM) || isAdminIB) {//ib mama as wallet exist \r\n portalSettings.push({\r\n path: \"/PortalSettings/PaymentMethod\",\r\n name: \"PaymentMethod\",\r\n component: PaymentMethod,\r\n closedMenu: true,\r\n subtab: ''\r\n })\r\n }\r\n if (isAdminIB) {\r\n portalSettings.push({\r\n path: \"/PortalSettings/IBSettings\",\r\n name: \"AffiliateSettings\",\r\n component: AffiliateSettings,\r\n closedMenu: true,\r\n subtab: ''\r\n })\r\n }\r\n if ((isAdminMM)) {\r\n portalSettings.push({\r\n path: \"/PortalSettings/MAMSettings\",\r\n name: \"MAMSettings\",\r\n component: MAMSettings,\r\n closedMenu: true,\r\n subtab: ''\r\n })\r\n }\r\n }\r\n }\r\n\r\n if ((isAdminDynamicMargin) && DynamicMargin.Allowed) {\r\n //Dashboard Admin\r\n DynamicMarginRoutes.push(\r\n {\r\n path: \"/DynamicMargin/SymbolProfile\",\r\n name: \"SymbolProfile\",\r\n component: SymbolProfle,\r\n closedMenu: false,\r\n subtab: '/DynamicMargin'\r\n },\r\n {\r\n path: \"/DynamicMargin/AccountProfile\",\r\n name: \"AccountProfile\",\r\n component: AccountProfile,\r\n closedMenu: false,\r\n subtab: '/DynamicMargin'\r\n }\r\n )\r\n }\r\n portalSettings.push({\r\n path: \"/PortalSettings/RegistrationTemplates\",\r\n name: \"RegistrationTemplates\",\r\n component: RegistrationTemplates,\r\n closedMenu: true,\r\n subtab: ''\r\n })\r\n //#endregion\r\n }\r\n //client \r\n if (!isA) {\r\n if (((!isClientCRM && isAccountExist) || (isClientCRM && (isNotRequiredAndAccountExist || isRequiredKycSumbitedAndAccountExist)))) {//checkp\r\n dashboardRoutes.push(\r\n {\r\n path: \"/\",\r\n name: \"Dashboard\",\r\n component: Dashboard,\r\n\r\n closedMenu: false,\r\n subtab: ''\r\n }\r\n )\r\n }\r\n if (!isA && (checkIfAllowedForPureNorthLogs() || isJKV || ((!isClientCRM && isAccountExist) || (isClientCRM && (isNotRequiredAndAccountExist || isRequiredKycSumbitedAndAccountExist))))) {\r\n //Logs\r\n logsRoutes.push(\r\n\r\n {\r\n path: \"/Logs/AccountLogs\",\r\n name: \"Account Logs\",\r\n component: AccountLogs,\r\n\r\n closedMenu: false,\r\n subtab: '/Logs'\r\n }\r\n )\r\n\r\n if (isJKV || ((!isClientCRM && isAccountExist) || (isClientCRM && (isNotRequiredAndAccountExist || isRequiredKycSumbitedAndAccountExist)))) {//checkp\r\n //Logs\r\n logsRoutes.push(\r\n {\r\n path: \"/Logs/TransactionsLogs\",\r\n name: \"Transactions Logs\",\r\n component: TransactionLogs,\r\n\r\n closedMenu: false,\r\n subtab: '/Logs'\r\n }\r\n )\r\n }\r\n }\r\n if (!isA && (!isClientCRM || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) && isClientIB) {\r\n IBRoutes.push(\r\n {\r\n path: \"/IB/IBClients\",\r\n name: \"IB's Clients\",\r\n component: IBClients,\r\n\r\n closedMenu: false,\r\n subtab: '/IB'\r\n },\r\n {\r\n path: \"/IB/leads\",\r\n name: \"Leads\",\r\n component: Leads,\r\n\r\n closedMenu: false,\r\n subtab: '/IB'\r\n },\r\n {\r\n path: \"/IB/accountStatement\",\r\n name: \"Account Statement\",\r\n component: AccountStatement,\r\n\r\n closedMenu: false,\r\n subtab: '/IB'\r\n },\r\n {\r\n path: \"/IB/IBDiagram\",\r\n name: \"IBDiagram\",\r\n component: ClientIBTree,\r\n closedMenu: false,\r\n subtab: '/IB'\r\n },\r\n )\r\n if (isClientAccessSubIB) {\r\n IBRoutes.push({\r\n path: \"/IB/subIBStatement\",\r\n name: \"Sub IB Statement\",\r\n component: SubIB,\r\n\r\n closedMenu: false,\r\n subtab: '/IB'\r\n })\r\n }\r\n if (isPromotion) {\r\n IBRoutes.push(\r\n {\r\n path: \"/IB/Promotion\",\r\n name: \"Promotion\",\r\n component: Promotion,\r\n\r\n closedMenu: false,\r\n subtab: '/IB'\r\n },\r\n )\r\n }\r\n if (isClientReporting) {\r\n IBRoutes.push({\r\n path: \"/IB/CPAReport\",\r\n name: \"CPA Report\",\r\n component: CPAReport,\r\n\r\n closedMenu: false,\r\n subtab: '/IB'\r\n })\r\n }\r\n if (isClientBreakDownReport) {\r\n IBRoutes.push(\r\n {\r\n path: \"/IB/BreakdownReport\",\r\n name: \"Breakdown Report\",\r\n component: BreakdownReport,\r\n\r\n closedMenu: false,\r\n subtab: '/IB'\r\n })\r\n }\r\n }\r\n //#region application form payment sub pages\r\n if (!isA) {\r\n manage.push(\r\n {\r\n path: \"/FormSuccess\",\r\n name: \"FormSuccess\",\r\n component: FormSuccess,\r\n\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n {\r\n path: \"/Success\",\r\n name: \"PaymentSuccess\",\r\n component: PaymentSuccess,\r\n\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n {\r\n path: \"/PendingPayment\",\r\n name: \"PaymentPending\",\r\n component: PaymentPending,\r\n\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n {\r\n path: \"/Failure\",\r\n name: \"PaymentFailure\",\r\n component: PaymentFailure,\r\n\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n {\r\n path: \"/PaymentCancelled\",\r\n name: \"Payment Cancelled\",\r\n component: PaymentCancelled,\r\n\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n )\r\n if (DisplayOnbording() && isClientCRM) {\r\n manage.push(\r\n {\r\n path: \"/OnBoarding/ApplicationForm\",\r\n name: \"Application Form\",\r\n component: ApplicationFormCard,\r\n\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n {\r\n path: \"/OnBoarding/ApplicationForm/Card\",\r\n name: \"CardJson\",\r\n component: CardJson,\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n {\r\n path: \"/OnBoarding/ApplicationForm/ReviewCard\",\r\n name: \"ReviewCard\",\r\n component: ReviewCard,\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n )\r\n\r\n }\r\n if ((!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid))))) {\r\n MyWalletRoutes.push(\r\n {\r\n path: \"/MyWallet\",\r\n name: \"MyWallet\",\r\n component: MyWallet,\r\n closedMenu: false,\r\n subtab: ''\r\n },\r\n )\r\n }\r\n if (!isA && DisplayMyAccounts()) {\r\n manage.push(\r\n {\r\n path: \"/Manage/MyAccounts\",\r\n name: \"My Accounts\",\r\n component: MyAccounts,\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n {\r\n path: \"/Manage/MyAccounts/CreditCardValidation\",\r\n name: \"CreditCardValidation\",\r\n component: CreditCardValidation,\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n )\r\n if (AllowAddDemoAcc)\r\n manage.push(\r\n {\r\n path: \"/Manage/DemoAccounts\",\r\n name: \"Demo Accounts\",\r\n component: MyDemoAccounts,\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n )\r\n if (AllowAddDemoAcc && ManageTradingAccount)\r\n manage.push(\r\n {\r\n path: \"/Manage/DemoAccounts/NewDemoAccount\",\r\n name: \"DemoAccount\",\r\n component: DemoAccountCard,\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },\r\n )\r\n if (isClientCRM && ManageTradingAccount)\r\n manage.push(\r\n {\r\n path: \"/Manage/MyAccounts/NewAccount\",\r\n name: \"New Accounts\",\r\n component: NewAccount,\r\n closedMenu: false,\r\n subtab: '/Manage'\r\n },//other now in same page\r\n )\r\n }\r\n }\r\n //#endregion\r\n //Portfolio\r\n if (!isA && (!isClientCRM && (isClientMM && isClientMoneyManager.Allowed)) || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) {\r\n PortfolioRoutes.push(\r\n {\r\n path: \"/Portfolio/HistorySummary\",\r\n name: \"Trade History Summary\",\r\n component: TradeHistorySummary,\r\n closedMenu: false,\r\n subtab: '/Portfolio'\r\n },\r\n )\r\n if (isClientMM && isClientMoneyManager.Allowed) {\r\n PortfolioRoutes.push(\r\n {\r\n path: \"/Portfolio/PositionSummary\",\r\n name: \"Open Position Summary\",\r\n component: OpenPositionSummary,\r\n closedMenu: false,\r\n subtab: '/Portfolio'\r\n },\r\n {\r\n path: \"/Portfolio/Investors\",\r\n name: \"Investors\",\r\n component: Investors,\r\n\r\n closedMenu: false,\r\n subtab: '/Portfolio'\r\n },\r\n {\r\n path: \"/Portfolio/InvestorsTracker\",\r\n name: \"InvestorsTracker\",\r\n component: InvestorsTracker,\r\n closedMenu: false,\r\n subtab: '/Portfolio'\r\n },\r\n {\r\n path: \"/Portfolio/PerformanceTracker\",\r\n name: \"Fees & Performance Tracker\",\r\n component: FeesPerformanceTracker,\r\n closedMenu: false,\r\n subtab: '/Portfolio'\r\n },\r\n {\r\n path: \"/Portfolio/MonthlyFees\",\r\n name: \"Monthly Fees\",\r\n component: MonthlyFees,\r\n closedMenu: false,\r\n subtab: '/Portfolio'\r\n }\r\n )\r\n }\r\n }\r\n //Analytics\r\n if (!isA && (!isClientCRM || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) && ((isClientMM && (isClientMoneyManager.Allowed || isClientInvestorCopier.Allowed || isClientSignalMAMPerms.Allowed)) || isClientCRM)) {\r\n AnalyticsRoutes.push(\r\n {\r\n path: \"/Analytics/Overview\",\r\n name: \"Overview\",\r\n component: Overview,\r\n\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n },\r\n {\r\n path: \"/Analytics/trades\",\r\n name: \"Trades\",\r\n component: Trades,\r\n\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n },\r\n {\r\n path: \"/Analytics/RiskMeasures\",\r\n name: \"Risk Measures\",\r\n component: RiskMeasures,\r\n\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n },\r\n {\r\n path: \"/Analytics/HistoricalPerformance\",\r\n name: \"Historical Performance\",\r\n component: HistoricalPerformance,\r\n\r\n closedMenu: false,\r\n subtab: '/Analytics'\r\n }\r\n )\r\n }\r\n if (!isA && (!isClientCRM || (isClientCRM && (!isRequireKYC || isRequiredKycAndSumbited))) && (isClientMM && LeaderBoard)) {\r\n SignalsRoutes.push(\r\n {\r\n path: \"/LeaderBoard\",\r\n name: \"LeaderBoard\",\r\n component: Signals,\r\n\r\n closedMenu: false,\r\n subtab: ''\r\n }\r\n )\r\n }\r\n SignalsRoutes.push(\r\n {\r\n path: \"/AnalystView\",\r\n name: \"AnalystView\",\r\n component: AnalystView,\r\n closedMenu: false,\r\n subtab: '',\r\n isTableExists: true\r\n },\r\n {\r\n path: \"/WebTerminal\",\r\n name: \"WebTerminal\",\r\n component: WebTerminal,\r\n closedMenu: false,\r\n subtab: '',\r\n isTableExists: true\r\n },\r\n {\r\n path: \"/WebTrader\",\r\n name: \"WebTrader\",\r\n component: WebTrader,\r\n closedMenu: false,\r\n subtab: '',\r\n isTableExists: true\r\n }\r\n )\r\n if (!isA && (CheckIfCompanyIs(\"TiranForex\") || CheckIfCompanyIs(\"PLUGIT\"))) {\r\n SignalsRoutes.push({\r\n path: \"/MarketCalendar\",\r\n name: \"MarketCalendar\",\r\n component: MarketCalendar,\r\n closedMenu: false,\r\n subtab: '',\r\n isTableExists: true\r\n })\r\n }\r\n if (!isA && (isClientMM && isClientSignalMAMPerms.Allowed)) {\r\n PortfolioRoutes.push(\r\n {\r\n path: \"/Copiers\",\r\n name: \"Copiers\",\r\n component: CopiersClientPage,\r\n closedMenu: false,\r\n subtab: ''\r\n });\r\n }\r\n }\r\n if (!isAuth) {\r\n return dashboardRedirect;\r\n }\r\n else {\r\n if (isA) {\r\n return IBAdminRoutes.concat(dashboardAdminRoutes, RequestsRoutes, ClientRoutes, privateRoutes, MAMRoutes, TraderRoutes, portalSettings, TaskRoutes, NotesRoutes, OnBoardingRoutes, BonusRoutes, ReportsRoutes, LogsReport, DynamicMarginRoutes);\r\n }\r\n else if (!isA) {\r\n return dashboardRoutes.concat(logsRoutes, IBRoutes, manage, privateRoutes, PortfolioRoutes, MyWalletRoutes, AnalyticsRoutes, SignalsRoutes, [\r\n {\r\n path: \"/Platforms\",\r\n name: \"Platforms\",\r\n component: Platforms,\r\n closedMenu: false,\r\n subtab: ''\r\n }]);\r\n }\r\n }\r\n function DisplayMyAccounts() {\r\n if (isOrbit) return (!isClientCRM || (isClientCRM && (!ClientData?.RequireKYC || (ClientData?.RequireKYC && isValid))));\r\n return (!isClientCRM || (isClientCRM && (!isRequireKYC || (isRequireKYC && isValid))));\r\n }\r\n\r\n function checkIfAllowedForPureNorthLogs() {\r\n return CheckIfCompanyIs(\"PureNorth\");\r\n }\r\n function isKYCRequired() {\r\n if (isElite) return false;\r\n if (isOrbit) return false;\r\n return !isA && ClientData?.RequireKYC;\r\n }\r\n function DisplayOnbording() {\r\n if (isElite) return !isA && ClientData.RequireKYC;\r\n if (isOrbit) return !isA && ClientData.RequireKYC;\r\n return !isA && isRequireKYC;\r\n }\r\n}\r\n//ExternalRoutes have no perms\r\nexport const ExternalRoutes = [\r\n {\r\n path: \"/ResetPassword\",\r\n name: \"Reset password\",\r\n component: ResetPassword,\r\n children: null,\r\n isExternal: true\r\n }, {\r\n path: \"/BridgerPay\",\r\n name: \"BridgerPay\",\r\n component: BridgerPay,\r\n children: null,\r\n isExternal: true\r\n },\r\n {\r\n path: \"/Login\",\r\n name: \"SignIn\",\r\n component: SignIn,\r\n children: null,\r\n isExternal: true\r\n }, {\r\n path: \"/Offline\",\r\n name: \"OfflinePage\",\r\n component: OfflinePage,\r\n children: null,\r\n isExternal: true\r\n },\r\n {\r\n path: \"/RealAccountIframe\",\r\n name: \"BlankPage\",\r\n component: CreateAccount,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/RealAccount\",\r\n name: \"BlankPage\",\r\n component: RealAccountWrapper,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/FirstUser\",\r\n name: \"BlankPage\",\r\n component: FirstUser,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/ConfirmPassword\",\r\n name: \"ConfirmPassword\",\r\n component: ConfirmResetPassword,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/PasswordConfirmed\",\r\n name: \"PasswordConfirmed\",\r\n component: PasswordConfirmed,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/ActivateUser\",\r\n name: \"ActivateUser\",\r\n component: ActivateUser,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/RealAccountConfirmation\",\r\n name: \"ThankYouPage\",\r\n component: ThankYouPage,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/DemoAccountConfirmation\",\r\n name: \"DemoAccountSuccess\",\r\n component: DemoAccountSuccess,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/notAuth\",\r\n name: \"NotAuth\",\r\n component: NotAuth,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/homepage\",\r\n name: \"BlankPage\",\r\n component: HomePage,\r\n children: null,\r\n closedMenu: false,\r\n subtab: '',\r\n isExternal: true\r\n },\r\n {\r\n path: \"/demoAccount\",\r\n name: \"BlankPage\",\r\n component: DemoAccountWrapper,\r\n children: null,\r\n closedMenu: false,\r\n subtab: ''\r\n }, {\r\n path: \"/DemoAccountIframe\",\r\n name: \"BlankPage\",\r\n component: DemoAccountIframe,\r\n children: null,\r\n closedMenu: false,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/PromoCode\",\r\n name: \"BlankPage\",\r\n component: PromoCodeWrapper,\r\n children: null,\r\n closedMenu: false,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/PromoCodeIframe\",\r\n name: \"BlankPage\",\r\n component: PromoCodeIframe,\r\n children: null,\r\n closedMenu: false,\r\n subtab: ''\r\n },\r\n {\r\n path: \"/liveaccount\",\r\n name: \"Live Account\",\r\n component: LiveAccount,\r\n children: null,\r\n closedMenu: false,\r\n subtab: ''\r\n }\r\n\r\n];\r\n\r\n\r\n\r\n","import axios from 'axios';\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { Col, Label } from \"reactstrap\";\r\nimport { getImagesURL_LDN } from '../../Helpers/DataHelpers';\r\nimport { IUserData } from '../../redux/constants';\r\nimport store from '../../redux/store';\r\n\r\n\r\ninterface ErrorBoundaryState {\r\n hasError: boolean;\r\n}\r\ninterface ErrorBoundaryProps {\r\n children?: any;\r\n t: any;\r\n}\r\n\r\n\r\nclass ErrorBoundary extends React.Component {\r\n state = {\r\n hasError: false\r\n };\r\n\r\n static getDerivedStateFromError(error: any) {\r\n console.error(error);\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error: any, errorInfo: any) {\r\n // You can also log the error to an error reporting service\r\n //logErrorToMyService(error, errorInfo);Apllication Insight //Tracktrace\r\n console.error(error, errorInfo);\r\n this.LogErrorToAI(`URL: ${this.GetURL()}, ${error || \"error\"}: ${errorInfo ? JSON.stringify(errorInfo) : \"\"} `);\r\n }\r\n GetURL = () => {\r\n try {\r\n return window?.location?.href || \"\";\r\n } catch (e) {\r\n return \"\";\r\n }\r\n };\r\n GetAuthData = () => {\r\n try {\r\n let UserData: IUserData = store?.getState()?.auth?.UserData;\r\n return `UserName: ${UserData.UserName || \"\"}`;//send only needed stuff\r\n } catch (e) {\r\n return \"\";\r\n }\r\n };\r\n LogErrorToAI = (Message: string) => {\r\n axios.post(\"api/auth/LogErrorToAI\", { Message })\r\n .then().catch((e: any) => { console.error('SendMessage', e); });\r\n }\r\n render() {\r\n if (this.state.hasError) {\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 return this.props.children;\r\n }\r\n}\r\nexport default withTranslation()(ErrorBoundary as any);\r\n","import { faAlignLeft, faChevronDown, faCode, faCog, faDownload, faExpandAlt, faEye, faFileImport, faFilter, faImage, faRedo, faSearch, faUndo } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { EventHandlerPayload, LiveChatWidget } from '@livechat/widget-react';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Fade from '@material-ui/core/Fade';\r\nimport Modal from '@material-ui/core/Modal';\r\nimport { Theme, withStyles } from '@material-ui/core/styles';\r\nimport { Close } from '@material-ui/icons';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\nimport MobileDateRangePicker from '@mui/lab/MobileDateRangePicker';\r\nimport TextField from '@mui/material/TextField';\r\nimport { DatePickerComponent } from '@syncfusion/ej2-react-calendars';\r\nimport { Badge, DatePicker, Divider, Form, Input as AntInput, Radio, Skeleton, Switch, Tag, TimePicker } from 'antd';\r\nimport 'antd/dist/antd.css';\r\nimport { default as ButtonANTD } from \"antd/es/button\";\r\nimport Checkbox from 'antd/es/checkbox';\r\nimport Icon from 'antd/es/icon';\r\nimport InputAnt from 'antd/es/input';\r\nimport Tabs from \"antd/es/tabs\";\r\nimport { AxiosResponse } from 'axios';\r\nimport { push } from \"connected-react-router\";\r\nimport { cloneDeep } from 'lodash';\r\nimport { MultiSelect } from 'primereact/multiselect';\r\nimport * as React from 'react';\r\nimport { Eye } from \"react-feather\";\r\nimport { useTranslation, withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { toastr } from 'react-redux-toastr';\r\nimport { default as Select } from 'react-select';\r\nimport { Button, Col, DropdownItem, DropdownMenu, DropdownToggle, FormGroup, Input, Label, Row, Table, UncontrolledDropdown } from \"reactstrap\";\r\nimport { InputType } from 'reactstrap/lib/Input';\r\nimport { CallAxiosRequest } from '../../../Helpers/axiosHelpers';\r\nimport { CheckIfCompanyIs, CheckIfIsExternalPage, CheckIFTrenchesIntervalIsValid, ConvertIntoDictionaryWithSpecificValue, DAY_DICTIONARY, DAY_OPTIONS, EPermissionValue, GetDayPostBy, GetDayPriorBy, getImagesURL_IGain_LDN, getImagesURL_LDN, LowerCaseExists, NumberExists, ReturnAccSecType, ReturnCountryCode, ReturnImageName, ReturnPlaceHolderStatement, ReturnSecuirtyTypeTitle, ReturnSymbolSecType, ReturnValuesForMultiSelect, SpecialCharacterExists, UpperCaseExists, ValidateExpLimit, ValidateInput, ValidationTXT } from '../../../Helpers/DataHelpers';\r\nimport { BasicSelectOption } from '../../../Interfaces/IApplicationForm';\r\nimport { GetCompanyDataResult, GetUserRolesPermsList, IMarginTiles, LoadCompanyLogoResult, PermsLicList, RolePermsLic, TierClass, translationType, UserRolesList, YoonitResponse } from '../../../Interfaces/Interfaces';\r\nimport { GetAdminData, GetClientData, ICompanyData, IStore, IUserData } from '../../../redux/constants';\r\nimport store from '../../../redux/store';\r\n\r\ndeclare var require: any;\r\nconst $ = require(\"jquery\");\r\nconst moment = require(\"moment\");\r\nconst { TabPane } = Tabs;\r\nconst { SpinnerComponent }: any = require('react-element-spinner');\r\nconst { RangePicker } = DatePicker;\r\n\r\ninterface DateIndexProps {\r\n onChange: any;\r\n label: any;\r\n}\r\nexport class DateRangePicker extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n {this.props.label}\r\n \r\n \r\n
\r\n\r\n )\r\n }\r\n};\r\n\r\ninterface ExpIndexProps {\r\n exportBtnOnclick: any;\r\n\r\n}\r\n\r\nexport class ExportBtn extends React.Component {\r\n render() {\r\n return (\r\n
\r\n Export to File \r\n
\r\n )\r\n }\r\n};\r\n\r\ninterface FilterProps {\r\n filterbar?: any;\r\n buttonClick?: any;\r\n filterFirstTable?: any;\r\n filterKeyWord?: any;\r\n FilterBy?: any;\r\n showSeatch?: boolean;\r\n}\r\n\r\nexport class FiltrationButton extends React.Component {\r\n render() {\r\n return (\r\n
\r\n {this.props.showSeatch &&\r\n }\r\n placeholder={this.props.FilterBy + \" \" + this.props.filterKeyWord}\r\n className={\"SearchInputFilter\"}\r\n name=\"Search\"\r\n onKeyUp={this.ReloadTable}\r\n />\r\n }\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.filterbar}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n )\r\n }\r\n\r\n ReloadTable = (e: any) => {\r\n if (e.keyCode === 13 || (!e.target.value && e.keyCode === 8))\r\n this.props.filterFirstTable(e);\r\n }\r\n};\r\ninterface FiltrationButtonPagesProps {\r\n filterOn?: any;\r\n onClick?: any;\r\n}\r\nexport class FiltrationButtonPages extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n\r\n )\r\n }\r\n};\r\ninterface ColumnsButtonsProps {\r\n BtnOn?: any;\r\n openModal?: any;\r\n theme?: any;\r\n}\r\nexport class ColumnsButtons extends React.Component {\r\n state = {\r\n openModal: false\r\n }\r\n handleModal = () => {\r\n this.setState({\r\n openModal: !this.state.openModal\r\n })\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n {this.state.openModal &&\r\n \r\n \r\n
\r\n
\r\n

Edit Columns

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n }\r\n
\r\n\r\n )\r\n }\r\n};\r\n\r\ninterface FilterdateProps {\r\n monthSelectOptions: any;\r\n monthSelectValue: any;\r\n monthSelectonChange: any;\r\n inputDateValue: any;\r\n isMulti: boolean;\r\n isNotMultiIsSearchable?: boolean;\r\n yearChange: any;\r\n inputPlaceholder?: any;\r\n yearBlur?: any;\r\n placeholderMonth?: any\r\n}\r\n\r\nexport class FiltrationDate extends React.Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n { }}\r\n placeholder={this.props.inputPlaceholder}\r\n />\r\n
\r\n
\r\n {!this.props.isMulti &&\r\n \r\n }\r\n {this.props.isMulti &&\r\n \r\n\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\ninterface OutlineBtnProps {\r\n type?: any;\r\n class?: any;\r\n id?: any;\r\n onClick?: any;\r\n btnText?: any;\r\n}\r\n\r\nexport class OutlineBtn extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n};\r\n\r\ninterface PerIndexProps {\r\n perSelectOptions: any;\r\n perSelectValue: any;\r\n perSelectonChange: any;\r\n\r\n}\r\n\r\nexport class PerTimeSelect extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface RefreshIndexProps {\r\n refreshBtnOnclick: any;\r\n refreshText: any;\r\n\r\n}\r\n\r\nexport class RefreshBtn extends React.Component {\r\n render() {\r\n return (\r\n
\r\n {this.props.refreshText} \r\n
\r\n )\r\n }\r\n};\r\n\r\n\r\ninterface SelectIndexProps {\r\n serverSelectOptions: any;\r\n serverSelectValue: any;\r\n serverSelectonChange: any;\r\n\r\n}\r\n\r\nexport class ServerSelect extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\ninterface ServerProps {\r\n serverSelectedValue: any;\r\n serverSelectOptions: any;\r\n ServerChange: any;\r\n id?: string;\r\n placeholder?: any;\r\n inpages?: boolean;\r\n}\r\n\r\n\r\nexport class ServerMultiSelect extends React.Component {\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\ninterface IBIndexProps {\r\n yearValue: any;\r\n yearChange: any;\r\n monthValue: any;\r\n monthChange: any;\r\n LabelCreate2: any;\r\n onEventDate: any;\r\n}\r\n\r\ninterface ExcelType {\r\n onClick?: any;\r\n csvData?: any;\r\n fileName?: any;\r\n title?: any;\r\n mainTitle?: any;\r\n loading?: boolean;\r\n isImport?: boolean;\r\n}\r\n\r\n\r\nexport const ExcelBtn = ({ csvData, fileName, onClick, title, mainTitle, loading, isImport }: ExcelType) => {\r\n const exportToCSV = (csvData: any, fileName: any, onClick: any, title: any, lang: any) => {\r\n if (onClick !== undefined) {\r\n onClick();\r\n }\r\n }\r\n return (\r\n\r\n exportToCSV(csvData, fileName, onClick, title, mainTitle)}>\r\n \r\n {mainTitle} {title}\r\n \r\n )\r\n}\r\n\r\n\r\ninterface PassIndexProps {\r\n value?: any;\r\n label?: any;\r\n name?: any;\r\n id?: any;\r\n disabled?: any;\r\n placeholder?: any;\r\n onChange?: any;\r\n\r\n}\r\n\r\nexport class PasswordComp extends React.Component {\r\n state = {\r\n hidden: true, password: ''\r\n };\r\n toggleShow = () => {\r\n\r\n this.setState({ hidden: !this.state.hidden });\r\n }\r\n componentDidMount() {\r\n if (this.props.value) {\r\n this.setState({ password: this.props.value });\r\n }\r\n }\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 )\r\n }\r\n};\r\n\r\ninterface FiltrationDateAnalyticsIndexProps {\r\n showDateInput?: any;\r\n inputDateValue?: any;\r\n yearChange?: any;\r\n inputPlaceholder?: any;\r\n selectclass?: any;\r\n classPrefix?: any;\r\n monthSelectOptions: any;\r\n isMulti?: any;\r\n monthSelectValue?: any;\r\n monthSelectonChange?: any;\r\n getbtnClassName?: any;\r\n onclickGetBtn?: any;\r\n}\r\n\r\nexport class FiltrationDateAnalytics extends React.Component {\r\n state = {\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.showDateInput &&\r\n \r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\ninterface ServerIndexProps {\r\n serverSelectOptions: any;\r\n serverSelectValue: any;\r\n serverSelectonChange: any;\r\n loginSelectOptions: any;\r\n loginSelectValue: any;\r\n loginSelectonChange: any;\r\n placeholder?: any;\r\n hide?: any;\r\n\r\n}\r\n\r\nexport class ServerLogin extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n {!this.props.hide && }\r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\ninterface DisIndexProps {\r\n title: any;\r\n result: any | null;\r\n}\r\n\r\nexport class DisplayFields extends React.Component {\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.title}\r\n {this.props.result ? this.props.result : \"\"} \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\ninterface FinishIndexProps {\r\n title?: any;\r\n result?: any;\r\n showEdit?: any;\r\n onEditClick?: any;\r\n editText?: any;\r\n}\r\n\r\nexport class FinishReviewDisplay extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n\r\n

{this.props.title}:   {(this.props.result && this.props.result !== \"choose\" && this.props.result !== \"Choose\" && this.props.result !== \"-1\" && this.props.result !== \"No Servers\") ? this.props.result : \"--\"}

\r\n {this.props.showEdit &&\r\n \r\n }\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface InuptProps {\r\n for?: any;\r\n LabelClass?: any;\r\n labelContent?: any;\r\n value: any;\r\n onChange: any;\r\n type: any;\r\n name: any;\r\n placeholder?: any;\r\n id: any;\r\n className?: any;\r\n rows?: any;\r\n autocomplete?: any;\r\n}\r\n\r\n\r\nexport class InputWithLabel extends React.Component {\r\n render() {\r\n return (
\r\n \r\n \r\n
);\r\n }\r\n}\r\n\r\ninterface InternalLeftsidebarLabelsProps {\r\n title: any;\r\n answer: any;\r\n isLoading?: any;\r\n}\r\n\r\nexport class InternalLeftsidebarLabels extends React.Component {\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 }\r\n};\r\n\r\ninterface InternalLeftsidebarLabelsProps {\r\n title: any;\r\n answer: any;\r\n isLoading?: any;\r\n LabelClass?: any;\r\n}\r\n\r\nexport class InternalLeftsidebarLabelsNewDesign extends React.Component {\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\nexport class NoDataInTable extends React.Component {\r\n\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 }\r\n};\r\n\r\nexport class NoDataToDisplay extends React.Component {\r\n render() {//TODO need translation\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\nexport const FormValidation = (props: { children?: React.ReactNode, validate: boolean, title: string }) => (\r\n \r\n {props.children}\r\n \r\n);\r\nexport const BasicValidation = (props: { children?: React.ReactNode, validate: boolean, title: string }) => (\r\n \r\n);\r\ninterface InputOnFocusProps {\r\n placeholder: any;\r\n onChange?: any;\r\n value?: any;\r\n name: string;\r\n Compliance?: boolean;\r\n type?: InputType;\r\n disabled?: boolean;\r\n}\r\n\r\nexport class InputFormWithFocus extends React.Component {\r\n\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\ninterface InputComponentProps {\r\n title?: any;\r\n placeholder?: any;\r\n onChange?: any;\r\n onBlur?: any;\r\n value?: any;\r\n name: string;\r\n Compliance?: boolean;\r\n type?: InputType;\r\n disabled?: boolean;\r\n rows?: any;\r\n}\r\n\r\nexport class InputComponent extends React.Component {\r\n render() {\r\n return (\r\n
\r\n\r\n \r\n {(!this.props.Compliance) && }\r\n \r\n
\r\n )\r\n }\r\n};\r\nexport class PasswordComponent extends React.Component {\r\n render() {\r\n return (\r\n
\r\n\r\n {this.props.placeholder && }\r\n {(!this.props.Compliance) && }\r\n \r\n
\r\n )\r\n }\r\n};\r\ninterface RadioLabelWithCompComplianceProps {\r\n label?: any;\r\n Compliance?: boolean;\r\n}\r\nexport class RadioLabelWithCompCompliance extends React.Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n};\r\ninterface CheckAllHeaderProps {\r\n t: any;\r\n title: string;\r\n tableID: string;\r\n checkboxesClass: string;\r\n}\r\nexport class CheckAllHeader extends React.Component {\r\n state = {\r\n checkALL: false,\r\n asc: false,\r\n }\r\n checkBoxOnChange = (e: any) => {\r\n let _checked = e.target.checked;\r\n let _ref = this;\r\n this.setState({ checkALL: _checked } as any);\r\n $(`.${_ref.props.checkboxesClass}`).prop('checked', _checked).change();\r\n };\r\n SortFirstColumn = () => {\r\n $(`#${this.props.tableID}`).DataTable().order([0, this.state.asc ? 'asc' : 'desc']).draw();\r\n this.setState({ asc: !this.state.asc });\r\n }\r\n render() {\r\n return (\r\n <>\r\n \r\n {this.props.t(this.props.title)}\r\n \r\n \r\n )\r\n }\r\n};\r\ninterface SelectWithFocusProps {\r\n placeholder: any;\r\n onChange?: any;\r\n value?: any;\r\n options?: any;\r\n isSearchable?: any\r\n classNamePrefix: string;\r\n Compliance?: boolean;\r\n t: Function;\r\n}\r\nexport class SelectWithFocus extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n {!(true) && }\r\n {((this.props.value && this.props.value.value && String(this.props.value.value) !== '-1')) &&\r\n }\r\n
\r\n )\r\n }\r\n};\r\n\r\nexport class SelectWithFocusNewDesgin extends React.Component {\r\n //#region Open/Close menu-React\r\n box: any = React.createRef();\r\n state = {\r\n menuIsOpen: false,\r\n menuDivIsOpen: false,\r\n }\r\n Toggle = (str: string) => {\r\n //console.log(str)\r\n this.setState({ menuDivIsOpen: !this.state.menuDivIsOpen })\r\n }\r\n closeAll = (str: string) => {\r\n this.setState({ menuDivIsOpen: false, menuIsOpen: false })\r\n }\r\n OpenMenu = (str: string) => {\r\n this.setState({ menuIsOpen: true })\r\n }\r\n CloseMenu = (str: string) => {\r\n this.setState({ menuIsOpen: false })\r\n }\r\n componentWillUnmount() {\r\n document.removeEventListener('click', this.handleOutsideClick);\r\n }\r\n componentDidMount() {\r\n document.addEventListener('click', this.handleOutsideClick);\r\n }\r\n handleOutsideClick = (event: any) => {\r\n if (this.box && !this.box?.current?.contains(event.target)) {\r\n this.closeAll('you just clicked outside of box!')\r\n }\r\n }\r\n //#endregion\r\n render() {\r\n return (\r\n this.closeAll(\"onMouseDown\")}\r\n onBlur={() => this.closeAll(\"onBlur\")}\r\n >\r\n this.closeAll(\"onClick\")}\r\n className={`LabelCreate2 d-contents font-14 ml-2 ${this.props.Compliance !== undefined && !this.props.Compliance ? \" text-danger\" : \"colorGrey\"}`} >{true ? `${this.props.placeholder}${this.props.Compliance !== undefined && !this.props.Compliance ? \"*\" : \"\"}` : \" \"} \r\n {false && }\r\n {/*((this.props.value && this.props.value.value && String(this.props.value.value) !== '-1'))*/ true &&\r\n this.Toggle(\"Click\")}\r\n onBlur={() => this.closeAll(\"onBlur\")}\r\n >\r\n this.props.t(option.label)}\r\n isSearchable={this.props.isSearchable}\r\n classNamePrefix={this.props.classNamePrefix}\r\n className=\"react-select cursor-pointer LargeSelect DarkMode \"\r\n placeholder={\"\"}\r\n options={this.props.options}\r\n onChange={this.props.onChange}\r\n value={this.props.value}\r\n onFocus={() => this.OpenMenu(\"foucs\")}\r\n onBlur={() => this.CloseMenu(\"onBlur\")}\r\n menuIsOpen={this.state.menuIsOpen || this.state.menuDivIsOpen}\r\n onMenuOpen={() => this.OpenMenu(\"onMenuOpen\")}\r\n onMenuClose={() => this.CloseMenu(\"onMenuClose\")}\r\n />}\r\n \r\n )\r\n }\r\n};\r\ninterface SelectComponentProps {\r\n onChange?: any;\r\n value?: any;\r\n options?: any;\r\n isSearchable?: any\r\n label?: any;\r\n compliance?: any;\r\n isLoading?: boolean;\r\n isDisabled?: boolean;\r\n getOptionLabel?: any;\r\n}\r\nexport class SelectComponent extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n {(!this.props.compliance) && }\r\n (this.props.getOptionLabel ? this.props.getOptionLabel(option) : option.label)}\r\n />\r\n
\r\n )\r\n }\r\n};\r\n\r\ninterface SelectMultiWithFocusProps {\r\n placeholder: any;\r\n onChange: any;\r\n value: any;\r\n options: any;\r\n isSearchable?: any\r\n classNamePrefix: string;\r\n Compliance?: boolean;\r\n t: Function;\r\n}\r\nexport class SelectMultiWithFocus extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n {!((this.props.value && this.props.value.length > 0)) && }\r\n {((this.props.value && this.props.value.length > 0)) &&\r\n }\r\n
\r\n )\r\n }\r\n}\r\nexport class SelectMultiWithFocusNewDesgin extends React.Component {\r\n //#region Open/Close menu-React\r\n box: any = React.createRef();\r\n state = {\r\n menuIsOpen: false,\r\n menuDivIsOpen: false,\r\n }\r\n Toggle = (str: string) => {\r\n //console.log(str)\r\n this.setState({ menuDivIsOpen: !this.state.menuDivIsOpen })\r\n }\r\n closeAll = (str: string) => {\r\n this.setState({ menuDivIsOpen: false, menuIsOpen: false })\r\n }\r\n OpenMenu = (str: string) => {\r\n this.setState({ menuIsOpen: true })\r\n }\r\n CloseMenu = (str: string) => {\r\n this.setState({ menuIsOpen: false })\r\n }\r\n componentWillUnmount() {\r\n document.removeEventListener('click', this.handleOutsideClick);\r\n }\r\n componentDidMount() {\r\n document.addEventListener('click', this.handleOutsideClick);\r\n }\r\n handleOutsideClick = (event: any) => {\r\n if (this.box && !this.box?.current?.contains(event.target)) {\r\n this.closeAll('you just clicked outside of box!')\r\n }\r\n }\r\n //#endregion\r\n render() {\r\n return (\r\n this.closeAll(\"onMouseDown\")}\r\n onBlur={() => this.closeAll(\"onBlur\")}\r\n >\r\n this.closeAll(\"onClick\")}\r\n className={`LabelCreate2 d-contents font-14 ml-2 ${this.props.Compliance !== undefined && !this.props.Compliance ? \" text-danger\" : \"colorGrey\"}`} >{((this.props.value && this.props.value.length > 0)) ? `${this.props.placeholder}${this.props.Compliance !== undefined && !this.props.Compliance ? \"*\" : \"\"}` : \" \"} \r\n {false && }\r\n {true &&\r\n this.Toggle(\"Click\")}\r\n onBlur={() => this.closeAll(\"onBlur\")}\r\n >\r\n this.OpenMenu(\"foucs\")}\r\n onBlur={() => this.CloseMenu(\"onBlur\")}\r\n menuIsOpen={this.state.menuIsOpen || this.state.menuDivIsOpen}\r\n onMenuOpen={() => this.OpenMenu(\"onMenuOpen\")}\r\n onMenuClose={() => this.CloseMenu(\"onMenuClose\")}\r\n />}\r\n \r\n )\r\n }\r\n}\r\nexport function Translation({ children }: any) {\r\n const [t, i18n] = useTranslation();\r\n return children({ t, i18n });\r\n}\r\ninterface FilterMultiSelectProps {\r\n placeholder: string;\r\n value: any[];\r\n options: any[];\r\n onChange: any;\r\n id?: any;\r\n inpages?: any;\r\n t?: any;\r\n keyLabel?: string;\r\n}\r\nexport class FilterMultiSelect extends React.Component {\r\n render() {\r\n return (\r\n this.ReturnTranslatedOption(option, this.props.keyLabel)}\r\n className={this.props.inpages ? \"ShowSearch2 d-block ShowSearch NoBordersFilter multiselect-custom\" : \"d-block ShowSearch multiselect-custom mb-2\"}\r\n value={this.props.value}\r\n options={this.props.options}\r\n onChange={this.props.onChange}\r\n placeholder={ReturnPlaceHolderStatement(this.props.placeholder, this.props.value, this.props.options)}\r\n maxSelectedLabels={0}\r\n fixedPlaceholder\r\n />\r\n )\r\n }\r\n ReturnTranslatedOption = (option: any, keyLabel?: string) => {\r\n let _option: any = { ...option };\r\n if (keyLabel !== \"CountryCode\")\r\n return this.props.t ?
{this.props.t(this.props.keyLabel ? _option[this.props.keyLabel] : _option.label)}
:
{this.props.keyLabel ? ReturnCountryCode(_option[this.props.keyLabel]) : _option.label}
;\r\n else\r\n return this.props.t ?
{this.props.t(this.props.keyLabel ? ReturnCountryCode(_option[this.props.keyLabel]) : _option.label)}
:
{this.props.keyLabel ? ReturnCountryCode(_option[this.props.keyLabel]) : _option.label}
;\r\n }\r\n};\r\ninterface PassowrdValidationProps {\r\n Password: string;\r\n t: Function;\r\n length?: number;\r\n}\r\nexport class PassowrdValidation extends React.Component {\r\n length = this.props.length ? (this.props.length - 1) : 7;\r\n render() {\r\n if (this.props.Password && this.props.Password !== \"\" &&\r\n (!UpperCaseExists(this.props.Password) ||\r\n !LowerCaseExists(this.props.Password) ||\r\n !NumberExists(this.props.Password) ||\r\n !SpecialCharacterExists(this.props.Password) ||\r\n this.props.Password.length <= this.length)\r\n ) {\r\n return (\r\n
\r\n {this.props.t('UpperCase')} \r\n {this.props.t('LowerCase')} \r\n {this.props.t('Numbers')} \r\n {this.props.t('SpecialCharacter')} \r\n this.length ? \"tagSucess\" : \"tagError\"}> {this.length ? (this.length + 1) : \"\"} {this.props.t(this.length ? `Characters` : '8Characters')} \r\n
)\r\n }\r\n else return
\r\n }\r\n}\r\n\r\ninterface IncludeExcludeDropDownProps {\r\n placeholder: string;\r\n options: any[];\r\n includedValue: any[];\r\n includedOnChange: any;\r\n excludedValue: any[];\r\n excludedOnChange: any;\r\n\r\n}\r\nclass IncludeExcludeDropDownStates {\r\n IsExcluded: boolean = false;\r\n excludeOptions: any[] = [];\r\n includeOptions: any[] = [];\r\n}\r\nexport class IncludeExcludeDropDown extends React.Component {\r\n state = new IncludeExcludeDropDownStates();\r\n componentDidMount() {\r\n this.setState({\r\n includeOptions: this.ReturnExcludeOptions(this.props.excludedValue),\r\n //excludeOptions: this.ReturnExcludeOptions(this.props.includedValue),//so can select values\r\n });\r\n }\r\n componentDidUpdate(prevprops: IncludeExcludeDropDownProps) {\r\n if (prevprops.options !== this.props.options) {\r\n this.setState({\r\n excludeOptions: this.ReturnExcludeOptions(this.props.includedValue),\r\n includeOptions: this.ReturnExcludeOptions(this.props.excludedValue)\r\n })\r\n }\r\n }\r\n ReturnExcludeOptions = (list: any) => {\r\n try {\r\n let _options: any[] = [];\r\n let _includedValue: any = [...list];\r\n _includedValue = _includedValue ? ReturnValuesForMultiSelect(_includedValue).toString() : \"\";\r\n for (let option of this.props.options) {\r\n if (!_includedValue.includes(option?.value)) {\r\n //console.log('Accpeted:', option?.label)\r\n _options.push({ ...option });\r\n }\r\n }\r\n return _options;\r\n } catch (e) {\r\n console.error(e);\r\n return this.props.options;\r\n }\r\n }\r\n RadioOnChange = (e: any) => {\r\n this.setState({ IsExcluded: e.target.value === 'exclude' })\r\n if (e.target.value === 'exclude')//on didmount too for included in clude triger radio change\r\n this.setState({ excludeOptions: this.ReturnExcludeOptions(this.props.includedValue) })\r\n else\r\n this.setState({ includeOptions: this.ReturnExcludeOptions(this.props.excludedValue) })\r\n };\r\n render() {\r\n return (\r\n <>\r\n \r\n {this.state.IsExcluded ? 'Exclude' : 'Include'}\r\n \r\n {!this.state.IsExcluded && }\r\n {this.state.IsExcluded && }\r\n \r\n \r\n Include\r\n \r\n \r\n Exclude\r\n \r\n \r\n \r\n )\r\n }\r\n};\r\n\r\nexport class IncludeDropDown extends React.Component {\r\n state = new IncludeExcludeDropDownStates();\r\n componentDidMount() {\r\n this.setState({\r\n includeOptions: this.ReturnExcludeOptions(this.props.excludedValue),\r\n //excludeOptions: this.ReturnExcludeOptions(this.props.includedValue),//so can select values\r\n });\r\n }\r\n componentDidUpdate(prevprops: IncludeExcludeDropDownProps) {\r\n if (prevprops.options !== this.props.options) {\r\n this.setState({\r\n excludeOptions: this.ReturnExcludeOptions(this.props.includedValue),\r\n includeOptions: this.ReturnExcludeOptions(this.props.excludedValue)\r\n })\r\n }\r\n }\r\n ReturnExcludeOptions = (list: any) => {\r\n try {\r\n let _options: any[] = [];\r\n let _includedValue: any = [...list];\r\n _includedValue = _includedValue ? ReturnValuesForMultiSelect(_includedValue).toString() : \"\";\r\n for (let option of this.props.options) {\r\n if (!_includedValue.includes(option?.value)) {\r\n //console.log('Accpeted:', option?.label)\r\n _options.push({ ...option });\r\n }\r\n }\r\n return _options;\r\n } catch (e) {\r\n console.error(e);\r\n return this.props.options;\r\n }\r\n }\r\n RadioOnChange = (e: any) => {\r\n this.setState({ IsExcluded: e.target.value === 'exclude' })\r\n if (e.target.value === 'exclude')//on didmount too for included in clude triger radio change\r\n this.setState({ excludeOptions: this.ReturnExcludeOptions(this.props.includedValue) })\r\n else\r\n this.setState({ includeOptions: this.ReturnExcludeOptions(this.props.excludedValue) })\r\n };\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n};\r\ninterface ColumnMultiSelectProps {\r\n placeholder: string;\r\n value: any[];\r\n //options: any[];\r\n onChange: any;\r\n id: any;\r\n inpages?: any;\r\n Titles: any;\r\n t: any;\r\n}\r\nexport class ColumnFilterMultiSelect extends React.Component {\r\n componentDidMount() {// elment not exist yet\r\n this.SetSelectedColumns(this.props.value, this.props.id);\r\n }\r\n componentDidUpdate(prevProps: ColumnMultiSelectProps) {\r\n if (prevProps.value !== this.props.value) {//as from parent trigger by code //TODO check if not needed\r\n this.SetSelectedColumns(this.props.value, this.props.id);\r\n }\r\n }\r\n tableColumnsOnChange = (e: any) => {\r\n this.props.onChange(e);\r\n if (e.value) {//If none selected will take orginal\r\n //console.log(this.props.id);\r\n this.SetSelectedColumns(e.value, this.props.id);\r\n }\r\n }\r\n SetSelectedColumns(list: any, id: any) {\r\n let ColumnPosDic = this.ConvertTitlesToColumnPosDic(this.props.Titles);\r\n //console.log({ ColumnPosDic, id, list });\r\n for (let key in ColumnPosDic) {\r\n if (ColumnPosDic.hasOwnProperty(key)) {//all false then set others by list[i]>> key true\r\n try {\r\n if (!list.includes(key)) {\r\n //console.log({ key }, \"Not found \")\r\n $(`#${id}`).DataTable()?.column(ColumnPosDic[key])?.visible(false);\r\n } else {\r\n //console.log({ key }, \" found \") //any missing column would make problem \r\n $(`#${id}`).DataTable()?.column(ColumnPosDic[key])?.visible(true);\r\n }\r\n } catch (e) {\r\n console.log(e, `#${id}`, key)\r\n }\r\n }\r\n }\r\n }\r\n ConvertTitlesToColumnOptions = (list: any[]) => {\r\n if (!list || list.length === 0) return [];\r\n let _options: any[] = [];\r\n for (let titleIndex in list) {\r\n _options.push({ value: list[titleIndex], label: this.props.t(list[titleIndex]), Index: titleIndex })\r\n }\r\n return _options;\r\n }\r\n ConvertTitlesToColumnPosDic = (list: any[]) => {\r\n let _newDict: any = [...list].reduce((obj: any, item: any, index: number) => {\r\n obj[item] = index\r\n return obj\r\n }, {});\r\n return _newDict;\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n};\r\n\r\nexport class InputPostiveNumber extends React.Component {\r\n timer: any;\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n componentDidMount() {\r\n this.timer = null;\r\n }\r\n render() {\r\n return (\r\n {\r\n e.persist();\r\n clearTimeout(this.timer);\r\n this.timer = setTimeout(function () {\r\n //console.log('Input Value:', e.target.value);\r\n e.target.value = Math.abs(e.target.value); return e;\r\n }, 2000);//every 2 seconds clear \r\n }}\r\n onBlurCapture={(e: any) => {\r\n e.target.value = Math.abs(e.target.value); return e;\r\n }}\r\n />);\r\n }\r\n}\r\ninterface DatePickerRangeComponentProps {\r\n EndDate: Date;\r\n StartDate: Date;\r\n StartDateOnChange: any;\r\n EndDateOnChange: any;\r\n t: Function;\r\n}\r\nexport class DatePickerRangeComponent extends React.Component {\r\n componentDidUpdate(prevProps: any) {\r\n if (prevProps.EndDate !== this.props.EndDate) {\r\n this.setState({ Start: false }, () => this.setState({ Start: true }))\r\n }\r\n if (prevProps.StartDate !== this.props.StartDate) {\r\n this.setState({ End: false }, () => this.setState({ End: true }))\r\n }\r\n }\r\n state = {\r\n Start: true,\r\n End: true,\r\n }\r\n render() {\r\n return (\r\n <>\r\n {this.state.Start &&
}\r\n {this.state.End &&
}\r\n );\r\n }\r\n}\r\ninterface MultiSelectDropdownSelectAllProps {\r\n placeholder: string;\r\n Title?: string;\r\n value: any[];\r\n options: any[];\r\n onChange: any;\r\n isDisabled?: boolean;\r\n}\r\nexport const MultiSelectDropdownSelectAll = (props: MultiSelectDropdownSelectAllProps | any) => {\r\n const valueRef = React.useRef(props.value);\r\n valueRef.current = props.value;\r\n let _newtitle = props.placeholder && !props.placeholder?.toLowerCase().includes(\"choose\") ? props.placeholder : \"\";\r\n const selectAllOption = {\r\n value: \"\",\r\n label: `All ${props.Title ? props.Title : _newtitle}`\r\n };\r\n const isSelectAllSelected = () => valueRef?.current && (valueRef?.current?.length === props?.options?.length) && props?.options?.length > 0;\r\n const isOptionSelected = (option: any) =>\r\n valueRef?.current?.some?.(({ value }: any) => value === option?.value) ||\r\n isSelectAllSelected();\r\n\r\n const getOptions = () => props.options.length > 0 ? [selectAllOption, ...props.options] : [...props.options];\r\n\r\n const getValue = () => isSelectAllSelected() ? [selectAllOption] : props.value;\r\n\r\n const onChange = (newValue: any, actionMeta: any) => {\r\n const { action, option, removedValue } = actionMeta;\r\n\r\n if (action === \"select-option\" && option.value === selectAllOption.value) {\r\n props.onChange(props.options, actionMeta);\r\n } else if (\r\n (action === \"deselect-option\" &&\r\n option.value === selectAllOption.value) ||\r\n (action === \"remove-value\" &&\r\n removedValue.value === selectAllOption.value)\r\n ) {\r\n props.onChange([], actionMeta);\r\n } else if (\r\n actionMeta.action === \"deselect-option\" &&\r\n isSelectAllSelected()\r\n ) {\r\n props.onChange(\r\n props.options.filter(({ value }: any) => value !== option.value),\r\n actionMeta\r\n );\r\n } else {\r\n props.onChange(newValue || [], actionMeta);\r\n }\r\n };\r\n const customFilter = (option: any, searchText: any) => {\r\n if (\r\n option?.data?.label?.toLowerCase()?.includes?.(searchText?.toLowerCase())\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n props.getOptionLabel ? props.getOptionLabel(option) : option.label}\r\n />\r\n );\r\n};\r\n//#region User License\r\ninterface UserLicenseProps {\r\n UserData: IUserData;\r\n CompanyData: ICompanyData;\r\n AdminData: GetAdminData;\r\n ContactID: string;\r\n URL: string;\r\n t: Function;\r\n clientPermsDic: any;\r\n clientPermsDicNames: any;\r\n clientPermsDropDownOptions: any;\r\n}\r\ninterface UserLicenseStates {\r\n isLoading: boolean;\r\n path: string;\r\n clientName: string;\r\n RolePermission: RolePermsLic[];\r\n RoleLicense: RolePermsLic[];\r\n key: string;\r\n ContactID: string;\r\n isAdmin: boolean;\r\n}\r\nexport class UserLicensePermissionDetails extends React.Component {\r\n state = {\r\n isLoading: false,\r\n path: \"\",\r\n clientName: \"\",\r\n RolePermission: [],\r\n RoleLicense: [],\r\n key: \"1\",\r\n isAdmin: false,\r\n ContactID: \"\",\r\n }\r\n GetUserRolesPermsForUser = (ContactID: string) => {\r\n let GetClientDropDownListsParams: any = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.UserData.Token,\r\n AUID: this.props.AdminData.AUID,\r\n ObjData: {\r\n CompanyID: String(this.props.CompanyData.CompanyID),\r\n ContactID: ContactID,\r\n isAdmin: false,\r\n }\r\n };\r\n this.setState({ isLoading: true });\r\n CallAxiosRequest(\r\n this.props.URL,\r\n `Trader/GetUserRolesPerms`,\r\n GetClientDropDownListsParams,\r\n { Token: this.props.UserData.Token },\r\n (res: AxiosResponse> | any) => {\r\n if (res.data.LiveRes) {\r\n let _permmissions = this.CastToRolePermsLic(res.data.LiveRes.PermsLicListResult);//Casting here so if chnage clss or add new be aware \r\n this.setState({ RolePermission: _permmissions });\r\n let _distinctIc: RolePermsLic[] = _permmissions.filter((thing: RolePermsLic, i: number, arr: any) => {\r\n return arr.indexOf(arr.find((t: RolePermsLic) => t.LicID === thing.LicID)) === i;\r\n });\r\n _distinctIc = _distinctIc.sort((a: RolePermsLic, b: RolePermsLic) => (!a.LicOrder ? 1 : !b.LicOrder ? -1 : a.LicOrder - b.LicOrder) || (!a.PermID ? 1 : !b.PermOrder ? -1 : a.PermID - b.PermOrder));//sort by 2 fields\r\n this.setState({ RoleLicense: _distinctIc })\r\n }\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n );\r\n }\r\n componentDidMount() {\r\n this.GetUserRolesPermsForUser(this.props.ContactID);\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.RoleLicense\r\n && this.state.RoleLicense.map((Lic: RolePermsLic) => {\r\n return (\r\n <>\r\n \r\n < Row className=\"ml-0\">\r\n {this.state.RolePermission\r\n && this.state.RolePermission.map((parentItem: RolePermsLic) => {\r\n return (\r\n String(parentItem.LicID) === String(Lic.LicID)\r\n && String(parentItem.PermID) !== \"0\"\r\n && String(parentItem.ParentPermID) === \"0\" &&\r\n <>\r\n {this.ReturnLevel1Perm(parentItem)}\r\n {String(parentItem.LicName) === String(Lic.LicName)\r\n && parentItem.PermName !== null\r\n && this.checkifHaveChildren(parentItem.PermID, parentItem.PermName)\r\n && this.ReturnLevel2Perm(parentItem, Lic.LicName)}\r\n \r\n )\r\n })}\r\n \r\n \r\n )\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n //#region each User client part \r\n CastToRolePermsLic = (list: PermsLicList[]) => {\r\n let newList: any[] = [...list];\r\n newList = newList.map((item: PermsLicList | any) => { //PermsLicList not getting same as class \r\n return {\r\n LicID: item.LicID,\r\n PermOrder: item.PermOrder,\r\n LicName: item.LicName,\r\n PermID: item.PermID,\r\n ParentPermID: item.ParentPermID,\r\n PermName: item.PermName,\r\n PermValID: item.PermIsChecked,\r\n LicOrder: item.LicOrder,\r\n };\r\n })\r\n newList = newList.sort((a: UserRolesList, b: UserRolesList) => (a.PermOrder > b.PermOrder) ? 1 : -1);\r\n return newList;\r\n }\r\n returnselectedPerm = (item: any) => {\r\n let _selectedPerm: any = this.props.clientPermsDic[item.PermValID ? item.PermValID : EPermissionValue.Deny];\r\n try {\r\n _selectedPerm = this.props.clientPermsDic[item.PermValID ? item.PermValID : (this.props.clientPermsDicNames[\"Deny\"]).Data.PermValID];\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n return _selectedPerm;\r\n }\r\n returnChildernValues = (list: RolePermsLic[], permItem: RolePermsLic, MainItem: string) => {\r\n let _newList: any[] = cloneDeep(list); // as don't want to change main list \r\n _newList = _newList.filter((element: RolePermsLic) => element.ParentPermID === permItem.PermID && (this.returnselectedPerm(element) ? this.returnselectedPerm(element).label === \"Allow\" : false))\r\n .map((child: RolePermsLic, i: number) => {\r\n return (\r\n String(child.LicName) === String(MainItem)\r\n && String(child.ParentPermID) !== \"0\"\r\n && String(child.PermID) !== \"0\"\r\n && String(child.ParentPermID) === String(permItem.PermID) &&\r\n MainItem === child.LicName &&\r\n child.PermName !== null &&\r\n child.PermName //not ? : as or use ? : null as \"\" empty string is considerd selected ( filter will solve issue)\r\n );\r\n })\r\n return _newList;\r\n }\r\n checkifHaveChildren = (ParentPermID: any, ParentPerName: string) => {\r\n let _list = cloneDeep(this.state.RolePermission);\r\n let _newList: any[] = _list.filter((element: RolePermsLic) => +(element.ParentPermID) === +(ParentPermID));\r\n return _newList.length > 0;\r\n }\r\n ReturnLevel1Perm = (parentItem: RolePermsLic) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n ReturnLevel3Perm = (parentItem: RolePermsLic, Lic: string) => {\r\n return \r\n \r\n \r\n

{this.props.t('AllocationRules')}:\r\n \r\n

\r\n
\r\n \r\n
;\r\n }\r\n returnChildernOptions = (list: RolePermsLic[], permItem: RolePermsLic, MainItem: string) => {\r\n let _newList: any[];\r\n _newList = list.filter((element: RolePermsLic) => element.ParentPermID === permItem.PermID)\r\n .map((child: RolePermsLic, i: number) => {\r\n return (\r\n String(child.LicName) === String(MainItem)\r\n && String(child.ParentPermID) !== \"0\"\r\n && String(child.PermID) !== \"0\"\r\n && String(child.ParentPermID) === String(permItem.PermID) &&\r\n MainItem === child.LicName &&\r\n child.PermName !== null &&\r\n { value: child.PermID, label: child.PermName, Data: child }//use Data field as can't slect based on object it is not comparabale \r\n );\r\n })\r\n return _newList;\r\n }\r\n ReturnLevel2Perm = (permItem: RolePermsLic, MainItem: any) => {\r\n return (\r\n this.state.RolePermission\r\n .filter((element: RolePermsLic) => element.ParentPermID === permItem.PermID)\r\n .map((child: RolePermsLic, i: number) => {\r\n return (\r\n String(child.LicName) === String(MainItem)\r\n && String(child.ParentPermID) !== \"0\"\r\n && String(child.PermID) !== \"0\"\r\n && String(child.ParentPermID) === String(permItem.PermID) &&\r\n MainItem === child.LicName &&\r\n child.PermName !== null && <>\r\n \r\n \r\n

{this.props.t(child.PermName)}:

\r\n \r\n \r\n
\r\n {String(child.LicName) === String(MainItem)\r\n && child.PermName !== null\r\n && this.checkifHaveChildren(child.PermID, child.PermName)\r\n && this.ReturnLevel3Perm(child, MainItem)}\r\n );\r\n }))\r\n }\r\n //#endregion\r\n};\r\n//#endregion\r\n//#region email Layout\r\nexport const RenderTutorialModal = (props: any) => {\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
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {!props.isCode &&\r\n <>\r\n }>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n }>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n }>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n }>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n | } disabled>\r\n
\r\n\r\n
\r\n
\r\n }>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n \r\n \r\n
\r\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 LightTooltip = withStyles((theme: Theme) => ({\r\n tooltip: {\r\n backgroundColor: theme.palette.common.white,\r\n color: 'rgb(0, 160, 223)',\r\n boxShadow: theme.shadows[1],\r\n fontSize: 14,\r\n },\r\n}))(Tooltip);\r\n\r\n//#endregion\r\nexport const SkeletonWrapper = ({ children, loading, ClassName }: any) => {\r\n return \r\n {children}\r\n ;\r\n}\r\ninterface SearchInputProps {\r\n value: number | string;\r\n onChange: any;\r\n type: InputType;\r\n name: string;\r\n className?: any;\r\n SearchRequest: any;\r\n validateLoginTrigger: number;\r\n validateLoginTriggerTxt: string;\r\n}\r\n\r\n\r\nexport class SearchInput extends React.Component {\r\n state = {\r\n typingTimeout: 0 as any,\r\n }\r\n componentWillUnmount() {\r\n if (this.state.typingTimeout) {\r\n console.log(\"Clear timeout\")\r\n clearTimeout(this.state.typingTimeout);\r\n }\r\n }\r\n render() {\r\n return (
\r\n \r\n {\r\n //only when user stops typing \r\n const self = this;\r\n let _value = `${e.target.value}`;\r\n if (self.state.typingTimeout) {\r\n clearTimeout(self.state.typingTimeout);\r\n }\r\n if (!['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft']?.includes(e.key)) {\r\n self.setState({\r\n typingTimeout: setTimeout(function () {\r\n self.props.SearchRequest(_value);\r\n }, 1000)\r\n });\r\n }\r\n }}\r\n />\r\n \r\n
);\r\n }\r\n}\r\ninterface DateRangeDropDownProps {\r\n Date: any;\r\n OnChange: any;\r\n t: Function;\r\n options?: any[];\r\n}\r\nexport class DateRangeDropDown extends React.Component {\r\n state = {\r\n Date: this.props.Date || [new Date(), new Date()],\r\n isOpen: false,\r\n dateType: { label: this.props.t('Today'), value: 'Today' },\r\n }\r\n //this.state.dateType.value === \"ownRange\"?`${this.props.Date[0]} - ${this.props.Date[1]}`:\r\n options: any = this.props.options || [\r\n { label: this.props.t('Today'), value: 'Today' },\r\n { label: this.props.t('Last3days'), value: '3days' },\r\n { label: this.props.t('Last7days'), value: '7days' },\r\n { label: this.props.t('Last30days'), value: '30days' },\r\n { label: this.props.t('Last3Months'), value: '3months' },\r\n { label: this.props.t('CustomDate'), value: 'ownRange' }\r\n ]\r\n\r\n setIsOpen = (isOpen: boolean) => {\r\n this.setState({ isOpen });\r\n }\r\n DateOnChange = (date: any) => {\r\n console.log(\"DateOnChange: \", date);\r\n this.setState({ Date: date });\r\n }\r\n DateTypeOnChange = (dateType: any) => {\r\n this.setState({ dateType });\r\n console.log({ dateType });\r\n let _date = [new Date(), new Date()];\r\n const _type = dateType.value;\r\n if (_type === \"30days\") {\r\n _date = [GetDayPriorBy(29), new Date()]; //as values \r\n }\r\n else if (_type === \"3months\") {\r\n _date = [GetDayPriorBy(89), new Date()];\r\n }\r\n else if (_type === \"3days\") {\r\n _date = [GetDayPriorBy(2), new Date()];\r\n }\r\n else if (_type === \"7days\") {\r\n _date = [GetDayPriorBy(6), new Date()];\r\n }\r\n else if (_type === \"Today\") {\r\n _date = [new Date(), new Date()];\r\n } else if (_type === \"ownRange\") {\r\n this.setIsOpen(true);\r\n console.log(\" this.setIsOpen(true);\")\r\n }\r\n if (_type !== \"ownRange\") {\r\n this.props.OnChange(_date);\r\n }\r\n }\r\n ReturnValue = () => {\r\n if (this.state.dateType.value === \"ownRange\") {\r\n return { value: this.state.dateType.value, label: `${this.props.Date[0]?.toLocaleDateString()} - ${this.props.Date[1]?.toLocaleDateString()}` };\r\n }\r\n return this.state.dateType;\r\n }\r\n onAccept = (date: any) => {\r\n const isValidDate = function (date: any) {\r\n return new Date(date).toString() !== 'Invalid Date';\r\n }\r\n try {\r\n const [start, end] = date;\r\n if (isValidDate(start)\r\n && isValidDate(end)\r\n && start.getTime() <= end.getTime()\r\n && start.getTime() > GetDayPriorBy(365 * 20).getTime() //20 years max \r\n && end.getTime() < GetDayPostBy(365 * 20).getTime()\r\n ) {\r\n this.props.OnChange(date);\r\n } else {\r\n toastr.warning('', this.props.t('InValidDateRange'));\r\n return;\r\n\r\n }\r\n } catch (e) {\r\n toastr.error('', this.props.t('InValidDateRange'));\r\n console.error(\"onAccept\", e);\r\n return;\r\n }\r\n }\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//#region DynamicMargin\r\nexport function Get_Hour_Minute(time: string) {\r\n return time?.split?.(\":\") || [];\r\n}\r\nexport const RenderSymbolMarginTier = ({ Securitylabel, list, selectedSessionID, t, closeAndGenerate, UpdateTiers, isEdit, col }\r\n : { t: Function, Securitylabel: string, list: TierClass[], selectedSessionID: number, closeAndGenerate: any, UpdateTiers: any, isEdit: boolean, col: number }) => {\r\n try {\r\n const index = list.findIndex((item: TierClass) => item.SessionID === selectedSessionID);\r\n const Tier: TierClass = list?.[index];\r\n //#region @functions\r\n const ReDrawMarginTiers = () => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n let _list: IMarginTiles[] = [];//dont take old as redraw new \r\n for (let i: number = 0; i < +(currentTier.levels); i++) {\r\n _list.push({ level: `${i}`, Leverage: \"\", Trenches: \"\" });\r\n }\r\n currentTier.MarginTiles = _list;\r\n UpdateTiers(tiers);\r\n }\r\n const RedrawMatginTiersOnEnterKey = (e: any) => {\r\n if (e.keyCode === 13)\r\n ReDrawMarginTiers();\r\n }\r\n const levelOnChange = (e: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.levels = +(e.target.value);\r\n UpdateTiers(tiers);\r\n }\r\n const FromDateOnChange = (value: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.FromDay = value.value;\r\n UpdateTiers(tiers);\r\n }\r\n const onFromTimeChange = (time: any, timeString: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n const [hour, minute] = Get_Hour_Minute(timeString);\r\n currentTier.FromHour = hour;\r\n currentTier.FromMinute = minute;\r\n UpdateTiers(tiers);\r\n }\r\n const onToTimeChange = (time: any, timeString: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n const [hour, minute] = Get_Hour_Minute(timeString);\r\n currentTier.ToHour = hour;\r\n currentTier.ToMinute = minute;\r\n UpdateTiers(tiers);\r\n }\r\n const toDateOnChange = (value: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.ToDay = value.value;\r\n UpdateTiers(tiers);\r\n }\r\n const GenerateMarginTiers = () => {\r\n try {\r\n let tiers: any = [...list];\r\n let currentTier: any = list?.[index];\r\n let _marginTiers: any = \"\";\r\n for (let i: number = 0; i < Tier.MarginTiles.length; i++) {\r\n _marginTiers += `T${Tier.MarginTiles[i].level}=${currentTier.MarginTiles[i].Trenches || 0}:${currentTier.MarginTiles[i].Leverage || 0};`;\r\n }\r\n currentTier.MarginTiers = _marginTiers;\r\n UpdateTiers(tiers);\r\n } catch (e) {\r\n console.error('GenerateMarginTiers', e);\r\n }\r\n }\r\n const TrenchesOnChange = (e: any, item: IMarginTiles) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n let _marginTitles: any[] = [...(currentTier?.MarginTiles || [])];\r\n for (let current of _marginTitles) {\r\n if (String(current.level) === String(item.level)) {\r\n current.Trenches = e.target.value;\r\n break;\r\n }\r\n }\r\n currentTier.MarginTiles = _marginTitles;\r\n UpdateTiers(tiers);\r\n }\r\n const LeverageOnChange = (e: any, item: IMarginTiles) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n let _marginTitles: any[] = [...(currentTier?.MarginTiles || [])];\r\n for (let current of _marginTitles) {\r\n if (String(current.level) === String(item.level)) {\r\n current.Leverage = e.target.value;\r\n break;\r\n }\r\n }\r\n currentTier.MarginTiles = _marginTitles;\r\n UpdateTiers(tiers);\r\n }\r\n const ResetMarginTiers = () => { // rest all Values \r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.levels = \"\";\r\n currentTier.MarginTiles = [];\r\n currentTier.MarginTiers = \"\";\r\n UpdateTiers(tiers);\r\n }\r\n //#endregion\r\n return <> < Row className=\"mt-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 -1) || ValidateInput(`${Tier.levels}`)} title={t('Levels')} />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n Tier?.MarginTiles\r\n && Tier?.MarginTiles?.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 {Tier.MarginTiles\r\n && Tier.MarginTiles.length > 0\r\n && Tier.MarginTiles.map((item: IMarginTiles, index: number) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
{t('Level')}{t('Trenches')}{ReturnSymbolSecType(Securitylabel)}
\r\n \r\n \r\n TrenchesOnChange(e, item)}\r\n onBlur={(e: any) => TrenchesOnChange(e, item)} />\r\n {index === (Tier.MarginTiles.length - 1) ? ' - ∞ ' : ` - ${Tier.MarginTiles[index + 1].Trenches ? Tier.MarginTiles[index + 1].Trenches : \"T\" + (index + 1)}`}\r\n \r\n LeverageOnChange(e, item)}\r\n onBlur={(e: any) => LeverageOnChange(e, item)} />\r\n
\r\n
}\r\n \r\n \r\n {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 } catch (e) {\r\n console.error('RENDER_SYMBOL_MARGIN_TIER: ', e);\r\n return <>;\r\n }\r\n}\r\nexport const RenderAccountMarginTier = ({ selectedSecurities, list, selectedSessionID, t, closeAndGenerate, UpdateTiers, isEdit, col }\r\n : { t: Function, selectedSecurities: BasicSelectOption[], list: TierClass[], selectedSessionID: number, closeAndGenerate: any, UpdateTiers: any, isEdit: boolean, col: number }) => {\r\n try {\r\n const index = list.findIndex((item: TierClass) => item.SessionID === selectedSessionID);\r\n const Tier: TierClass = list?.[index];\r\n //#region @functions AccountExp\r\n const ReDrawMarginTiles = () => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n let _list: any[] = [];//dont take old as redraw new \r\n for (let i: number = 0; i < parseInt(String(Tier.levels), 10); i++) {\r\n let _itemsFromValue: any = selectedSecurities && selectedSecurities?.length > 0 ?\r\n ConvertIntoDictionaryWithSpecificValue(selectedSecurities, \"label\", \"\") : {};// label here check\r\n _list.push({ level: `${i}`, Trenches: \"\", ..._itemsFromValue });\r\n }\r\n currentTier.MarginTiles = _list;\r\n UpdateTiers(tiers);\r\n }\r\n const RedrawMatginTiersOnEnterKey = (e: any) => {\r\n if (e.keyCode === 13) {\r\n ReDrawMarginTiles();\r\n }\r\n }\r\n const levelOnChange = (e: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.levels = +(e.target.value);\r\n UpdateTiers(tiers);\r\n }\r\n const FromDateOnChange = (value: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.FromDay = value.value;\r\n UpdateTiers(tiers);\r\n }\r\n const onFromTimeChange = (time: any, timeString: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n const [hour, minute] = Get_Hour_Minute(timeString);\r\n currentTier.FromHour = hour;\r\n currentTier.FromMinute = minute;\r\n UpdateTiers(tiers);\r\n }\r\n const onToTimeChange = (time: any, timeString: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n const [hour, minute] = Get_Hour_Minute(timeString);\r\n currentTier.ToHour = hour;\r\n currentTier.ToMinute = minute;\r\n UpdateTiers(tiers);\r\n }\r\n const toDateOnChange = (value: any) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.ToDay = value.value;\r\n UpdateTiers(tiers);\r\n }\r\n const GenerateMarginTiers = () => {\r\n let tiers: any = [...list];\r\n let currentTier: any = list?.[index];\r\n const GenerateMarginString = () => {\r\n let _marginTiers: any = \"\";\r\n if (selectedSecurities && selectedSecurities?.length > 0 && Tier.MarginTiles && Tier?.MarginTiles?.length > 0) {\r\n for (let i: number = 0; i < selectedSecurities?.length; i++) {\r\n _marginTiers += `${ReturnSecuirtyTypeTitle(selectedSecurities[i].label)}: `;\r\n for (let k: number = 0; k < Tier.MarginTiles.length; k++) {\r\n _marginTiers += `T${Tier.MarginTiles[k].level}=${Tier.MarginTiles[k].Trenches || 0}:${Tier.MarginTiles[k][selectedSecurities?.[i].label] || 0};`;\r\n }\r\n _marginTiers += `\\n`;\r\n }\r\n }\r\n currentTier.MarginTiers = _marginTiers;\r\n UpdateTiers(tiers);\r\n }\r\n //const GenerateAccSecTypesList = () => {//_marginTiersList\r\n // let _AccSecTypesList: any[] = [];\r\n // if (selectedSecurities && selectedSecurities?.length > 0 && Tier.MarginTiles && Tier.MarginTiles.length > 0) {\r\n // for (let i: number = 0; i < selectedSecurities.length; i++) {\r\n // let _ID = +(selectedSecurities[i].value);\r\n // let _margin = '';\r\n // for (let k: number = 0; k < Tier.MarginTiles.length; k++) {\r\n // _margin += `T${Tier.MarginTiles[k].level}=${Tier.MarginTiles[k].Trenches || 0}:${Tier.MarginTiles[k][selectedSecurities[i].label] || 0};`;\r\n // }\r\n // _AccSecTypesList.push({ AccExpID: 0, SecTypeID: _ID, MargTiers: _margin });\r\n // }\r\n // }\r\n // //LogMessage('GenerateMarginTiers', _marginTiersList);\r\n // currentTier.AccSecTypesList = _AccSecTypesList;\r\n // UpdateTiers(tiers);\r\n //}\r\n try {\r\n GenerateMarginString();\r\n //GenerateMarginStringToSend(); // GenerateMarginStringToSend ReturnMarginStringToSend in casting or tho to use\r\n //GenerateAccSecTypesList();\r\n\r\n } catch (e) {\r\n console.error('GenerateMarginTiers', e);\r\n }\r\n }\r\n const TrenchesOnChange = (e: any, item: IMarginTiles) => {\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n let _marginTitles: any[] = [...(currentTier?.MarginTiles || [])];\r\n for (let current of _marginTitles) {\r\n if (String(current.level) === String(item.level)) {\r\n current.Trenches = e.target.value;\r\n break;\r\n }\r\n }\r\n currentTier.MarginTiles = _marginTitles;\r\n UpdateTiers(tiers);\r\n }\r\n const LeveragesOnChange = (e: any, item: any, LeverageType: any) => {\r\n //console.log(e, item, LeverageType);\r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n let _marginTitles: any[] = [...(currentTier?.MarginTiles || [])];\r\n for (let current of _marginTitles) {\r\n if (String(current.level) === String(item.level)) {\r\n current[LeverageType] = e.target.value;\r\n break;\r\n }\r\n }\r\n currentTier.MarginTiles = _marginTitles;\r\n UpdateTiers(tiers);\r\n }\r\n const ResetMarginTiers = () => { // rest all Values \r\n let tiers = [...list];\r\n let currentTier = list?.[index];\r\n currentTier.levels = \"\";\r\n currentTier.MarginTiles = [];\r\n currentTier.MarginTiers = \"\";\r\n UpdateTiers(tiers);\r\n }\r\n //#endregion\r\n return <> < Row className=\"mt-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 -1) || ValidateInput(`${Tier.levels}`)} title={t('Levels')} />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n Tier.MarginTiles\r\n && Tier.MarginTiles.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectedSecurities?.length > 0\r\n && selectedSecurities.map((item: BasicSelectOption) => {\r\n return ()\r\n })\r\n }\r\n \r\n \r\n \r\n {Tier.MarginTiles\r\n && Tier.MarginTiles.length > 0\r\n && Tier.MarginTiles.map((item: IMarginTiles, index: number) => {\r\n return (\r\n \r\n \r\n {selectedSecurities && selectedSecurities.length > 0\r\n && selectedSecurities.map((element: BasicSelectOption) => {\r\n return (< td key={element.label}>\r\n LeveragesOnChange(e, item, element.label)}\r\n onBlur={(e: any) => LeveragesOnChange(e, item, element.label)}\r\n //item not element\r\n />\r\n )\r\n })\r\n }\r\n );\r\n })}\r\n \r\n
{t('Level')}{t('Trenches')}
{ReturnAccSecType(item.label)}
\r\n \r\n \r\n TrenchesOnChange(e, item)}\r\n onBlur={(e: any) => TrenchesOnChange(e, item)} />\r\n {index === (Tier.MarginTiles.length - 1) ? ' - ∞ ' : ` - ${Tier.MarginTiles[index + 1].Trenches ? Tier.MarginTiles[index + 1].Trenches : \"T\" + (index + 1)}`}\r\n
\r\n
}\r\n \r\n \r\n {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 } catch (e) {\r\n console.error('RENDER_ACCOUNT_MARGIN_TIER: ', e);\r\n return <>;\r\n }\r\n}\r\n//#endregion\r\n//#region LiveChangeAVant\r\n\r\ninterface IProps {\r\n language: BasicSelectOption;\r\n CompanySettings: LoadCompanyLogoResult;\r\n ClientData: GetClientData;\r\n lang: translationType;\r\n userData: IUserData;\r\n push: any;\r\n location: any;\r\n CompanyData: ICompanyData;\r\n CompanyDataProps: GetCompanyDataResult;\r\n ChangeLanguage: any;\r\n theme: any;\r\n t: any;\r\n i18n: any;\r\n}\r\nconst mapStateToProps = (state: IStore) => ({\r\n CompanySettings: state.CompanySettings,\r\n ClientData: state.auth.ClientData,\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n location: state.router.location,\r\n history: state.history,\r\n Servers: state.auth.Servers,\r\n theme: state.theme,\r\n CompanyData: state.auth.CompanyData,\r\n LangselectedOption: state.language,\r\n language: state.language,\r\n CompanyDataProps: state.CompanyData,\r\n});\r\nconst dispatchProps = { push }\r\n\r\nclass LiveChatClass extends React.Component {\r\n componentDidUpdate(prevProps: IProps) {\r\n\r\n }\r\n componentDidMount() {\r\n }\r\n //#region LiveChatWidget Avant-Markets\r\n handleNewEvent = (event: EventHandlerPayload<'onNewEvent'>) => {\r\n console.log('LiveChatWidget.onNewEvent', event)\r\n }\r\n CheckIfClientInInternalPage = () => {\r\n return (\r\n !store?.getState()?.auth?.UserData?.isAdmin\r\n && !CheckIfIsExternalPage(window?.location?.href)\r\n && store?.getState()?.auth?.isAuth);\r\n }\r\n //#endregion\r\n render() {\r\n //if not avant remove all compnent\r\n const isClientInInternalPage = this.CheckIfClientInInternalPage();\r\n const isAvant = CheckIfCompanyIs(\"Avant\");\r\n const isPRIMEX = CheckIfCompanyIs(\"PRIMEX\");\r\n if (!isAvant && !isPRIMEX) {\r\n return <>;\r\n }\r\n return ()\r\n }\r\n}\r\n\r\nexport const LiveChat = withTranslation()(connect(mapStateToProps, dispatchProps)(LiveChatClass) as any) as any;\r\n\r\n\r\n//#endregion","import { INotificationStore } from \"./reducers/NotificationReducer\";\r\nimport { DashboardItems, LoadCompanyLogoResult, GetCompanyDataResult } from \"../Interfaces/Interfaces\";\r\nimport { BasicSelectOption } from \"../Interfaces/IApplicationForm\";\r\n\r\n// Theme\r\nexport const THEME_TOGGLE = \"THEME_TOGGLE\";\r\nexport const MENU_TOGGLE_COLLAPSE = \"MENU_TOGGLE_COLLAPSE\";\r\nexport const MENU_SET_COLLAPSE = \"MENU_SET_COLLAPSE\";\r\n// Auth\r\nexport const AUTH_LOGIN = \"AUTH_LOGIN\";\r\nexport const AUTH_LOGOUT = \"AUTH_LOGOUT\";\r\nexport const REFRESH_TOKENS = \"REFRESH_TOKENS\";\r\nexport const UPDATE_TIMEZONE = \"UPDATE_TIMEZONE\";\r\nexport const UPDATE_ISVALID = \"UPDATE_ISVALID\";\r\n\r\n//Language\r\nexport const CHANGE_LANGUAGE = \"CHANGE_LANGUAGE\";\r\n\r\n//notifications\r\nexport const ADD_NEW_MESSAGE = \"ADD_NEW_MESSAGE\";\r\nexport const SET_HAS_NEW_VALUE = \"SET_HAS_NEW_VALUE\";\r\nexport const REMOVE_MESSAGE = \"REMOVE_MESSAGE\";\r\nexport const REMOVE_ALL_MESSAGES = \"REMOVE_ALL_MESSAGES\";\r\n//Push Notifications\r\nexport const Push_Notifications = \"Push_Notifications\";\r\nexport const SIGNAL_R = \"SIGNAL_R\";\r\nexport const CLEAR_PUSH_NOTIFICATIONS = \"CLEAR_PUSH_NOTIFICATIONS\";\r\nexport const IS_ENABLED = \"IS_ENABLED\";\r\nexport const IS_ENABLED_DESCRIPTION = \"IS_ENABLED_DESCRIPTION\";\r\nexport const Email_Notifications = \"Email_Notifications\";\r\n//Dashboard_Items\r\nexport const UPDATE_DASHBOARD_ITEMS = \"UPDATE_DASHBOARD_ITEMS\";\r\n//Language Options\r\nexport const UPDATE_LANGAUGE_OPTIONS = \"UPDATE_LANGAUGE_OPTIONS\";\r\n//CompanySettings\r\nexport const UPDATE_COMPANY_SETTINGS = \"UPDATE_COMPANY_SETTINGS\";\r\n//CompanyData\r\nexport const UPDATE_COMPANY_DATA = \"UPDATE_COMPANY_DATA\";\r\n\r\n//SINGAL R \r\nexport const ADD_SIGNALR = \"ADD_SIGNALR\";\r\nexport const REMOVE_SIGNALR = \"REMOVE_SIGNALR\";\r\nexport const CHECK_SIGNALR = \"CHECK_SIGNALR\";\r\nexport const HANDLE_USER_CONNECTIVITY = \"HANDLE_USER_CONNECTIVITY\";\r\n\r\n//Servers\r\nexport const HANDLE_SERVER_CONNECTIVITY = \"HANDLE_SERVER_CONNECTIVITY\";\r\nexport const ADD_SERVERS = \"ADD_SERVERS\";\r\n\r\n//Table Columns \r\nexport const UPDATE_COLUMN_DICT = \"UPDATE_COLUMN_DICT\";\r\n//Table Filtration \r\nexport const UPDATE_FILTRATION_DICT = \"UPDATE_FILTRATION_DICT\";\r\n//synchronize IBs trades\r\nexport const UPDATE_IB_MANUAL_SYNC_TIMESTAMP = \"UPDATE_IB_MANUAL_SYNC_TIMESTAMP\";\r\n\r\nexport const UPDATE_NUMBER_OF_ACCOUNTS = \"UPDATE_NUMBER_OF_ACCOUNTS\";\r\n\r\nexport interface ServerConnection {\r\n ID: string;\r\n ServerID: number;\r\n IsConnected: boolean;\r\n IsWebAPI: boolean;\r\n}\r\n\r\nexport interface ADDSIGNALR {\r\n type: typeof ADD_SIGNALR;\r\n payload: any;\r\n}\r\nexport interface REMOVESIGNALR {\r\n type: typeof REMOVE_SIGNALR;\r\n}\r\nexport interface CheckSignalR {\r\n type: typeof CHECK_SIGNALR;\r\n}\r\nexport interface HandleUserConnectivity {\r\n type: typeof HANDLE_USER_CONNECTIVITY;\r\n payload: boolean;\r\n}\r\nexport interface HandleServerConnectivity {\r\n type: typeof HANDLE_SERVER_CONNECTIVITY;\r\n payload: ServerConnection;\r\n}\r\nexport interface AddServerConnectivity {\r\n type: typeof ADD_SERVERS;\r\n payload: any;\r\n}\r\nexport interface UpdateColumnDict {\r\n type: typeof UPDATE_COLUMN_DICT;\r\n payload: any;\r\n}\r\nexport interface UpdateFILTRATIONDict {\r\n type: typeof UPDATE_FILTRATION_DICT;\r\n payload: any;\r\n}\r\nexport interface IBManualSyncTimeStamp {\r\n type: typeof UPDATE_IB_MANUAL_SYNC_TIMESTAMP;\r\n payload: any;\r\n}\r\ninterface ChangeLanguageAction {\r\n type: typeof CHANGE_LANGUAGE;\r\n payload: LanguageOption;\r\n}\r\n\r\nexport type LanguageActionsTypes = ChangeLanguageAction;\r\n\r\nexport interface LanguageOption {\r\n label: string;\r\n value: string;\r\n isDefault?: boolean;\r\n}\r\n\r\nexport interface LoginAuthAction {\r\n type: typeof AUTH_LOGIN;\r\n payload: LoginAction;\r\n}\r\n\r\ninterface LogoutAuthAction {\r\n type: typeof AUTH_LOGOUT;\r\n}\r\n\r\ninterface RefreshTokensAuthAction {\r\n type: typeof REFRESH_TOKENS;\r\n payload: IRefreshTokens;\r\n}\r\nexport interface UpdateTimezone {\r\n type: typeof UPDATE_TIMEZONE;\r\n payload: number;\r\n}\r\nexport interface UpdateIsValid {\r\n type: typeof UPDATE_ISVALID;\r\n payload: boolean;\r\n}\r\n\r\nexport interface IRefreshTokens {\r\n token: string;\r\n refreshToken: string;\r\n}\r\n\r\nexport type AuthActionsTypes = LoginAuthAction | LogoutAuthAction | RefreshTokensAuthAction;\r\n\r\nexport interface AddNewMessageAction {\r\n type: typeof ADD_NEW_MESSAGE;\r\n payload: ActionMessage;\r\n};\r\n\r\n\r\nexport interface SetHasNewValue {\r\n type: typeof SET_HAS_NEW_VALUE;\r\n payload: boolean;\r\n};\r\n\r\nexport interface RemoveMessage {\r\n type: typeof REMOVE_MESSAGE;\r\n payload: number;\r\n};\r\n\r\nexport interface RemoveAllMessages {\r\n type: typeof REMOVE_ALL_MESSAGES;\r\n};\r\n\r\nexport interface PushNotificationStatus {//TODO check imports as differnt from Action\r\n PNID: number;\r\n IsEnabled: boolean;\r\n PNDescription: string;\r\n}\r\nexport interface PushNotificationStatusClass {\r\n PushNotificationStatus: PushNotificationStatus[];\r\n signalRIsConnected: boolean;\r\n}\r\nexport interface PushNotifications {\r\n type: typeof Push_Notifications;\r\n payload: PushNotificationStatusClass;\r\n};\r\nexport interface SignalR {\r\n type: typeof SIGNAL_R;\r\n payload: boolean;\r\n};\r\nexport interface ClearPushNotifications {\r\n type: typeof CLEAR_PUSH_NOTIFICATIONS;\r\n};\r\nexport interface UpdateDashboardItems {\r\n type: typeof UPDATE_DASHBOARD_ITEMS;\r\n payload: DashboardItems[];\r\n}\r\nexport interface IUpdateLanguageOptions {\r\n type: typeof UPDATE_LANGAUGE_OPTIONS;\r\n payload: ILanguageData;\r\n}\r\nexport interface UpdateCompanySettings {\r\n type: typeof UPDATE_COMPANY_SETTINGS;\r\n payload: LoadCompanyLogoResult;\r\n}\r\nexport interface UpdateCompanyData {\r\n type: typeof UPDATE_COMPANY_DATA;\r\n payload: GetCompanyDataResult;\r\n}\r\nexport type ILanguageData = {\r\n Options: BasicSelectOption[];\r\n Dict: any;\r\n}\r\nexport interface IUpdateNumberOfAccounts {\r\n type: typeof UPDATE_NUMBER_OF_ACCOUNTS;\r\n}\r\nexport interface ActionMessage {\r\n companyName: string;\r\n messageContent: string;\r\n messageTitle: string;\r\n actionType: string;\r\n currency: string;\r\n subType: string;\r\n messageDate: string;\r\n pnid: number;\r\n login: string;\r\n amount: string;\r\n toLogin: string;\r\n fromLogin: string;\r\n fromServer: string;\r\n toServer: string;\r\n admin: string;\r\n clientID: string;\r\n clientName: string;\r\n server: string;\r\n task: string;\r\n lead: string;\r\n contact: string;\r\n ticket: string;\r\n ibName: string;\r\n ibCode: string;\r\n listEmails: string;\r\n date: string;\r\n lots: string;\r\n name: string;\r\n mamName: string;\r\n mamLogin: string;\r\n auiDs: string[];\r\n profileName: string;\r\n profileID: number;\r\n}\r\nexport interface ServersStatus {\r\n serverID: number;\r\n isConnected: boolean;\r\n isWebAPI: boolean;\r\n serverName: string;\r\n serverType: string;\r\n companyName: string;\r\n}\r\n\r\nexport type NotificationActionsTypes = AddNewMessageAction | SetHasNewValue | RemoveMessage | RemoveAllMessages;\r\nexport type SignalRTypes = ADDSIGNALR | REMOVESIGNALR | CheckSignalR;\r\n\r\nexport interface IClientPermissionSP {\r\n IsDemoGU: boolean;\r\n KYCIsApprvd: boolean;\r\n RequireKYC: boolean;\r\n IsIB: boolean;\r\n IsMM: boolean;\r\n IsTrader: boolean;\r\n IsActive: boolean;\r\n ActivationCode: string;\r\n IsManual: boolean;\r\n IsDeleted: boolean;\r\n IsValid: boolean;\r\n DeleteDate: Date;\r\n CreationDate: Date;\r\n PoolID: number;\r\n CategoryID: number;\r\n RestoreDate: Date;\r\n KTID: number;\r\n PermManageARule: boolean;\r\n PermManageARuleAmount: boolean;\r\n PermManageInvestorStatus: boolean;\r\n PermCloseTradesPerLogin: boolean;\r\n PermCloseTradesPerTicket: boolean;\r\n PermManageARuleReverse: boolean;\r\n PermAccessSubIB: boolean;\r\n PermAccessSubIBDetails: boolean;\r\n PermTransferClient: boolean;\r\n PermClientOpenOrders: boolean;\r\n PermManagement: boolean;\r\n PermBalance: boolean;\r\n PermCommission: boolean;\r\n PermReporting: boolean;\r\n PermSpecialReport: boolean;\r\n PermClientPersonalDetails: boolean;\r\n PermPromotion: boolean;\r\n GCENID: number;\r\n UserAuthID: string;\r\n EmailLang: string;\r\n PermRiskStatementReminder: boolean;\r\n RiskStatementReminderDesc: string;\r\n}\r\n\r\nexport interface IUserData {\r\n id: string;\r\n Token: string;\r\n RefreshToken: string;\r\n isAdmin: boolean;\r\n isFirstUser: boolean;\r\n yoonitGetURL: string;\r\n yoonitActionURL: string;\r\n UserName: string;\r\n Language: string;\r\n TimeZone: number;\r\n}\r\nexport interface IPerms {\r\n PermID: number | null;\r\n ParentPermID: number | null;\r\n PermName: string;\r\n PermValID: number | null;\r\n PermValName: string;\r\n}\r\nexport interface ICompanyData {\r\n CompanyID: string;\r\n CompanyName: string;\r\n CompanyTitle: string;\r\n SignalRHubURL: string;\r\n IsIB: boolean;\r\n IsMM: boolean;\r\n IsBonus: boolean;\r\n IsDynamicMargin: boolean;\r\n IsCRM: boolean;\r\n}\r\n\r\nexport interface LoginAction {\r\n CompanyAuth: boolean;\r\n isAuth: boolean;\r\n isPrimarySalt: boolean;\r\n isTokenExpired: boolean;\r\n isTokenValid: boolean;\r\n GUARules: any;\r\n UserData: IUserData;\r\n Servers: any;\r\n CompanyData: ICompanyData;\r\n ClientData: GetClientData;\r\n AdminData: GetAdminData;\r\n UserPermissions: IPerms[];\r\n}\r\n\r\nexport interface IStore {\r\n history: any;\r\n router: any;\r\n sidebar: any;\r\n theme: any;\r\n toastr: any;\r\n auth: LoginAction;\r\n language: any;\r\n actionSideBar: any;\r\n Notifications: INotificationStore;\r\n PushNotifications: PushNotificationStatusClass;\r\n Items: DashboardItems[];\r\n CompanySettings: LoadCompanyLogoResult;\r\n CompanyData: GetCompanyDataResult;\r\n ServersConnectivity: any;\r\n TableColumns: any;\r\n TableFiltrationDict: any;\r\n LanguageData: ILanguageData;\r\n IBManualSyncTimeStamp: number;\r\n}\r\n\r\nexport interface GetClientData {\r\n BUID: string;\r\n ClientID: string;\r\n ContactID: string;\r\n ClientRangeID: string;\r\n ContactStatus: string;\r\n SalutationID: number;\r\n SalutationTxt: string;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n Phone: string;\r\n CountryID: number;\r\n CountryName: string;\r\n CountryCode: string;\r\n DOB: string;\r\n ProfileImage: string;\r\n IsActive: boolean;\r\n RequireKYC: boolean;\r\n KYCStatus: string;\r\n KYCReason: string;\r\n hasKYC: boolean;\r\n NmbrOfAcc: number;\r\n CardValidation: boolean;\r\n IsValid: boolean;\r\n KTID: boolean;\r\n AllowAddDemoAcc: boolean;\r\n RiskStatementReminder: string;\r\n PoolID: number;\r\n ZipCode: string;\r\n ResidentialAddress: string;\r\n City: string;\r\n IsClientSegment: boolean;\r\n /** for Ozow from KYC */\r\n NationalIDCardNumber: string;\r\n}\r\n\r\nexport interface GetAdminData {\r\n AUID: string;\r\n ContactID: string;\r\n ContactStatus: string;\r\n SalutationID: number;\r\n SalutationTxt: string;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n Phone: string;\r\n CountryID: number;\r\n CountryName: string;\r\n DOB: string;\r\n ProfileImage: string;\r\n IsActive: boolean;\r\n}\r\n","import { default as ButtonANTD } from \"antd/es/button\";\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { toastr } from \"react-redux-toastr\";\r\nimport { Col, Input, Label, Row } from \"reactstrap\";\r\nimport { SmallModalPop } from '../../components/ReusableComponents/ReusableElements/Modals';\r\nimport { CallAxiosRequest } from '../../Helpers/axiosHelpers';\r\nimport { ValidateInput } from '../../Helpers/DataHelpers';\r\nimport { ContactUsClass, translationType, YoonitRequest } from '../../Interfaces/Interfaces';\r\nimport { Login, Logout } from '../../redux/actions/AuthActions';\r\nimport { GetClientData, ICompanyData, IStore, IUserData } from '../../redux/constants';\r\n\r\nconst mapStateToProps = (state: IStore) => ({\r\n ClientData: state.auth.ClientData,\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n history: state.history,\r\n URL: state.auth.UserData.yoonitGetURL,\r\n Servers: state.auth.Servers,\r\n theme: state.theme,\r\n ActionURL: state.auth.UserData.yoonitActionURL,\r\n CompanyData: state.auth.CompanyData,\r\n});\r\n\r\nconst dispatchProps = { push, Login, Logout }\r\ninterface IndexProps {\r\n ClientData: GetClientData;\r\n lang: translationType;\r\n userData: IUserData;\r\n push: any;\r\n URL: string;\r\n theme: any;\r\n ActionURL: string;\r\n CompanyData: ICompanyData;\r\n Servers: any;\r\n t: any;\r\n closeContact: any;\r\n OpenContactUs: any;\r\n}\r\n\r\ninterface IndexState {\r\n subject: string;\r\n ContactUSMessage: string;\r\n OpenContactUs: boolean;\r\n SendMessageLoading: boolean;\r\n}\r\n\r\nclass ContactUs extends React.Component {\r\n state = {\r\n OpenContactUs: false,\r\n subject: '',\r\n ContactUSMessage: '',\r\n SendMessageLoading: false,\r\n\r\n }\r\n ContactUs = () => {\r\n if (!ValidateInput(this.state.ContactUSMessage)) {\r\n toastr.success(\" \", this.props.t(\"AddMessagePlease\"));\r\n }\r\n else {\r\n let { yoonitActionURL = \"\", Token = \"\" }: IUserData = this.props.userData;\r\n let { ContactID = \"\", Email = \"\" }: GetClientData = this.props.ClientData;\r\n let Parms: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: Token,\r\n CompanyID: String(this.props.CompanyData.CompanyID),\r\n UserName: Email,\r\n ObjData: {\r\n ContactID: ContactID,\r\n Message: this.state.ContactUSMessage\r\n }\r\n };\r\n this.setState({ SendMessageLoading: true });\r\n CallAxiosRequest(\r\n yoonitActionURL,\r\n `Trader/ContactUs`,\r\n Parms,\r\n { Token },\r\n (res: any) => {\r\n this.setState({ SendMessageLoading: false });\r\n if (res.data.IntRes < 0) {\r\n toastr.error(\" \", this.props.t(\"FailedAction\"));\r\n }\r\n else {\r\n toastr.success(\" \", this.props.t(\"MessageSent\"));\r\n this.props.closeContact();\r\n }\r\n },\r\n () => {\r\n this.props.closeContact(); //change close all both ways\r\n this.setState({ SendMessageLoading: false });\r\n },\r\n this.props.t\r\n );\r\n }\r\n }\r\n onDetailsChange = (e: any) => {\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n } as any);\r\n };\r\n inputOnChange = (e: any) => {\r\n this.setState({ [e.target.name]: e.target.value } as any);\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n {this.props.t('SendEmail')}\r\n \r\n
\r\n }\r\n showTitle={false}\r\n open={this.props.OpenContactUs}\r\n handleClose={this.props.closeContact}\r\n theme={this.props.theme.currentTheme}\r\n body={\r\n
\r\n \r\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 withTranslation()(connect(mapStateToProps, dispatchProps)(ContactUs) as any) as any;\r\n","import { GUTradersOptions, BUTraders } from \"../Interfaces/Interfaces\";\r\nimport { ServersOptions } from \"../Interfaces/Interfaces\";\r\n\r\n/**\r\n * Helper to fill option from redux.\r\n */\r\nexport function FillServerOptionsHelper(ServersData: any[], dontDisplayTypeSix: boolean, hideMT5?: boolean) {//edit name\r\n var _serverOptions: any[] = [];\r\n\r\n if (ServersData) {\r\n for (var k = 0; k < ServersData.length; k++) {\r\n //if (!dontDisplayTypeSix /*|| ServersData[k].ServerType !== 6*/) {// if flag ON will check other parameter \r\n // //let _MT = +(ServersData[k].Type ) !== 6? \" - MT\" : \" - \";\r\n if (!hideMT5 || ServersData[k].ServerType !== \"MT5\") {\r\n _serverOptions.push({\r\n value: ServersData[k].ServerID, label: ServersData[k].ServerName + \" - \" + ServersData[k].ServerType,\r\n serverID: ServersData[k].ServerID,\r\n serverName: ServersData[k].ServerName,\r\n type: ServersData[k].ServerType,\r\n wlName: ServersData[k].wlName,\r\n wlid: ServersData[k].wlid,\r\n });\r\n }\r\n }\r\n }\r\n else\r\n _serverOptions.push(new ServersOptions());\r\n return _serverOptions;\r\n};\r\n/**\r\n * Helper to fill option from /getservers request.\r\n */\r\nexport function FillServerDetailsHelper(ServersData: any[], FilterFlag: boolean) {\r\n var _serverOptions: any[] = [];\r\n if (ServersData) {\r\n for (var k = 0; k < ServersData.length; k++) {\r\n //if (!FilterFlag || ServersData[k].Type !== 6) {// if flag ON will check other parameter \r\n //let _MT = +(ServersData[k].Type) !== 6 ? \" - MT\" : \" - \";\r\n _serverOptions.push({\r\n value: ServersData[k].ServerID, label: ServersData[k].ServerName + ' - ' + ServersData[k].Type,\r\n serverID: ServersData[k].ServerID,\r\n serverName: ServersData[k].ServerName,\r\n type: ServersData[k].Type,\r\n wlName: ServersData[k].wlName,\r\n wlid: ServersData[k].wlid,\r\n });\r\n //}\r\n }\r\n } else\r\n _serverOptions.push(new ServersOptions());\r\n return _serverOptions;\r\n};\r\nexport function FillLoginsOptionsHelper(GetGUTradersResult: BUTraders[], serverSelectedValue: any, isMAM?: boolean) {\r\n var _loginOptions: GUTradersOptions[] = [];\r\n try {\r\n if (GetGUTradersResult) {\r\n if (GetGUTradersResult.length !== 0) {\r\n for (var k = 0; k < GetGUTradersResult.length; k++) {\r\n if (GetGUTradersResult[k].ServerID === serverSelectedValue) {\r\n if (!isMAM || GetGUTradersResult[k].ProfileID !== 0)\r\n _loginOptions.push({\r\n ...GetGUTradersResult[k],\r\n MasterLogin: GetGUTradersResult[k].MasterLogin,\r\n ProfileID: GetGUTradersResult[k].ProfileID,\r\n AccountID: GetGUTradersResult[k].AccountID,\r\n ServerID: GetGUTradersResult[k].ServerID,\r\n ServerType: GetGUTradersResult[k].ServerType,\r\n ServerName: GetGUTradersResult[k].ServerName,\r\n ARuleID: GetGUTradersResult[k].ARuleID,\r\n ARuleName: GetGUTradersResult[k].ARuleName,\r\n Currency: GetGUTradersResult[k].Currency,\r\n label: GetGUTradersResult[k].MasterLogin + \" - \" + GetGUTradersResult[k].Currency,\r\n value: GetGUTradersResult[k].MasterLogin\r\n });\r\n }\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n console.error(\"FillLoginsOptionsHelper\",e)\r\n }\r\n if (_loginOptions.length === 0) {\r\n _loginOptions.push(new GUTradersOptions());\r\n }\r\n return _loginOptions;\r\n};\r\n//check if not needed any more\r\nexport function FillLoginsOptionsHelperGUIB(GetGUIBsResult: any[], serverSelectedValue: any) {\r\n var _loginOptions: any[] = [];\r\n if (GetGUIBsResult !== null) {\r\n if (GetGUIBsResult.length !== 0)\r\n for (var k = 0; k < GetGUIBsResult.length; k++) {\r\n if (GetGUIBsResult[k].ServerID === serverSelectedValue) {//a[k] as list \r\n _loginOptions.push({\r\n value: GetGUIBsResult[k].AccountID,\r\n label: GetGUIBsResult[k].Login + \" - \"\r\n + GetGUIBsResult[k].Currency,\r\n clientwebsite: GetGUIBsResult[k].clientwebsite,\r\n token: GetGUIBsResult[k].Token\r\n });\r\n }\r\n\r\n }\r\n\r\n }\r\n if (_loginOptions.length === 0) {\r\n _loginOptions.push({\r\n value: -1,\r\n label: \"NO Logins\"\r\n });;\r\n }\r\n return _loginOptions;\r\n};\r\n","import { IPerms, IUserData } from \"../redux/constants\";\r\nimport { GetDeclarationsResult, GetKYCComplianceAnswersResult, GetKYCDetailsResult, GetKYCPermissionsResult, GetScoringPointsResult } from \"./IApplicationForm\";\r\n\r\n//#region LoadAllTradersTable\r\nexport interface LoadAllTradersTable {\r\n CompanyName: string;\r\n Token: string;\r\n ObjData: LoadAllTradersTableObjData;\r\n}\r\nexport interface LoadAllTradersTableObjData {\r\n PoolIDs: number;\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n KYCStat: string;\r\n}\r\n//#endregion\r\n//#region GetProductDetails\r\nexport interface GetProductDetails {\r\n CompanyName: string;\r\n Token: string;\r\n UserName: string;\r\n ObjData: GetProductDetailsObjData;\r\n}\r\nexport interface GetProductDetailsObjData {\r\n AllocationID: number;\r\n EnviromentID: number;\r\n SubscriptionID: number;\r\n UserID: number;\r\n}\r\n//#endregion\r\nexport interface LoadIBDepositReport {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadIBDepositReportObjData;\r\n}\r\nexport interface LoadIBDepositReportObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n FromDate: any;\r\n ToDate: any;\r\n IBs: any;\r\n}\r\nexport interface LoadIBDetailedReport {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadIBDetailedReportObjData;\r\n}\r\nexport interface LoadIBDetailedReportObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n FromDate: any;\r\n ToDate: any;\r\n IBs: any;\r\n CommissionType: any;\r\n}\r\nexport interface LoadMonthlyFeesTable {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n Login: string;\r\n ObjData: LoadMonthlyFeesTableObjData;\r\n}\r\nexport interface LoadMonthlyFeesTableObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n Month: string;\r\n Year: string;\r\n}\r\nexport interface LoadRegistrationLogsTable {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadRegistrationLogsObjData;\r\n}\r\nexport interface LoadRegistrationLogsObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n PoolIDs: any;\r\n}\r\nexport interface LoadOperationLogsTable {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadOperationLogsObjData;\r\n}\r\nexport interface LoadOperationLogsObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n PoolIDs: any;\r\n SearchIndex: number;\r\n}\r\nexport interface LoadAutoCopyLogsTable {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadAutoCopyLogsObjData;\r\n}\r\nexport interface LoadAutoCopyLogsObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n PoolIDs: any;\r\n TimePeriod: any;\r\n FromDate: any;\r\n ToDate: any;\r\n}\r\nexport interface LoadMammLogsTable {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadMammLogsObjData;\r\n}\r\nexport interface LoadMammLogsObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n PoolIDs: any;\r\n ActionType: any;\r\n FromDate: any;\r\n ToDate: any;\r\n}\r\nexport interface LoadDocumentsExpirationTable {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadDocumentsExpirationObjData;\r\n}\r\nexport interface LoadDocumentsExpirationObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n PoolIDs: any;\r\n}\r\nexport interface LoadOperationRequestTable {\r\n CompanyName: string;\r\n Token: string;\r\n ServerID: number;\r\n ObjData: LoadOperationRequestObjData;\r\n}\r\nexport interface LoadOperationRequestObjData {\r\n SearchTerm: string;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n PoolIDs: any;\r\n}\r\n//#region LoadWLsTable\r\nexport interface LoadWLsTable {\r\n CompanyName: string;\r\n Token: string;\r\n ObjData: LoadWLsTableObjData;\r\n ServerID: number;\r\n}\r\nexport interface LoadWLsTableObjData {\r\n //some produced from datatable\r\n PoolIDs: string; //from store may be a list\r\n}\r\n//#endregion\r\n//#region LoadMasterTable\r\nexport interface LoadMasterTable {\r\n CompanyName: string;\r\n Token: string;\r\n ObjData: LoadMasterTableObjData;\r\n ServerID: number;\r\n}\r\nexport interface LoadMasterTableObjData {\r\n PoolIDs: number;\r\n Strategies: string;\r\n}\r\n//#endregion\r\n//#region Pending Trades\r\nexport interface GetPendingTrades {\r\n CompanyName: string;\r\n Token: string;\r\n ObjData: GetPendingTradesObjData;\r\n ServerType: string;\r\n ServerName: string;\r\n Login: string;\r\n BUID: string;\r\n}\r\nexport interface GetPendingTradesObjData {\r\n //fills skipterm and other from table\r\n}\r\n//#endregion\r\nexport interface YoonitRequestNoParam {\r\n Token: string;\r\n CompanyName: string;\r\n CompanyID?: string;\r\n UserName?: string;\r\n ServerID?: number;\r\n ServerIDs?: string;\r\n ProfileID?: number;\r\n ServerName?: string;\r\n ServerType?: string;\r\n Login?: number;\r\n UserAuthID?: string;\r\n AUID?: string;\r\n}\r\nexport interface YoonitResponse {//all same type T here\r\n IsManagerExist: boolean;\r\n ListRes: Array;\r\n LiveRes: T;\r\n TablesRes: TableResults;\r\n IntRes: number;\r\n ActionRes: boolean;\r\n IsException: boolean;\r\n IsAuth: boolean;\r\n IsTokenExpired: boolean;\r\n recordsTotal: number;\r\n recordsFiltered: number;\r\n data: T;\r\n ManagerResponse: any | null;\r\n}\r\nexport interface YoonitResponseT2 { // used in APPlication form with different types\r\n IsManagerExist: boolean;\r\n ListRes: Array;\r\n LiveRes: T1;\r\n TablesRes: TableResults;\r\n IntRes: number;\r\n ActionRes: boolean;\r\n IsException: boolean;\r\n IsAuth: boolean;\r\n IsTokenExpired: boolean;\r\n}\r\nexport interface TableResults {\r\n ReturnList: Array;\r\n TotalRows: number;\r\n TotalDisplayRecords: number;\r\n}\r\n\r\nexport class GUTraders {\r\n MasterLogin: string = '';\r\n ProfileID: number = 0;\r\n AccountID: number = 0;\r\n ServerID: number = 0;\r\n ServerType: string = \"\";\r\n ServerName: string = \"\";\r\n ARuleID: number = 0;\r\n ARuleName: string = \"\";\r\n Currency: string = \"\";\r\n AutoForcePFOnExclude = false;\r\n}\r\n\r\nexport class DashboardBSTradesPerSymbol {\r\n public NumberOfBuyTrades: number[] = [];\r\n public NumberOfSellTrades: number[] = [];\r\n public Symbol: string[] = [];\r\n}\r\n\r\nexport class DashboardClass {\r\n //turn to class\r\n public AccountID: number = 0;\r\n public AllocPerLogins: string = \"\";\r\n public Balance: number = 0;\r\n public BSTradesPerSymbol: DashboardBSTradesPerSymbol;\r\n public Credit: number = 0;\r\n public Currency: string = \"\";\r\n public Equity: number = 0;\r\n public FreeMargin: number = 0;\r\n public GUKYCStatus: GUKYCStatus;\r\n public IBBalance: number = 0;\r\n public IsMM: boolean = false;\r\n public Leverage: string = \"\";\r\n public Login: string = \"\";\r\n public Margin: number = 0;\r\n public MarginLevel: number = 0;\r\n public NetAssetValue: number = 0;\r\n public NetReturnPer: number = 0;\r\n public OpenPositionSummary: OpenPositionSummary[] = [];\r\n public Platform: string = \"\";\r\n public Profit: number = 0;\r\n public RecentActivities: TraderRecentActivities[] = [];\r\n public ROIPer: number = 0;\r\n public ServerName: string = \"\";\r\n public SignalActivities: SignalActivities;\r\n public TradesPerSymbol: DashboardTradesPerSymbol[] = [];\r\n public YTDROIChart: string = \"\";\r\n\r\n constructor() {\r\n this.BSTradesPerSymbol = new DashboardBSTradesPerSymbol();\r\n this.SignalActivities = new SignalActivities();\r\n this.GUKYCStatus = new GUKYCStatus();\r\n }\r\n}\r\nexport interface DashboardTradesPerSymbol {\r\n name: string;\r\n y: number;\r\n}\r\nexport class GUKYCStatus {\r\n Creationdate: Date = new Date();\r\n KYCID: number = 0;\r\n Reason: string = \"\";\r\n Status: string = \"\";\r\n}\r\nexport interface OpenPositionSummary {\r\n FloatingPL: number;\r\n MarketPrice: number;\r\n NetLots: number;\r\n PriceDelta: number;\r\n Symbol: string;\r\n Type: string;\r\n VWapPrice: number;\r\n}\r\nexport interface ProfileCopyDetails {\r\n Amount: number;\r\n ARuleName: string;\r\n CopyingAccount: string;\r\n CreationDate: Date;\r\n CreationDateStr: string;\r\n IsReverse: string;\r\n ProfileCopied: string;\r\n Status: string;\r\n}\r\nexport class SignalActivities {\r\n ProfilesCopyMe: ProfileCopyDetails[] = [];\r\n ProfilesICopy: ProfileCopyDetails[] = [];\r\n}\r\nexport interface TraderRecentActivities {\r\n CreationDate: Date;\r\n CreationDateStr: string;\r\n Status: string;\r\n Type: string;\r\n}\r\nexport interface DashboardTradesPerSymbol {\r\n name: string;\r\n y: number;\r\n}\r\n//#region new API Interfaces\r\n///Trader\r\n//dashboard\r\n//export class GetBUTraders {\r\n// Token: string = \"\";\r\n// ObjData: number = -1;\r\n// CompanyName: string = \"\";\r\n// UserName: string = \"\";\r\n// ServerID: number = -1;\r\n// ServerName: string = \"\";\r\n// ServerType: number = -1;\r\n//}\r\nexport class GetBUTraders {\r\n Token: string = \"\";\r\n ObjData: string = \"\";//BUID\r\n CompanyName: string = \"\";\r\n}\r\nexport class GetDashboardData {\r\n public CompanyName: string = \"\";\r\n public ServerName: string = \"\";\r\n public ServerType: string = \"\";\r\n public ServerID: number = -1;\r\n public Token: string = \"\";\r\n public Login: string = \"\";\r\n public UserName: string = \"\";\r\n public ObjData: {\r\n ProfileID: number\r\n AccountID: number\r\n ClientID: string\r\n BUID: string\r\n } = {\r\n ProfileID: -1, AccountID: -1, ClientID: \"\", BUID: \"\"\r\n }\r\n}\r\n\r\nexport class BUTraders {\r\n MasterLogin: string = '';\r\n ProfileID: number = 0;\r\n AccountID: number = 0;\r\n ServerID: number = 0;\r\n ServerType: string = '';\r\n ServerName: string = '';\r\n ARuleID: number = 0;\r\n ARuleName: string = '';\r\n Currency: string = '';\r\n AutoForcePFOnExclude = false;\r\n}\r\n\r\nexport class GUTradersOptions extends GUTraders {\r\n label: string = \"No logins\";\r\n value: string = \"-1\";// return \"\" just added for test\r\n}\r\n//Signals\r\n//IB\r\n//Portofolio\r\n//Manage\r\nexport class GetAccTypesObject {\r\n accTypeID: number = -1;\r\n accType: string = \"\";\r\n byPassAccReq: boolean = false;\r\n byPassAdminReq: boolean = false;\r\n isDemo: boolean = false;\r\n}\r\nexport class AccLeverage {\r\n accLeverageID: number = -1;\r\n accLeverage: number = -1;\r\n accTypeID: number = -1;\r\n}\r\nexport class Currency {\r\n AccCurrencyID: number = -1;\r\n AccCurrency: string = \"\";\r\n AccCurrencyPerm: boolean = false;\r\n AccTypeID: number = -1;\r\n}\r\nexport class LoadNewSubAccDataClass {\r\n accLeverage: Array = [];\r\n accType: any[] = [];//change here\r\n currency: Array = [];\r\n myAccount: string = \"\";\r\n}\r\n\r\nexport class TransactionDataAccounts {\r\n accountID: number = -1;\r\n login: string = \"\";\r\n}\r\nexport class TransactionDataPaymentList {\r\n pmid: number = -1;\r\n paymentName: string = \"\";\r\n isDeposit: boolean = false;\r\n pmDescription: string = \"\";\r\n}\r\nexport class TransactionDataBankAccountList {\r\n baid: number = -1;\r\n guid: number = -1;\r\n benifName: string = \"\";\r\n benifAddress: string = \"\";\r\n benifAccNumber: string = \"\";\r\n bankName: string = \"\";\r\n bankAddress: string = \"\";\r\n swiftCode: string = \"\";\r\n iban: string = \"\";\r\n creationDate: string = \"\";\r\n}\r\nexport class LoadTransactionDataClass {\r\n currency: Array = [];\r\n accounts: Array = [];\r\n myCurrency: string = \"\";\r\n myAccount: string = \"\";\r\n paymentList: Array = [];\r\n bankAccountList: Array = [];\r\n}\r\nexport class LoadEditAccInfoDataAccType {\r\n accTypeID: number = -1;\r\n accType: string = \"\";\r\n}\r\nexport class LoadEditAccInfoDataClass {\r\n accLeverage: Array = [];\r\n accType: Array = [];\r\n currency: Array = [];\r\n myAccount: string = \"\";\r\n}\r\n//Logs\r\n//Analytics\r\nexport class GetLiveOverviewTableClass {\r\n gainValue: number = -1;\r\n netAssetValue: number = -1;\r\n allocPer: any = \"\";//make sure they are string and change\r\n allocPerLogins: any = \"\";\r\n netAsset: any = \"\";\r\n gain: any = \"\";\r\n depWith: any = \"\";\r\n isAuth: boolean = false;\r\n}\r\nexport class GetTradeAnalysisChartClass {\r\n isAuth: boolean = false;\r\n avgGain: number = -1;\r\n avgLoss: number = -1;\r\n bestWorst: any = \"\";\r\n winLoose: any = \"\";\r\n volAllocSymbols: any = \"\";\r\n avgDurationSymbols: any = \"\";\r\n}\r\n//#endregion\r\n\r\n// LoadIBLeadsTable:\r\n\r\nexport interface GetIBLeadsTableResult {\r\n Name: string;\r\n Country: string;\r\n City: string;\r\n State: string;\r\n Address: string;\r\n Email: string;\r\n Phone: string;\r\n IsConverted: boolean;\r\n CreationDateStr: string;\r\n CreationDate: Date | string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadActiveClientsTable:\r\n\r\nexport interface GetActiveClientsTableResult {\r\n Login: string;\r\n Name: string;\r\n Country: string;\r\n Equity: number;\r\n ServerType: string;\r\n Currency: string;\r\n CreationDateStr: string;\r\n CreationDate: Date | string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadInActiveClientsTable:\r\n\r\nexport interface GetInActiveClientsTableResult {\r\n Login: string;\r\n Name: string;\r\n Country: string;\r\n Equity: number;\r\n ServerType: string;\r\n Currency: string;\r\n CreationDateStr: string;\r\n CreationDate: Date | string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadClientBreakDownTable:\r\n\r\nexport interface GetClientBreakDownTableResult {\r\n AccountID: number;\r\n Account: string;\r\n Name: string;\r\n Lots: number;\r\n NumberOfTrades: number;\r\n RealizedCommission: number;\r\n RealizedProfit: number;\r\n RealizedSwaps: number;\r\n TotalDeposit: number;\r\n TotalWithdrawal: number;\r\n ProfitAdjustments: number;\r\n ClosingBalance: number;\r\n ClosingEquity: number;\r\n ClosingCredit: number;\r\n RealProfit: number;\r\n UnrealizedProfitCForward: number;\r\n UnrealizedProfitBForward: number;\r\n UnrealizedNetProfit: number;\r\n NetRevenue: number;\r\n TotalCommission: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadIBBreakDownTable:\r\n\r\nexport interface GetIBBreakDownTableResult {\r\n IBAccountID: number;\r\n IBAccount: string;\r\n Lots: number;\r\n NumberOfTrades: number;\r\n RealizedCommission: number;\r\n RealizedProfit: number;\r\n RealizedSwaps: number;\r\n TotalDeposit: number;\r\n TotalWithdrawal: number;\r\n ProfitAdjustments: number;\r\n ClosingBalance: number;\r\n ClosingEquity: number;\r\n ClosingCredit: number;\r\n RealProfit: number;\r\n UnrealizedProfitCForward: number;\r\n UnrealizedProfitBForward: number;\r\n UnrealizedNetProfit: number;\r\n NetRevenue: number;\r\n TotalCommission: number;\r\n DirectClients: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadTransactionGrpByIBTable:\r\n\r\nexport interface GetTransactionGrpByIBTableResult //Remove Email\r\n{\r\n ClientID: string; //change accountid(int) to ClientID(string)\r\n IBCode: string;\r\n Wallet: string; // change Account to Wallet\r\n Commission: number | null;\r\n VolumeLot: number | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n\r\n\r\n// LoadTransactionGrpByAccTable:\r\n\r\nexport interface GetTransactionGrpByAccTableResult {\r\n accountid: number;\r\n Account: string;\r\n Email: string;\r\n Commission: number;\r\n VolumeLot: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadTransactionGrpBySymbolTable:\r\n\r\nexport interface GetTransactionGrpBySymbolTableResult {\r\n accountid: number;\r\n Account: string;\r\n Email: string;\r\n Symbol: string;\r\n Commission: number;\r\n VolumeLot: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadIBTransactionGroupingTable:\r\n\r\nexport interface GetIBTransactionGroupingTableResult {\r\n TimeStr: string;\r\n Time: Date | string;\r\n IBName: string;\r\n AccNbr: string;\r\n Ticket: string;\r\n EntryType: string;\r\n Symbol: string;\r\n Side: string;\r\n VolumeLot: number;\r\n Commission: number;\r\n Balance: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadSubIBTotalTransactionTable:\r\n\r\nexport interface GetSubIBTotalTransactionTableResult {\r\n accountid: number;\r\n IBCode: string;\r\n Account: string;\r\n Email: string;\r\n Commission: number;\r\n Volume: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n// LoadIBDepositTransactionTable:\r\n\r\n\r\n// ExportIBDepositReport:\r\nexport interface ExportIBDepositReportResult {\r\n Time: string;\r\n IBAccount: string;\r\n Ticket: string;\r\n Type: string;\r\n Amount: number;\r\n Commission: number;\r\n Balance: number;\r\n}\r\n\r\n// ExportIBDetailedReport:\r\nexport interface ExportIBDetailedReportResult {\r\n Time: string;\r\n IBEmail: string;\r\n IBAccount: string;\r\n Ticket: string;\r\n EntryType: string;\r\n Symbol: string;\r\n Side: string;\r\n VolumeLot: number;\r\n Commission: number;\r\n Balance: number;\r\n Account: string;\r\n Email: string;\r\n}\r\n\r\n//ExportIBTransactionGroupingReport:\r\nexport interface ExportIBTransactionGroupingReportResult {\r\n Time: Date | string;\r\n IBEmail: string;\r\n IBAccount: string;\r\n Ticket: string;\r\n EntryType: string;\r\n Symbol: string;\r\n Side: string;\r\n Volume: number;\r\n Commission: number;\r\n Balance: number;\r\n Account: string;\r\n Email: string;\r\n}\r\n\r\n//ExportSubIBDetailedReport:\r\nexport interface ExportSubIBDetailedReportResult {\r\n Time: string;\r\n IBEmail: string;\r\n IBAccount: string;\r\n Ticket: string;\r\n EntryType: string;\r\n Symbol: string;\r\n Side: string;\r\n VolumeLot: number;\r\n Commission: number;\r\n Balance: number;\r\n Account: string;\r\n Email: string;\r\n}\r\n\r\n//ExportTransactionGrpByAccReport:\r\nexport interface ExportTransactionGrpByAccReportResult {\r\n Account: string;\r\n Email: string;\r\n Commission: number;\r\n VolumeLot: number;\r\n}\r\n\r\n//ExportTransactionGrpByIBReport:\r\nexport interface ExportTransactionGrpByIBReportResult {\r\n IBCode: string;\r\n Account: string;\r\n Email: string;\r\n Commission: number;\r\n VolumeLot: number;\r\n}\r\n\r\n//ExportTransactionGrpBySymbolReport:\r\nexport interface ExportTransactionGrpBySymbolReportResult {\r\n Account: string;\r\n Email: string;\r\n Symbol: string;\r\n Commission: number;\r\n VolumeLot: number;\r\n}\r\n\r\n//LoadIBDepositTransactionTable:\r\n\r\nexport interface GetIBDepositTransactionTableResult {\r\n TimeStr: string;\r\n Time: Date | string;\r\n AccNbr: string;\r\n Ticket: string | null;\r\n Type: string;\r\n Amount: number;\r\n Commission: number;\r\n Balance: number;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n\r\n//LoadSubIBTotalTransactionTable:\r\n\r\nexport interface GetSubIBTotalTransactionTableResult {\r\n accountid: number;\r\n IBCode: string;\r\n Account: string;\r\n Email: string;\r\n Commission: number;\r\n Volume: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\n//GetLiveOverviewTable: public bool IsAuth\r\n\r\nexport class OverviewTables {\r\n Login: string = '';\r\n BegNetAssetValue: number = 0;\r\n EndNetAssetValue: number = 0;\r\n Deposits: number = 0;\r\n Withdrawals: number = 0;\r\n Credit: number = 0;\r\n Swaps: number = 0;\r\n Commission: number = 0;\r\n Gain: number = 0;\r\n}\r\n\r\n//GetTradeAnalysisTable:\r\n\r\nexport interface TradeAnalysisTable {\r\n IsAuth: boolean;\r\n AvgTradeDuration: number;\r\n AvgLotSize: number;\r\n AvgGain: number;\r\n //AvgGainPips: number;\r\n AvgLoss: number;\r\n //AvgLossPips: number;\r\n NumTrades: number;\r\n WinTrades: number;\r\n LooseTrades: number;\r\n LongWon: number;\r\n ShortWon: number;\r\n BestTrade: number;\r\n //BestTradePips: number;\r\n MaxLotSize: number;\r\n MinLotSize: number;\r\n WorstTrade: number;\r\n //WorstTradePips: number;\r\n}\r\n\r\n//GetLiveHistPerTable:\r\nexport interface HistoricalPerformanceTableHTTP {\r\n MD: number;\r\n Year: number;\r\n ROIPer: number;\r\n AnnualROIPer: number;\r\n RowCnt: number;\r\n}\r\n\r\n//GetBUData:\r\nexport class GetGUDataResult {\r\n Email: string = \"\";\r\n FirstName: string = \"\";\r\n LastName: string = \"\";\r\n UserStatus: string = \"\";\r\n ProfileImage: string = \"\";\r\n Phone: string = \"\";\r\n CountryName: string = \"\";\r\n Nationality: string = \"\";\r\n Address: string = \"\";\r\n ZipCode: string = \"\";\r\n EmploymentStatus: string = \"\";\r\n TimeZoneCode: string = \"\";\r\n}\r\n\r\n///CRM/GetDropDownLists\r\n\r\nexport interface GetCountriesResult {\r\n CountryID: number;\r\n CountryCode: string;\r\n CountryName: string;\r\n CountryFlag: string;\r\n countryNameCN: string;\r\n CountryPerm: boolean;\r\n CompanyID: string;\r\n}\r\n\r\nexport interface GetSalutationResult {\r\n SalutationID: number;\r\n Salutation: string;\r\n}\r\n\r\nexport interface GetKYCTypesResult {\r\n KTID: number;\r\n TypeName: string;\r\n PoolID: number;\r\n RequireKYC: boolean;\r\n KPID: number;\r\n}\r\n\r\n//CRM/GetRegSettingPerms\r\nexport interface GetRegSettingPermsResult {\r\n RSID: number;\r\n Salutation: boolean;\r\n FirstName: boolean;\r\n MiddleName: boolean;\r\n LastName: boolean;\r\n DateOfBirth: boolean;\r\n Phone: boolean;\r\n SecondPhone: boolean;\r\n EmailPerm: boolean;\r\n CountryOfBirth: boolean;\r\n Nationality: boolean;\r\n MaritalStatus: boolean;\r\n USAResidentQsn: boolean;\r\n USATaxPurposesQsn: boolean;\r\n PoliticallyPersonQsn: boolean;\r\n DeclaredBankruptcyQsn: boolean;\r\n Country: boolean;\r\n ResidentialAddress: boolean;\r\n City: boolean;\r\n State: boolean;\r\n StreetName: boolean;\r\n BuildingNumber: boolean;\r\n PostalCode: boolean;\r\n ConditionsAgreement: boolean;\r\n ConditionsAgreementTxt: string;\r\n KTID: number;\r\n}\r\n\r\n// Portfolio>>>\r\n// closeTradesPerTicket\r\n// GetOpenPositionBysymbol\r\n\r\n// GetOpenPosition\r\nexport interface OpenPositionSummaryClass {\r\n Symbol: string;\r\n Type: string;\r\n NetLots: number;\r\n VWapPrice: number;\r\n MarketPrice: number;\r\n PriceDelta: number;\r\n FloatingPL: number;\r\n}\r\n// GetInvestors\r\nexport interface InvestorsClass {\r\n Login: string;\r\n InitialInvestment: number;\r\n Balance: number;\r\n Credit: number;\r\n Equity: number;\r\n MarginUt: number;\r\n AvailableMargin: number;\r\n FloatingPL: number;\r\n InvTag: string;\r\n LoginTxt: string;\r\n AmountTxt: string;\r\n Amount: number;\r\n Name: string;\r\n IsReverse: boolean;\r\n IsReverseTxt: string;\r\n}\r\nexport interface GetARuleAmountsResult {\r\n SID: number;\r\n Login: string;\r\n Amount: number;\r\n}\r\n//////\r\n// GetClosedTradesFromStorage\r\n\r\nexport interface GetMonthlyFeesTableResult {\r\n Login: string;\r\n Type: string;\r\n BeginningNAV: number;\r\n ENV: number;\r\n PeriodGL: number;\r\n CFloss: number;\r\n MF: number;\r\n PF: number;\r\n NetReturn: number;\r\n NetReturnPer: number;\r\n HWM: number;\r\n DW: number;\r\n EndingGAV: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\nexport interface GetPerformanceFeesTableResult {\r\n DateTime: string;\r\n Date: string;\r\n Type: string;\r\n BeginningNAV: number;\r\n PeriodGL: number;\r\n MF: number;\r\n PF: number;\r\n ENV: number;\r\n NetReturn: number;\r\n NetReturnPer: number;\r\n HWM: number;\r\n CFloss: number;\r\n DW: number;\r\n EndingGAV: number;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\nexport interface GetBUTransferReqTableResult {\r\n TRID: number;\r\n Account: string;\r\n TransferType: string;\r\n Amount: number;\r\n ConvertedAmount: number;\r\n ToPlatform: number;\r\n ToLogin: string;\r\n ToCurr: string;\r\n ToAccount: string;\r\n ReqDateStr: string;\r\n ReqDate: string;\r\n Status: number;\r\n StatusStr: string;\r\n Reason: string;\r\n Delete: string;\r\n PaymentDetails: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\nexport interface GetBUDepositReqTableResult {\r\n DRID: number;\r\n Account: string;\r\n PaymentMethod: string;\r\n Amount: any;\r\n ConvertedAmount: number;\r\n Currency: string;\r\n ReqDateStr: string;\r\n ReqDate: string;\r\n Status: number;\r\n StatusStr: string;\r\n Reason: string;\r\n Delete: string;\r\n PaymentDetails: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n\r\nexport interface GetBUNewReqTableResult {\r\n ARID: number;\r\n Platform: string;\r\n AccLeverage: number;\r\n AccLeverageStr: string;\r\n AccType: string;\r\n AccCurrency: string;\r\n ReqDateStr: string;\r\n ReqDate: string;\r\n Status: number;\r\n StatusStr: string;\r\n Reason: string;\r\n Delete: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n//LoadBUInfoReqTable\r\nexport interface GetBUInfoReqTableResult {\r\n LRID: number;\r\n Account: string;\r\n Leverage: number;\r\n LeverageStr: string;\r\n NewLeverage: number;\r\n NewLeverageStr: string;\r\n AccType: string;\r\n NewAccType: string;\r\n ReqDateStr: string;\r\n ReqDate: string;\r\n Status: number;\r\n StatusStr: string;\r\n Reason: string;\r\n Delete: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n//LoadBUCloseReqTable\r\nexport interface GetBUCloseReqTableResult {\r\n DRID: number;\r\n Account: string;\r\n ReqDateStr: string;\r\n ReqDate: string;\r\n Status: number;\r\n StatusStr: string;\r\n Reason: string;\r\n Delete: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n//My accounts >>>\r\n// LoadNewSubAccData\r\nexport interface AccLeverages {\r\n AccLeverageID: number;\r\n AccLeverage: number;\r\n AccTypeID: number;\r\n}\r\n\r\nexport interface AccCurrencies {\r\n AccCurrencyID: number;\r\n AccCurrency: string;\r\n AccCurrencyPerm: boolean;\r\n AccTypeID: number;\r\n}\r\n\r\n// LoadMyAccountsTable\r\nexport interface MyAccountsTable {\r\n LeverageStr: string | null;//change\r\n Account: string;\r\n Login: string;\r\n Currency: string;\r\n Leverage: number;\r\n Platform: number;\r\n ServerName: string;\r\n PlatformStr: string;\r\n Type: string;\r\n CreationDateStr: string;\r\n CreationDate: string;\r\n Balance: number;\r\n IsDemo: boolean;\r\n AccountID: number;\r\n ServerID: number;\r\n AccTypeID: number;\r\n}\r\n\r\n//export interface GetPaymentCurrenciesResult {\r\n// AccCurrency: string;\r\n// DWRID: number;\r\n// PMID: number;\r\n// CurrencyID: number;\r\n// Rate: number;\r\n// IsDefault: boolean;\r\n// CreationDate: string;\r\n//}\r\n//export interface GetBankWireDetailsResult {\r\n// AccCurrencyID: number;\r\n// AccCurrency: string;\r\n// BWID: number | null;\r\n// BID: number | null;\r\n// CurrencyID: number | null;\r\n// BeneficiaryName: string;\r\n// Address: string;\r\n// AccountNumber: string;\r\n// Swift: string;\r\n// IBAN: string;\r\n// IsEnabled: boolean | null;\r\n// IntermediaryBank: string;\r\n// CorrespondentBank: string;\r\n//}\r\nexport interface AccTransactionData {\r\n Currency: AccCurrencies[];\r\n Accounts: Accounts[];\r\n MyCurrency: string;\r\n MyAccount: string;\r\n PaymentList: PaymentMethods[];\r\n BankAccountList: BankAccount[];\r\n PoolID: number;\r\n}\r\n\r\nexport interface AccCurrencies {\r\n AccCurrencyID: number;\r\n AccCurrency: string;\r\n AccCurrencyPerm: boolean;\r\n AccTypeID: number;\r\n}\r\n\r\nexport interface Accounts {\r\n AccountID: number;\r\n Login: string;\r\n}\r\nexport interface PaymentMethods {\r\n PMID: number;\r\n PaymentName: string;\r\n Instruction: string;\r\n IsDeposit: boolean;\r\n HasTTCopy: boolean;\r\n PMDescription: string;\r\n PaymentIcon: string;\r\n Currencies: string;\r\n}\r\n\r\n// GetAccTypes\r\nexport interface GetAccTypesResult {\r\n AccTypeID: number;\r\n ServerID: number;\r\n AccType: string;\r\n ByPassAccReq: boolean\r\n ByPassAdminReq: boolean\r\n IsDemo: boolean\r\n Description: string;\r\n}\r\n\r\n// GetWLServers\r\nexport interface GetWLServersResult {\r\n ServerID: number;\r\n ServerName: string;\r\n Type: number;\r\n WLID: number;\r\n WLName: string;\r\n}\r\n//CopyTraderReq\r\n//Function Name: AddClient\r\n\r\n//Request objData Class:\r\n//client page\r\nexport class CreateClientClass {\r\n Client: Client = new Client();\r\n Contact: Contact = new Contact();\r\n Trader: TraderMainClass | null = new TraderMainClass();\r\n Role: Role = new Role();\r\n CompanyID: string = \"\";\r\n Password: string = \"\";\r\n}\r\n\r\nexport class Client {\r\n ClientID: string | null = null;//not needed in actions\r\n ClientRangeID: string = \"\";\r\n CRID: number = 0;\r\n PoolID: number = 0;\r\n CountryID: number = 0;\r\n KTID: number = 0;\r\n StatusID: number = 0;\r\n Email: string = \"\";\r\n FirstName: string = \"\";\r\n LastName: string = \"\";\r\n ReferralID: string = \"\";\r\n OwnerAssigned: string = \"\";\r\n OwnerAssignedTxt: string = \"\";\r\n AnnualRevenue: string = \"\";\r\n AssociatedDeals: string = \"\";\r\n RecentDealAmount: string = \"\";\r\n CompanyName: string = \"\";\r\n CompanyOwner: string = \"\";\r\n CompanyDescription: string = \"\";\r\n Industry: string = \"\";\r\n YearFounded: number = 0;\r\n CompanyDomainName: string = \"\";\r\n CompanySize: number = 0;\r\n NumberEmployees: number = 0;\r\n CompanyPhoneNumber: string = \"\";\r\n State: string = \"\";\r\n City: string = \"\";\r\n StreetAddress: string = \"\";\r\n StreetAddress2: string = \"\";\r\n PostalCode: string = \"\";\r\n TimeZone: number = 0;\r\n WebsiteURL: string = \"\";\r\n FacebookPage: string = \"\";\r\n GooglePlusPage: string = \"\";\r\n LinkedInPage: string = \"\";\r\n IsIB: boolean = false;\r\n PoolName: string = \"\";\r\n CountryName: string = \"\";\r\n KYCType: string = \"\";\r\n StatusType: string = \"\";\r\n ClientName: string = \"\";\r\n PromoCode: string = \"\";\r\n AssociatedContacts: number = 0;\r\n}\r\n\r\nexport class Contact {\r\n ContactOwnerTxt: string = \"\";\r\n CountryID: number = -1;\r\n SalutationID: number = -1;\r\n SalutationTxt: string = \"\";\r\n StatusID: number = -1;\r\n MaritalStatusID: number = -1;\r\n MilitaryStatusID: number = -1;\r\n Email: string = \"\";\r\n FirstName: string = \"\";\r\n LastName: string = \"\";\r\n DOB: string = \"\";\r\n Phone: string = \"\";\r\n MobilePhonenumber: string = \"\";\r\n City: string = \"\";\r\n ResidentialAddress: string = \"\";\r\n ZipCode: string = \"\";\r\n ProfileImage: string = \"\";\r\n ContactOwner: string = \"\";\r\n Faxnumber: string = \"\";\r\n Gender: string = \"\";\r\n School: string = \"\";\r\n Seniority: string = \"\";\r\n State: string = \"\";\r\n StreetAddress: string = \"\";\r\n Degree: string = \"\";\r\n FieldOfStudy: string = \"\";\r\n GraduationDate: string = \"\";\r\n JobTitle: string = \"\";\r\n JobFunction: string = \"\";\r\n Industry: string = \"\";\r\n WorkEmail: string = \"\";\r\n Skype: string = \"\";\r\n Wechat: string = \"\";\r\n AnnualRevenue: string = \"\";\r\n AssociatedDeals: string = \"\";\r\n ProductInterest: string = \"\";\r\n RequestType: string = \"\";\r\n MembershipNotes: string = \"\";\r\n Message: string = \"\";\r\n Notes: string = \"\";\r\n TwitterUsername: string = \"\";\r\n WebsiteURL: string = \"\";\r\n UnsubscribedFromAllEmail: boolean = false;\r\n IPCity: string = \"\";\r\n IPCountry: string = \"\";\r\n IPTime: string = \"\";\r\n ReferralID: string = \"\";\r\n Language: string = \"\";\r\n ResetPassword: string = \"\";\r\n ActivationCode: string = \"\";\r\n IsActive: boolean = false;\r\n CountryName: string = \"\";\r\n Salutation: string = \"\";\r\n StatusType: string = \"\";\r\n MaritalDescription: string = \"\";\r\n CreationDate: string = \"\";\r\n TimeRegistrationEmailSent: string = \"\";\r\n MilitaryDescription: string = \"\";\r\n AssociatedClient: string = \"\";\r\n CreationDateStr: string = \"\";\r\n WhitelistedIPs?: string = \"\";\r\n}\r\n\r\nexport class Role {\r\n RoleID: number = 0;\r\n RoleName: string = \"\";\r\n LicPerms: LicPerms[] = [];\r\n}\r\n\r\nexport class LicPerms {\r\n LicID: number = 0;\r\n PermID: number = 0;\r\n}\r\nexport class LicPermsAddClient {\r\n LicID: number = 0;\r\n PermID: number = 0;\r\n PermValID: number = 0;\r\n}\r\n\r\n//logs\r\n// DeletePendingClientReq\r\nexport class ClientRequestInfo {\r\n ReqType: string = \"\";\r\n ReqID: number = -1;\r\n}\r\n//#region clientPage\r\n//GetClientsTable\r\n//request\r\nexport interface TraderDataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n}\r\n//response\r\nexport interface GetClientsTableResult {\r\n ClientID: string;\r\n Status: string;\r\n ClientRangeID: string;\r\n ClientName: string;\r\n PoolName: string;\r\n Email: string;\r\n PhoneNumber: string;\r\n OwnerAssigned: string;\r\n LastActivity: string;\r\n CreationDate: string;\r\n CreationDateStr: string;\r\n CountryName: string;\r\n IsOnline: boolean;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n//ClientDropDownList\r\nexport interface ClientDropDownList {\r\n Salutation: GetSalutationResult[];\r\n Countries: GetCountriesResult[];\r\n ClientIDRanges: GetClientIDRangesResult[];\r\n Pools: GetPoolsResult[];\r\n Status: GetStatusResult[];\r\n MaritalStatus: GetMaritalStatusResult[];\r\n RolesListResult: RolesList[];\r\n PermsLicListResult: PermsLicList[];\r\n ContactOwners: AdminList[];\r\n}\r\n\r\nexport interface GetSalutationResult {\r\n SalutationID: number;\r\n Salutation: string;\r\n}\r\nexport interface AdminList {\r\n AUID: string;\r\n Email: string;\r\n FullName: string;\r\n}\r\nexport interface GetCountriesResult {\r\n CountryID: number;\r\n CountryCode: string;\r\n CountryName: string;\r\n CountryFlag: string;\r\n CountryNameCN: string;\r\n CountryPerm: boolean;\r\n CompanyID: string;\r\n}\r\n\r\nexport interface GetClientIDRangesResult {\r\n CRID: number;\r\n CRDescription: string;\r\n CRStart: number;\r\n CREnd: number;\r\n}\r\nexport interface GetStatusResult {\r\n StatusID: number;\r\n StatusDescription: string;\r\n}\r\n\r\nexport interface GetMaritalStatusResult {\r\n MaritalStatusID: number;\r\n MaritalDescription: string;\r\n}\r\nexport class PermsLicList {\r\n PermOrder: number = 0;\r\n LicID: number = -1;\r\n LicName: string = \"\";\r\n LicIsAdmin: boolean = false;\r\n PermID: number = -1;\r\n LicOrder: number = 0;\r\n PermName: string = \"\";\r\n ParentPermID: number = -1;\r\n TotalUsers: number = -1;\r\n RemainingUsers: number = -1;\r\n}\r\nexport class PermsLicListChecked extends PermsLicList {\r\n isChecked: number = 0;\r\n}\r\n\r\nexport interface RolesList {\r\n RoleID: number;\r\n RoleName: string;\r\n LicID: number;\r\n LicName: string;\r\n PermID: number;\r\n PermName: string;\r\n RLID: number;\r\n ParentPermID: number;\r\n}\r\n// Get API:\r\n\r\n// Function name: GetTaskDropDownLists\r\n// Param: YoonitRequest\r\n// Return:\r\nexport interface TaskDropDownList {\r\n TaskStatus: GetTaskStatusResult[];\r\n TaskPriority: GetTaskPriorityResult[];\r\n Users: GetUsersResult[];\r\n}\r\n\r\nexport interface GetUsersResult {\r\n ContactID: string;\r\n FullName: string;\r\n Email: string;\r\n}\r\n\r\n// Function name: GetTasksList\r\n// Param: YoonitRequest\r\nexport class GetTask {\r\n OwnerID: string = \"\";\r\n OwnerType: string = \"\";\r\n}\r\n// Return:\r\nexport class TaskClass {\r\n TaskID?: number | null = -1;\r\n TaskPriorityID?: number = -1;\r\n TaskStatusID?: number = -1;\r\n TaskSubject: string = \"\";\r\n DueDate: string = \"\";\r\n AssignedTo?: string = \"\";\r\n Notes: string = \"\";\r\n OwnerID?: string = \"\";\r\n OwnerType?: string = \"\";\r\n CreationDate?: string | null = \"\";\r\n StatusIcon?: string | null = \"\";\r\n PriorityIcon?: string | null = \"\";\r\n PriorityDescription?: string | null = \"\";\r\n StatusDescription?: string | null = \"\";\r\n AssignedToName?: string | null = \"\";\r\n CreatedBy: string = \"\";\r\n CreatedByName?: string | null = \"\";\r\n}\r\n\r\n// Function name: GetNotesList\r\n// Param: YoonitRequest\r\n//export interface GetTask\r\n// Return:\r\nexport class NoteClass {\r\n NoteID: number | null = -1;\r\n NoteSubject: string = \"\";\r\n NoteText: string = \"\";\r\n OwnerID: string = \"\";\r\n OwnerType: string = \"\";\r\n CreationDate: string | null = \"\";\r\n CreatedBy: string = \"\";\r\n}\r\n// Function name: GetTasksTable\r\n// Param: YoonitRequest\r\n//TraderDataTable\r\n\r\n// Return:\r\nexport interface GetTasksTableResult {\r\n TaskID: number;\r\n TaskSubject: string;\r\n PriorityDescription: string;\r\n StatusDescription: string;\r\n Notes: string;\r\n DueDate: string;\r\n CreationDate: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n// Function name: GetNotesTable\r\n// Param: YoonitRequest\r\n//TraderDataTable\r\n// Return:\r\n//export interface GetNotesTableResult {\r\n// NoteID: number;\r\n// NoteSubject: string;\r\n// NoteText: string;\r\n// CreationDate: string;\r\n// RowTot: number;\r\n// RowFilter: number;\r\n// Rn: number;\r\n//}\r\n\r\n// Action API:\r\n\r\n// Function name: AddTask\r\n// Param: YoonitRequest\r\n//export interface TaskClass {\r\n// Return:\r\n// Int\r\n\r\n// Function name: AddNote\r\n// Param: YoonitRequest\r\n//export interface NoteClass {\r\n// NoteID: string;\r\n// NoteSubject: string;\r\n// NoteText: string;\r\n// OwnerID: string;\r\n// OwnerType: string;\r\n//}\r\n// Return:\r\n// Int\r\n\r\n// Function name: DeleteTask\r\n// Param: YoonitRequest< int>\r\n// Return:\r\n// Int\r\n\r\n// Function name: DeleteNote\r\n// Param: YoonitRequest< int>\r\n// Return:\r\n// Int\r\n\r\nexport interface ClientDropDownPerPoolList {\r\n Countries: GetCountriesResult[];\r\n ClientIDRanges: GetClientIDRangesResult[];\r\n ApplicationTypeResult: GetApplicationTypeResult[];\r\n GetIBCodeRangesResult: IBCodeRangesInfo[];\r\n GetWalletRangesResult: WalletRanges[];\r\n GetWalletCurrencies: GetAccCurrencyResult[];\r\n}\r\nexport interface WalletRanges {\r\n WRID: number;\r\n WRDescription: string;\r\n WRStart: number;\r\n WREnd: number;\r\n WRCurrent: number;\r\n PoolID: number;\r\n}\r\nexport interface GetTaskStatusResult {\r\n TaskStatusID: number;\r\n StatusDescription: string;\r\n StatusIcon: string;\r\n}\r\n\r\nexport interface GetTaskPriorityResult {\r\n TaskPriorityID: number;\r\n PriorityDescription: string;\r\n PriorityIcon: string;\r\n}\r\n//#endregion\r\n//MAMM/UpdateUserProfileImage: as for application form\r\nexport class UploadKYCDocumentRequest {\r\n //ClientID: string=\"\";\r\n ContactID: string = \"\";\r\n Type: string = \"\";\r\n BinaryDocument: string = \"\";\r\n}\r\n\r\n//UpdateUserEmail,UpdateMailLang,UpdateUserPassword:\r\nexport interface ProfileInfoClass {\r\n ContactID: number;\r\n Password: string;\r\n CurrPassword: string;\r\n Email: string;\r\n Language: string;\r\n WLName: string;\r\n Code: string;\r\n}\r\n// SendTransactionReq:\r\nexport interface AccTransactionReq {\r\n IsAdmin: boolean;\r\n Status: number;\r\n AccountID: number;\r\n ReqType: string;\r\n ToAccID: number;\r\n Login: string;\r\n Platform: string;\r\n PaymentMethod: string;\r\n CurrencyID: number;\r\n Amount: number;\r\n OrderID: string;\r\n Currency: string;\r\n PaymentName: string;\r\n Comment: string;\r\n Note: string;\r\n IsBankWire: number;\r\n BankName: string;\r\n BID: number;\r\n BankAddress: string;\r\n AccountNumber: string;\r\n BeneficiaryAddress: string;\r\n BeneficiaryName: string;\r\n IBAN: string;\r\n Swift: string;\r\n IntermediaryBank: string;\r\n CorrespondentBank: string;\r\n ttCopy: string;\r\n BAID: number;\r\n ReqStatus: number;\r\n Email: string;\r\n ID: string;\r\n ClientID: string;\r\n}\r\n\r\n// EditAccInfoReq\r\nexport interface AccInfoReq {\r\n ClientID: string;\r\n BUID: number;\r\n ServerID: number;\r\n WLName: string;\r\n LRID: number;\r\n Login: string;\r\n Password: string;\r\n IBCode: string;\r\n AccountID: number;\r\n ReqType: string;\r\n AccLeverageID: number;\r\n AccLeverage: number;\r\n AccTypeID: number;\r\n AccCurrencyID: number;\r\n AccCurrency: string;\r\n AccountPass: string;\r\n CreationReason: string;\r\n Status: number;\r\n KTID: number;\r\n ReferralID: string;\r\n IsIB: boolean;\r\n MasterIB: number;\r\n NewLogin: boolean;\r\n ByPassAdminReq: boolean;\r\n}\r\nexport interface ProfileInfo {\r\n BUID: string;\r\n Password: string;\r\n CurrPassword: string;\r\n Email: string;\r\n Language: string;\r\n WLName: string;\r\n Code: string;\r\n}\r\n\r\nexport interface OpenDealsService { // mt5\r\n Name: string;\r\n Login: string;\r\n ServerName: string;\r\n ActionInt: number;\r\n Action: string;\r\n Deal: number;\r\n Price: number;\r\n ClosePrice: number;\r\n Profit: number;\r\n Symbol: string;\r\n Volume: number;\r\n Swaps: number;\r\n Type: number;\r\n Time: number;\r\n TimeStr: string;\r\n PriceSL: number;\r\n PriceTP: number;\r\n Comment: string;\r\n Digits: number;\r\n MarginRate: number;\r\n OrderBD: string;\r\n CloseTradeBtn: string;\r\n DT_RowId: string;\r\n DT_RowClass: string;\r\n}\r\nexport interface TradeRecordService { //some are not capitial\r\n Name: string;\r\n servername: string;\r\n login: string;\r\n order: number;\r\n symbol: string;\r\n open_price: number;\r\n close_price: number;\r\n open_time: string;\r\n open_timeStr: string;\r\n close_time: string;\r\n close_timeStr: string;\r\n cmd: string;\r\n cmdint: number;\r\n sl: number;\r\n tp: number;\r\n taxes: number;\r\n storage: number;\r\n commission: number;\r\n digits: number;\r\n profit: number;\r\n //profitPips: number;\r\n comment: string;\r\n volume: number;\r\n OrderBD: string;\r\n CloseTradeBtn: string;\r\n Lots: number;\r\n DT_RowId: string;\r\n DT_RowClass: string;\r\n Type: number;\r\n}\r\n//leades\r\nexport class Lead {\r\n LeadID: number = -1;\r\n CountryID: number = -1;\r\n SalutationID: number = -1;\r\n SalutationTxt: string = \"\";\r\n Email: string = \"\";\r\n FirstName: string = \"\";\r\n LastName: string = \"\";\r\n FullName: string = \"\";\r\n LeadNote: string = \"\";\r\n DOB: string = \"\";\r\n Phone: string = \"\";\r\n SecondPhone: string = \"\";\r\n City: string = \"\";\r\n ResidentialAddress: string = \"\";\r\n ZipCode: string = \"\";\r\n PoolID: number = -1;\r\n EmailLang: string = \"\";\r\n ReferralCode: string = \"\";\r\n LeadOwner: string = \"\";\r\n StatusID: number = -1;\r\n StreetAddress: string = \"\";\r\n DomainRegistrationEmailSent: string = \"\";\r\n Gender: string = \"\";\r\n MaritalStatusID: number = -1;\r\n Language: string = \"\";\r\n JobTitle: string = \"\";\r\n JobFunction: string = \"\";\r\n Industry: string = \"\";\r\n WorkEmail: string = \"\";\r\n Skype: string = \"\";\r\n Wechat: string = \"\";\r\n OwnerAssignedDate: string = \"\";\r\n NumberTimesContacted: number = -1;\r\n Product: string = \"\";\r\n RelationshipStatus: string = \"\";\r\n RequestType: string = \"\";\r\n MembershipNotes: string = \"\";\r\n LastActivityDate: string = \"\";\r\n LastContactedDate: string = \"\";\r\n LastModifiedDate: string = \"\";\r\n TimeRegistrationEmailSent: string = \"\";\r\n TwitterUsername: string = \"\";\r\n WebsiteURL: string = \"\";\r\n FirstConversion: string = \"\";\r\n FirstConversionDate: string = \"\";\r\n NumberFormSubmitted: number = -1;\r\n NumberUniqueFormsSubmitted: number = -1;\r\n RecentConversion: string = \"\";\r\n RecentConversionDate: string = \"\";\r\n IPCity: string = \"\";\r\n IPCountry: string = \"\";\r\n IPCountryCode: string = \"\";\r\n IPState: string = \"\";\r\n IPStateCode: string = \"\";\r\n IPTimeZone: string = \"\";\r\n CloseDate: string = \"\";\r\n CreationDate: string = \"\";\r\n ContactID: string = \"\";\r\n CountryName: string = \"\";\r\n Salutation: string = \"\";\r\n StatusType: string = \"\";\r\n MaritalDescription: string = \"\";\r\n PoolName: string = \"\";\r\n}\r\n//LEads\r\nexport interface GetLeadsTableResult {\r\n LeadID: string;\r\n FullName: string;\r\n Email: string;\r\n Phone: string;\r\n LeadOwner: string;\r\n CountryName: string;\r\n CreationDate: string;\r\n StatusType: string;\r\n LastActivity: string;\r\n CreationDateStr: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n//client page each client app form tab\r\nexport interface GetAppFormViewResult {\r\n permissionslist: GetKYCPermissionsResult;\r\n KYCDetails: GetKYCDetailsResult;\r\n Declarations: GetDeclarationsResult[];\r\n}\r\n//mam class\r\n//getpapf\r\n//savepapf\r\nexport interface PFClass {\r\n Agents: AgentAccClass[];\r\n AccountID: number;\r\n Login: string;\r\n ProfileID: number;\r\n ProfileStrategyName: string;\r\n}\r\nexport interface GetContactsTableResult {\r\n ClientID: string;\r\n ContactID: string;\r\n FullName: string;\r\n Email: string;\r\n Phone: string;\r\n ContactOwner: string;\r\n CountryName: string;\r\n CreationDate: string;\r\n AssociatedClient: string;\r\n StatusType: string;\r\n LastActivity: string;\r\n CreationDateStr: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n//ForcePerformanceFee\r\n//export interface PerfFeeClass {\r\n// ProfileID: number;\r\n// SlaveLogin: string;\r\n// MasterLogin: string;\r\n//}\r\n\r\n//Request: public class MAMAdminRequests : CRMClasses.DataTable\r\nexport interface LoadCopierAccountsTableParms {\r\n ProfileID: number;\r\n IsDefault: boolean;\r\n AccountID: number;\r\n AUID: string;\r\n}\r\nexport interface LoadCopierAccountsTableResult {\r\n ACID: number;\r\n ARule: string;\r\n IsReverse: boolean;\r\n IsReverseTxt: string;\r\n Amount: number;\r\n Login: string;\r\n Currency: string;\r\n Equity: number;\r\n Balance: number;\r\n FullName: string;\r\n AccountName: string;\r\n Unfollow: string;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number;\r\n}\r\n//clinet list MAM Profiles\r\n//GetMMClientList:\r\n\r\nexport interface LoadMMClientListResult {\r\n ClientRangeID: number;\r\n ClientID: string;\r\n text: string;\r\n rowFilter: number;\r\n}\r\n//get account types\r\nexport interface WLAccSettings {\r\n AccLeverage: AccLeverages[];\r\n IBCodeRanges: IBCodeRanges[];\r\n AccCurrency: Currency[];\r\n AccTypes: AccTypes[];\r\n LoginRanges: LoginRanges[];\r\n AllocRules: LoadAllocationRulesResult[];\r\n STPVals: LoadSTPValuesResult[];\r\n}\r\nexport interface IBCodeRanges {\r\n IBRID: number;\r\n WLID: number;\r\n IBRDescription: string;\r\n IBRStart: number;\r\n IBREnd: number;\r\n}\r\n\r\nexport interface LoginRanges {\r\n LRID: number;\r\n LRDescription: string;\r\n LRStart: number;\r\n LREnd: number;\r\n LRCurrent: number;\r\n}\r\n\r\nexport interface LoadAllocationRulesResult {\r\n ARuleID: number;\r\n ARuleName: string;\r\n ARuleOrder: number;\r\n}\r\n\r\nexport interface LoadSTPValuesResult {\r\n STPID: number;\r\n STPValue: number;\r\n STPText: string;\r\n}\r\n\r\n//9 - GetMMInfoByAccType\r\n//YoonitRequest: Token, CompanyName\r\n//ObjData: int\r\n\r\nexport interface WLAccSettings {\r\n AccLeverage: AccLeverages[];\r\n IBCodeRanges: IBCodeRanges[];\r\n AccCurrency: Currency[];\r\n AccTypes: AccTypes[];\r\n LoginRanges: LoginRanges[];\r\n AllocRules: LoadAllocationRulesResult[];\r\n STPVals: LoadSTPValuesResult[];\r\n}\r\n//10 - GetAdminAccTypes\r\n\r\n//YoonitRequest: Token, CompanyName\r\n//GetAdminAccTypesRequest: AUID, IsDemo\r\n\r\nexport interface GetServersPlatforms {\r\n Servers: ServerDetails[];\r\n Platforms: string[];\r\n}\r\n\r\nexport interface ServerDetails {\r\n ServerID: number;\r\n ServerName: string;\r\n Type: string;\r\n}\r\nexport interface ServerData {\r\n ServerID: number;\r\n ServerName: string;\r\n ServerType: string;\r\n IsConnected: boolean;\r\n}\r\n//class temp for add account\r\nexport class TempAddAccount {\r\n ClientID: number = -1;\r\n ServerID: number = -1;\r\n PlatformID: number = -1;\r\n LoginRange: string = \"\";\r\n AcctypID: number = -1;\r\n CurrencyID: number = -1;\r\n LeverageID: number = -1;\r\n}\r\nexport class TraderMainClass {\r\n BUID: string = \"\";\r\n Amount: number = 0;\r\n ServerID: number = 0;\r\n ServerName: string = \"\";\r\n ServerType: string = \"\";\r\n AccountID: number = 0;\r\n FullName: string = \"\";\r\n Email: string = \"\";\r\n Login: string = \"\";\r\n IsPrimary: boolean = false;\r\n IsEnabled: boolean = false;\r\n IsReadOnly: boolean = false;\r\n IsIB: boolean = false;\r\n AccCurrencyID: number = 0;\r\n AccCurrency: string = \"\";\r\n AccTypeID: number = 0;\r\n AccLeverageID: number = 0;\r\n CountryID: number = 0;\r\n IBCode: string = \"\";\r\n ReferralID: string = \"\";\r\n LRID: number = 0;\r\n IBRID: number = 0;\r\n MasterIB: number = 0;\r\n NewLogin: boolean = false;\r\n Balance: number = 0;\r\n Equity: number = 0;\r\n Credit: number = 0;\r\n Floating: number = 0;\r\n}\r\n\r\nexport class TraderClass extends TraderMainClass {\r\n ClientID: string = \"\";\r\n}\r\n\r\n//add IB acc\r\nexport class AddIBAccProfileRequest {\r\n Trader: TraderClass = new TraderClass();\r\n Profile: IBProfile = new IBProfile();\r\n}\r\n\r\nexport class IBProfile {\r\n ProfName: string = \"\";\r\n CopyProfID: number = -1;\r\n}\r\nexport class GetIBDetailsResult {\r\n Name: string = \"\";\r\n Login: string = \"\";\r\n Currency: string = \"\";\r\n Leverage: string = \"\";\r\n IBCode: string = \"\";\r\n ServerName: string = \"\";\r\n Type: number = -1;;\r\n AccType: string = \"\";\r\n}\r\n\r\nexport interface IBProfilesByLevel {\r\n ProfToLink: GetProfilesByLevelResult[];\r\n ProfToCopy: GetProfilesByLevelResult[];\r\n MyProf: GetProfilesByLevelResult[];\r\n}\r\nexport interface GetProfilesByLevelResult {\r\n PID: number;\r\n ServerID: number;\r\n PName: string;\r\n PLevel: number;\r\n PCreationDate: string;\r\n}\r\n\r\nexport interface LoadIBProfCogTableResult {\r\n Priority: string;\r\n ProfileID: number | null;\r\n CogName: string;\r\n Type: string;\r\n ProfType: string;\r\n CreationDateStr: string;\r\n CreationDate: string | null;\r\n CogType: string;\r\n CogID: number | null;\r\n ProfName: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport class ComProfCog {\r\n Level: number = 0;\r\n Commission: number = 0;\r\n Markup: number = 0;\r\n Swaps: number = 0;\r\n}\r\n\r\nexport class LotProfCog {\r\n Level: number = 0;\r\n LotAmount: number = 0;\r\n}\r\n\r\nexport class DepositProfCog {\r\n From: number = 0;\r\n To: number = 0;\r\n Amount: number = 0;\r\n}\r\n\r\nexport interface GetIBProfilesResult {\r\n IBPID: number;\r\n AccountID: number;\r\n PID: number;\r\n IsDefault: boolean;\r\n IBPCreationDate: string;\r\n PID1: number;\r\n ServerID: number;\r\n PName: string;\r\n PLevel: number;\r\n PCreationDate: string;\r\n IsDeposit: number;\r\n IsPerc: number;\r\n IsLot: number;\r\n}\r\n\r\nexport interface GetProfileConfigDataResult {\r\n Prof: IBProfileData[];\r\n Securities: GetServerSecuritiesResult[];\r\n ProfTypes: GetProfileTypesResult[];\r\n AmountTypes: GetAmountTypesResult[];\r\n DistProfTypes: GetProfileDistTypesResult[];\r\n}\r\n\r\nexport interface ProfileData {\r\n ProfileStrategyName: string;\r\n ProfileGroups: string;\r\n ProfileLogins: string;\r\n}\r\n\r\nexport interface GetServerSecuritiesResult {\r\n SecurityID: number;\r\n ServerID: number;\r\n SecurityName: string;\r\n SecurityIndex: number;\r\n}\r\n\r\nexport interface GetProfileTypesResult {\r\n PTID: number;\r\n TypeName: string;\r\n ProfType: string;\r\n}\r\n\r\nexport interface GetProfileDistTypesResult {\r\n PDTID: number;\r\n PTID: number;\r\n PDTName: string;\r\n}\r\n\r\nexport interface GetAmountTypesResult {\r\n ATID: number;\r\n ATName: string;\r\n}\r\nexport interface IBProfileData {\r\n PLevel: number;\r\n Type: number;\r\n ServerName: string;\r\n}\r\nexport class SelectOptionWithData {\r\n value: string | number = -1;\r\n label: string = \"Select...\";\r\n Data: any = {}\r\n}\r\nexport class IBProfileCog {\r\n CogID: number = 0;\r\n PID: number = 0;\r\n PTID: number = 0;\r\n DistName: string = \"\";\r\n Priority: number = 0;\r\n DistSymbols: string = \"\";\r\n DistSecurities: string = \"\";\r\n EntryID: number | null = 0;\r\n ComDist: ComProfCog[] = [];\r\n PDTID: number = 0;\r\n LotDist: LotProfCog[] = [];\r\n FirstATID: number | null = 0;\r\n FirstMaxComsn: number | null = 0;\r\n DepDist: DepositProfCog[] = [];\r\n AnyATID: number | null = 0;\r\n AnyMaxComsn: number | null = 0;\r\n AnyAmount: number | null = 0;\r\n ProfType: string = \"\";\r\n DepProfType: string | null = \"\";\r\n IsCashback: boolean = false;\r\n IsDeductFromIB: boolean = false;\r\n CashbackATID: number | null = 0;\r\n CashbackPercentage: number = 0;\r\n Scalping: number = 0;\r\n}\r\n\r\nexport interface SettingsInfo {\r\n CogID: number;\r\n Type: string;\r\n}\r\n// YoonitRequest , YoonitResponse\r\nexport class IBAccounts {\r\n AccountID: number = 0;\r\n PID: number = 0;\r\n LinkType: string = \"\";\r\n RefferalID: string = \"\";\r\n PIDs: string = \"\";\r\n Currency: string = \"\";\r\n GroupName: string = \"\";\r\n Accounts: string = \"\";\r\n Login: string = \"\";\r\n IsWL: boolean = false;\r\n AccTypeID: number = 0;\r\n}\r\n\r\n// Function Name: LoadIBDetailedReportTable\r\n// Param: YoonitRequest\r\nexport interface IBDataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n FromDay: number;\r\n ToDay: number;\r\n FromMonth: number;\r\n ToMonth: number;\r\n FromYear: number;\r\n ToYear: number;\r\n}\r\n\r\nexport interface IBRequest {\r\n AccountID: number;\r\n IsDirect: number;\r\n CommissionType: number;\r\n SubAccountID: number;\r\n IBAccountID: number;\r\n Symbol: string;\r\n Accounts: string;\r\n}\r\nexport interface GetIBsListMSResult {\r\n AccountID: number;\r\n Email: string;\r\n FullName: string;\r\n Login: string;\r\n Currency: string;\r\n IBCode: string;\r\n}\r\n\r\nexport interface GetIBTransactionTableResult {\r\n TimeStr: string;\r\n Time: string | null;\r\n IBName: string;\r\n AccNbr: string;\r\n Ticket: string | null;\r\n EntryType: string;\r\n Symbol: string;\r\n Side: string;\r\n VolumeLot: number | null;\r\n Commission: number | null;\r\n Balance: number | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface GetIBDepositReportTableResult //remove email field\r\n{\r\n ClientName: string;\r\n ClientID: number; // changed from AccountID -> ClientID\r\n IBCode: string;\r\n Wallet: string; //changed from Account -> Wallet\r\n Amount: number | null;\r\n Commission: number | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n\r\n//#region parameter interfaces\r\nexport interface APIRequest {//rename\r\n ObjData: T;\r\n}\r\nexport class GetGUTradersParams {\r\n CompanyName: string = \"\";\r\n Token: string = \"\";\r\n ObjData: APIRequest\r\n constructor() {\r\n this.ObjData = { ObjData: -1 } as APIRequest;\r\n }\r\n}\r\n\r\nexport class getDashboardDataObjData {\r\n public ProfileID: number = -1;\r\n public AccountID: number = -1;\r\n public GUID: number = -1;\r\n}\r\nexport class getDashboardDataParameters {\r\n public CompanyName: string = \"\";\r\n public ServerName: string = \"\";\r\n public ServerType: string = \"\";\r\n public ServerID: number = -1;\r\n public Token: string = \"\";\r\n public Login: string = \"\";\r\n public UserName: string = \"\";\r\n public ObjData: APIRequest\r\n constructor() {\r\n this.ObjData = { ObjData: {} as getDashboardDataObjData };\r\n }\r\n}\r\n//#endregion\r\n\r\n//#region redux interfaces\r\nexport class Servers {\r\n serverID: number = -1;\r\n serverName: string = \"No Servers\";\r\n type: string = \"\";\r\n wlName: string = \"\";\r\n wlid: number = -1;\r\n}\r\nexport class ServersOptions extends Servers {\r\n label: string = \"No Servers\";\r\n value: number = -1;\r\n}\r\n//#endregion\r\n\r\nexport interface menuTitles {\r\n name: string;\r\n link: string;\r\n subTabs: any;\r\n icon: string;\r\n}\r\n\r\n//#region common interfaces\r\n// tabs\r\nexport interface paneData {\r\n title: string;\r\n content: any;\r\n key: string | any;\r\n closable: boolean;\r\n}\r\n//translation\r\nexport type translationType = 'en' | 'cn' | 'ar';\r\n//Server Select\r\nexport interface ServerSelectType {\r\n serverName: any;\r\n type: any;\r\n value: any;\r\n}\r\n//client Page\r\nexport interface clientPageCheckBoxData {\r\n id: string;\r\n FullName: string;\r\n Email: string;\r\n PhoneNumber: string;\r\n OwnerAssigned: string;\r\n}\r\nexport interface clientPageCheckBoxData {\r\n id: string;\r\n ClientID: string;\r\n FullName: string;\r\n Email: string;\r\n PhoneNumber: string;\r\n OwnerAssigned: string;\r\n}\r\nexport interface tasksTableCheckBoxData {\r\n id: string\r\n TaskID: number;\r\n TaskSubject: string;\r\n PriorityDescription: string;\r\n StatusDescription: string;\r\n Notes: string;\r\n DueDate: string;\r\n CreationDate: string;\r\n}\r\n//#endregion\r\nexport class YoonitRequest {\r\n ServerIDs?: string;\r\n CompanyName?: string;\r\n CompanyID?: string;\r\n Data?: T[];\r\n IP?: string;\r\n TimeZone?: number;\r\n Login?: string;\r\n ObjData?: T;\r\n OperationName?: string;\r\n ServerID?: number;\r\n ProfileID?: number;\r\n ServerName?: string;\r\n ServerType?: string;\r\n SlaveLogin?: string;\r\n Token?: string;\r\n UserName?: string;\r\n AUID?: string;\r\n BUID?: string;\r\n Language?: string;\r\n Perms?: string;\r\n ClientName?: string;\r\n ProfileName?: string;\r\n ConfigName?: string;\r\n ClientRangeID?: string;\r\n}\r\nexport interface LoadGUDepositReqTableResult {\r\n Account: string;\r\n Amount: number;\r\n ConvertedAmount: number;\r\n Currency: string;\r\n Delete: string;\r\n DRID: number;\r\n PaymentDetails: string;\r\n PaymentMethod: string;\r\n Reason: string;\r\n ReqDate: Date;\r\n ReqDateStr: string;\r\n rn: number;\r\n rowFilter: number;\r\n rowTot: number;\r\n Status: number;\r\n StatusStr: string;\r\n}\r\nexport class GetClientRangeInfo {\r\n PoolID: number = 0;\r\n CRStart: number = 0;\r\n CREnd: number = 0;\r\n CRCurrent: number = 0;\r\n}\r\n\r\n//#region AddClient\r\n\r\nexport class ActionClient {\r\n ExternalID: string = '';\r\n IBRID: number | null = 0;\r\n IBCodeRange: number | null = 0;\r\n CRID: number | null = 0;\r\n ClientRangeID: number | null = 0;\r\n PoolID: number | null = 0;\r\n CountryID: number | null = 0;\r\n KTID: number | null = 0;\r\n StatusID: number | null = null;\r\n Email: string = \"\";\r\n ClientName: string = \"\";\r\n ReferralID: string = \"\";\r\n OwnerAssigned: string = \"\";\r\n AnnualRevenue: string = \"\";\r\n AssociatedContacts: number = 0;\r\n AssociatedDeals: string = \"\";\r\n RecentDealAmount: string = \"\";\r\n CompanyName: string = \"\";\r\n CompanyOwner: string = \"\";\r\n CompanyDescription: string = \"\";\r\n Industry: string = \"\";\r\n YearFounded: number | null = 0;\r\n CompanyDomainName: string = \"\";\r\n CompanySize: number | null = 0;\r\n NumberEmployees: number | null = 0;\r\n CompanyPhoneNumber: string = \"\";\r\n State: string = \"\";\r\n City: string = \"\";\r\n StreetAddress: string = \"\";\r\n StreetAddress2: string = \"\";\r\n PostalCode: string = \"\";\r\n TimeZone: number | null = 0;\r\n WebsiteURL: string = \"\";\r\n FacebookPage: string = \"\";\r\n GooglePlusPage: string = \"\";\r\n LinkedInPage: string = \"\";\r\n IsIB: boolean = false;\r\n\r\n}\r\n\r\nexport class ActionContact {\r\n ClientID: string | null = null;\r\n CountryID: number | null = 0;\r\n SalutationID: number | null = 0;\r\n SalutationTxt: string = \"\";\r\n StatusID: number | null = 0;\r\n MaritalStatusID: number | null = 0;\r\n MilitaryStatusID: number | null = null;\r\n Email: string = \"\";\r\n FirstName: string = \"\";\r\n LastName: string = \"\";\r\n DOB: string | null = null;\r\n Phone: string = \"\";\r\n MobilePhoneNumber: string = \"\";\r\n City: string = \"\";\r\n ResidentialAddress: string = \"\";\r\n ZipCode: string = \"\";\r\n ProfileImage: string = \"\";\r\n ContactOwner: string | null = \"\";\r\n FaxNumber: string = \"\";\r\n Gender: string = \"\";\r\n School: string = \"\";\r\n Seniority: string = \"\";\r\n State: string = \"\";\r\n StreetAddress: string = \"\";\r\n Degree: string = \"\";\r\n FieldOfStudy: string = \"\";\r\n GraduationDate: string | null = null;\r\n JobTitle: string = \"\";\r\n JobFunction: string = \"\";\r\n Industry: string = \"\";\r\n WorkEmail: string = \"\";\r\n Skype: string = \"\";\r\n Wechat: string = \"\";\r\n AnnualRevenue: string = \"\";\r\n AssociatedDeals: string = \"\";\r\n ProductInterest: string = \"\";\r\n RequestType: string = \"\";\r\n MembershipNotes: string = \"\";\r\n Message: string = \"\";\r\n Notes: string = \"\";\r\n TwitterUsername: string = \"\";\r\n WebsiteURL: string = \"\";\r\n UnsubscribedFromAllEmail: boolean = false;\r\n IPCity: string = \"\";\r\n IPCountry: string = \"\";\r\n IPTime: string = \"\";\r\n ReferralID: string = \"\";\r\n Language: string = \"en\";\r\n ResetPassword: string = \"\";\r\n ActivationCode: string = \"\";\r\n //AssociatedClient: string = \"\";\r\n //CreationDateStr: string = \"\";\r\n IsActive: boolean = false;\r\n ContactID: string | null = null;\r\n}\r\n\r\nexport class ActionTraderClass {\r\n BUID: string = \"\";\r\n Amount: number = 0;\r\n ServerID: number = 0;\r\n ServerName: string = \"\";\r\n ServerType: string = \"\";\r\n ClientID: string = \"\";\r\n AccountID: number = 0;\r\n FullName: string = \"\";\r\n Email: string = \"\";\r\n Login: string = \"\";\r\n IsPrimary: boolean = false;\r\n IsEnabled: boolean = false;\r\n IsReadOnly: boolean = false;\r\n IsIB: boolean = false;\r\n AccCurrencyID: number = 0;\r\n AccCurrency: string = \"\";\r\n AccTypeID: number = 0;\r\n AccLeverageID: number = 0;\r\n CountryID: number = 0;\r\n IBCode: string = \"\";\r\n ReferralID: string = \"\";\r\n LRID: number = 0;\r\n IBRID: number = 0;\r\n MasterIB: number = 0;\r\n NewLogin: boolean = false;\r\n Balance: number = 0;\r\n Equity: number = 0;\r\n Credit: number = 0;\r\n Floating: number = 0;\r\n}\r\n\r\nexport class ActionRole {\r\n RoleID: number = 0;\r\n RoleName: string = \"\";\r\n LicPerms: LicPerms[] = [];\r\n}\r\n//#endregion\r\n// GetSlaveOpenPos: YoonitRequest\r\nexport interface OpenPositionRequest extends MAMMDataTable {\r\n Symbol: string;\r\n ProfileID: number;\r\n Ticket: number;\r\n}\r\nexport interface MAMMDataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n}\r\n// Function Name: GetTradingAccList\r\n// Param: YoonitRequest (req.objData = ClientID)\r\nexport interface GetTradingAccounts {\r\n AccountID: number;\r\n Digits: number;\r\n Account: string;\r\n Name: string;\r\n GroupName: string;\r\n Balance: number | null;\r\n Equity: number | null;\r\n Credit: number | null;\r\n Floating: number | null;\r\n}\r\n\r\nexport interface ContactLic {\r\n ContactID: string;\r\n FullName: string;\r\n Email: string;\r\n ContactOwner: string;\r\n AssociatedClient: string;\r\n LastActivity: string;\r\n UserAuthID: string;\r\n IsLicensed: boolean;\r\n StatusType: string;\r\n CreationDate: string;\r\n}\r\n//@point class with my account same so dont confuse\r\nexport class LoadEditAccInfoData {\r\n AccLeverage: Array = [];\r\n AccType: Array = [];\r\n Currency: Array = [];\r\n MyAccount: AccountsInfo = new AccountsInfo();\r\n}\r\nexport class AccLeverage2 {\r\n AccLeverageID: number = -1;\r\n AccLeverage: number = -1;\r\n AccTypeID: number = -1;\r\n}\r\nexport class LoadEditAccInfoDataAccType2 {\r\n AccTypeID: number = -1;\r\n AccType: string = \"\";\r\n}\r\nexport class Currency2 {\r\n AccCurrencyID: number = -1;\r\n AccCurrency: string = \"\";\r\n AccCurrencyPerm: boolean = false;\r\n AccTypeID: number = -1;\r\n}\r\nexport interface LinkAccToClientReq {\r\n ClientID: string;\r\n AccountID: number;\r\n AccTypeID: number;\r\n}\r\nexport interface GetNotesTableResult {\r\n NoteID: number | null;\r\n NoteSubject: string;\r\n NoteText: string;\r\n CreatedBy: string;\r\n CreationDate: Date | string | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n// Function Name: GetCopyMMs\r\n// Param: YoonitRequest\r\nexport interface GetCopyMMResult {\r\n AccountID: number;\r\n ClientID: string;\r\n AUID: string;\r\n}\r\n\r\n// Return:\r\nexport class GetCopyMMsResult {\r\n Name: string = \"\";\r\n ClientID: string = \"\";\r\n AccountID: number = 0;\r\n ProfileID: number = 0;\r\n Login: string = \"\";\r\n Currency: string = \"\";\r\n ARuleName: string = \"\";\r\n ServerName: string = \"\";\r\n ServerType: string | null = \"\";\r\n}\r\nexport interface AccTransactionReq {\r\n Status: number;\r\n AccountID: number;\r\n ReqType: string;\r\n ToAccID: number;\r\n Login: string;\r\n Platform: string;\r\n PaymentMethod: string;\r\n CurrencyID: number;\r\n Amount: number;\r\n OrderID: string;\r\n Currency: string;\r\n PaymentName: string;\r\n Comment: string;\r\n Note: string;\r\n IsBankWire: number;\r\n BankName: string;\r\n BID: number;\r\n BankAddress: string;\r\n AccountNumber: string;\r\n BeneficiaryAddress: string;\r\n BeneficiaryName: string;\r\n IBAN: string;\r\n Swift: string;\r\n IntermediaryBank: string;\r\n CorrespondentBank: string;\r\n ttCopy: string;\r\n BAID: number;\r\n ReqStatus: number;\r\n Email: string;\r\n ID: string;\r\n ClientID: string;\r\n}\r\n// Function Name: GetAllContactList\r\n// Param: YoonitRequest req (req.AUID = redux.AUID)\r\n// Return:\r\nexport interface AllContact {\r\n ContactID: string;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n ClientID: string;\r\n}\r\n\r\nexport class GetDWInfoClass {\r\n Name: string = \"\";\r\n Balance: number = 0;\r\n FreeMargin: number = 0;\r\n Credit: number = 0;\r\n CurrencyID: number = 0;\r\n PMID: number = 0;\r\n PaymentName: string = \"\";\r\n IsDeposit: boolean = false;\r\n}\r\n\r\nexport class Account {\r\n Login: string = \"\";\r\n Type: string = \"\";\r\n ServerName: string = \"\";\r\n ServerID: string = \"\";\r\n Name: string = \"\";\r\n Email: string = \"\";\r\n Phone: string = \"\";\r\n Address: string = \"\";\r\n Country: string = \"\";\r\n City: string = \"\";\r\n State: string = \"\";\r\n Zip: string = \"\";\r\n LeadDate: Date | string | null = \"\";\r\n CreationDate: Date | string | null = \"\";\r\n Equity: number | null = 0;\r\n EquityUSD: number | null = 0;\r\n Currency: string = \"\";\r\n GroupName: string = \"\";\r\n IBCode: string = \"\";\r\n IDNumber: string = \"\";\r\n LeadSource: string = \"\";\r\n MetaQuotesID: string = \"\";\r\n Status: string = \"\";\r\n AgentAccount: string = \"\";\r\n Margin: number | null = 0;\r\n MarginLevel: number | null = 0;\r\n FreeMargin: number | null = 0;\r\n Credit: number | null = 0;\r\n Balance: number | null = 0;\r\n UnrealizedPL: number | null = 0;\r\n Leverage: number | null = 0;\r\n AccType: string = \"\";\r\n MasterFloatingPnl: number | null = null;//keep it null:as in null we hide iy\r\n Digits: number = 0;\r\n}\r\nexport interface ExportTradingAccountsTable {\r\n Account: string;\r\n Name: string;\r\n GroupName: string;\r\n Balance: number | null;\r\n Equity: number | null;\r\n Credit: number | null;\r\n Floating: number | null;\r\n}\r\nexport interface TradingAccountsList {\r\n AccountID: number;\r\n Login: string;\r\n Email: string;\r\n}\r\nexport interface PermissionsLicClass {\r\n CompanyID: string;\r\n IsAdmin: boolean;// set true if you want to create admin user else false\r\n}\r\nexport interface GetUserMainPageRolesPermsList {\r\n PermsLicListResult: PermsLicList[];\r\n RolesListResult: UserRolesList[];\r\n AccTypeListResult: AccTypes[];\r\n PoolListResult: GetPoolsResult[];\r\n TeamListResult: GetEditTeamResult[];\r\n}\r\nexport interface GetClientList {\r\n ClientID: string;\r\n ClientRangeID: string;\r\n ClientName: string;\r\n}\r\nexport interface GetUsersTableResult {\r\n ContactID: string;\r\n FullName: string;\r\n Email: string;\r\n Lic: string;\r\n IsAdmin: boolean;\r\n IsActive: boolean;\r\n IsBlocked: boolean;\r\n CreationDate: Date | string | null;\r\n CreationDateStr: string;\r\n ClientID: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface CreateActiveUser {\r\n ContactID: string;\r\n ClientID: string;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n Password: string;\r\n IsAdmin: boolean;\r\n TradinAccPerm: string;\r\n //PoolPerm: string;\r\n //AccTypePerm: string;\r\n CompanyID: string;\r\n RoleID: number;\r\n TeamID: string;// new field\r\n Perms: UserPermsLic[];// new list\r\n}\r\nexport interface UpdateUserPassClass {\r\n ContactID: string;\r\n Email: string;\r\n Password: string;\r\n SendByEmail: boolean;\r\n SendToEmail: string;\r\n IsAdmin: boolean;\r\n}\r\nexport interface UsersPermissionsLicClass {\r\n CompanyID?: string;\r\n IsAdmin: boolean;\r\n ContactID: string;\r\n}\r\nexport class GetUserDetails {\r\n RoleID: number | null = null;\r\n FirstName: string = \"\";\r\n LastName: string = \"\";\r\n Email: string = \"\";\r\n Phone: string = \"\";\r\n TradinAccPerm: number[] = [];\r\n //PoolPerm: number[] = [];\r\n //AccTypePerm: number[] = [];\r\n}\r\nexport class UpdateCreateActiveUser {\r\n ContactID: string = \"\";\r\n // FirstName: string;//not used\r\n // LastName: string;//not used\r\n // Email: string;//not used\r\n // Password: string;//not used\r\n IsAdmin: boolean = false;\r\n TradinAccPerm: string = \"\";\r\n PoolPerm: string = \"\";\r\n AccTypePerm: string = \"\";\r\n CompanyID: string = \"\";\r\n RoleID: number = 0;\r\n}\r\nexport interface DeleteUserClass {\r\n ContactID: string;\r\n IsAdmin: boolean;\r\n}\r\nexport interface RoleTableResult extends TraderDataTable {\r\n CompanyID: string;\r\n}\r\nexport interface TraderDataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n}\r\nexport interface GetRolesTableResult {\r\n RoleID: number;\r\n RoleName: string;\r\n RoleDescription: string;\r\n CreationDate: Date | string | null;\r\n CreationDateStr: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n\r\nexport class RoleData {\r\n RoleID: number | null = 0;// set 0 if you want to create new role else RoleID\r\n CompanyID: string | null = \"\";\r\n RoleName: string = \"\";\r\n Permissions: PermsLic[] = [];\r\n RoleIsAdmin: boolean | null = false;\r\n}\r\nexport class PermsLic {\r\n LicID: number | null = 0;\r\n PermID: number | null = 0;\r\n}\r\nexport class ActionPermsLic {\r\n LicID: number | null = 0;\r\n PermID: number | null = 0;\r\n PermValID: number | null = 0;//checked or not\r\n}\r\nexport interface GetGroupRegistryTable {\r\n GRID: number | null;\r\n GroupRegName: string;\r\n Type: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface GetGroupRegistryListByAccTypeID {\r\n IBCodeList: string[];\r\n PoolList: GetPoolsResult[];\r\n CurrencyList: GetAccCurrencyResult[];\r\n}\r\nexport interface GetPoolsResult {\r\n PoolID: number;\r\n PoolName: string;\r\n IsDefault: boolean | null;\r\n RequireUserActivation: boolean | null;\r\n IsChecked: boolean;\r\n}\r\nexport interface GetAccCurrencyResult {\r\n AccCurrencyID: number;\r\n AccCurrency: string;\r\n AccCurrencyPerm: boolean | null;\r\n}\r\nexport interface GroupRegistry {\r\n AccTypeID: number;\r\n KTID: number | null;\r\n GRID: number;\r\n GroupRegistryName: string;\r\n Type: string;\r\n Source: string;\r\n GroupCurrencyList: GroupCurrency[];\r\n}\r\nexport interface GroupCurrency {\r\n CurrencyID: number;\r\n GroupName: string;\r\n}\r\nexport interface GetGroupRegistryResult {\r\n KTID: number;\r\n GroupRegName: string;\r\n Type: string;\r\n Source: string;\r\n PoolID: number;\r\n GroupyByCurrency: GetGroupyByCurrency[];\r\n}\r\n\r\nexport interface GetGroupyByCurrency {\r\n CurrencyID: number;\r\n Currency: string;\r\n GroupName: string;\r\n}\r\n\r\n//Return:\r\nexport interface LoadRegistrationLogsTableResult {\r\n RLID: number;\r\n Email: string;\r\n FullName: string;\r\n CountryName: string;\r\n Phone: string;\r\n CreationDate: Date | string | null;\r\n CreationDateStr: string;\r\n ReferralCode: string;\r\n KTID: number | null;\r\n DOB: Date | string | null;\r\n DayDOB: number | null;\r\n MonthDOB: number | null;\r\n YearDOB: number | null;\r\n Salutation: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport class RegistrationLogClass {\r\n FirstName: string = '';\r\n LastName: string = '';\r\n Email: string = '';\r\n PoolName: string = '';\r\n CountryName: string = '';\r\n Phone: string = '';\r\n ReferralCode: string = '';\r\n RegistrationDate: Date | string = '';\r\n}\r\n//Note: please remove email from the design of the table\r\n\r\n//Function Name:\r\n//LoadDocumentsExpirationTable\r\n\r\n//Param: YoonitRequest(req.AUID = redux.AUID)\r\nexport interface DataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n}\r\n\r\n//Return:\r\nexport interface GetDocumentsExpirationTableResult {\r\n ClientID: number | null;\r\n FullName: string;\r\n IDType: string;\r\n DocExpiryDate: Date | string | null;\r\n DocExpiryDateStr: string;\r\n IDType2: string;\r\n DocExpiryDate2: Date | string | null;\r\n DocExpiryDate2Str: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface AddLead {\r\n FirstName: string;\r\n LastName: string;\r\n DOB: Date | string | null;\r\n JobTitle: string;\r\n Phone: string;\r\n SecondPhone: string;\r\n CountryID: number | null;\r\n City: string;\r\n ResidentialAddress: string;\r\n ZipCode: string;\r\n LeadNote: string;\r\n Email: string;\r\n LeadOwner: string; //redux.ContactID\r\n}\r\n//Function Name: GetCountriestList\r\n\r\n//Param: YoonitRequest < GetCountriesListResult >\r\nexport interface GetCountriesListResult {\r\n PoolID: number;\r\n SearchKey: string;\r\n}\r\n\r\n//Return:\r\nexport interface GetCountriesResult {\r\n CountryID: number;\r\n CountryCode: string;\r\n CountryName: string;\r\n CountryFlag: string;\r\n CountryNameCN: string;\r\n CountryPerm: boolean;//if type | null so if null put false\r\n}\r\n//Function Name: UpdateCountriesList\r\n//Param: YoonitRequest < UpdateCountriesListResult >\r\nexport interface UpdateCountriesListResult {\r\n PoolID: number;\r\n CountryIDs: string; // send the country IDs of the checked countries separated by comma\r\n}\r\n\r\n//Return:\r\n//new YoonitResponse < int > { IntRes = ret }\r\n//If IntRes > 0 -> Updated successfully\r\n//Else Action Failed or Error Contacting Server\r\nexport interface TraderRequests {\r\n Amount: number;\r\n BUID: number;\r\n AccountID: number;\r\n ReqID: number;\r\n ReqIDs: string;\r\n Status: number;\r\n ReqType: string;\r\n Password: string;\r\n InvestorPassword: string;\r\n Note: string;\r\n IsModified: boolean;\r\n Trader: TraderClass;\r\n OrderID: string;\r\n}\r\nexport interface KYCDocumentsRequest {\r\n ClientID: string;\r\n FrontIDBinary: string;\r\n FrontIDName: string;\r\n BackIDBinary: string;\r\n BackIDName: string;\r\n FrontIDBinary2: string;\r\n FrontIDName2: string;\r\n BackIDBinary2: string;\r\n BackIDName2: string;\r\n ProofAddrBinary: string;\r\n ProofAddrName: string;\r\n SelfieBinary: string;\r\n SelfieName: string;\r\n InfrontBankBinary: string;\r\n InfrontBankName: string;\r\n BackBankBinary: string;\r\n BackBankName: string;\r\n ESignatureName: string;\r\n ESignatureBinary: string;\r\n SpecialDocName: string;\r\n SpecialDocBinary: string;\r\n}\r\n//Function Name: GetApplicationTypeList\r\n\r\n//Param: YoonitRequest(req.objData = PoolID)\r\n\r\n//Return:\r\nexport interface GetApplicationTypeResultList {\r\n KTID: number;\r\n TypeName: string;\r\n RequireKYC: boolean;\r\n IsEnabledType: boolean;\r\n PoolID: number;\r\n KTCreationDate: Date | string | null;\r\n}\r\n//#region application settings\r\n//Function Name: GetApplicationSettings\r\n\r\n//Param: YoonitRequest(req.objData = KTID)\r\n\r\n//Return: YoonitResponse < KYCPermissions > { LiveRes = KycRes }\r\n\r\nexport interface KYCPermissions {\r\n permissionslist: GetKYCPermissionsResult;\r\n declarationslist: GetDeclarationsResult[];\r\n dropDownlist: GetDynamicDropDownResult[];\r\n scoringpoints: GetScoringPointsResult[];\r\n}\r\nexport interface GetDynamicDropDownResult {\r\n DDID: number;\r\n SelectName: string;\r\n OID: number;\r\n DDID1: number;\r\n OptionName: string;\r\n OptionVal: string;\r\n}\r\n//#endregion\r\n//Function Name: GetApplicationDeclarations\r\n//Param: YoonitRequest < int > req\r\n//Return:\r\nexport interface GetDeclarationsResultApplicationSettings {\r\n DID: number;\r\n DeclarationText: string;\r\n WithRadioBtn: boolean | null;\r\n}\r\n//Function Name: GetApplicationDDOptions\r\n//Param: YoonitRequest < string > req(req.objData = dropdownName)\r\n\r\nexport class GetDDOptions {\r\n DDID: number = 0;\r\n Value: string = \"\";\r\n OID: number = 0;\r\n}\r\n\r\n//Function Name: UpdateDDOptions\r\n\r\n//Param: YoonitRequest(req.Data = List)\r\nexport class DDOption {\r\n DDID: number = 0;\r\n OID: number = 0;\r\n OptionValue: string = \"\";\r\n}\r\n\r\n//Return:\r\n//intRes > 0 deleted successfully\r\n//else action failed\r\n\r\n//Function Name: UpdateDeclaration\r\n\r\n//Param: YoonitRequest(req.Data = List)\r\nexport class Declaration {\r\n ID: number = 0;\r\n Value: string = \"\";\r\n IsQsnt: boolean = false;\r\n}\r\n//Function Name: GetFieldScore\r\n//Param: YoonitRequest < string > req(req.objData = )\r\nexport interface GetScoringFieldsResult {\r\n SID: number;\r\n FieldID: string;\r\n Value: string;\r\n Score: number | null;\r\n FieldIndex: string;\r\n}\r\n//Function Name: UpdateScoringFields\r\n//Param: YoonitRequest < KYCScoringFields > req\r\nexport interface KYCScoringFields {\r\n FieldID: string;\r\n ScoringFields: KYCScoring[];\r\n}\r\nexport interface KYCScoring {\r\n Value: string;\r\n Score: number;\r\n FieldIndex: string;\r\n}\r\nexport class FieldIDClass {\r\n averageLeverageLevel: string = \"averageLeverageLevel\";\r\n averageYearlyVolume: string = \"averageYearlyVolume\";\r\n CFDsKnowledgeLevel: string = \"CFDsKnowledgeLevel\";\r\n CFDsTrades: string = \"CFDsTrades\";\r\n CommoditiesKnowledgeLevel: string = \"CommoditiesKnowledgeLevel\";\r\n CommoditiesTrades: string = \"CommoditiesTrades\";\r\n currentLevel: string = \"currentLevel\";\r\n derivativesFutures: string = \"derivativesFutures\";\r\n education: string = \"education\";\r\n eduqualification: string = \"eduqualification\";\r\n empstat: string = \"empstat\";\r\n EstimatedAnnualIncome: string = \"EstimatedAnnualIncome\";\r\n EstimatedLiquidNetWorth: string = \"EstimatedLiquidNetWorth\";\r\n familiarOTCderivatives: string = \"familiarOTCderivatives\";\r\n foreignExchTrades: string = \"foreignExchTrades\";\r\n foreignKnowledgeLevel: string = \"foreignKnowledgeLevel\";\r\n FuturesMarket: string = \"FuturesMarket\";\r\n GovernmentKnowledgeLevel: string = \"GovernmentKnowledgeLevel\";\r\n GovernmentTrades: string = \"GovernmentTrades\";\r\n HowTradedPreviously: string = \"HowTradedPreviously\";\r\n industryEmp: string = \"industryEmp\";\r\n industryRetired: string = \"industryRetired\";\r\n industryStudent: string = \"industryStudent\";\r\n initialMarginReq: string = \"initialMarginReq\";\r\n instrumentsFamiliar: string = \"instrumentsFamiliar\";\r\n instrumentsWithMargin: string = \"instrumentsWithMargin\";\r\n LevelOfEducation: string = \"LevelOfEducation\";\r\n MarginConcepts: string = \"MarginConcepts\";\r\n MarginRequired: string = \"MarginRequired\";\r\n marketMovingAgainstU: string = \"marketMovingAgainstU\";\r\n MaximumLeverageUsed: string = \"MaximumLeverageUsed\";\r\n mnthlyavgvol: string = \"mnthlyavgvol\";\r\n monthlyTrades: string = \"monthlyTrades\";\r\n MutualfundsKnowledgeLevel: string = \"MutualfundsKnowledgeLevel\";\r\n MutualfundsTrades: string = \"MutualfundsTrades\";\r\n OptionsKnowledgeLevel: string = \"OptionsKnowledgeLevel\";\r\n OptionsTrades: string = \"OptionsTrades\";\r\n OtherInvesKnowledgeLevel: string = \"OtherInvesKnowledgeLevel\";\r\n OtherInvesTrades: string = \"OtherInvesTrades\";\r\n PlannedInitialInvestment: string = \"PlannedInitialInvestment\";\r\n ProfessionRelateFinancialIndustryQsn: string = \"ProfessionRelateFinancialIndustryQsn\";\r\n PurposeOpening: string = \"PurposeOpening\";\r\n purposetrading: string = \"purposetrading\";\r\n QualThatAssistUnderstanding: string = \"QualThatAssistUnderstanding\";\r\n riskiestinv: string = \"riskiestinv\";\r\n RiskOfLoss: string = \"RiskOfLoss\";\r\n SharesKnowledgeLevel: string = \"SharesKnowledgeLevel\";\r\n SharesTrades: string = \"SharesTrades\";\r\n stoploss: string = \"stoploss\";\r\n StopOutBeTriggered: string = \"StopOutBeTriggered\";\r\n timeframePosition: string = \"timeframePosition\";\r\n tradedForex: string = \"tradedForex\";\r\n tradedFunds: string = \"tradedFunds\";\r\n tradingWithHigherLeverage: string = \"tradingWithHigherLeverage\";\r\n TrueAboutFuturesQns: string = \"TrueAboutFuturesQns\";\r\n UnderstandingOfRisks: string = \"UnderstandingOfRisks\";\r\n understandOTCderivatives: string = \"understandOTCderivatives\";\r\n UsedLeveragedProductsQsn: string = \"UsedLeveragedProductsQsn\";\r\n volatilityConcepts: string = \"volatilityConcepts\";\r\n WhySpreadFloatingQns: string = \"WhySpreadFloatingQns\";\r\n //new\r\n IFCurrencies: string = \"IFCurrencies\";\r\n IFCommodities: string = \"IFCommodities\";\r\n IFIndices: string = \"IFIndices\";\r\n IFStocks: string = \"IFStocks\";\r\n IFCryptoCurrency: string = \"IFCryptoCurrency\";\r\n}\r\nexport interface ContactToClient {\r\n ContactID: string;\r\n CRID: number;\r\n ClientRangeID: number;\r\n PoolID: number;\r\n KTID: number | null;\r\n}\r\nexport interface LeadToContact {\r\n LeadID: string;\r\n Email: string;\r\n}\r\nexport interface AccTypesRequest {\r\n CompanyID: string;\r\n isDemo: boolean;\r\n ServerID: number;\r\n}\r\n//#region Bonus\r\nexport class DataTableBasicResult {\r\n rowTot: number = 0;\r\n rowFilter: number = 0;\r\n}\r\nexport class LoadBonusMainTableTableResult extends DataTableBasicResult {\r\n PID: number = 0;\r\n Title: string = '';\r\n StartingDate: string = '';\r\n EndingDate: string = '';\r\n Status: boolean = false;\r\n}\r\n//#endregion\r\n//Function Name: GetTeamsTable\r\n\r\n//Param: YoonitRequest < TraderDataTable >\r\nexport interface TraderDataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n}\r\n\r\n//Return:\r\nexport interface GetTeamsTableResult {\r\n TeamID: string | null;\r\n TeamName: string;\r\n TeamDescription: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n\r\n//Function Name: GetAdminUsersList\r\n\r\n//Param: YoonitRequest < string >\r\n\r\n// Return:\r\nexport interface GetUsersResult {\r\n ContactID: string;\r\n Email: string;\r\n FullName: string;\r\n}\r\n\r\n\r\n//Function Name: UpdateTeam\r\n\r\n//Param: YoonitRequest < Teams >\r\nexport interface Team {\r\n TeamID: string;\r\n TeamName: string;\r\n TeamDescription: string;\r\n UserList: string;\r\n}\r\n\r\n//Return:\r\n//YoonitResponse < int > { IntRes = ret }\r\n//IntRes = -2 -> Team name already exists!\r\n//IntRes > 0 -> Updated successfully\r\n//IntRes < 0 -> Error contacting server | action failed\r\n\r\n//Function Name: DeleteTeam\r\n\r\n//Param: YoonitRequest(req.objData = TeamID)\r\n\r\n//Return:\r\n//YoonitResponse < int > { IntRes = ret }\r\n//IntRes = -2 -> you can’t delete the selected Team because it is linked to one or more user\r\n//IntRes > 0 -> deleted successfully\r\n//IntRes < 0 -> Error contacting server | action failed\r\n\r\n\r\n//#region Bonus \r\nexport class AddNewPromotionParams {\r\n IsEnabled: boolean = false;\r\n Title: string = \"\";\r\n Priority: number = 0;\r\n CurrencyID: number = 0;\r\n StartingDate: Date | string = '';\r\n EndingDate: Date | string = '';\r\n RemovalDate: Date | string = '';\r\n RTID: number = 0;\r\n RemovalDays: number | null = 0;\r\n PoolIDs: string = '';\r\n CountryIDs: string = \"\";\r\n ReferralID: string = \"\";\r\n IsCashBonusEnabled: boolean = false;\r\n Minimumdeposit: number = 0;\r\n LosableBonus: number = 0;\r\n DepositRange: number = 0;\r\n WelcomeParallel: boolean = false;//Deny Concurrent Bonus\r\n //main\r\n IsWelcomeBonusEnabled: boolean = false;\r\n WelcomeBonusTypeID: number = 0;\r\n WelcomeAmount: number = 0;\r\n WelcomeMax: number = 0;\r\n WelcomeHours: number = 0;\r\n //second\r\n IsWelcomeBonusEnabledSecond: boolean = false;\r\n WelcomeBonusTypeIDSecond: number = 0;\r\n WelcomeAmountSecond: number = 0;\r\n WelcomeMaxSecond: number = 0;\r\n //Loyalty\r\n IsLoyaltyBonusEnabled: boolean = false;\r\n LoyaltyBonusTypeID: number = 0;\r\n LoyaltyCumulative: boolean = false;\r\n LoyaltyAmount: number = 0;\r\n LoyaltyMax: number = 0;\r\n //Next\r\n IsNextBonusEnabled: boolean = false;\r\n NextBonusTypeID: number = 0;\r\n NextAmount: number = 0;\r\n NextMax: number = 0;\r\n NextStartingDate: Date | string = '';\r\n NextEndingDate: Date | string = '';\r\n IsCashPromotionDate: boolean = false;\r\n CashAccounts: string = \"\";\r\n CashBalanceLots: number = 0; //CashAmount\r\n CashScalping: number = 0;\r\n Comment: string = '';\r\n isAnd: boolean = false;\r\n ///for cash as to use same class\r\n DepositAmount: number = 0;\r\n BonusAmount: number = 0;\r\n AllowedPercentage: number = 0;\r\n BonusHours: number = 0;\r\n CashDays: number = 0;\r\n BonustoBalanceLots: number = 0;//CashLots\r\n ScalpingTrades: number = 0;\r\n CashCurrencyID: number = 0;\r\n isCommentType: boolean = false;\r\n isStopOut: boolean = false;\r\n CashBonuses: CashBonuses[] = [];\r\n RegistrationDate: Date | string = '';\r\n constructor($Priority?: number) {\r\n this.Priority = $Priority ? $Priority : 0;\r\n }\r\n\r\n}\r\nexport interface CashPromotion {\r\n CashEnabled: boolean;\r\n Title: string;\r\n StartingDate: string;\r\n EndingDate: string;\r\n MinimumDeposit: number;//must check as not in desgin\r\n //DepositAmount: number;\r\n BonusAmount: number;\r\n AllowedPerc: number;\r\n BonusHours: number;\r\n CashDays: number;\r\n CashLots: number;//CashLots\r\n ScalpingTrades: number;\r\n CashCurrencyID: number;\r\n CashScalping: number;\r\n BonusComment: string;\r\n CashBonuses: CashBonuses[];\r\n}\r\nexport class UpdateMarginCashPromotionParams {\r\n //common\r\n PID: number = 0;\r\n IsEnabled: boolean = false;\r\n Title: string = \"\";\r\n StartingDate: Date | string = new Date().toISOString();\r\n EndingDate: Date | string = new Date().toISOString();\r\n Minimumdeposit: number = 0;\r\n //IsParallel: boolean = false;\r\n Comment: string = \"\";\r\n BonustoBalanceLots: number = 0;//CashLots\r\n //margin\r\n PGID: number = 0;\r\n Priority: number = 0;\r\n RemovalDate: Date | string | null = new Date().toISOString();\r\n RTID: number = 0;\r\n RemovalDays: number = 0;\r\n LosableBonus: number = 0;\r\n DepositRange: number = 0;\r\n IsWelcomeBonusEnabled: boolean = false;\r\n WelcomeParallel: boolean = false;\r\n WelcomeBonusTypeID: number = 0;\r\n WelcomeAmount: number = 0;\r\n WelcomeMax: number = 0;\r\n WelcomeHours: number = 0;\r\n IsWelcomeBonusEnabledSecond: boolean = false;\r\n WelcomeBonusTypeIDSecond: number = 0;\r\n WelcomeAmountSecond: number = 0;\r\n WelcomeMaxSecond: number = 0;\r\n IsLoyaltyBonusEnabled: boolean = false;\r\n LoyaltyBonusTypeID: number = 0;\r\n LoyaltyCumulative: boolean = false;\r\n LoyaltyAmount: number = 0;\r\n LoyaltyMax: number = 0;\r\n IsNextBonusEnabled: boolean = false;\r\n isStopOut: boolean = false;\r\n NextBonusTypeID: number = 0;\r\n NextAmount: number = 0;\r\n NextMax: number = 0;\r\n NextStartingDate: Date | string = new Date().toISOString();\r\n NextEndingDate: Date | string = new Date().toISOString();\r\n IsCashPromotionDate: boolean = false;\r\n CashAccounts: string = \"\";\r\n CashBalanceLots: number = 0; //CashAmount\r\n ReferralID: string = \"\";\r\n CountryIDs: string = \"\";\r\n Groups: string = \"\";\r\n isCommentType: boolean = false;\r\n PoolIDs: string = '';\r\n OHTypeID: number = 0;\r\n isAnd: boolean = false;\r\n CashCurrencyID: number = 0;\r\n RegistrationDate: Date | string = new Date().toISOString();\r\n}\r\nexport class UpdateCashPromotionParams {//CashPromotion class\r\n //common\r\n PID: number = 0;\r\n CashEnabled: boolean = false;\r\n isMargin: boolean = false;\r\n Title: string = '';\r\n StartingDate: Date | string = new Date().toISOString();\r\n EndingDate: Date | string = new Date().toISOString();\r\n CashAmount: number = 0;\r\n CashLots: number = 0;\r\n ScalpingTrades: number = 0;\r\n CashCurrencyID: number = 0;\r\n CashScalping: number = 0;\r\n BonusComment: string = '';\r\n CashBonuses: CashBonuses[] = [];\r\n}\r\n\r\nexport interface DataTableBasicResult {\r\n rowTot: number;\r\n rowFilter: number;\r\n}\r\n\r\nexport interface LoadBonusMainTableTableResult extends DataTableBasicResult {\r\n PID: number;\r\n Title: string;\r\n StartingDate: string;\r\n EndingDate: string;\r\n Status: boolean;\r\n CashEnabled: boolean;\r\n Type: string;\r\n}\r\n\r\nexport interface LoadBonusClientsTableTableResult extends DataTableBasicResult {\r\n CreationDate: string;\r\n Email: string;\r\n Login: string;\r\n ServerType: string;\r\n ServerName: string;\r\n Name: string;\r\n GroupName: string;\r\n CountryName: string;\r\n Account: string;\r\n ExternalID: string;\r\n ClientID: string;\r\n BonusComment: string;\r\n ServerID: number;\r\n AccountID: number;\r\n IsWelcomeBonusEnabledSecond: boolean;\r\n IsWelcomeBonusEnabled: boolean;\r\n IsLoyaltyBonusEnabled: boolean;\r\n IsNextBonusEnabled: boolean;\r\n}\r\n\r\nexport interface LoadBonusClientsTableParams extends TraderDataTable {\r\n PID: number;\r\n\r\n\r\n}\r\nexport class GetBonusDetailsInfoResult {\r\n IsEnabled: boolean = false;\r\n Title: string = \"\";\r\n CurrencyID: number = 0;\r\n OHTypeID: number = 0;\r\n Priority: number = 0;\r\n StartingDate: Date | string = new Date().toISOString();\r\n EndingDate: Date | string = new Date().toISOString();\r\n RTID: number = 0;\r\n RemovalDays: number | null = 0;\r\n ReferralID: string = \"\";\r\n Minimumdeposit: number = 0;\r\n LosableBonus: number = 0;\r\n DepositRange: number = 0;\r\n IsWelcomeBonusEnabled: boolean = false;\r\n WelcomeParallel: boolean = false;\r\n WelcomeBonusTypeID: number = 0;\r\n WelcomeAmount: number = 0;\r\n WelcomeMax: number = 0;\r\n WelcomeHours: number = 0;\r\n IsWelcomeBonusEnabledSecond: boolean = false;\r\n WelcomeBonusTypeIDSecond: number = 0;\r\n WelcomeAmountSecond: number = 0;\r\n WelcomeMaxSecond: number = 0;\r\n IsLoyaltyBonusEnabled: boolean = false;\r\n LoyaltyBonusTypeID: number = 0;\r\n LoyaltyCumulative: boolean = false;\r\n LoyaltyAmount: number = 0;\r\n LoyaltyMax: number = 0;\r\n IsNextBonusEnabled: boolean = false;\r\n NextBonusTypeID: number = 0;\r\n NextAmount: number = 0;\r\n NextMax: number = 0;\r\n NextStartingDate: Date | string = \"\";\r\n NextEndingDate: Date | string = \"\";\r\n IsCashPromotionDate: boolean = false;\r\n CashAccounts: string = \"\";\r\n CountryIDs: string = \"\";\r\n Groups: string = \"\";\r\n isCommentType: boolean = false;\r\n Comment: string = \"\";\r\n ExcludedAccountTypes?: string = \"\";\r\n}\r\n\r\nexport interface GetAddPromotionDDsResult {\r\n PromotionTypes: BasicSelectType[];\r\n Countries: BasicSelectType[];\r\n Pools: BasicSelectType[];\r\n\r\n}\r\n\r\nexport interface BasicSelectType {\r\n Value: number;\r\n Label: string;\r\n}\r\nexport interface AllocateClientParams {\r\n ClientID: string;\r\n PID: number;\r\n isDeleteClients?: boolean;\r\n isRemoveBonus?: boolean;\r\n}\r\nexport interface AllocateCashClientParams {\r\n AccountID: number;\r\n CPID: number;\r\n}\r\nexport class UploadCSVBonusParams {\r\n BinaryDocument: string = \"\";\r\n PID: number = 0;\r\n Currency: string = \"\";\r\n IsCheck: boolean = false;//new field\r\n}\r\nexport class AllocateTradingAccountParams {\r\n PID: number = 0;\r\n ServerID: number = 0;\r\n ServerType: string = \"\";\r\n ServerName: string = \"\";\r\n Accounts: string = \"\";\r\n ExternalID: string = \"\";\r\n ClientIDs: string = \"\";\r\n}\r\nexport interface GetUsersResult {\r\n ContactID: string;\r\n FullName: string;\r\n Email: string;\r\n}\r\n//#endregion\r\n//#region Roles\r\nexport interface GetRolesResult {\r\n RoleID: number;\r\n RoleName: string;\r\n RoleDescription: string;\r\n}\r\nexport class RoleDataNew {// old class can be removed\r\n RoleID: number | null = 0;\r\n CompanyID: string = \"\";\r\n RoleName: string = '';//not used in this request\r\n RoleDescription: string = '';//not used in this request\r\n Permissions: RolePermsLic[] | null = null;\r\n}\r\nexport interface RolePermsLic {\r\n LicID: number;\r\n LicName: string;\r\n PermID: number;\r\n ParentPermID: number;\r\n PermName: string;\r\n PermValID: number;\r\n PermOrder: number;// tested on edit\r\n LicOrder: number;\r\n}\r\n//public class PermsLic\r\n// {\r\n// public int? LicID { get; set; }\r\n// public int? PermID { get; set; }\r\n// public int? PermValID { get; set; }\r\n// }\r\n\r\nexport interface PermissionsLicClass {\r\n CompanyID: string;\r\n IsAdmin: boolean;\r\n ContactID: string;\r\n}\r\nexport interface GetUserRolesPermsList {\r\n TotalAdminUser: number;\r\n UsedAdminUser: number;\r\n TeamID: string;\r\n PermsLicListResult: PermsLicList[];\r\n RolesListResult: RolesList[];\r\n TeamListResult: GetEditTeamResult[];\r\n}\r\nexport class UserPermsData {\r\n ContactID: string = '';\r\n TeamID: string = '';// in case of admin user\r\n RoleID: number | null = null;// in case of admin user\r\n IsAdmin: boolean = false;\r\n Perms: UserPermsLic[] = [];// in case of client you need to send all permissions but for admin user you need to send only the non- inherits permissions\r\n}\r\nexport interface UserPermsLic {\r\n LicID: number | null;\r\n PermID: number | null;\r\n PermValID: number | null;//more then 2 options\r\n}\r\nexport class UserRolesList {\r\n RoleID: number = 0;\r\n RoleName: string = \"\";\r\n LicID: number = 0;\r\n LicName: string = \"\";\r\n PermID: number = 0;\r\n PermName: string = \"\";\r\n ParentPermID: number = 0;\r\n PermValID: number = 0;\r\n OverridePerm: number = 0;\r\n PermOrder: number = 0;//tested\r\n}\r\n//#endregion\r\nexport class IBCodeRangesInfo {\r\n IBRID: number = 0;\r\n IBRDescription: string = '';\r\n IBRStart: number = 0;\r\n IBREnd: number = 0;\r\n IBRCurrent: number = 0;// currenct ibcode needed\r\n PoolID: number = 0;\r\n}\r\nexport interface GetBonusPromotionTimeLineResult {\r\n PID: number;\r\n PromotionTitle: string;\r\n StartingDate: Date | string;\r\n EndingDate: Date | string;\r\n}\r\nexport interface TeamMember {\r\n TeamID: string;\r\n ContactID: string;\r\n}\r\nexport interface LoadPlatformLinksResult {\r\n PLID: number;\r\n PLDesc: string;\r\n PLLink: string;\r\n ServerID: number | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport class LoadCompanySMTPSettingsResult {\r\n SettingID: number = 0;\r\n Icon: string = \"\";\r\n CompanyName: string = \"\";\r\n CompanySite: string = \"\";\r\n CompanyAddress: string = \"\";\r\n IsCircular: boolean = false;\r\n LightLogo: string = \"\";\r\n DarkLogo: string = \"\";\r\n CompanyPhone: string = \"\";\r\n Logo: string = \"\";\r\n ClientWebsite: string = \"\";\r\n EnableSSL: boolean = false;\r\n Host: string = \"\";\r\n Port: number = 0;\r\n Email: string = \"\";\r\n Password: string = \"\";\r\n BOEmail: string = \"\";\r\n EmailUserName: string = \"\";\r\n EmailDisplayName: string = \"\";\r\n ETDefaultHTML: string = \"\";\r\n ETHeader: string = \"\";\r\n TradeComment: string = \"\";\r\n AccountComment: boolean = false;\r\n TransferComment: string = \"\";\r\n CompanyImage: string = \"\";\r\n}\r\nexport interface PaymentTable extends DataTable {\r\n IsDeposit: boolean | null;//if both checked then IsDeposit=null\r\n}\r\nexport class GetAllocatedClientsListResult {\r\n PID: number = 0;\r\n ClientRangeID: number = 0;\r\n ClientID: string = '';\r\n ClientName: string = '';\r\n}\r\n//#region payments \r\nexport interface PaymentTableResult {\r\n PMID: number;\r\n PaymentName: string;\r\n DisplayName: string;\r\n PMComment: string;\r\n PMIsActive: boolean;\r\n IsDeposit: boolean;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface PaymentType {\r\n PTID: number;\r\n PaymentName: string;\r\n IsDeposit: boolean;\r\n}\r\nexport interface PaymentList {\r\n IsDeposit: boolean | null;\r\n AllPayment: boolean | null;\r\n}\r\nexport interface GetPaymentInfo {\r\n PaymentDetails: GetPaymentMethodsResult;//used to fill the payment info tab\r\n PaymentCurrencyRate: GetPaymentCurrenciesResult[]; //used to fill the payment rate\r\n GetBankNameList: GetBankNameResult[]; //used in case the transaction type is deposit payment type is bankwire to fill the bank name dropdown\r\n}\r\nexport class GetPaymentMethodsResult {\r\n PMID: number = 0;\r\n PTID: number = 0;\r\n PMPayURL: string = '';\r\n PMClientID: string = '';\r\n PMClientSecret: string = '';\r\n PMEmail: string = '';\r\n PMSecretWord: string = '';\r\n PMMD5Code: string = '';\r\n PMCurrency: string = '';\r\n PMDescription: string = '';\r\n PMImageURL: string = '';\r\n PMFee: number = 0;\r\n PMFeeInfo: string = '';\r\n PMComment: string = '';\r\n PMIsActive: boolean = false;\r\n PMCreationDate: Date | string = '';\r\n PMFixedFee: number = 0;\r\n PMOrder: number = 0;\r\n MinimumAmount: number = 0;\r\n //IsAutoPaid: boolean = false;\r\n Instruction: string = '';\r\n FeeType: string = '';\r\n IsCoveredByCompany: boolean = false;\r\n HasTTCopy: boolean = false;\r\n}\r\nexport interface GetPaymentCurrenciesResult {\r\n CurrencyID: number;\r\n AccCurrency: string;\r\n DWRID: number;\r\n PMID: number;\r\n Rate: number;\r\n IsDefault: boolean;\r\n CreationDate: Date | string;\r\n}\r\nexport interface GetPaymentCurrenciesResultDisplay extends GetPaymentCurrenciesResult {\r\n IsEnabled: boolean;\r\n}\r\n\r\nexport class GetBankNameResult {\r\n BID: number = 0;\r\n BankName: string = '';\r\n PMID: number = 0;\r\n BankAddress: string = '';\r\n}\r\nexport interface GetBankWireDetailsResult {\r\n AccCurrencyID: number;\r\n AccCurrency: string;\r\n BWID: number | null;\r\n BID: number | null;\r\n CurrencyID: number | null;\r\n BeneficiaryName: string;\r\n Address: string;\r\n AccountNumber: string;\r\n Swift: string;\r\n IBAN: string;\r\n IsEnabled: boolean | null;\r\n IntermediaryBank: string;\r\n CorrespondentBank: string;\r\n}\r\n//#endregion\r\nexport interface CashBonusParams {\r\n CPCSymbols: string;\r\n CPCSecurities: string;\r\n CPCName: string;\r\n CPCRatio: number;\r\n}\r\nexport interface AddCashBonusParams extends CashBonusParams {\r\n CPID: number;\r\n}\r\nexport interface UpdateBonusParams extends CashBonusParams {\r\n CPCID: number;\r\n}\r\nexport class CashBonuses {\r\n CPID: number = 0;\r\n CPCID: number = 0;\r\n CPCName: string = \"\";\r\n CPCSymbols: string = \"\";\r\n CPCSecurities: string = \"\";\r\n CPCRatio: number = 0;\r\n}\r\nexport class OldCashGroup {\r\n PID: number = 0;\r\n CashID: number = 0;\r\n CashName: string = \"\";\r\n CashSymbols: string = \"\";\r\n CashSecurities: string = \"\";\r\n CashRatio: number = 0;\r\n}\r\n\r\nexport class GetCashBonunsDetails {\r\n GetBonusCashListResult: GetBonusCashListResult[] = [];\r\n GetCashPromotion: GetCashPromotionClass = new GetCashPromotionClass();\r\n}\r\nexport interface GetBonusCashListResult {\r\n CPCID: number;\r\n CPCSymbols: string;\r\n CPCName: string;\r\n CPCSecurities: string;\r\n CPCRatio: boolean;\r\n}\r\nexport class GetBonusSettingsDetailsResult {\r\n BonusSettingsDetails: BonusSettingsDetails = new BonusSettingsDetails();\r\n APIType: BasicSelectType[] = [];\r\n NegativeBalanceType: BasicSelectType[] = [];\r\n RemoveCreditType: BasicSelectType[] = [];\r\n StopOutType: BasicSelectType[] = [];\r\n OnHoldType: BasicSelectType[] = [];\r\n}\r\nexport class BonusSettingsDetails {\r\n SettingsID: number = 0;\r\n APITypeID: number = 0;\r\n SOTypeID: number = 0;\r\n NBTypeID: number = 0;\r\n RCTypeID: number = 0;\r\n IsEmail: number = 0;\r\n IsZipCode: number = 0;\r\n //IsMQID: number = 0;\r\n //IsIP: number = 0;\r\n TradeComment: string = '';\r\n WithdrawalComment: string = '';\r\n APIToken: string = '';\r\n ReqType: string = '';\r\n}\r\nexport interface PaymentMethodInfo {\r\n PaymentInfo: PaymentMethodDetails;// to be filled from Payment Info\r\n PaymentRate: DWRates[] | null;// to be filled from Payment Rate tab\r\n BankWireInfo: BankWireDetails | null;//used in case ofBankWire: Deposit; to be filled from Bank Info tab\r\n}\r\nexport interface PaymentMethodDetails {\r\n PTID: number;\r\n PMOrder: number;\r\n MinimumAmount: number;\r\n PMPayURL: string;\r\n PMClientID: string;\r\n PMClientSecret: string;\r\n PMEmail: string;\r\n PMSecretWord: string;\r\n PMMD5Code: string;\r\n PMCurrency: string;\r\n PMDescription: string;\r\n PMComment: string;\r\n PMIsActive: boolean;\r\n //IsAutoPaid: boolean;\r\n FeeType: string;\r\n PMFee: string;\r\n PMFixedFee: string;\r\n IsCoveredByCompany: boolean;\r\n HasTTCopy: boolean;\r\n Instruction: string;\r\n}\r\nexport interface DWRates {\r\n DWRID: number;\r\n PMID: number;\r\n CurrencyID: number;\r\n Rate: number;\r\n isDefault: boolean;\r\n}\r\nexport class BankWireDetails {\r\n BankName: string = '';\r\n BankAddress: string = '';\r\n PMID: number = 0;\r\n BID: number = 0;\r\n BankWireDetailsList: BankWireDetailsList[] = [];\r\n}\r\nexport interface BankWireDetailsList {\r\n BWID: number;\r\n CurrencyID: number;\r\n IsEnabled: boolean;\r\n BeneficiaryName: string;\r\n Address: string;\r\n AccountNumber: string;\r\n Swift: string;\r\n IBAN: string;\r\n IntermediaryBank: string;\r\n CorrespondentBank: string;\r\n}\r\nexport interface PermissionsValue {\r\n PermValID: number;\r\n PermValName: string;\r\n}\r\n\r\nexport class AccountsInfo {\r\n Login: string = '';\r\n IsReadOnly: boolean = false;\r\n Name: string = '';\r\n Email: string = '';\r\n Phone: string = '';\r\n MTStatus: string = '';\r\n IDNumber: string = '0';\r\n Country: string = '';\r\n City: string = '';\r\n State: string = '';\r\n Address: string = '';\r\n ZipCode: string = '';\r\n MetaQuotesID: string = '0';\r\n PhonePassword: string = '';\r\n TaxRate: string = '0';\r\n LeadSource: string = '';\r\n Comment: string = '';\r\n}\r\n\r\nexport interface AccInfoData {\r\n AccLeverage: AccLeverages[];\r\n AccType: AccTypes[];\r\n Currency: AccCurrencies[];\r\n MyAccount: AccountsInfo;\r\n}\r\n\r\nexport class RequestsDataSB {\r\n //AutoCopy\r\n CopierAccount: string = \"\";\r\n MasterAccount: string = \"\";\r\n ARule: string = \"\";\r\n IsReverse: boolean = false;\r\n\r\n //Deposit - Withdrawal\r\n PaymentMethod: string = \"\";\r\n PaymentName: string = \"\";\r\n Currency: string = \"\";\r\n BankName: string = \"\";\r\n BenifName: string = \"\";\r\n BenifAddress: string = \"\";\r\n BenifAccNumber: string = \"\";\r\n BankAddress: string = \"\";\r\n Swift: string = \"\";\r\n IBAN: string = \"\";\r\n ttCopy: string = \"\";\r\n ClientEmail: string = \"\";\r\n MerchantID: string = \"\";\r\n //missing from API\r\n Branch: string = \"\";\r\n CardHolderName: string = \"\";\r\n Province: string = \"\";\r\n //withdrawal banwires \r\n CardNumber: string = \"\";\r\n BankCurrency: string = \"\";\r\n BenifBankName: string = \"\";\r\n //account info\r\n OldAccType: string = \"\";//only can edit leverage in client /admin no \r\n AccType: string = \"\";\r\n AccLeverage: string = \"\";\r\n OldAccLeverage: string = \"\";\r\n IsReadOnly: boolean = false;\r\n Name: string = \"\";\r\n Email: string = \"\";\r\n Phone: string = \"\";\r\n MTStatus: string = \"\";\r\n IDNumber: string = \"\";\r\n Country: string = \"\";\r\n City: string = \"\";\r\n State: string = \"\";\r\n Address: string = \"\";\r\n ZipCode: string = \"\";\r\n MetaQuotesID: string = \"\";\r\n PhonePassword: string = \"\";\r\n TaxRate: string = \"\";\r\n LeadSource: string = \"\";\r\n Comment: string = \"\";\r\n //Transfer\r\n ToAcc: string = \"\";\r\n Platform: string = \"\"; //4 or 5, sent to method to find server acc to platform / used in new acc as well, check as none on null\r\n\r\n //New Account\r\n CreationReason: string = \"\";\r\n ReferralCode: string = \"\";\r\n AccLeverageID: number = 0;\r\n AccCurrencyID: number = 0;\r\n AccTypeID: number = 0;\r\n ClientID: string = \"\";\r\n FullName: string = \"\";\r\n ServerPlatform: string = \"\";\r\n AccCurrency: string = \"\";\r\n MIBTxt: string = \"\";\r\n\r\n\r\n //Admin Request\r\n AutomaticLogin: boolean = false;\r\n ServerID: number = 0;\r\n Login: string = \"\";\r\n LRID: number = 0;\r\n CountryID: number = 0;\r\n CountryName: string = \"\";\r\n NewLogin: boolean = false;\r\n //IB\r\n IsIB: boolean = false;\r\n IBRID: number = 0;\r\n MasterIB: number = 0;\r\n MasterServerID: number = 0;\r\n IBCode: string = \"\";\r\n Account: string = \"\";\r\n Amount: string = \"\";\r\n ConvertedAmount: string = \"\";\r\n Note: string = \"\";\r\n\r\n OrderID: string = \"\";\r\n Governorate: string = \"\";\r\n AccountType: string = \"\";\r\n}\r\nexport interface GetClientListBySearchKey {\r\n SearchKey: string;\r\n AUID: string;\r\n}\r\n\r\nexport interface LoadAppClientListResult {\r\n ClientRangeID: string;\r\n ClientID: string;\r\n text: string;\r\n rowFilter: number | null;\r\n}\r\nexport interface LoadMMClientAccountsParams {\r\n ClientID: string;\r\n AccTypeID: number;\r\n}\r\nexport interface LoadMMClientAccounts {\r\n AccountID: number;\r\n Login: string;\r\n}\r\nexport interface AccountValidation {\r\n IsDBExists: boolean;\r\n IsManagerExists: boolean;\r\n HasMMProfile: boolean;\r\n}\r\n\r\nexport interface AddMAMAccProfileRequest {\r\n //ActionIsClient: boolean;\r\n Trader: MAMTraderClass;\r\n Profile: ProfilesClass;\r\n ProfileLogins: string;\r\n groups: ProfileGroups[];\r\n PFAgents: AgentAccClass[];\r\n LoginGroup: LoginGroup[];\r\n FeeAgents: FeeAgentsClass;\r\n}\r\nexport class MAMTraderClass {\r\n ServerName: string = '';\r\n ServerType: string = \"\";\r\n Login: string = \"\";\r\n AccountID: number = 0;\r\n}\r\nexport class UserPermissionOBjectClass {\r\n Allowed: boolean = false;\r\n Perms: IPerms[] = [];\r\n}\r\nexport interface LoadMasterTableResult {\r\n ClientID: string;\r\n AccountID: number;\r\n Name: string;\r\n Email: string;\r\n ServerID: number;\r\n ServerType: string;\r\n ServerName: string;\r\n MasterLogin: string;\r\n ProfileID: number | null;\r\n ProfileStrategyName: string;\r\n ARuleID: number | null;\r\n ARuleName: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport class GetEditTeamResult {\r\n TeamID: string = '';\r\n TeamName: string = '';\r\n TeamDescription: string = '';\r\n UserList: GetUsersResult[] = [];\r\n AccTypeListResult: AccTypes[] = [];\r\n PoolListResult: GetPoolsResult[] = [];\r\n}\r\nexport interface AccTypes {\r\n AccTypeID: number;\r\n AccType: string;\r\n IsChecked: boolean;\r\n}\r\nexport interface GetPoolsResult {\r\n PoolID: number;\r\n PoolName: string;\r\n IsChecked: boolean;\r\n}\r\n//GetClientAccPermissions\r\n//param: req.AUID\r\n//return:\r\nexport interface GetClientAccPermissions {\r\n AccTypeListResult: AccTypes[];\r\n PoolListResult: GetPoolsResult[];\r\n GetUsersResult: GetUsersResult[];\r\n}\r\nexport interface LoadProfileTemplatesResult {\r\n ProfileID: number | null;\r\n ProfileName: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface DeleteProfileRequest {\r\n IsTemplate: boolean;\r\n ProfileID: number;\r\n}\r\nexport interface BlockUserClass {\r\n ContactID: string;\r\n Email: string;\r\n IsBlocked: boolean; //true to block user and false to unblock\r\n}\r\nexport interface GetProfileTemplateDataResult {\r\n PFIsEnabled: number;\r\n ProfileID: number;\r\n CloseSubPositions: number;\r\n ProfileWDClosure: number;\r\n AllowSignalOwnTrades: number;\r\n AutoFeePayments: number;\r\n ProfileEnabled: number;\r\n ProfileStrategyName: string;\r\n ProfileGroups: string;\r\n ProfileLogins: string;\r\n MF: number;\r\n ProfilePeriodPay: string;\r\n ProfilePeriodPayID: number;\r\n ProfileLoginPay: number;\r\n ProfileEnableMarkup: number;\r\n ProfileEnableCommission: number;\r\n ProfileEnableSwaps: number;\r\n ProfileMarkupAccount: number;\r\n ProfileIsMinLot: boolean;\r\n isReverse: boolean;\r\n SyncBalance: boolean;\r\n Percentage: number;\r\n //PermIsSignal: boolean;\r\n ARuleID: number;\r\n ARuleName: string;\r\n STPText: string;\r\n STPID: number;\r\n CopierSTPText: string;\r\n CopierSTPID: number;\r\n CopiersNb: number;\r\n}\r\nexport interface GetProfileTemplatesDropDown {\r\n ProfileID: number;\r\n ProfileName: string;\r\n}\r\n\r\nexport interface MAMAdminRequests {\r\n ProfileID: number;\r\n IsDefault: boolean;\r\n AccountID: number;\r\n AUID: string;\r\n}\r\nexport interface AddInvestorRequest {\r\n ProfileID: number;\r\n //ProfileGroups: string;\r\n ProfileLogins: string;\r\n MasterLogin: string;\r\n ProfileStrategyName: string;\r\n //loginGroups: LoginGroup[];\r\n}\r\nexport class TraderInfo {\r\n ProfileID: number = 0;\r\n AccountID: number = 0;\r\n ARuleID: number = 0;\r\n IsReverse: boolean = false;\r\n Ticket: number = 0;\r\n Login: string = \"\";\r\n Amount: number = 0;\r\n AruleName: string = '';\r\n InvType: number = 0;\r\n OldInvType: number = 0;\r\n FromAccount: string = '';\r\n Status: number = 0;\r\n}\r\nexport interface TraderInfo {\r\n BulkAll: boolean;\r\n ProfileID: number;\r\n SignalID: number;\r\n AccountID: number;\r\n ARuleID: number;\r\n IsReverse: boolean;\r\n Ticket: number;\r\n Login: string;\r\n Amount: number;\r\n AruleID: number;\r\n STPID: number;\r\n InvType: number;\r\n FromAccount: string;\r\n Status: number;\r\n IsMinLot: boolean;\r\n IsAdmin: boolean;\r\n}\r\nexport class UpdateProfileRequest {\r\n IsAruleChanged: boolean = false;\r\n Profile: ProfilesClass = new ProfilesClass();\r\n groups: ProfileGroups[] = [];\r\n Removedgroups: ProfileGroups[] = [];\r\n Addedgroups: ProfileGroups[] = [];\r\n PFAgents: AgentAccClass[] = [];\r\n}\r\nexport class ProfilesClass {\r\n ClientID: string = '';\r\n ProfileID: number = 0;\r\n AccountID: number = 0;\r\n ServerID: number = 0;\r\n ServerName: string = '';\r\n ServerType: string = \"\";\r\n ARuleID: number = 0;\r\n STPID: number = 0;\r\n CopierSTPID: number = 0;\r\n MasterLogin: string = '';\r\n ProfileCloseSubPositions: boolean = false;\r\n ProfileWDClosure: boolean = false;\r\n ProfileEnabled: boolean = false;\r\n ProfilePFEnabled: boolean = false;\r\n ProfileStrategyName: string = '';\r\n ProfileIsMinLot: boolean = false;\r\n ProfileEnableMarkup: boolean = false;\r\n ProfileEnableCommission: boolean = false;\r\n ProfileEnableSwaps: boolean = false;\r\n ProfileMarkupAccount: number = 0;\r\n ProfileSyncBalance: boolean = false;\r\n PFPID: number = 0;\r\n ProfileMaxLot: number = 0;\r\n ProfileDefaultAmount: number = 0;\r\n AutoForcePFOnExclude: boolean = false;\r\n IsRoundVol: boolean = false;\r\n DeductPF: boolean = false;\r\n DeletePFRecords: boolean = false;\r\n\r\n ProfileEnableRegistrationFee: boolean = false;\r\n ProfileEnableManagementFee: boolean = false;\r\n\r\n //ManagementPFAmount: boolean = false;\r\n //RegistrationPFAmount: boolean = false;\r\n}\r\nexport class GetApplicationTypeResult {\r\n KTID: number = 0;\r\n TypeName: string = \"\";\r\n RequireKYC: boolean = false;\r\n IsEnabledType: boolean = false;\r\n PoolID: number = 0;\r\n KTCreationDate: Date | string | null = \"\";\r\n MainJson: string = \"\";\r\n}\r\nexport class AddApplicationSetting {\r\n ApplicationType: GetApplicationTypeResult = new GetApplicationTypeResult();\r\n ApplicationSetting: ApplicationSettingsClass = new ApplicationSettingsClass();\r\n}\r\nexport class ApplicationSettingsClass {//try edit name in import next time \r\n KTID: number = 0;\r\n KPID: number = 0;\r\n Salutation: boolean = false;\r\n FirstName: boolean = false;\r\n MiddleName: boolean = false;\r\n LastName: boolean = false;\r\n DateOfBirth: boolean = false;\r\n Phone: boolean = false;\r\n SecondPhone: boolean = false;\r\n EmailPerm: boolean = false;\r\n CountryOfBirth: boolean = false;\r\n Nationality: boolean = false;\r\n MaritalStatus: boolean = false;\r\n USAResidentQsn: boolean = false;\r\n USATaxPurposesQsn: boolean = false;\r\n PoliticallyPersonQsn: boolean = false;\r\n DeclaredBankruptcyQsn: boolean = false;\r\n Country: boolean = false;\r\n ResidentialAddress: boolean = false;\r\n City: boolean = false;\r\n State: boolean = false;\r\n StreetName: boolean = false;\r\n BuildingNumber: boolean = false;\r\n PostalCode: boolean = false;\r\n AccountType: boolean = false;\r\n BaseCurrency: boolean = false;\r\n Platform: boolean = false;\r\n Leverage: boolean = false;\r\n Education: boolean = false;\r\n AmountToInvest: boolean = false;\r\n LiquidNetWorth: boolean = false;\r\n AnnualNetIncome: boolean = false;\r\n AnnualIncome: boolean = false;\r\n TotalPortfolio: boolean = false;\r\n NetWorth: boolean = false;\r\n PlannedInvestment: boolean = false;\r\n PurposeInvesting: boolean = false;\r\n NumberOfDependents: boolean = false;\r\n AmountToInvest12Months: boolean = false;\r\n EmploymentStatus: boolean = false;\r\n CurrentEmployer: boolean = false;\r\n CurrentPosition: boolean = false;\r\n Industry: boolean = false;\r\n IndustryRetired: boolean = false;\r\n IndustryStudent: boolean = false;\r\n NatureOfBusiness: boolean = false;\r\n Occupation: boolean = false;\r\n EmploymentAddress: boolean = false;\r\n EmploymentCity: boolean = false;\r\n EmploymentCountry: boolean = false;\r\n EmploymentPostalCode: boolean = false;\r\n SourceOfIncome: boolean = false;\r\n SourceOfIncomeStudent: boolean = false;\r\n PreviousEmployer: boolean = false;\r\n PreviousPosition: boolean = false;\r\n TaxResidencyCountry: boolean = false;\r\n TaxNumber: boolean = false;\r\n SourceOfWealth: boolean = false;\r\n SecondaryIncomeQsn: boolean = false;\r\n WorkExperienceQsn: boolean = false;\r\n AttendedCoursesQsn: boolean = false;\r\n NationalPassportQsn: boolean = false;\r\n MonthlyAverageVolume: boolean = false;\r\n PurposeAndNatureTrading: boolean = false;\r\n PurposeOpeningAcc: boolean = false;\r\n LevelKnowledgeFinancialMarkets: boolean = false;\r\n LongHaveTraded: boolean = false;\r\n TradesPerMonth: boolean = false;\r\n TimeframeHeldPositions: boolean = false;\r\n TypeInstrumentsFamiliar: boolean = false;\r\n WhatExtentTradedFunds: boolean = false;\r\n WhatExtentTradedDerivatives: boolean = false;\r\n WhatExtentTradedWithMargin: boolean = false;\r\n AverageYearlyVolume: boolean = false;\r\n AverageLevelLeverage: boolean = false;\r\n UnderstandLeveragedProductsQsn: boolean = false;\r\n UnderstandConceptsVolatilityQsn: boolean = false;\r\n QualificationLeveragedQsn: boolean = false;\r\n UnderstandRisksWithTradingQsn: boolean = false;\r\n LevelEducationOurProducts: boolean = false;\r\n EducationalFinancial: boolean = false;\r\n TradingHigherLeverageQns: boolean = false;\r\n InitialPositionQns: boolean = false;\r\n FuturesMarketQns: boolean = false;\r\n OTCDerivativesDifferentQns: boolean = false;\r\n OTCDerivativesPlacedQns: boolean = false;\r\n StopLossOrderUsedQns: boolean = false;\r\n RiskiestInvestmentQns: boolean = false;\r\n MarginRequiredQns: boolean = false;\r\n StoppedOutSituationsQns: boolean = false;\r\n TradingHigherLeverage: boolean = false;\r\n ForeignExchange: boolean = false;\r\n Shares: boolean = false;\r\n MutualFundsOfShares: boolean = false;\r\n GovernmentAndCorporateBonds: boolean = false;\r\n CFDs: boolean = false;\r\n CommoditiesPreciousMetals: boolean = false;\r\n OptionsOrFutures: boolean = false;\r\n OtherInvestments: boolean = false;\r\n HowTradedTheseProducts: boolean = false;\r\n PassportID: boolean = false;\r\n NationalCardID: boolean = false;\r\n DriverLicenseID: boolean = false;\r\n CountryIssuance: boolean = false;\r\n CountryIssuanceNationalID: boolean = false;\r\n CountryIssuanceDriverID: boolean = false;\r\n PassportNumber: boolean = false;\r\n PassportNumberNationalID: boolean = false;\r\n PassportNumberDriverID: boolean = false;\r\n ExpiryDate: boolean = false;\r\n ExpiryDateNationalID: boolean = false;\r\n ExpiryDateDriverID: boolean = false;\r\n BankStatement: boolean = false;\r\n LetterFromGovernmentAgency: boolean = false;\r\n Utilitybill: boolean = false;\r\n OtherProofOfAddressType: boolean = false;\r\n ProofAddressValid: boolean = false;\r\n PersonalDetails: boolean = false;\r\n InvestorInfo: boolean = false;\r\n TradingExperience: boolean = false;\r\n TradingKnowledge: boolean = false;\r\n TraderDeclaration: boolean = false;\r\n Documents: boolean = false;\r\n BrokerApplication: boolean = false;\r\n PersonalDetailsDesc: boolean = false;\r\n InvestorInfoDesc: boolean = false;\r\n TradingExperienceDesc: boolean = false;\r\n TradingKnowledgeDesc: boolean = false;\r\n TraderDeclarationDesc: boolean = false;\r\n DocumentsDesc: boolean = false;\r\n BrokerApplicationDesc: boolean = false;\r\n BankName: boolean = false;\r\n CardHolderName: boolean = false;\r\n BankCardID: boolean = false;\r\n IsFillDocumentRequired: boolean = false;\r\n ProfessionalClientStatus: boolean = false;\r\n ProfessionalClientStatusDesc: boolean = false;\r\n ProfessionalClientStatusDescTxt: string = \"\";\r\n MonthlyExpenses: boolean = false;\r\n EstimatedAnnualInvestment: boolean = false;\r\n NetValueWealth: boolean = false;\r\n SourceOfFunds: boolean = false;\r\n PlannedInitialInvestment: boolean = false;\r\n ValueRentalProp: boolean = false;\r\n MonthlyRentalIncome: boolean = false;\r\n Profession: boolean = false;\r\n NameEmployerOrganisation: boolean = false;\r\n CountryBankAccount: boolean = false;\r\n ProfessionRelateFinancialIndustryQsn: boolean = false;\r\n UsedLeveragedProductsQsn: boolean = false;\r\n MaximumLeverageUsed: boolean = false;\r\n StopOutBeTriggered: boolean = false;\r\n PassportID2: boolean = false;\r\n NationalCardID2: boolean = false;\r\n DriverLicenseID2: boolean = false;\r\n CountryIssuance2: boolean = false;\r\n CountryIssuanceNationalID2: boolean = false;\r\n CountryIssuanceDriverID2: boolean = false;\r\n PassportNumber2: boolean = false;\r\n PassportNumberNationalID2: boolean = false;\r\n PassportNumberDriverID2: boolean = false;\r\n ExpiryDate2: boolean = false;\r\n ExpiryDateNationalID2: boolean = false;\r\n ExpiryDateDriverID2: boolean = false;\r\n TrueAboutFuturesQns: boolean = false;\r\n WhySpreadFloatingQns: boolean = false;\r\n PersonalDetailsDescTxt: string = \"\";\r\n InvestorInfoDescTxt: string = \"\";\r\n TradingExperienceDescTxt: string = \"\";\r\n TradingKnowledgeDescTxt: string = \"\";\r\n TraderDeclarationDescTxt: string = \"\";\r\n DocumentsDescTxt: string = \"\";\r\n BrokerApplicationDescTxt: string = \"\";\r\n IdentificationDoc1: boolean = false;\r\n IdentificationDoc2: boolean = false;\r\n ProofAddDoc: boolean = false;\r\n BankDetailsDoc: boolean = false;\r\n}\r\nexport interface LoadIBClientAccountsParams {\r\n ClientID: string;\r\n AccTypeID: number;\r\n}\r\nexport interface LoadIBClientAccountsResult {\r\n AccountID: number;\r\n Login: string;\r\n}\r\nexport interface GetRegistrationLinks {\r\n RLID: number;\r\n RegDescription: string;\r\n RegLink: string;\r\n}\r\n\r\nexport interface RegistrationLinks {\r\n RLID: number;\r\n RegDescription: string;\r\n RegLink: string;\r\n}\r\nexport class GetProfilesDataResult {\r\n ProfileID: number = 0;\r\n ServerName: string = '';\r\n ServerID: number = 0;\r\n ServerType: string = \"\";\r\n MasterLogin: string = '';\r\n CloseSubPositions: number = 0;\r\n ProfileWDClosure: number = 0;\r\n ProfileEnabled: number = 0;\r\n PFIsEnabled: number = 0;\r\n ProfileStrategyName: string = '';\r\n ProfileGroups: string = '';\r\n ProfileLogins: string = '';\r\n ProfileEnableMarkup: number = 0;\r\n ProfileEnableCommission: number = 0;\r\n ProfileEnableSwaps: number = 0;\r\n ProfileMarkupAccount: number = 0;\r\n ProfileIsMinLot: boolean = false;\r\n SyncBalance: boolean = false;\r\n ARuleID: number = 0;\r\n ARuleName: string = '';\r\n STPText: string = '';\r\n STPID: number = 0;\r\n CopierSTPText: string = '';\r\n CopierSTPID: number = 0;\r\n AccountID: number = 0;\r\n Email: string = '';\r\n AccTypeID: number = 0;\r\n PFPID: number = 0;\r\n ProfileMaxLot: number = 0;\r\n IsRoundVol: boolean = false;\r\n DeductPF: boolean = false;\r\n DeletePFRecords: boolean = false;\r\n ProfileDefaultAmount: string | number = '';\r\n}\r\n//#region IBBanner \r\nexport interface IBDataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n}\r\nexport interface GetBannersTableResult {\r\n BID: number;\r\n BannerName: string;\r\n RegName: string;\r\n Type: string;\r\n Size: string;\r\n CampaignType: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface GetBannerDropdownResult {\r\n BannerTypeList: BannerType[];\r\n RegLinkList: GetRegistrationLinks[];\r\n IBList: GetIBs[];\r\n PoolList: GetPoolsResult[];\r\n}\r\nexport interface BannerType {\r\n BannerTypeID: number;\r\n TypeName: string;\r\n}\r\nexport interface GetRegistrationLinks {\r\n RLID: number;\r\n RegDescription: string;\r\n RegLink: string;\r\n}\r\nexport interface GetIBs {\r\n ClientID: string;\r\n ClientName: string;\r\n ClientRangeID: string;\r\n IBCode: string;\r\n}\r\nexport interface GetIBBanners {\r\n BID: number;\r\n PoolID: number;\r\n RLID: number;\r\n ClientID: string[];\r\n BannerTypeID: number;\r\n BannerName: string;\r\n BannerPath: string;\r\n Size: string;\r\n Type: string;\r\n BannerDoc: string;\r\n}\r\nexport interface IBBanners {\r\n BID: number;\r\n PoolID?: number | null;\r\n RLID: number;\r\n ClientID: string;\r\n BannerTypeID: number;\r\n BannerName: string;\r\n Size: string;\r\n Type: string;\r\n BannerDoc: string;\r\n BannerOrder: number;\r\n CustomLink: string;\r\n}\r\nexport interface SelectType {\r\n value: number;\r\n label: string;\r\n Data: T;\r\n}\r\n//#endregion\r\n\r\nexport interface LogsStorageResult {\r\n ActionRequest: string;\r\n ModuleName: string;\r\n ActionName: string;\r\n AUID: string;\r\n BUID: string;\r\n IP: string;\r\n Email: string;\r\n ActionTime: Date | string;\r\n ActionTimeStr: string;\r\n Result: string;\r\n ActionDescription: string;\r\n ClientName: string;\r\n}\r\nexport interface TraderDateParams {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n FromDay: number;\r\n ToDay: number;\r\n FromMonth: number;\r\n ToMonth: number;\r\n FromYear: number;\r\n ToYear: number;\r\n}\r\nexport class GetKYCCardResult {\r\n CardPerm: GetKYCCardPermsResult = new GetKYCCardPermsResult();\r\n CardStatus: GetKYCCardStatusResult = new GetKYCCardStatusResult();\r\n CardCompliance: GetKYCComplianceAnswersResult = new GetKYCComplianceAnswersResult();\r\n UpdateKYCReqStatus: number | null = 1;\r\n}\r\nexport class GetKYCCardPermsResult {\r\n PersonalDetails: boolean = false;\r\n InvestorInfo: boolean = false;\r\n TradingExperience: boolean = false;\r\n TradingKnowledge: boolean = false;\r\n TraderDeclaration: boolean = false;\r\n Documents: boolean = false;\r\n ProfessionalClientStatus: boolean = false;\r\n BrokerApplication: boolean = false;\r\n IsFillDocumentRequired: boolean = false;\r\n}\r\nexport class GetKYCCardStatusResult {\r\n PersonalInfoStatus: number = 2;\r\n WorkExpStatus: number = 2;\r\n TradingExpStatus: number = 2;\r\n TraderDecStatus: number = 2;\r\n DocStatus: number = 2;\r\n Status: number = 2;\r\n}\r\nexport interface ProfileGroups {\r\n ProfileID: number;\r\n GroupName: string;\r\n}\r\nexport class LoadProfilesDataSBResult {\r\n PD: GetProfilesDataResult = new GetProfilesDataResult();\r\n PAPF: GetPAPFSBResult[] = [];\r\n PGps: ProfileGroups[] = [];\r\n LoadWallets: GetClientWalletsResult[] = [];\r\n}\r\nexport interface PersonalInfoCard {\r\n ClientID: string;\r\n Status: number;\r\n TotalScore: number;\r\n IsAdmin: boolean;\r\n AdminUsername: string;\r\n FirstName: string;\r\n LName: string;\r\n Phone: string;\r\n Salutation: number;\r\n SalutationTxt: string;\r\n DOB: string | null;\r\n CountryOfBirthID: number;\r\n NationalityID: number;\r\n MaritalStatus: string;\r\n ResidentialAddress: string;\r\n State: string;\r\n City: string;\r\n MiddleName: string;\r\n SecondPhone: string;\r\n StreetName: string;\r\n PostalCode: string;\r\n Country: number;\r\n TaxResidencyCountry: number;\r\n TaxNumber: boolean;\r\n TaxNumberTxt: string;\r\n TINUnavailable: string;\r\n TINUnavailableTxt: string;\r\n USAResidentQsn: boolean;\r\n PoliticallyPersonQsn: boolean;\r\n DeclaredBankruptcyQsn: boolean;\r\n}\r\nexport interface WorkEducationalExperienceCard {\r\n ClientID: string;\r\n Status: number;\r\n TotalScore: number;\r\n IsAdmin: boolean;\r\n AdminUsername: string;\r\n EstimatedAmountInvest: string;\r\n Education: string;\r\n EmploymentStatus: string;\r\n BusinessOwnershipSF: boolean;\r\n FamilyIncomeRelationshipSF: boolean;\r\n InsurancePayoutSF: boolean;\r\n ReturnInvestmentsSharesDividendsSF: boolean;\r\n PropertyLandInvestmentsSF: boolean;\r\n InheritanceSF: boolean;\r\n IncomeEmploymentSF: boolean;\r\n BankingFacilitiesSF: boolean;\r\n PersonalSavingSF: boolean;\r\n WorkExperienceQsn: boolean;\r\n AttendedCoursesQsn: boolean;\r\n CurrentEmployer: string;\r\n CurrentPosition: string;\r\n Industry: string;\r\n NatureOfBusiness: string;\r\n Occupation: string;\r\n EmploymentAddress: string;\r\n EmploymentCity: string;\r\n EmploymentCountry: string;\r\n EmploymentPostalCode: string;\r\n ValueRentalProp: string;\r\n MonthlyRentalIncome: string;\r\n SourceOfIncome: string;\r\n PreviousEmployer: string;\r\n PreviousPosition: string;\r\n IndustryRetired: string;\r\n SourceOfIncomeStudent: string;\r\n IndustryStudent: string;\r\n HoldProfessionalQualification: boolean;\r\n ReceivedHigherFinanceEducation: boolean;\r\n HoldBachelorOtherSubjects: boolean;\r\n WorkedRoleRelevantTrading: boolean;\r\n NoneAbove: boolean;\r\n EducationalFinancial: string;\r\n EducationalFinancialTXT: string;\r\n}\r\n\r\nexport interface TradingExperienceKnowledgeCard {\r\n ClientID: string;\r\n Status: number;\r\n TotalScore: number;\r\n IsAdmin: boolean;\r\n AdminUsername: string;\r\n IFCurrencies: boolean;\r\n IFCommodities: boolean;\r\n IFIndices: boolean;\r\n IFStocks: boolean;\r\n IFCryptoCurrency: boolean;\r\n PurposeNatureTrading: string;\r\n RiskiestInvestmentQns: string;\r\n WhySpreadFloatingQns: string;\r\n UsedLeveragedProductsQsn: boolean;\r\n UnderstandConceptsVolatilityQsn: boolean;\r\n UnderstandLeveragedProductsQsn: boolean;\r\n QualificationLeveragedQsn: boolean;\r\n UnderstandRisksWithTradingQsn: boolean;\r\n ProfessionRelateFinancialIndustryQsn: boolean;\r\n InitialPositionQns: boolean;\r\n FuturesMarketQns: boolean;\r\n TrueAboutFuturesQns: string;\r\n TradingHigherLeverageQns: boolean;\r\n LevelKnowledgeFinancialMarkets: string;\r\n LongHaveTraded: string;\r\n MonthlyAverageVolume: string;\r\n TimeframeHeldPositions: string;\r\n WhatExtentTradedDerivatives: string;\r\n WhatExtentTradedWithMargin: string;\r\n AverageYearlyVolume: string;\r\n AverageLevelLeverage: string;\r\n MaximumLeverageUsed: string;\r\n StopLossOrderUsedQns: string;\r\n MarginRequiredQns: string;\r\n StoppedOutSituationsQns: string;\r\n TradingHigherLeverageApplyQns: string;\r\n StopOutBeTriggered: string;\r\n ForeignExchangeLevel: string;\r\n ForeignExchangeYears: string;\r\n ForeignExchangeTradesNo: string;\r\n SharesLevel: string;\r\n SharesYears: string;\r\n SharesTradesNo: string;\r\n MutualFundsOfSharesLevel: string;\r\n MutualFundsOfSharesYears: string;\r\n MutualFundsOfSharesTradesNo: string;\r\n GovernmentCorporateBondsLevel: string;\r\n GovernmentCorporateBondsYears: string;\r\n GovernmentCorporateBondsTradesNo: string;\r\n CFDsLevel: string;\r\n CFDsYears: string;\r\n CFDsTradesNo: string;\r\n CommoditiesPreciousMetalsLevel: string;\r\n CommoditiesPreciousMetalsYears: string;\r\n CommoditiesPreciousMetalsTradesNo: string;\r\n OptionsOrFuturesLevel: string;\r\n OptionsOrFuturesYears: string;\r\n OptionsOrFuturesTradesNo: string;\r\n OtherInvestmentsLevel: string;\r\n OtherInvestmentsYears: string;\r\n OtherInvestmentsTradesNo: string;\r\n\r\n}\r\n\r\nexport interface TraderDeclarationCardClass {\r\n ClientID: string;\r\n Status: number;\r\n TotalScore: number;\r\n IsAdmin: boolean;\r\n AdminUsername: string;\r\n TraderDec: TraderDeclaration;\r\n ProfClntStatus: ProfClntStatus;\r\n}\r\n\r\nexport interface TraderDeclaration {\r\n DID: number;\r\n Answer: boolean;\r\n}\r\n\r\nexport interface ProfClntStatus {\r\n TradedSignificantSize: boolean;\r\n SizeFinancialPortfolio: boolean;\r\n WorkFinancialSector: boolean;\r\n ProvideAverageNumber: string;\r\n RelevantEmployerName: string;\r\n EmployerRegulatedFinancial: boolean;\r\n HowRoleProvidedExperience: string;\r\n RoleHoldWithEmployer: string;\r\n RoleHoldWithEmployerOther: string;\r\n IUnderstand: boolean;\r\n}\r\nexport interface CreateFirstUser {\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n Password: string;\r\n CompanyID: string;\r\n UserAuthID: string;\r\n}\r\nexport interface IdentificationDocuments {\r\n ClientID: string;\r\n Status: number;\r\n TotalScore: number;\r\n IsAdmin: boolean;\r\n AdminUsername: string;\r\n DocType: number;\r\n IDType: string;\r\n DocCountryIssuanceID: string;\r\n DocIDNumber: string;\r\n DocExpiryDate: string | null;\r\n FrontIDName: string;\r\n BackIDName: string;\r\n}\r\n\r\nexport interface ProofAddressDocuments {\r\n ClientID: string;\r\n Status: number;\r\n TotalScore: number;\r\n IsAdmin: boolean;\r\n AdminUsername: string;\r\n ProofAddressType: string;\r\n ProofAddressValid: boolean;\r\n ProofAddrName: string;\r\n}\r\n\r\nexport interface BankDetailsDocuments {\r\n ClientID: string;\r\n Status: number;\r\n TotalScore: number;\r\n IsAdmin: boolean;\r\n AdminUsername: string;\r\n BankName: string;\r\n CardHolderName: string;\r\n BankCardID: string;\r\n InfrontBankName: string;\r\n BackBankName: string;\r\n}\r\nexport interface Language {\r\n Code: string;\r\n Name: string;\r\n LanguageID: string;\r\n}\r\nexport interface EmailTemplateType {\r\n ETTypeID: string;\r\n ETType: string;\r\n IsMultiple: boolean;\r\n}\r\nexport interface GetEmailTemplateDropDownsResult {\r\n Languages: Language[];\r\n EmailTemplateTypes: EmailTemplateType[];\r\n\r\n}\r\nexport interface GetEmailTemplatesTableResult {\r\n ETID: number;\r\n ETTypeID: number;\r\n ETType: string;\r\n ETDescription: string;\r\n IsMultiple: boolean;\r\n}\r\n\r\nexport interface GetEmailTemplateParams {\r\n ETID: number;\r\n ETTypeID: number;\r\n LanguageID: number;\r\n\r\n\r\n}\r\nexport class GetEmailTemplateResult {\r\n ETIID: number = 0;\r\n ETID: number = 0;\r\n LanguageID: number = 0;\r\n ETSubject: string = '';\r\n ETContent: string = '';\r\n ETAdminSubject: string = '';\r\n ETAdminContent: string = '';\r\n ETIsEnabled: boolean = false;\r\n ETTypeID: number = 0;\r\n ETName: string = '';\r\n ETDescription: string = '';\r\n BOEmails: string = '';\r\n ClientBOEmails: string = '';\r\n}\r\n\r\nexport interface GetDefaultEmailTemplateResult {\r\n ETTID: number;\r\n LanguageID: number;\r\n ETSubject: string;\r\n ETContent: string;\r\n}\r\nexport interface ApplicationFormReq {\r\n ClientID: string;\r\n ESignature: string;\r\n IsAdmin: boolean;\r\n RiskWarning: boolean;\r\n AdminUsername: string;\r\n}\r\nexport interface ApplicationFormClass {\r\n ClientID: string;\r\n IsAdmin: boolean;\r\n Status: number;\r\n AdminUsername: string;\r\n ESignature: string;\r\n RiskWarning: boolean;\r\n TotalScore: number;\r\n PersonalInfo: PersonalInfoCard;\r\n WorkEducationalExperience: WorkEducationalExperienceCard;\r\n TradingExperienceKnowledge: TradingExperienceKnowledgeCard;\r\n TraderDeclaration: TraderDeclarationCardClass;\r\n IdentificationTypeDoc1: IdentificationDocuments;\r\n IdentificationTypeDoc2: IdentificationDocuments;\r\n ProofAddDoc: ProofAddressDocuments;\r\n BankDetailsDoc: BankDetailsDocuments;\r\n}\r\nexport class GetBannerLink {\r\n BannerName: string = '';\r\n TypeName: string = '';\r\n YoonitURL: string = '';\r\n BannerPath: string = '';\r\n Size: string = '';\r\n Type: string = '';\r\n BannerDoc: string = '';\r\n RegLink: string = '';\r\n PoolID: string = '';\r\n ReferralIDName: string = '';\r\n IBBannerDetails: IBBannerDetails[] = [];\r\n}\r\n\r\nexport class IBBannerDetails {\r\n ClientID: string = '';\r\n ClientName: string = '';\r\n IBCode: string = '';\r\n}\r\n\r\nexport interface UpdateSignalsProfileRequest {\r\n ServerName: string;\r\n ServerType: string;\r\n AccountID: number;\r\n SignalID: number;\r\n SignalProfile: SignalsProfile[];\r\n\r\n}\r\nexport interface Signals {\r\n ClientID: string;\r\n SignalID: number;\r\n ServerID: number;\r\n AccountID: number;\r\n SignalName: string;\r\n Login: string;\r\n Currency: string;\r\n Balance: number;\r\n Equity: number;\r\n ServerType: string;\r\n ServerName: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface SignalConfigurations {\r\n SCID: number;\r\n SignalID: number;\r\n SCName: string;\r\n SCSymbols: string;\r\n SCSecurities: string;\r\n SCAmount: number;\r\n}\r\nexport interface GetTraders {\r\n AccountID: number;\r\n Login: string;\r\n Name: string;\r\n}\r\nexport interface SignalCopiers {\r\n CopierID: number;\r\n SignalID: number;\r\n AruleName: string;\r\n CopierAccID: number;\r\n CopierLogin: string;\r\n STPID: number;\r\n Amount: number;\r\n IsReverse: boolean;\r\n IsMinLot: boolean;\r\n}\r\nexport class GetSignalDataResult {\r\n ServerID: number = 0;\r\n AccountID: number = 0;\r\n ServerType: string = \"\";\r\n ServerName: string = \"\";\r\n}\r\nexport interface Copiers {\r\n CopierID: number;\r\n Amount: number;\r\n IsReverse: boolean;\r\n ARuleID: number;\r\n STPID: number;\r\n}\r\nexport interface PushNotification {\r\n PNID: number;\r\n PNDescription: string;\r\n ParentPNID: number;\r\n OrderNumber: number;\r\n IsEnabled: boolean;\r\n}\r\nexport interface EmailNotification {\r\n ENID: number;\r\n ENDescription: string;\r\n ParentENID: number;\r\n OrderNumber: number;\r\n IsEnabled: boolean;\r\n}\r\nexport interface AddEditEmailTemplateParams {\r\n ETID: number;\r\n ETTypeID: number;\r\n ETName: string;\r\n ETDescription: string;\r\n ETIID: number;\r\n LanguageID: number;\r\n ETSubject: string;\r\n ETContent: string;\r\n ETAdminContent: string;\r\n ETAdminSubject: string;\r\n BOEmails: string;\r\n ClientBOEmails: string;\r\n ETIsEnabled: boolean;\r\n}\r\nexport interface ClaimBonusParams {\r\n CompanyName: string;\r\n ServerName: string;\r\n ServerType: string;\r\n Login: string;\r\n Amount: string;\r\n}\r\nexport interface AddBonusCreditParams {\r\n CompanyName: string;\r\n ServerName: string;\r\n ServerType: string;\r\n ServerID: number;\r\n AccountID: number;\r\n Login: string;\r\n Amount: number;\r\n Currency: string;\r\n ClientID: string;\r\n Comment: string;\r\n MPID: number;\r\n BonusType?: string;\r\n}\r\nexport interface GetIBsTableResult {\r\n ClientRangeID: number;\r\n Name: string;\r\n Wallet: string;\r\n IBCode: string;\r\n ClientID: string;\r\n MasterIB: string;\r\n CreationDateStr: string;\r\n CreationDate: Date | string | null;\r\n IBLevels: number;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface IBAccountInfo {\r\n ServerID: number;\r\n AUID: string;\r\n PoolIDs: string;\r\n IBs: string;\r\n AccountID: number;\r\n SubAccountID: number;\r\n IBAccountID: number;\r\n LinkedAccountID: number;\r\n Levels: number;\r\n UserWLs: string;\r\n CommissionType: number;\r\n IsDirect: number;\r\n Symbol: string;\r\n IBCode: string;\r\n GroupsName: string;\r\n Page: number;\r\n FromDay: number;\r\n ToDay: number;\r\n FromMonth: number;\r\n ToMonth: number;\r\n FromYear: number;\r\n ToYear: number;\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n ToDateString: string;\r\n}\r\nexport interface LoadIBWalletResult {\r\n WalletID: string;\r\n ClientID: string;\r\n ClientRangeID: string;\r\n WalletRangeID: string;\r\n WalletCurrency: string;\r\n IBCode: string;\r\n FullName: string;\r\n}\r\nexport interface IBAccountClass {\r\n WalletID: string;\r\n ClientID: string;\r\n MasterClientID: string;\r\n ServerID: number | null;\r\n Logins: string;\r\n Groups: string;\r\n}\r\nexport class Wallet {\r\n ClientID: string = \"\";\r\n CurrencyID: number = 0;\r\n ServerID: number | null = -1;\r\n MirroredLogin: string = \"\";\r\n IsAutoSync: boolean = false;\r\n}\r\nexport class ActionCreateClientClass {\r\n Client: ActionClient = new ActionClient();\r\n Contact: ActionContact = new ActionContact();\r\n Trader: ActionTraderClass | null = new ActionTraderClass();\r\n LicPerms: ActionPermsLic[] = [];\r\n CompanyID: string = \"\";\r\n Password: string | null = \"\";\r\n IsLicensed: boolean = false;\r\n Wallet: Wallet | null = new Wallet(); //new interface publicLicPerms: PermsLic[];\r\n}\r\nexport interface GetAccCurrencyResultClass {\r\n AccCurrencyID: number;\r\n AccCurrency: string;\r\n}\r\nexport class WalletRanges {\r\n WRID: number = 0;\r\n WRDescription: string = '';\r\n WRStart: number = 0;\r\n WREnd: number = 0;\r\n WRCurrent: number = 0;\r\n PoolID: number = 0;\r\n}\r\nexport interface LoadTraderClientListResult {\r\n ClientRangeID: number;\r\n ClientID: string;\r\n text: string;\r\n PoolID: number;\r\n}\r\nexport interface GetWalletsTableResult {\r\n WalletID: string;\r\n ClientID: string;\r\n ClientName: string;\r\n WalletRangeID: string;\r\n WalletCurrency: string;\r\n PoolName: string;\r\n ClientRangeID: string;\r\n Balance: number;\r\n Digits: number;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface WalletCurrency {\r\n PoolID: number;\r\n CurrencyIDs: string; //all checked currency separated by comma\r\n CurrencyPerm: boolean;\r\n}\r\nexport interface EmailNotificationStatus {\r\n ENID: number;\r\n IsEnabled: boolean;\r\n}\r\nexport interface PushNotificationStatus {\r\n PNID: number;\r\n IsEnabled: boolean;\r\n}\r\nexport interface GetIBDetailedReportTableResult //remove email field\r\n{\r\n ClientName: string;\r\n ClientID: number; // changed from AccountID -> ClientID\r\n IBCode: string;\r\n PoolIDs: string;\r\n CountryIDs: string;\r\n Wallet: string; //changed from Account -> Wallet\r\n NumberOfSubIBs: number | null;\r\n IndirectComm: number | null;\r\n DirectComm: number | null;\r\n TotalComm: number | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface EditRefferalID {\r\n AccountID: number;\r\n ClientID: string;\r\n}\r\n//Function name: GetEditAccType\r\nexport interface GetAccTypeResult {\r\n AccType: string;\r\n Description: string;\r\n ByPassAccReq: boolean;\r\n DeleteAccOnClose: boolean;\r\n ByPassAdminReq: boolean;\r\n IsDemo: boolean;\r\n DemoAccBalance: number;\r\n ByPassNewAcc: boolean;\r\n ByPassAccInfo: boolean;\r\n ByPassDeleteAcc: boolean;\r\n ByPassAutoCopy: boolean;\r\n ByPassWithdrawal: boolean;\r\n ByPassDeposit: boolean;\r\n ByPassCredit: boolean;\r\n ByPassTransfer: boolean;\r\n ByPassExternalTransfer: boolean;\r\n AllowMultipleAccReq: boolean;\r\n AllowDeposit: boolean;\r\n AllowTransfer: boolean;\r\n AllowCloseAcc: boolean;\r\n AllowWithdrawal: boolean;\r\n AllowAccNmbr: number;\r\n AccTypePaymentSett: AccTypePaymentSetting[];\r\n}\r\n//Function Name: AddAccType and UpdateAccType\r\nexport interface AccTypesClass {\r\n AccTypeID: number;\r\n ServerID: number;\r\n AccType: string;\r\n Description: string;\r\n ByPassAccReq: boolean;\r\n DeleteAccOnClose: boolean;\r\n ByPassAdminReq: boolean;\r\n IsDemo: boolean;\r\n DemoAccBalance: number;\r\n AUID: string;\r\n ByPassNewAcc: boolean | null;\r\n ByPassAccInfo: boolean | null;\r\n ByPassDeleteAcc: boolean | null;\r\n ByPassAutoCopy: boolean | null;\r\n ByPassWithdrawal: boolean | null;\r\n ByPassDeposit: boolean | null;\r\n ByPassCredit: boolean | null;\r\n ByPassTransfer: boolean | null;\r\n AllowDeposit: boolean | null;\r\n AllowWithdrawal: boolean | null;\r\n AllowTransfer: boolean | null;\r\n AccTypePaymentSett: AccTypePaymentSetting[];\r\n}\r\n\r\nexport interface ClientAccTypePerms {\r\n AccTypeIDs: string;\r\n ContactID: string;\r\n}\r\nexport interface DDLSidebar {\r\n Countries: GetCountriesResult[];\r\n AccTypes: AccTypes[];\r\n}\r\nexport interface GetCountriesResult {\r\n CountryID: number;\r\n CountryCode: string;\r\n CountryName: string;\r\n CountryFlag: string;\r\n CountryNameCN: string;\r\n CountryPhone: string;\r\n}\r\nexport interface AccTypes {\r\n AccTypeID: number;\r\n AccType: string;\r\n}\r\nexport interface GetDemoDropDown {\r\n CurrencyList: GetAccCurrencyResult[];\r\n LeverageList: AccLeverages[];\r\n}\r\nexport interface GetAccCurrencyResult {\r\n AccCurrencyID: number;\r\n AccCurrency: string;\r\n}\r\nexport interface AccLeverages {\r\n AccLeverageID: number;\r\n AccLeverage: number;\r\n AccTypeID: number;\r\n}\r\nexport interface LoadMMClientAccountsResult {\r\n Accounts: LoadMMClientAccounts[];\r\n}\r\nexport interface LoadMMWallet {\r\n WalletID: string;\r\n WalletCurrency: string;\r\n IBCode: string;\r\n}\r\nexport interface IBDetails {\r\n MasterClientID: string;\r\n WalletID: string;\r\n IBName: string;\r\n IBWallets: LoadIBWalletResult[];\r\n}\r\n\r\nexport interface SignalsProfile {\r\n SCID: number;\r\n SCName: string;\r\n SCAmount: number;\r\n SCSymbols: string;\r\n SCSecurities: string;\r\n}\r\nexport interface UpdateSignalsProfileRequest {\r\n ServerName: string;\r\n ServerType: string;\r\n AccountID: number;\r\n SignalID: number;\r\n IsEnabled: boolean;\r\n STPID: number;\r\n SignalProfile: SignalsProfile[];\r\n SignalPCommission: SignalsProfile[];\r\n SignalIsEnabled: boolean;\r\n}\r\nexport interface AddSignalsAccProfileRequest {\r\n ServerName: string;\r\n ServerType: string;\r\n WalletID: string | null;\r\n AccountID: number;\r\n IsEnabled: boolean;\r\n IsRoundVol: boolean;\r\n STPID: number;\r\n SignalProfile: SignalsProfile[];\r\n SignalPCommission: SignalsProfile[];\r\n PFAgents: any[];\r\n\r\n\r\n}\r\nexport interface ActivationClass {\r\n Email: string;\r\n FullName: string;\r\n}\r\n//#region Wallet\r\nexport interface GetWalletTransactionDataRequest {\r\n ClientID: string;\r\n AUID: string;\r\n WalletID: string;\r\n IsWallet: boolean | null;\r\n}\r\n\r\nexport interface GetWalletTransactionDataResult {\r\n InternalLogins: WalletLogins[];\r\n ExternalLogins: WalletLogins[];\r\n MyWallet: MyWallet;\r\n walletPayments: WalletPayments[];\r\n BankAccountList: any[];\r\n PoolID: number;\r\n}\r\nexport interface MyWallet {\r\n Currency: string;\r\n Wallet: string;\r\n}\r\nexport interface WalletLogins {\r\n AccountID: number;\r\n Login: string;\r\n}\r\n\r\nexport interface WalletPayments {\r\n PaymentName: string;\r\n PMDescription: string;\r\n Instruction: string;\r\n PMID: number;\r\n PaymentIcon: string;\r\n Currencies: string;\r\n IsDeposit: boolean;\r\n PoolID: boolean;\r\n}\r\nexport interface GetPaymentCurrenciesResult {\r\n CurrencyID: number;\r\n AccCurrency: string;\r\n CreationDate: Date | string;\r\n DWRID: number;\r\n PMID: number;\r\n Rate: number;\r\n IsDefault: boolean;\r\n}\r\nexport interface PaymentRequest {\r\n PMID: number;\r\n AccountID: number;\r\n BID: number;\r\n ClientID: string;\r\n\r\n}\r\n//#endregion\r\n\r\nexport interface LoadSignalsClientAccountsResult {\r\n Accounts: LoadSignalClientAccounts[];\r\n Wallet: LoadSignalWallet[];\r\n}\r\n\r\nexport interface LoadSignalWallet {\r\n WalletID: string;\r\n WalletCurrency: string;\r\n IBCode: string;\r\n}\r\nexport interface LoadSignalClientAccounts {\r\n AccountID: number;\r\n Login: string;\r\n}\r\nexport interface SignalConfigurationsResult {\r\n configurations: SignalConfigurations[];\r\n wallets: LoadWallets[];\r\n STPS: LoadSTPValuesResult[];\r\n Signal: SignalRes;\r\n}\r\nexport interface SignalRes {\r\n SignalIsEnabled: boolean;\r\n IsRoundVol: boolean;\r\n}\r\nexport interface SignalConfigurations {\r\n SCID: number;\r\n SignalID: number;\r\n SCName: string;\r\n SCSymbols: string;\r\n SCSecurities: string;\r\n SCAmount: number;\r\n}\r\nexport interface LoadWallets {\r\n WalletID: string;\r\n WalletCurrency: string;\r\n IsSelected: boolean;\r\n}\r\nexport interface SignalConfigurationsRequest {\r\n ClientID: string;\r\n SignalID: number;\r\n}\r\nexport interface GetMyWalletsListResult {\r\n WalletID: string;\r\n Balance: number;\r\n Digits: number;\r\n ClientID: string;\r\n AccCurrencyIcon: string;\r\n WalletLabel: string;\r\n AllowDeposit: boolean;\r\n AllowTransfer: boolean;\r\n AllowWithdrawal: boolean;\r\n}\r\nexport interface IMessage {\r\n title: string;\r\n content: string;\r\n}\r\nexport interface GetWalletTransactionHistoryTableResult {\r\n TransactionType: string;\r\n TicketID: number;\r\n Wallet: string;\r\n AccCurrency: string;\r\n Amount: string;\r\n Comment: string;\r\n WTCreationDate: boolean;\r\n rowTot: number;\r\n rowFilter: number;\r\n rn: number | null;\r\n}\r\nexport interface GetMyWalletPaymentsResult {\r\n PaymentName: string;\r\n PMDescription: string;\r\n Instruction: string;\r\n PMID: number;\r\n PaymentIcon: string;\r\n Currencies: string;\r\n HasTTCopy: boolean;\r\n}\r\nexport interface WalletTransactionReq {\r\n IsFromWallet: boolean;\r\n IsToWallet: boolean;\r\n IsAdmin: boolean;\r\n Status: number;\r\n ClientID: string;\r\n FromWalletID: string;\r\n PMID: number;\r\n ReqType: string;\r\n ToWalletID: string;\r\n ToAccID: number;\r\n Login: string;\r\n CurrencyID: number;\r\n Amount: number;\r\n OrderID: string;\r\n Currency: string;\r\n Comment: string;\r\n Note: string;\r\n ReqStatus: number;\r\n // Payments\r\n PaymentName: string;\r\n IsBankWire: number;\r\n BankName: string;\r\n BID: number;\r\n BankAddress: string;\r\n AccountNumber: string;\r\n BeneficiaryAddress: string;\r\n BeneficiaryName: string;\r\n IBAN: string;\r\n Swift: string;\r\n IntermediaryBank: string;\r\n CorrespondentBank: string;\r\n ID: string;\r\n ttCopy: string;\r\n BAID: number;\r\n Email: string;\r\n}\r\n//Payments\r\nexport interface SticpayDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n Note: string;\r\n isWallet: boolean;\r\n ttCopy: string | null;\r\n}\r\n//#endregion\r\nexport interface GetWalletFilterOnTableResult {\r\n Pools: Pools[];\r\n Currencies: Currencies[];\r\n Clients: Clients[];\r\n}\r\nexport interface Pools {\r\n PoolName: string;\r\n PoolID: number;\r\n}\r\nexport interface Currencies {\r\n AccCurrency: string;\r\n AccCurrencyID: number;\r\n}\r\nexport interface Clients {\r\n ClientRangeID: number;\r\n ClientID: string;\r\n}\r\nexport interface MT4TradeService {\r\n ServerName: string;\r\n MT4TradeID: number;\r\n ServerID: number;\r\n Ticket: number;\r\n Login: string;\r\n Symbol: string;\r\n Digits: number;\r\n cmd: number;\r\n Volume: number;\r\n Opentime: Date | string;\r\n OpenPrice: number;\r\n SL: number;\r\n TP: number;\r\n CloseTime: Date | string;\r\n Expiration: Date | string;\r\n Reason: number;\r\n ConvRate1: number;\r\n ConvRate2: number;\r\n Commission: number;\r\n CommissionAgent: number;\r\n Swaps: number;\r\n ClosePrice: number;\r\n Profit: number;\r\n Taxes: number;\r\n Comment: string;\r\n InternalID: number;\r\n MarginRate: number;\r\n TimeStamp: number;\r\n Magic: number;\r\n GWVolume: number;\r\n GWOpenPrice: number;\r\n GWClosePrice: number;\r\n ModifyTime: Date | string;\r\n}\r\nexport interface MT5PositionService {\r\n ServerName: string;\r\n MT5PositionsID: number;\r\n ServerID: number;\r\n Position: number;\r\n ExternalID: string;\r\n Login: string;\r\n Dealer: number;\r\n Symbol: string;\r\n Action: number;\r\n Digits: number;\r\n DigitsCurrency: number;\r\n Reason: number;\r\n ContractSize: number;\r\n TimeCreate: Date | string;\r\n TimeUpdate: Date | string;\r\n TimeCreateMsc: Date | string;\r\n TimeUpdateMsc: Date | string;\r\n PriceOpen: number;\r\n PriceCurrent: number;\r\n PriceSL: number;\r\n PriceTP: number;\r\n VolumeExt: number;\r\n Profit: number;\r\n Storage: number;\r\n RateProfit: number;\r\n RateMargin: number;\r\n ExpertID: number;\r\n ExpertPositionID: number;\r\n Comment: string;\r\n ActivationMode: number;\r\n ActivationTime: number;\r\n ActivationPrice: number;\r\n ActivationFlags: number;\r\n Volume: number;\r\n APIData: string;\r\n}\r\nexport interface RegisterDemoAccClass {\r\n FirstName: string; //from redux\r\n LastName: string; //from redux\r\n CountryID: number | null; //from redux\r\n PhoneNumber: string; //from redux\r\n Email: string; //from redux\r\n AccTypeID: number;\r\n CurrencyID: number;\r\n LeverageID: number;\r\n ReferralID: string;\r\n}\r\nexport interface GetDemoAccountsTableResult {\r\n AccType: string;\r\n Login: string;\r\n Leverage: number;\r\n Balance: number;\r\n Currency: string;\r\n DACreationDate: Date | string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface loadTradeHistoryTableResult {\r\n Symbol: string;\r\n Swaps: number | null;\r\n Commission: number | null;\r\n Profit: number | null;\r\n //NetPips: number | null;\r\n LongLots: number | null;\r\n ShortLots: number | null;\r\n TotalLots: number | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface LoadAllTradersTableResult {\r\n ClientName: string;\r\n ClientID: string;\r\n Login: string;\r\n SignalID: number;\r\n AccountID: number;\r\n Equity: number | null;\r\n Balance: number | null;\r\n CopierID: number | null;\r\n CopyVal: number | null;\r\n CopyStat: string;\r\n AutoCopy: string;\r\n Digits: number;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface CloseTrades {\r\n Order: number;\r\n Deal: number;\r\n TradeDuration: string;\r\n Type: string;\r\n MT4Type: string;\r\n Login: string;\r\n OpenTime: string;\r\n Entry: string;\r\n CloseTime: string;\r\n Symbol: string;\r\n Volume: number;\r\n Lots: number;\r\n OpenPrice: number;\r\n Price: number;\r\n ClosePrice: number;\r\n Swaps: number;\r\n Commission: number;\r\n commissions: number;\r\n //Pips: number;\r\n Profit: number;\r\n PriceDelta: number;\r\n Taxes: number;\r\n //ProfitPips: number;\r\n}\r\n//GetPendingTrades:\r\nexport interface OrdersTable {\r\n Deal: number;\r\n OpenTime: Date | string;\r\n OpenTimeStr: string;\r\n ClosedTime: Date | string;\r\n ClosedTimeStr: string;\r\n Type: string;\r\n Lots: number;\r\n Symbol: string;\r\n Price: number;\r\n StopLoss: number;\r\n TakeProfit: number;\r\n Gain: number;\r\n //Pips: number;\r\n CurrentPrice: number;\r\n //Placed: number;\r\n OpenPrice: number;\r\n ClosePrice: number;\r\n}\r\nexport interface IBGroups {\r\n IBGroupsList: IBGroupsList[];\r\n ExcludedLogin: string[];\r\n}\r\nexport interface IBGroupsList {\r\n IsSelected: boolean;\r\n GroupName: string;\r\n}\r\n\r\nexport interface GetIBBannerLinks {\r\n BannerName: string;\r\n TypeName: string;\r\n BannerPath: string;\r\n Size: string;\r\n Type: string;\r\n BannerDoc: string;\r\n RegLink: string;\r\n IBCode: string;\r\n ReferralIDName: string;\r\n PoolID: any;\r\n YoonitURL: string;\r\n CustomLink: string;\r\n}\r\nexport class DashboardItems {\r\n DIID: number = 0;\r\n ItemName: string = \"\";\r\n IsPinned: boolean = false;\r\n XAxis: number = 0;\r\n YAxis: number = 0;\r\n}\r\nexport interface AllItem {\r\n ContactID: string;\r\n PinItem: PinItem[];\r\n}\r\nexport interface PinItem {\r\n DIID: number;\r\n IsPinned: boolean | null;\r\n XAxis: number;\r\n YAxis: number;\r\n}\r\n//#region updateCompanySettings\r\nexport class LoadCompanyLogoResult {\r\n CompanyName: string = ''; //2za 7tejte bl saf7a to3rde l company name sta5dme hayda (if companyname is null or empty then 3rodi 2esem l sherke l 2elna ykon default)\r\n CompanySite: string = ''; //lama ya3mol click 3l image bya3mol redirect 3ala hayda l url\r\n IsCircular: boolean = false;\r\n LightLogo: string | null = null; // if null or empty 3rode logo l 2elna by default\r\n DarkLogo: string | null = null;\r\n Icon: string | null = null;\r\n SecondaryIcon: string | null = null;\r\n}\r\nexport interface LogoSett {\r\n BinaryLightDocument: string;\r\n BinaryDarkDocument: string;\r\n BinaryIcon: string;\r\n BinarySecondaryIcon: string;\r\n IsCircular: boolean;\r\n JsonData: string;\r\n}\r\nexport interface SMTPSett {\r\n Host: string;\r\n Port: number;\r\n EnableSSL: boolean;\r\n TestMail: string;\r\n Email: string;\r\n Password: string;\r\n BOEmail: string;\r\n EmailUserName: string;\r\n EmailDisplayName: string;\r\n}\r\nexport interface PortalSett {\r\n CompanyAddress: string;\r\n CompanyName: string;\r\n CompanySite: string;\r\n CompanyPhone: string;\r\n ClientSite: string;\r\n}\r\n//#endregion\r\n//GetBUTradingAccounts\r\n\r\n\r\n\r\n/*return: */export interface GetBULoginsResult {\r\n Login: string;\r\n CountryCode: string;\r\n CountryName: string;\r\n AccountID: number;\r\n AllowDeposit: boolean;\r\n AllowTransfer: boolean;\r\n AllowWithdrawal: boolean;\r\n\r\n}\r\n//#region Activities \r\nexport interface ActivityStorageResult {\r\n ActivityType: string;\r\n ActivityName: string;\r\n AUID: string;// who did the activity\r\n BUID: string; // who did the activity\r\n NoteID: string; // activity id\r\n TaskID: string;// activity id\r\n LeadID: string; // who is the activity done on\r\n ContactID: string;// who is the activity done on\r\n ClientID: string;// who is the activity done on\r\n IP: string;\r\n Email: string;\r\n ActivityTime: Date | string;\r\n ActivityTimeStr: string;\r\n ActivityDescription: string;\r\n}\r\nexport interface GetActivity {\r\n OwnerID: string; //ContactID or ClientID or LeadID\r\n OwnerType: string; //Contact or Client or Lead\r\n}\r\n//#endregion\r\nexport interface AccountDetailsResult {\r\n AccountDetails: Account;\r\n}\r\nexport interface Account {\r\n Type: string;\r\n zipCode: string;\r\n ServerName: string;\r\n ServerID: string;\r\n Login: string;\r\n Name: string;\r\n Email: string;\r\n Phone: string;\r\n Address: string;\r\n Country: string;\r\n CountryCode: string;\r\n City: string;\r\n State: string;\r\n Zip: string;\r\n LeadDate: Date | string | null;\r\n CreationDate: Date | string | null;\r\n Equity: number | null;\r\n EquityUSD: number | null;\r\n Currency: string;\r\n GroupName: string;\r\n IBCode: string;\r\n IDNumber: string;\r\n LeadSource: string;\r\n MetaQuotesID: string;\r\n Status: string;\r\n AgentAccount: string;\r\n Margin: number | null;\r\n MarginLevel: number | null;\r\n FreeMargin: number | null;\r\n Credit: number | null;\r\n Balance: number | null;\r\n UnrealizedPL: number | null;\r\n Leverage: number | null;\r\n AccType: string;\r\n AccTypeID: string;\r\n MasterFloatingPnl: number | null;\r\n Digits: number;\r\n}\r\nexport interface GetActiveInActiveClientsTableResult {\r\n ClientID: string;\r\n ClientRangeID: string; //column1\r\n ClientName: string; //column2\r\n PhoneNumber: string; //column3\r\n CountryName: string; //column4\r\n CreationDate: Date | string | null; //column5\r\n CreationDateStr: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n//#region chnage leverage \r\nexport interface AccInfoReqClient { // using other fields in admin \r\n ReqType: string; // send value ‘changeLeverage’\r\n ClientID: string;\r\n BUID: string;\r\n AccountID: number;\r\n AccLeverageID: number | null;\r\n AccLeverage: number;\r\n Status: number; //set to 0 \r\n IsAdmin: boolean;\r\n}\r\nexport interface OperationReqSBReq {\r\n ReqID: number;\r\n RequestType: string;\r\n}\r\nexport interface RequestsDataSBClient {\r\n Account: string;\r\n AccLeverage: string;\r\n OldAccLeverage: string;\r\n}\r\nexport interface TraderRequestsClient {\r\n ReqType: string;\r\n ReqID: number;\r\n Status: number;\r\n Note: string;\r\n}\r\n\r\n//#endregion\r\n//assgin client to contact \r\nexport interface AssignContactToClient {\r\n ContactID: string;\r\n ClientID: string;\r\n Email: string;\r\n}\r\nexport interface AllContact {\r\n ContactID: string;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n}\r\nexport interface UserLicPassData {\r\n ContactID: string;\r\n Password: string;\r\n Email: string;\r\n Perms: ActionPermsLic[];\r\n}\r\nexport interface InvestorTrackerResult {\r\n Login: string;\r\n InitialInvestment: number;\r\n InitialInvestmentDate: Date | string;\r\n Balance: number;\r\n Credit: number;\r\n Equity: number;\r\n AvailableMargin: number;\r\n FloatingPL: number;\r\n Status: string;\r\n Currency: string;\r\n Deposits: number;\r\n Withdrawals: number;\r\n RealisedPL: number;\r\n Name: string;\r\n}\r\n\r\n\r\nexport interface GetClosedTradesFiltration {\r\n Servers: ServerDetails[];\r\n Accounts: Accounts[];\r\n}\r\n\r\nexport interface Accounts {\r\n AccountID: number;\r\n Login: string;\r\n}\r\nexport interface ClosedTrades extends TraderDataTable {\r\n AccountIDs: string;\r\n ServerIDs: string;\r\n}\r\nexport interface TraderDataTable {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n fromDate: Date | string;\r\n toDate: Date | string;\r\n}\r\nexport interface OrdersTable {\r\n Account: string;\r\n Deal: number;\r\n OpenTime: Date | string;\r\n OpenTimeStr: string;\r\n ClosedTime: Date | string;\r\n ClosedTimeStr: string;\r\n Type: string;\r\n Lots: number;\r\n Symbol: string;\r\n Price: number;\r\n StopLoss: number;\r\n TakeProfit: number;\r\n Gain: number;\r\n //Pips: number;\r\n CurrentPrice: number;\r\n //Placed: number;\r\n OpenPrice: number;\r\n ClosePrice: number;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface GetInvestorClosedTradesByDealRequest {\r\n FromDate: string;\r\n ToDate: string;\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n ARuleName: string;\r\n Deal: number;\r\n Login: string;\r\n}\r\nexport interface OrdersTable {\r\n Account: string;\r\n Comment: string;\r\n Deal: number;\r\n OpenTime: Date | string;\r\n OpenTimeStr: string;\r\n ClosedTime: Date | string;\r\n ClosedTimeStr: string;\r\n Type: string;\r\n Lots: number;\r\n Symbol: string;\r\n Price: number;\r\n StopLoss: number;\r\n TakeProfit: number;\r\n Gain: number;\r\n //Pips: number;\r\n CurrentPrice: number;\r\n //Placed: number;\r\n OpenPrice: number;\r\n ClosePrice: number;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface SendUpdateAppFormReq {\r\n ClientID: string;\r\n IsAdmin: boolean;\r\n}\r\nexport interface GetApplicationRequestsTableResult {\r\n ClientID: string;\r\n KYCID: number;\r\n UKYCID: number; // update approved\r\n ClientName: string;\r\n Country: string;\r\n CreationDate: Date | string | null;\r\n CreationDateStr: string;\r\n Type: string;\r\n RiskWarning: boolean | null;\r\n TotalScore: number | null;\r\n IsAdmin: boolean | null;\r\n Status: number | null;\r\n StatusTxt: string;\r\n Reason: string;\r\n VersionName: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface KYCApprvDecline {\r\n KYCID: number;\r\n ClientID: string;\r\n UserName: string;\r\n IsApproved: number;\r\n Note: string;\r\n}\r\nexport interface PoolsResult {\r\n PoolID: number;\r\n PoolName: string;\r\n IsDefault: boolean | null;\r\n RequireUserActivation: boolean | null;\r\n CardValidation: boolean | null;\r\n AllowDeposit: boolean | null;\r\n AllowWithdrawal: boolean | null;\r\n AllowTransfer: boolean | null;\r\n ByPassWalletDeposit: boolean | null; // new field (Label => ByPass Wallet Deposit Client Request)\r\n ByPassWalletWithdrawal: boolean | null; // new field (Label => ByPass Wallet Withdrawal Client Request)\r\n ByPassWalletTransfer: boolean | null; // new field (Label => ByPass Wallet Transfer Client Request)\r\n ByPassWalletAdminReq: boolean | null; // new field (Label => ByPass Wallet Admin Request)\r\n ByPassWalletExternalTransfer: boolean | null;\r\n RiskStatementReminder: string; // new field Text Area (Label => Risk Statement Reminder) \r\n AllowAddDemoAcc: boolean | null; // new field (Label => Allow Client to Add Demo Account)\r\n AUID: string;\r\n}\r\nexport interface GetPoolsTable {\r\n PoolID: number;\r\n PoolName: string;\r\n IsDefault: boolean | null;\r\n RequireUserActivation: boolean | null;\r\n CardValidation: boolean | null;\r\n ByPassWalletDeposit: boolean | null; // new field \r\n ByPassWalletWithdrawal: boolean | null; // new field \r\n ByPassWalletTransfer: boolean | null; // new field \r\n ByPassWalletAdminReq: boolean | null; // new field \r\n RiskStatementReminder: string; // new field \r\n AllowAddDemoAcc: boolean | null; // new field \r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface WLAccSettings {\r\n ServerID: number;\r\n AccLeverage: AccLeverages[];\r\n IBCodeRanges: IBCodeRanges[];\r\n AccCurrency: Currency[];\r\n AccTypes: AccTypes[];\r\n LoginRanges: LoginRanges[];\r\n AllocRules: LoadAllocationRulesResult[];\r\n STPVals: LoadSTPValuesResult[];\r\n PFPeriods: PFPeriodResult[];\r\n}\r\nexport interface PFPeriodResult {\r\n PFPID: number;\r\n PeriodValue: string;\r\n}\r\nexport interface BURequest {\r\n ContactID?: string;\r\n BUID: string;\r\n ClientID?: string;\r\n}\r\nexport interface ProfileInfoAction {\r\n ContactID: string;\r\n TimeZone: number;\r\n TimeZoneCode: string;\r\n Language: string;\r\n}\r\nexport interface SubIBs {\r\n ClientName: string;\r\n IBCode: string;\r\n ClientID: string;\r\n ParentClientID: string;\r\n}\r\nexport interface GetMMAccListResult {\r\n Login: string;\r\n ProfileID: number;\r\n text: string;\r\n rowFilter: number | null;\r\n}\r\nexport interface GetMMAccListParams {\r\n SearchKey: string;\r\n}\r\n//ForcePerformanceFee\r\nexport interface PerfFeeClass {\r\n ProfileID: number;\r\n SlaveLogin: string;\r\n MasterLogin: string;\r\n MasterAccountID: number;\r\n}\r\nexport interface ValidateUserClass {\r\n ContactID: string;\r\n IsValid: boolean;\r\n Email: string;\r\n}\r\nexport interface NoteCommentClass {\r\n NoteID: number;\r\n ContactID: string;\r\n Comment: string;\r\n NoteTitle: string;\r\n}\r\nexport interface NoteCommentGetclass {\r\n NCID: number;\r\n Comment: string;\r\n FullName: string;\r\n CreationDate: Date | string;\r\n}\r\nexport class GetCompanyDataResult {\r\n CompanyID: string = '';\r\n CompanyCode: string = '';\r\n DefaultLanguage: string = '';\r\n PortalSite: string = '';\r\n HeaderTitle: string = '';\r\n CompanyName: string = '';\r\n versionKey: string = '';\r\n DefaultTheme: string = '';\r\n GoogleAdsCode: string = '';\r\n GoogleAnalyticsCode: string = '';\r\n GoogleAdsEventCode: string = '';\r\n CompanySite: string = '';\r\n YoonitGetURL: string = '';\r\n YoonitActionURL: string = '';\r\n CDNURL: string = '';\r\n BannerCDNURL: string = '';\r\n HandBookURL: string = '';\r\n SecretKey: string = '';\r\n SiteKey: string = '';\r\n}\r\nexport interface LoginClientResponse {\r\n CompanyData: any;\r\n UserPermissions: IPerms[];\r\n Items: DashboardItems[];\r\n UserData: IUserData;\r\n Servers: any[];\r\n Language: string;\r\n isAuth: boolean;\r\n CompanyAuth: boolean;\r\n isTokenValid: boolean;\r\n isTokenExpired: boolean;\r\n isPrimarySalt: boolean;\r\n GUARules: any[];\r\n defaultpage: string;\r\n UserID: string;\r\n isAdmin: boolean;\r\n ClientData: any;\r\n AdminData: any;\r\n}\r\nexport class GetDWInfoByAccountIDResult {\r\n Name: string = \"\";\r\n Balance: number = 0;\r\n FreeMargin: number = 0;\r\n Credit: number = 0;\r\n CurrencyID: number = 0;\r\n Currency: string = \"\";\r\n PMID: number = 0;\r\n PaymentName: string = \"\";\r\n IsDeposit: boolean = false;\r\n}\r\nexport interface MAMSettingsClass {\r\n TradeComment: string;\r\n AccountComment: boolean | null;\r\n\r\n}\r\nexport interface GetClientWalletsResult {\r\n WalletID: string;\r\n text: string;\r\n IsSelected: boolean;\r\n}\r\nexport interface AgentAccClass {\r\n WalletID: string;\r\n PF: number;\r\n}\r\nexport interface GetPAPFSBResult {\r\n PAID: number;\r\n WalletID: string;\r\n PAPF: number;\r\n}\r\nexport class GetSAPFSBResult {\r\n WalletID: string = \"\";\r\n SAPF: number = 0;\r\n IsDefault: boolean = false;\r\n}\r\nexport class GetSAPFSBResultClass extends GetSAPFSBResult {\r\n PAID: number = 0;\r\n}\r\nexport interface LoginGroup {\r\n GroupName: string;\r\n Login: string;\r\n}\r\nexport interface IMarginTiles {\r\n level: string;\r\n Trenches: string;\r\n Leverage: string;\r\n}\r\nexport interface IPromoCode {\r\n Email: string;\r\n Login: string;\r\n ReferralPromoID: number;\r\n}\r\nexport interface AllocateCashAccountParams {\r\n CPID: number;\r\n ServerID: number;\r\n ServerType: string;\r\n ServerName: string;\r\n Login: string;\r\n ExternalClientID: string;\r\n}\r\nexport class GetCashPromotionClass {\r\n CPID: number = 0;\r\n Enabled: boolean = false;\r\n isMargin: boolean = false;\r\n Title: string = '';\r\n StartingDate: string = '';\r\n EndingDate: string = '';\r\n CashAmount: number = 0;\r\n CashLots: number = 0;\r\n CashScalping: number = 0;\r\n CurrencyID: number = 0;\r\n BonusComment: string = '';\r\n}\r\nexport class ReferralPromotion {\r\n RPID?: number = 0;\r\n Enabled: boolean = false;\r\n Title: string = '';\r\n StartingDate: string = '';\r\n EndingDate: string = '';\r\n CashBackAmount: number = 0;\r\n LotAmount: number = 0;\r\n CashScalping: number = 0;\r\n BonusComment: string = '';\r\n CurrencyID: number = 0;\r\n ReferralNb: number = 0;\r\n RPConfig: RPConfig[] = [];\r\n\r\n}\r\nexport class RPConfig {\r\n RPID?: number = 0;\r\n RPCID: number = 0;\r\n RPCName: string = '';\r\n RPCSymbols: string = '';\r\n RPCSecurities: string = '';\r\n RPCRatio: number = 1;\r\n}\r\nexport interface GetReferralDetails {\r\n RPConfigListResult: RPConfig[];\r\n ReferralPromotionResult: ReferralPromotion;\r\n}\r\nexport interface IGenerateClientPromoCode {\r\n ClientID: string;\r\n Email: string;\r\n Login: number;\r\n}\r\nexport interface UpdateApplicationTypeResult {\r\n KTID: number;\r\n TypeName: string;\r\n RequireKYC: boolean | null;\r\n IsEnabledType: boolean | null;\r\n PoolID: number | null;\r\n KTCreationDate: Date | string | null;\r\n MainJson: string;\r\n}\r\nexport interface UpdateApplicationFieldResult {\r\n KTID: number;\r\n MainJson: string;\r\n}\r\nexport interface KYCInfoRequest {\r\n ClientID: string;\r\n KYCID: number;\r\n}\r\n\r\nexport interface ClientAppFormDetailsResult {\r\n KYCID: number;\r\n Status: number;\r\n SubmittedJson: string;\r\n MainJson: string;\r\n AnswersJson: string;\r\n}\r\nexport interface SubmitAppForm {\r\n ClientID: string;\r\n IsAdmin: boolean;\r\n Status: string;\r\n AdminUsername: string;\r\n SubmittedJson: string;\r\n Score: number;\r\n ExpDocsJson?: any;\r\n}\r\nexport interface SubmitAppFormAnswers {\r\n KYCID: number;\r\n AnswersJson: string;\r\n ClientID: string;\r\n}\r\nexport interface GetWalletSBResult {\r\n IsAutoSync: boolean;\r\n MirroredLogin: string;\r\n ServerID: number;\r\n ServerName: string;\r\n ServerType: string;\r\n}\r\nexport interface EditWallet {\r\n ClientID: string;\r\n Currency: string;\r\n ServerID: number | null;\r\n MirroredLogin: string;\r\n IsAutoSync: boolean;\r\n WalletID: string;\r\n}\r\nexport interface GetDocumentRequest {\r\n ClientID: string;\r\n DocName: string;\r\n DocType: string;\r\n}\r\nexport interface AccTypePaymentSetting {\r\n APID: number;\r\n PMID: number;\r\n PaymentName: string;\r\n IsAutoApprove: boolean;\r\n MaxAmount: number;\r\n IsDeposit: boolean;\r\n}\r\nexport interface GetIBTreePathes {\r\n Path: TreePath[];\r\n PathID: string;\r\n}\r\nexport interface TreePath {\r\n Depth: number;\r\n ClientID: string;\r\n IBCode: string;\r\n ClientName: string;\r\n}\r\nexport interface GetDefaultProfile {\r\n Path: TreePathDefaultProfile[];\r\n PID: number;\r\n}\r\nexport interface TreePathDefaultProfile {\r\n Depth: number;\r\n ClientID: string;\r\n}\r\n//#region payment\r\nexport interface TappayDepositParams {\r\n GUEmail: string;\r\n GUName: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n Note: string;\r\n isWallet: boolean;\r\n ttCopy: string | null;\r\n}\r\nexport interface SkrillDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n fromEmail: string;\r\n Note: string;\r\n isWallet: boolean;\r\n}\r\nexport interface EComPayDepositParams {\r\n paymentType: string;\r\n paymentText: string;\r\n companyName: string;\r\n token: string;\r\n merchant_id: string;\r\n depositAmount: number;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n language: string;\r\n display_text: string;\r\n txt1: string;\r\n test_mode: string;\r\n to_account: string;\r\n dep_paymentID: string;\r\n session_id: string;\r\n host: string;\r\n Note: string;\r\n isWallet: boolean;\r\n ttCopy: string | null;\r\n}\r\nexport interface CachuDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n merchant_id: string;\r\n depositAmount: number;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n language: string;\r\n display_text: string;\r\n txt1: string;\r\n test_mode: string;\r\n to_account: string;\r\n dep_paymentID: string;\r\n session_id: string;\r\n isWallet: boolean;\r\n ttCopy: string | null;\r\n}\r\nexport interface RPNP2PDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n depositAmount: number;\r\n to_account: string;\r\n dep_paymentID: string;\r\n host: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n paymentText: string;\r\n CardAccName: string;\r\n BankAccNumber: string;\r\n Note: string;\r\n isWallet: boolean;\r\n ttCopy: string | null;\r\n}\r\nexport interface RPNCUPDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n depositAmount: number;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n dep_paymentID: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n}\r\nexport interface BridgerPayDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n Note: string;\r\n countryCode: string;\r\n isWallet: boolean;\r\n ttCopy: string | null;\r\n}\r\nexport interface NetellerSafePayDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n fromEmail: string;\r\n Note: string;\r\n countryCode: string;\r\n IsWallet: boolean;\r\n}\r\n//#endregion\r\nexport interface ClientCount {\r\n TotalNumber: number;\r\n UsedNumber: number;\r\n}\r\nexport interface CheckBulkClientResult {\r\n ExistDefaultPool: boolean;\r\n ExistRangeID: boolean;\r\n ClientsNbrExceedLimit: boolean;\r\n ClientCount: number;\r\n Message: string;\r\n ExistingLogins: GetServerDataByAccountIDResult[];\r\n NotExistingLogins: GetServerDataByAccountIDResult[];\r\n NotExistingPools: string[];\r\n InValidClients: InvalidClients[];\r\n ExistAccDiffExternal: GetServerDataByAccountIDResult[];\r\n}\r\nexport interface GetServerDataByAccountIDResult {\r\n ServerName: string;\r\n ServerType: string;\r\n Login: number;\r\n}\r\nexport interface CSVIBAccounts {\r\n CSVBinaryData: string;\r\n ClientID: string;\r\n IsCheck: boolean;\r\n}\r\nexport interface WalletSyncTimeFrame {\r\n TimeFrame: number;\r\n IsAutoSync: boolean;\r\n}\r\nexport interface GetWalletSyncTimeFrameDetail {\r\n TimeFrame: number;\r\n IsAutoSync: boolean;\r\n}\r\nexport interface CSVClientAcc {\r\n CSVBinaryData: string;\r\n IsCheck: boolean;\r\n}\r\nexport interface MAMMSettings {\r\n IsUserComment: boolean | null;\r\n MAMComment: string;\r\n SignalComment: string;\r\n OldIsUserComment: boolean | null;\r\n OldMAMComment: string;\r\n OldSignalComment: string;\r\n}\r\nexport interface InvalidClients {\r\n Email: string;\r\n ExternalID: string;\r\n}\r\nexport interface GetPriorityGroupPromotionsResult {\r\n PGID: number;\r\n PGName: string;\r\n PGPriority: number;\r\n Title: string;\r\n StartingDate: Date | string;\r\n EndingDate: Date | string;\r\n}\r\nexport interface PriorityGroup {\r\n PGID?: number | null;\r\n PGName: string;\r\n PGPriority: number;\r\n}\r\nexport interface GetRegistrationLinksTable {\r\n RTID: number;\r\n RTDescription: string;\r\n RegistrationURL: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface GetDynamicMarginOptionsResult {\r\n SecType: BasicSelectType[];\r\n VolType: BasicSelectType[];\r\n NOPTypes: BasicSelectType[];\r\n}\r\nexport interface SecuritiesResult {\r\n SecurityID: number;\r\n ServerID: number | null;\r\n SecurityName: string;\r\n SecurityIndex: number | null;\r\n}\r\n//#region dynamic margin\r\nexport class AddProfileRequest {\r\n ProfileID: number = 0;\r\n ServerID: number = 0;\r\n SecTypeID: number = 0;\r\n VolTypeID: number = 0;\r\n ProfileEnabled: boolean = false;\r\n ProfileStrategyName: string = '';\r\n ProfileGroups: string = '';\r\n ProfileLogins: string = '';\r\n ProfileSymbols: string = '';\r\n ProfileSecurities: string = '';\r\n ProfileExpLimit: number = 0;\r\n ProfileHedgeCon: boolean = false;\r\n ProfileMargTiers: string = '';\r\n ProfilePending: boolean = false;\r\n ProfileOldTrades: boolean = false;\r\n ProfilePriority: number = 0;\r\n ProfileDefaultPref: boolean = false;\r\n ProfileFixedTiers: boolean = false;\r\n ProfilePendingMargin: boolean = false;\r\n PSessions: ProfileSesssions[] = [];\r\n ProfileIsDefaultMargin = false;\r\n ProfileIsOverrideTiers = false;\r\n}\r\nexport interface ProfileSesssions {\r\n ServerID: number | null;\r\n SessionID: number | null;\r\n ProfileID: number | null;\r\n FromDay: number | null;\r\n ToDay: number | null;\r\n FromHour: number | null;\r\n ToHour: number | null;\r\n FromMinute: number | null;\r\n ToMinute: number | null;\r\n Tiers: string | null;\r\n TiersJson: string | null;\r\n}\r\nexport interface LoadDyanmicTableResult {\r\n ProfileID: number;\r\n ServerID: number;\r\n SecTypeID: number;\r\n VolTypeID: number;\r\n ProfileEnabled: boolean;\r\n ProfileStrategyName: string;\r\n ProfileGroups: string;\r\n ProfileLogins: string;\r\n ProfileSymbols: string;\r\n ProfileSecurities: string;\r\n ProfileExpLimit: number;\r\n ProfileHedgeCon: boolean;\r\n ProfileMargTiers: string;\r\n ProfilePending: boolean;\r\n ProfileOldTrades: boolean;\r\n ProfilePriority: number;\r\n ProfileDefaultPref: boolean;\r\n ProfileFixedTiers: boolean;\r\n ProfilePendingMargin: boolean;\r\n OverrideSession: boolean;\r\n}\r\nexport interface BulkProfilesRequestClass {\r\n ProfileIDs: string;\r\n UpdateProfileExpLimit: boolean;\r\n ProfileExpLimit: number;\r\n UpdateProfileOldTrades: boolean;\r\n ProfileOldTrades: boolean;\r\n UpdateProfileEnabled: boolean;\r\n ProfileEnabled: boolean;\r\n ProfileHedgeCon: boolean;\r\n UpdateHedgeControl: boolean;\r\n}\r\nexport class AccountExposureRequestClass {\r\n AccExpID: number | null = 0;\r\n ServerID: number = 0;\r\n NTID: number = 0;\r\n MargTiers: string = \"\";\r\n SecTypeIDs: string = \"\";\r\n VolTypeID: number = 0;\r\n AccExpPending: boolean = false;\r\n AccExpEnabled: boolean = false;\r\n AccExpStrategyName: string = \"\";\r\n AccExpGroups: string = \"\";\r\n AccExpLogins: string = \"\";\r\n AccExpSymbols: string = \"\";\r\n AccExpSecurities: string = \"\";\r\n AccExpLimit: number = 0;\r\n AccExpHedgeCon: boolean = false;\r\n\r\n AccExpMargTiers: string = \"\";\r\n AccSecType: AccSecTypeClass[] = [];\r\n AccExpPriority: number = 0;\r\n AccExpOldTrades: boolean = false;\r\n AccExpFixedTiers: boolean = false;\r\n AccExpIsAccGr: boolean = false;\r\n AccExpIsOverrideTiers: boolean = false;\r\n AccExpSesssions: AccExpSesssions[] = [];\r\n}\r\nexport interface AccExpSesssions {\r\n ServerID: number | null;\r\n SessionID: number | null;\r\n AccExpID: number | null;\r\n FromDay: number | null;\r\n ToDay: number | null;\r\n FromHour: number | null;\r\n ToHour: number | null;\r\n FromMinute: number | null;\r\n ToMinute: number | null;\r\n Tiers: string | null;\r\n TiersJson: string | null;\r\n}\r\nexport interface AccSecTypeClass {\r\n AccExpID: number;\r\n SecTypeID: number;\r\n MargTiers: string;\r\n}\r\nexport interface AccExp {\r\n AccExpID?: number;\r\n ServerID: number;\r\n NTID: number;\r\n MargTiers: string;\r\n SecTypeIDs: string;\r\n VolTypeID: number;\r\n AccExpPending: boolean;\r\n AccExpEnabled: boolean;\r\n AccExpStrategyName: string;\r\n AccExpGroups: string;\r\n AccExpLogins: string;\r\n AccExpSymbols: string;\r\n AccExpSecurities: string;\r\n AccExpLimit: number;\r\n AccExpHedgeCon: boolean;\r\n AccExpMargTiers: string;\r\n AccExpPriority: number;\r\n AccExpOldTrades: boolean;\r\n AccExpFixedTiers: boolean;\r\n AccExpIsAccGr: boolean;\r\n AccExpPendingMargin: boolean;\r\n AccExpIsOverrideTiers: boolean;\r\n}\r\nexport interface BulkAccExpClass {\r\n AccountIDs: string;\r\n UpdateAccExpLimit: boolean;\r\n AccExpLimit: number;\r\n UpdateAccExpEnabled: boolean;\r\n AccExpEnabled: boolean;\r\n AccExpHedgeCon: boolean;\r\n UpdateHedgeControl: boolean;\r\n}\r\nexport interface DMActivation {\r\n ServerID: number;\r\n ActivationLogins: string;\r\n}\r\n//#endregion\r\n\r\n\r\nexport interface TemplateClass {\r\n DocName: string;\r\n DocData: string;\r\n}\r\nexport interface PFSettings {\r\n PFCalculationWay?: string;\r\n}\r\nexport interface ClientListResult {\r\n ClientRangeID: number;\r\n ClientID: string;\r\n text: string;\r\n rowFilter?: number | null;\r\n}\r\nexport interface Logos {\r\n LightLogo: string;\r\n DarkLogo: string;\r\n Icon: string;\r\n SecondaryIcon: string;\r\n IsCircular: boolean;\r\n}\r\nexport class OperationLogDetails {\r\n //AutoCopy\r\n CopierAccount: string = \"\";\r\n MasterAccount: string = \"\";\r\n ARule: string = \"\";\r\n IsReverse: boolean = false;\r\n CopyIsReversed: number = 0;\r\n ReverseDateStr: string = \"\";\r\n\r\n //Deposit - Withdrawal\r\n PaymentMethod: string = \"\";\r\n BankName: string = \"\";\r\n BenifName: string = \"\";\r\n BenifAddress: string = \"\";\r\n BenifAccNumber: string = \"\";\r\n BankAddress: string = \"\";\r\n Swift: string = \"\";\r\n IBAN: string = \"\";\r\n ttCopy: string = \"\";\r\n ClientEmail: string = \"\";\r\n MerchantID: string = \"\";\r\n PaymentName: string = \"\";\r\n OrderID: string = \"\";\r\n //Withdrawal\r\n CardNumber: string = \"\";\r\n BankCurrency: string = \"\";\r\n BenifBankName: string = \"\";\r\n //account info\r\n OldAccType: string = \"\";\r\n AccType: string = \"\";\r\n AccountType: string = \"\";\r\n OldAccLeverage: string = \"\";\r\n AccLeverage: string = \"\";\r\n\r\n ttcopy: string = \"\";\r\n //Transfer\r\n ToAcc: string = \"\";\r\n\r\n //New Account\r\n CreationReason: string = \"\";\r\n ReferralCode: string = \"\";\r\n AccLeverageID: number = 0;\r\n AccCurrencyID: number = 0;\r\n AccTypeID: number = 0;\r\n ClientID: string = \"\";\r\n Email: string = \"\";\r\n Platform: string = \"\";\r\n ServerName: string = \"\";\r\n AutomaticLoginTxt: string = \"\";\r\n AccCurrency: string = \"\";\r\n\r\n\r\n //Admin Request\r\n AutomaticLogin: boolean = false;\r\n ServerID: number = 0;\r\n Login: number = 0;\r\n CountryName: string = \"\";\r\n NewLogin: boolean = false;\r\n\r\n //Common fields\r\n Account: string = \"\";\r\n Amount: number = 0;\r\n AmountCurrency: string = \"\";\r\n ConvertedAmount: number = 0;\r\n ConvertedAmountCurrency: string = \"\";\r\n Reason: string = \"\";\r\n StatuxTxt: string = \"\";\r\n CreationDateStr: string = \"\";\r\n ActionDateStr: string = \"\";\r\n Note: string = \"\";\r\n\r\n\r\n CardHolderName: string = \"\";\r\n Province: string = \"\";\r\n City: string = \"\";\r\n Branch: string = \"\";\r\n\r\n Name: string = \"\";\r\n Phone: string = \"\";\r\n Governorate: string = \"\";\r\n}\r\n\r\nexport interface SendPassword {\r\n IsAdmin: boolean;\r\n Email: string;\r\n UserEmail: string;\r\n Password: string;\r\n}\r\nexport interface PowercashDepositParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n Note: string;\r\n Email: string;\r\n IP: string;\r\n isWallet: boolean;\r\n ttCopy: string | null;\r\n}\r\nexport interface RiskMeasuresRequest {\r\n AccountID: number;\r\n //Login: stringn req.login;as i\r\n Year: number;\r\n Months: string;\r\n}\r\nexport class AddUpdateStopOutRequest {\r\n StopOutID: number = 0;\r\n ServerID: number = 0;\r\n StopOutEnabled: boolean = false;\r\n StopOutStrategyName: string = '';\r\n StopOutGroups: string = '';\r\n StopOutLogins: string = '';\r\n StopOutABook: boolean = false;\r\n StopOutHedge: boolean = false;\r\n ReadOnlyAccounts: boolean = false;\r\n StopOutPriority: number = 0;\r\n}\r\nexport interface BulkUpdateStopOutRequestClass {\r\n StopOutIDs: string;\r\n UpdateStopOutEnabled: boolean;\r\n StopOutEnabled: boolean;\r\n}\r\nexport interface LoadStopOutStopOutsResult {\r\n StopOutID: number;\r\n ServerID: number;\r\n StopOutEnabled: boolean;\r\n StopOutStrategyName: string;\r\n StopOutPriority: number;\r\n}\r\nexport interface GetStopOutDetailsResult {\r\n ServerID: number;\r\n StopOutEnabled: boolean;\r\n StopOutStrategyName: string;\r\n StopOutGroups: string;\r\n StopOutLogins: string;\r\n StopOutABook: boolean;\r\n StopOutHedge: boolean;\r\n ReadOnlyAccounts: boolean;\r\n StopOutPriority: number;\r\n}\r\nexport class AllCharts {\r\n BSTradesPerSymbol: DashboardBSTradesPerSymbol = new DashboardBSTradesPerSymbol();\r\n TradesPerSymbol: DashboardTradesPerSymbol[] = [];\r\n BestWorst: string = '';\r\n DepWith: string = '';\r\n StandardDeviationDownsideDeviation: string = '';\r\n AllocPerLogins: string = '';\r\n YTD: string = '';\r\n GainValue: number = 0;\r\n NetAssetValue: string = '';\r\n GainBody: string = '';\r\n VolumeAlloc: string = '';\r\n AvgDuration: string = '';\r\n WinLoose: string = '';\r\n NegativePositivePeriods: string = '';\r\n CumulativeROIPer: string = '';\r\n ExposureLevel: string = '';\r\n HistoricalPerformance: string = '';\r\n ROI: number = 0;\r\n AverageGain: number = 0;\r\n AverageLoss: number = 0;\r\n NetAssetNumber: number = 0;\r\n MeanReturn: number = 0;\r\n TraderPerformance: TraderPerformance = new TraderPerformance();\r\n TraderInstrumentsChart: TraderInstrumentsChart = new TraderInstrumentsChart();\r\n GetInstrumentsPieChart: InstrumentsPieChart[] = [];\r\n}\r\nexport class TraderAccountSummary {\r\n Currency: string = '';\r\n AllTimePerfROI: number = 0;\r\n PL: number = 0;\r\n UnrealisedPL: number = 0;//equity - balace\r\n MaxDD: number = 0;\r\n SharpeRatio: number = 0;\r\n PipsMade: number = 0;\r\n Balance: number = 0;\r\n Equity: number = 0;\r\n Deposit: number = 0;\r\n Withdrawals: number = 0;\r\n AccountAgeDays: number = 0;\r\n ClosedTrades: number = 0;\r\n WinningTrades: number = 0;\r\n LosingTrades: number = 0;\r\n WinRatio: number = 0;\r\n AverageTradeLength: string = ''; /*1h 11m*/\r\n AvgTradesPerWeek: number = 0;\r\n}\r\nexport class TraderPerformance {\r\n AccountSummary: TraderAccountSummary = new TraderAccountSummary();\r\n //ROIPipsChart: TraderROIPipsChart[]; pips removed \r\n ROIPipsChartString: string = '';\r\n}\r\nexport class TraderInstrumentsChart {\r\n Symbols: string[] = [];\r\n Profit: number[] = [];\r\n Loss: number[] = [];\r\n}\r\nexport class InstrumentsPieChart {\r\n name: string = '';//Symbol\r\n y: number = 0;//SymbolPer\r\n}\r\nexport interface LoadMarginBonusPromotionsResult {\r\n PID: number;\r\n Title: string;\r\n //GroupServerID?: number;\r\n //GroupServerType?: string;\r\n Countries?: string;\r\n Groups?: string;\r\n Referrals?: string;\r\n isAnd: boolean;\r\n}\r\nexport interface IBManualSync {\r\n ServerID: number;\r\n From: Date | string;\r\n To: Date | string;\r\n ClientID: string | null;\r\n Type: string;\r\n}\r\nexport interface IBManualSyncResult {\r\n IsSuccessed: boolean;\r\n FailureReason: string;\r\n}\r\nexport interface AssignContactToClientMulti {\r\n ContactID: string;\r\n ClientID: string;\r\n Email: string;\r\n IsBulk: boolean;\r\n}\r\nexport interface TransactionRate {\r\n FromCurrency: string;\r\n ToCurrency: string;\r\n PMID: number;\r\n AccountID: number;\r\n}\r\n//#region filter IbDetialedReport\r\nexport interface IBDetailedFiltrationResult {\r\n Pools: GetPoolsResult[];\r\n Countries: GetCountriesResult[];\r\n IBs: LoadIBWalletResult[];\r\n}\r\n//#endregion\r\nexport interface DeleteSignalConfigurationRequest {\r\n SCID: number;\r\n SignalID: number;\r\n}\r\nexport interface CopiersData {\r\n //AutoCopy\r\n CopierAccount: string;\r\n MasterAccount: string;\r\n ARule: string;\r\n IsReverse: boolean;\r\n Amount: boolean;\r\n IsMinLot: boolean;\r\n}\r\nexport interface GetSignalAccListResult {\r\n Login: string;\r\n Name: string;\r\n AccountID: number;\r\n}\r\n//#region PF \r\nexport interface GetForcedPFValuesResult {\r\n Result: number;\r\n ManagerDate: Date | string;\r\n ToBeForced: RetMonthlyFee[];\r\n ToBeUpdated: MonthlyFees[];\r\n ForcedSlaves: ForcedSlaves;\r\n}\r\nexport interface RetMonthlyFee {\r\n AccountID: number;\r\n ServerID: number;\r\n LiveEquity: number;\r\n LiveEquityDate: Date | string;\r\n ProfileID: number;\r\n}\r\nexport interface MonthlyFees {\r\n ProfileID: number;\r\n Date: Date | string | null;\r\n AccountID: number;\r\n ServerID: number;\r\n PeriodGL: number;\r\n PF: number;\r\n NetReturn: number;\r\n NetReturnPer: number;\r\n BeginningNAV: number;\r\n EndingNAV: number;\r\n EndingGAV: number;\r\n HWM: number;\r\n CFloss: number;\r\n DW: number;\r\n InitialInvestments: number;\r\n}\r\nexport interface ForcedSlaves {\r\n forcedSlaves: ActionSelectProfileSlavesResult[];\r\n MasterLogin: number;\r\n MasterAccountID: number;\r\n ServerID: number;\r\n ServerName: string;\r\n Type: string;\r\n ProfileID: number;\r\n}\r\nexport interface ActionSelectProfileSlavesResult {\r\n AccountID: number;\r\n InvestorLogin: number;\r\n}\r\n//#endregion\r\nexport class ImmutableAccountInfoStates {\r\n manageIsReadOnly: boolean = false;\r\n manageName: string = \"\";\r\n manageEmail: string = \"\";\r\n managePhone: string = \"\";\r\n manageMTStatus: string = \"\";\r\n manageIDNumber: string = \"\";\r\n manageCountry: string = \"\";\r\n manageCity: string = \"\";\r\n manageState: string = \"\";\r\n manageAddress: string = \"\";\r\n manageZipCode: string = \"\";\r\n manageMetaQuotesID: string = \"\";\r\n manageTaxRate: string = \"\";\r\n manageLeadSource: string = \"\";\r\n manageComment: string = \"\";\r\n selectedLeverage: number = 0;\r\n}\r\nexport interface BankAccount {\r\n BAID: number;\r\n PMID: number;\r\n PTID: number;\r\n BenifName: string;\r\n BenifBankName: string;\r\n BenifAddress: string;\r\n BenifAccNumber: string;\r\n BankName: string;\r\n BankAddress: string;\r\n SwiftCode: string;\r\n IBAN: string;\r\n Branch: string;\r\n BankCurrency: string;\r\n CardNumber: string;\r\n ClientEmail: string;\r\n CardHolderName: string;\r\n CreationDate: Date | string;\r\n}\r\nexport class GetWalletInfoResult {\r\n IBWalletInfo: GetIBWalletInfo = new GetIBWalletInfo();\r\n WalletStrategies: string[] = [];\r\n}\r\nexport class GetIBWalletInfo {\r\n Name: string = '';\r\n Wallet: string = '';\r\n IBCode: string = '';\r\n MasterIB: string = '';\r\n}\r\nexport interface AccCurrency {\r\n AccountID: number;\r\n AccTypeID: number;\r\n Currency: string;\r\n}\r\nexport interface EditInvestorOldLog {\r\n Login: string;\r\n ProfileID: number;\r\n AruleName: string;\r\n IsReverse: boolean;\r\n Amount: number;\r\n InvType: number;\r\n}\r\nexport interface CashDepositParams {\r\n ttCopy: string;\r\n username: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n Note: string;\r\n isWallet: boolean;\r\n}\r\nexport interface PFSettingsAction {\r\n Method: string;\r\n OldMethod: string;\r\n PFECSPnlSharePerm: boolean | null;\r\n OldPFECSPnlSharePerm: boolean | null;\r\n}\r\nexport interface GetEmailLayoutResult {\r\n ELID: number;\r\n LanguageID: number;\r\n Content: string;\r\n BOEmails: string;\r\n ClientBOEmails: string;\r\n IsDefault: boolean;\r\n EmailTypeParams: GetEmailTypeParams[];\r\n}\r\nexport interface EmailLayout {\r\n ELID?: number;\r\n LanguageID: number;\r\n Content: string;\r\n BOEmails: string;\r\n ClientBOEmails: string;\r\n}\r\nexport interface GetEmailTemplateParamsResult {\r\n EmailTemplate: GetEmailTemplateResult;\r\n EmailTypeParams: GetEmailTypeParams[];\r\n}\r\nexport interface GetEmailTypeParams {\r\n ParamName: string;\r\n ParamDescription: string;\r\n\r\n}\r\nexport enum ERemovalBonusTypes {\r\n Off = 1,\r\n Date = 2,\r\n Days = 3\r\n\r\n}\r\nexport interface ContactUsClass {\r\n ContactID: string;\r\n Message: string;\r\n}\r\nexport interface GetPFMethodResult {\r\n PFCalculationWay: string;\r\n PFECSPnlSharePerm: boolean | null;\r\n}\r\nexport interface GetFilledEmailLayout {\r\n Subject: string;\r\n LanguageID: number;\r\n}\r\nexport interface ManagePoolBulkParams {\r\n PoolID: number;\r\n ClientIDs: string;\r\n Emails: string[];\r\n}\r\nexport interface GetAccountprofile {\r\n AccountID: number;\r\n ClientID: string;\r\n}\r\nexport enum EProfTypes {\r\n CTL = 1,\r\n CTP = 2,\r\n CPA = 3,\r\n CTSM = 4,\r\n}\r\nexport enum EDistProfTypes {\r\n Pips = 1,\r\n USDPerLot = 2,\r\n Commission = 3,\r\n Markup = 4,\r\n Swaps = 5,\r\n FirstDeposit = 6,\r\n AnyDeposit = 7,\r\n BothOfThem = 8,\r\n CTPercents = 9\r\n}\r\nexport interface DeleteIB {\r\n WalletID: string;\r\n ClientID: string;\r\n}\r\n//#region GBPrimeWithdrawal\r\nexport interface GBPrimePayWithdrawalParams {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n depositAmount: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n Note: string;\r\n isWallet: boolean;\r\n BankCode: string;\r\n BankAccount: string;\r\n AccountHolderName: string;\r\n}\r\n//#endregion\r\n//#region webhook\r\nexport interface WebHookData {\r\n WebHookTypes: WebHookTypes[];\r\n WebHookPayments: WebHookPayments[];\r\n WebHookSB: WebHookSB;\r\n}\r\nexport interface WebHookTypes {\r\n WHTypeID: number;\r\n WHType: string;\r\n}\r\nexport interface WebHookPayments {\r\n PMID: number;\r\n Payment: string;\r\n IsDeposit: boolean;\r\n}\r\nexport interface WebHookSB {\r\n IsEnabled: boolean;\r\n Name: string;\r\n Token: string;\r\n Receiver: string;\r\n Target: string;\r\n WHTypeID: number;\r\n PMID: number;\r\n PaymentName: string;\r\n}\r\n\r\nexport interface GetWebHookTableRequest {\r\n SearchTerm: string;\r\n OrderByTerm: string;\r\n OrderByDir: number;\r\n SkipTerm: number;\r\n TakeTerm: number;\r\n}\r\n\r\nexport interface WHTableLoad {\r\n WHID: number;\r\n Target: string;\r\n Type: string;\r\n Name: string;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\n\r\nexport interface AddUpdateWebHook {\r\n WHID: number;\r\n PMID: number;\r\n URL: string;\r\n key: string;\r\n Name: string;\r\n Receiver: string;\r\n IsEnabled: boolean;\r\n WHTypeID: number;\r\n}\r\n//#endregion\r\nexport interface B2BinpayDepositParams {\r\n isWallet: boolean;\r\n ttCopy: string;\r\n depositCurrencyID: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: string;\r\n depositCurrencyText: string;\r\n fullCurrencyNetworkText: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n}\r\nexport interface B2BinPayWithdrawalParams {\r\n walletAddress: string;\r\n walletID: string;\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n paymentText: string;\r\n withdrawalAmount: string;\r\n withdrawalCurrencyID: string;\r\n withdrawalCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n Note: string;\r\n isWallet: boolean;\r\n BankCode: string;\r\n BankAccount: string;\r\n AccountHolderName: string;\r\n}\r\n//#region EasyWire\r\nexport interface EasyWireDepositParams {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: string;\r\n depositCurrencyText: string;\r\n customerReference: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n}\r\n//#endregion \r\n//#region easyWire\r\nexport interface EasyWireWithdrawalParams {\r\n BranchNumber: string;\r\n BankName: string;\r\n BankAccountNumber: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n key: string;\r\n dep_paymentID: string;\r\n withdrawalAmount: string;\r\n withdrawalCurrencyText: string;\r\n CustomerName: string;\r\n withdrwalAccountType: string;\r\n}\r\n//#endregion\r\n\r\nexport interface AssignClientOwner {\r\n ContactID: string;\r\n ClientID: string; //it can be multiple client id\r\n}\r\n//#endregion\r\n//#region B2B\r\nexport const B2B_PAYMENTS = [\r\n { \"label\": \"Bitcoin\", \"value\": \"BTC\", \"parent\": \"BTC\" },\r\n { \"label\": \"Litecoin\", \"value\": \"LTC\", \"parent\": \"LTC\" },\r\n { \"label\": \"Dash\", \"value\": \"DASH\", \"parent\": \"DASH\" },\r\n { \"label\": \"Bitcoin Cash\", \"value\": \"BCH\", \"parent\": \"BCH\" },\r\n { \"label\": \"Monero\", \"value\": \"XMR\", \"parent\": \"XMR\" },\r\n { \"label\": \"Ripple\", \"value\": \"XRP\", \"parent\": \"XRP\" },\r\n { \"label\": \"Dogechain\", \"value\": \"DOGE\", \"parent\": \"DOGE\" },\r\n { \"label\": \"Zcash\", \"value\": \"ZEC\", \"parent\": \"ZEC\" },\r\n { \"label\": \"Stellar\", \"value\": \"XLM\", \"parent\": \"XLM\" },\r\n { \"label\": \"TRON\", \"value\": \"TRX\", \"parent\": \"TRX\" },\r\n { \"label\": \"TRON\", \"value\": \"USDC-TRX\", \"parent\": \"USDC\" },\r\n { \"label\": \"TRON\", \"value\": \"USDT-TRX\", \"parent\": \"USDT\" }\r\n];\r\n//#endregion\r\n\r\n//#region Dynamic MArgin \r\nexport class TierClass {\r\n SessionID: number = 0;\r\n ProfileExpLimit: string | number = '';\r\n levels: string | number = 0;\r\n MarginTiles: any /*IMarginTiles[]*/ = [];\r\n MarginTiers: any = '';\r\n FromDay: number = 0;\r\n ToDay: number = 0;\r\n FromHour = \"00\";\r\n FromMinute = \"00\";\r\n ToHour = \"00\";\r\n ToMinute = \"00\";\r\n isEdit = false;\r\n};\r\nexport interface DMProfilesData {\r\n DMProfiles: GetDyanmicMarginProfilesDetailsResult;\r\n DMSessions: DMSessionsResult[];\r\n}\r\nexport interface GetDyanmicMarginProfilesDetailsResult {\r\n ProfileID: number;\r\n ServerID: number;\r\n SecTypeID: number;\r\n VolTypeID: number;\r\n ProfileEnabled: boolean;\r\n ProfileStrategyName: string;\r\n ProfileGroups: string;\r\n ProfileLogins: string;\r\n ProfileSymbols: string;\r\n ProfileSecurities: string;\r\n ProfileExpLimit: number;\r\n ProfileHedgeCon: boolean;\r\n ProfileMargTiers: string;\r\n ProfilePending: boolean;\r\n ProfileOldTrades: boolean;\r\n ProfilePriority: number;\r\n ProfileDefaultPref: boolean;\r\n ProfileIsOverrideTiers: boolean;\r\n ProfileIsDefaultMargin: boolean;\r\n}\r\nexport interface DMSessionsResult {\r\n SessionID: number;\r\n FromDay: number;\r\n FromHour: number;\r\n FromMinute: number;\r\n ToDay: number;\r\n ToHour: number;\r\n ToMinute: number;\r\n Tiers: string;\r\n TiersJson: string;\r\n isEdit: boolean;\r\n}\r\nexport interface GetDyanmicMarginAccountDetailsResult {\r\n AccExp: AccExp;\r\n AccSecType: AccSecTypeClass[];\r\n DMSessions: DMSessionsResult[];\r\n\r\n}\r\n//#endregion\r\nexport interface BecomeAnIBOrMAM {\r\n ClientName: string;\r\n ClientRangeID: string;\r\n ClientEmail: string;\r\n Type: string;\r\n}\r\nexport interface DusuPayDepositParam {\r\n ttCopy: string;\r\n country: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: number;\r\n depositCurrencyText: string;\r\n AccountName: string;\r\n AccountEmail: string;\r\n MobileAccountNumber: string;\r\n Description: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n PaymentMethod: string;\r\n ProviderID: string;\r\n}\r\nexport interface SurepayDepositParams {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n customerID: string;\r\n depositAmount: number;\r\n to_account: string;\r\n dep_paymentID: string;\r\n host: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n CustomerName: string;\r\n}\r\nexport interface StripeDepositParams {\r\n isWallet: boolean;\r\n ttCopy: string;\r\n depositCurrencyID: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: string;\r\n depositCurrencyText: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n}\r\nexport interface Fast2paysDepositParam {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: number;\r\n depositCurrencyText: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n UserID: string;\r\n BankCode: string;\r\n DepositType: string;\r\n}\r\nexport interface NineParams {\r\n ttCopy: string;\r\n ClientID: string;\r\n country: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: string;\r\n depositCurrencyText: string;\r\n customerReference: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n CryptoCurrencyCode: string;\r\n}\r\nexport interface NinePayValidateAccountParam {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n BankCode: string;\r\n AccountNumber: string;\r\n AccountType: number;\r\n}\r\nexport interface Match2PayDepositParams {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: number;\r\n depositCurrencyText: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n CryptoCurrencyCode: string;\r\n PaymentGatewayName: string;\r\n CustomerReference: string;\r\n}\r\nexport interface Help2PayDepositParams {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: string;\r\n depositCurrencyText: string;\r\n customerReference: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n BankCode: string;\r\n}\r\nexport interface FeeAgentsClass {\r\n ManagementWalletID: string;\r\n ManagementPer: number;\r\n RegistrationAmount: string;\r\n RegistrationWalletID: number;\r\n}\r\nexport interface GetFeesSBResult {\r\n FAID: number;\r\n ManagementWalletID: string;\r\n RegistrationWalletID: string;\r\n ManagementPer: number | null;\r\n RegistrationAmount: number | null;\r\n}\r\nexport interface BigPayWithdrawalParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n key: string;\r\n dep_paymentID: string;\r\n withdrawalAmount: number;\r\n currencyText: string;\r\n Host: string;\r\n BankNameDest: string;\r\n BankAccountNumberDest: string;\r\n BankAccountNameDest: string;\r\n CustomerRefernce: string;\r\n Order: string;\r\n}\r\nexport interface CapitalWalletDepositResponse {\r\n WalletAddress: string;\r\n DepositCryptoAmount: string;\r\n IsSuccess: boolean;\r\n Message: string;\r\n}\r\nexport interface GateToPayDeposit {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: number;\r\n depositCurrencyText: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n CustomerReference: string;\r\n CardExpirationDate: string;\r\n OTP: string;\r\n OrderID: string;\r\n\r\n}\r\nexport interface NaceDeposit {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: number;\r\n depositCurrencyText: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n CryptoCurrencyText: string;\r\n}\r\nexport enum EPayments {\r\n TapPay_KNET = 'tappay-knet',\r\n TapPay_CreditCard_USD = 'tappay-creditcard-usd',\r\n TapPay_CreditCard_KWD = 'tappay-creditcard-kwd',\r\n TapPay_KNET_WG = 'tappay-knet-wg',\r\n TapPay_Creditcard_KWD_WG = 'tappay-creditcard-kwd-wg',\r\n TapPay_Creditcard_USD_WG = 'tappay-creditcard-usd-wg',\r\n TapPay_Creditcard_USD_WG_ِِA = 'tappay-creditcard-usd wg_a',\r\n SticPay = 'sticpay',\r\n SKRILL = 'skrill',\r\n SKRILL_USD = 'skrill-usd',\r\n SKRILL_GBP = 'skrill-gbp',\r\n SKRILL_EUR = 'skrill-eur',\r\n SKRILL_JPY = 'skrill-jpy',\r\n RPN_P2P = 'rpn-p2p',\r\n PaySafeNeteller = 'paysafeneteller',\r\n GateToPay = 'gatetopay',\r\n GateToPay_A = 'gatetopay_a',\r\n FasaPay = 'fasapay',\r\n Alogateway = 'alogateway',\r\n NACE = 'nace',\r\n BankWire = 'bankwire',\r\n BankWire_A = 'bankwire_a',\r\n Bankwire2 = 'bankwire2',\r\n Bankwire2_A = 'bankwire2_a',\r\n Cash = 'cash',\r\n NETELLER = 'neteller',\r\n NowPayments = 'nowpayments',\r\n myfatoorah = 'myfatoorah-knet',\r\n myfatoorah_a = 'myfatoorah_a-knet',\r\n myfatoorah_creditcard = 'myfatoorah-credit card',\r\n myfatoorah_a_creditcard = 'myfatoorah_a-credit card',\r\n ONE_GLOBAL = 'oneglobal',\r\n ONE_GLOBAL_KNET = 'oneglobal-knet',\r\n HESABE = 'hesabe',\r\n HESABE_KNET = 'hesabe-knet',\r\n HESABE_WG = 'hesabe-wg',\r\n HESABE_WG_A = 'hesabe-wg_a',\r\n Hesabe_Knet_WG_A = 'hesabe-knet-wg_a',\r\n HESABE_KNET_WG = 'hesabe-knet-wg',\r\n virtualpay = 'virtualpay',\r\n VIRTUALPAY_CARD = 'virtualpay-card',\r\n VIRTUALPAY_MOBILE = 'virtualpay-mobile',\r\n NGN_BANK_TRANSFER = 'ngnbanktransfer',\r\n DUSUPAY = 'dusupay',\r\n DUSUPAY_BANK = 'dusupay-bank',\r\n DUSUPAY_MOBILE = 'dusupay-mobile',\r\n ASIA_PAYMENT = 'asiapayment',\r\n UPay = 'UPay',\r\n};\r\nexport const MARKET_EQUITY_PAYMENT_POOLS: any = {\r\n DefaultPool: [\r\n EPayments.NGN_BANK_TRANSFER,\r\n EPayments.SticPay,\r\n EPayments.SKRILL,\r\n EPayments.SKRILL_EUR,\r\n EPayments.SKRILL_GBP,\r\n EPayments.SKRILL_USD,\r\n EPayments.SKRILL_JPY,\r\n EPayments.PaySafeNeteller,\r\n EPayments.GateToPay,\r\n EPayments.FasaPay,\r\n EPayments.BankWire,\r\n EPayments.Bankwire2,\r\n EPayments.NETELLER,\r\n\r\n EPayments.TapPay_KNET,\r\n EPayments.TapPay_CreditCard_USD,\r\n EPayments.TapPay_CreditCard_KWD,\r\n\r\n\r\n EPayments.Cash,\r\n EPayments.ONE_GLOBAL,\r\n EPayments.ONE_GLOBAL_KNET,\r\n EPayments.HESABE,\r\n EPayments.HESABE_KNET,\r\n\r\n ],\r\n DefaultWG: [\r\n EPayments.SticPay,\r\n EPayments.SKRILL,\r\n EPayments.SKRILL_EUR,\r\n EPayments.SKRILL_GBP,\r\n EPayments.SKRILL_USD,\r\n EPayments.SKRILL_JPY,\r\n EPayments.PaySafeNeteller,\r\n EPayments.GateToPay,\r\n EPayments.FasaPay,\r\n EPayments.BankWire,\r\n EPayments.Bankwire2,\r\n EPayments.NETELLER,\r\n\r\n EPayments.TapPay_KNET_WG,\r\n EPayments.TapPay_Creditcard_USD_WG,\r\n EPayments.TapPay_Creditcard_KWD_WG,\r\n\r\n\r\n\r\n EPayments.Cash,\r\n EPayments.ONE_GLOBAL,\r\n EPayments.ONE_GLOBAL_KNET,\r\n\r\n EPayments.HESABE_WG,\r\n EPayments.HESABE_KNET_WG,\r\n ],\r\n ROW: [\r\n EPayments.SticPay,\r\n EPayments.SKRILL,\r\n EPayments.SKRILL_EUR,\r\n EPayments.SKRILL_GBP,\r\n EPayments.SKRILL_USD,\r\n EPayments.SKRILL_JPY,\r\n EPayments.PaySafeNeteller,\r\n EPayments.GateToPay,\r\n EPayments.FasaPay,\r\n EPayments.BankWire,\r\n EPayments.Bankwire2,\r\n EPayments.NETELLER,\r\n\r\n EPayments.TapPay_CreditCard_USD,\r\n EPayments.SticPay,\r\n\r\n EPayments.RPN_P2P,\r\n EPayments.Alogateway,\r\n EPayments.NACE,\r\n EPayments.myfatoorah,\r\n EPayments.myfatoorah_creditcard,\r\n\r\n\r\n EPayments.NowPayments,\r\n EPayments.virtualpay,\r\n EPayments.VIRTUALPAY_CARD,\r\n EPayments.VIRTUALPAY_MOBILE,\r\n\r\n EPayments.DUSUPAY,\r\n EPayments.DUSUPAY_BANK,\r\n EPayments.DUSUPAY_MOBILE,\r\n ],\r\n GCC: [\r\n EPayments.TapPay_CreditCard_USD,\r\n EPayments.SticPay,\r\n EPayments.SKRILL,\r\n EPayments.PaySafeNeteller,\r\n EPayments.GateToPay,\r\n EPayments.FasaPay,\r\n EPayments.myfatoorah,\r\n EPayments.myfatoorah_creditcard,\r\n EPayments.BankWire,\r\n EPayments.NETELLER,\r\n EPayments.HESABE_WG,\r\n EPayments.VIRTUALPAY_CARD,\r\n ],\r\n FEE_FREE: [\r\n EPayments.myfatoorah_a,\r\n EPayments.myfatoorah_a_creditcard,\r\n EPayments.TapPay_Creditcard_USD_WG_ِِA,\r\n EPayments.HESABE_WG_A,\r\n EPayments.Hesabe_Knet_WG_A,\r\n EPayments.GateToPay_A,\r\n EPayments.BankWire_A,\r\n EPayments.Bankwire2_A,\r\n ],\r\n};\r\nexport const IQX_PAYMENT_POOLS: any = {\r\n PH_Default: [EPayments.ASIA_PAYMENT] // withdrawal wallet\r\n};\r\nexport enum E_IQX_ACCOUNT_TYPES {\r\n PH_Standard = 13,\r\n PH_ECN = 14,\r\n PH_Markup_1 = 15,\r\n}\r\nexport enum E_IQX_POOLS {\r\n PH_Default = 9,\r\n}\r\nexport enum EMARKET_EQUITY_POOLS {\r\n DefaultPool = 1,\r\n DefaultWG = 7,\r\n ROW = 6,\r\n IB_USER = 3,\r\n Bonus = 4,\r\n GCC = 8,\r\n FEE_FREE = 9,\r\n}\r\nexport interface NaceDepositResponse {\r\n address: string;\r\n price: number;\r\n}\r\nexport interface MyFatoorahPaymentMethod {\r\n PaymentMethodId: number;\r\n PaymentMethodAr: string;\r\n PaymentMethodEn: string;\r\n PaymentMethodCode: string;\r\n IsDirectPayment: boolean;\r\n ServiceCharge: number;\r\n TotalAmount: number;\r\n CurrencyIso: string;\r\n ImageUrl: string;\r\n IsEmbeddedSupported: boolean;\r\n PaymentCurrencyIso: string;\r\n}\r\nexport interface MyFatoorahDeposit {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: number;\r\n depositCurrencyText: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n PaymentMethodId: number;\r\n CustomerName: string;\r\n}\r\nexport interface DepositBaseParams {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: number;\r\n depositCurrencyText: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n}\r\nexport interface DepositEmailParams extends DepositBaseParams {\r\n Email: string;\r\n}\r\nexport interface FlutterwaveBank {\r\n id: number;\r\n code: string;\r\n name: string;\r\n}\r\nexport interface FlutterwaveGetParams {\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n countryCode: string;\r\n}\r\nexport interface HesabeDepositParams extends DepositBaseParams {\r\n IsKent: boolean;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n Phone: string;\r\n}\r\nexport interface EUPaymentzDepositParams extends DepositBaseParams {\r\n Email: string;\r\n FirstName: string;\r\n LastName: string;\r\n Address: string;\r\n City: string;\r\n ZipCode: string;\r\n State: string;\r\n Country: string;\r\n Phone: string;\r\n}\r\nexport class SignalRSingleton {\r\n private static instance: SignalRSingleton;\r\n\r\n constructor() {\r\n if (SignalRSingleton.instance) {\r\n throw new Error(\"Error - use Singleton.getInstance()\");\r\n }\r\n this.inProgress = false;\r\n this.token = '';\r\n this.failedInRowCount = 0;\r\n }\r\n static getInstance(): SignalRSingleton {\r\n SignalRSingleton.instance = SignalRSingleton.instance || new SignalRSingleton();\r\n return SignalRSingleton.instance;\r\n }\r\n inProgress: boolean;\r\n token: string;\r\n failedInRowCount: number;\r\n}\r\nexport interface CFXDepositParams {\r\n ttCopy: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n depositAmount: string;\r\n depositCurrencyText: string;\r\n customerReference: string;\r\n depositCurrencyID: string;\r\n to_account: string;\r\n host: string;\r\n email: string;\r\n cryptoCurrency: string;\r\n paymentText: string;\r\n Note: string;\r\n isWallet: boolean;\r\n}\r\n//#region UPay\r\nexport interface PaymentSettingsReq {\r\n host: string;\r\n paymentText: string;\r\n paymentType: string;\r\n to_account: string;\r\n token: string;\r\n dep_paymentID: string;\r\n companyName: string;\r\n depositAmount: string;\r\n isWallet: boolean;\r\n ttCopy: string;\r\n Note: string;\r\n depositCurrencyID: string;\r\n depositCurrencyText: string;\r\n}\r\nexport interface UPaySupportChainsRes {\r\n chainName: string;\r\n chainFullName: string;\r\n}\r\nexport interface UPayWalletAddressesReq extends PaymentSettingsReq {\r\n\r\n customerId: string;\r\n chainName: string;\r\n mt5Id: string;\r\n}\r\nexport interface UPayWalletAddressesRes {\r\n chainName: string;\r\n address: string;\r\n merchantOrderID: string;\r\n result: string;\r\n}\r\n\r\nexport interface UPayDepositRes {\r\n customerId: string;\r\n orderId: string;\r\n orderType: string;\r\n chainName: string;\r\n txHash: string;\r\n amount: number;\r\n status: string;\r\n createdAt: string;\r\n secretKey: string;\r\n}\r\nexport interface CreateWithdrawalOrderReq extends PaymentSettingsReq {\r\n customerId: string;\r\n orderRef: string;\r\n chainName: string;\r\n toAddress: string;\r\n amount: number;\r\n}\r\nexport interface CreateWithdrawalOrderResponse {\r\n id: string;\r\n orderRef: string;\r\n merchantCode: string;\r\n customerId: string;\r\n toAddress: string;\r\n amount: number;\r\n status: string;\r\n portaStatus: number;\r\n createdAt: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region NGN BANK TRANSFER\r\nexport interface NGNBankTransferInitiatePaymentReq extends PaymentSettingsReq {\r\n merchantTransactionID?: string;\r\n currencyCode: string;\r\n requestAmount: number;\r\n countryCode: string;\r\n accountNumber: string;\r\n dueDate: string;\r\n requestDescription?: string;//optional\r\n customerFirstName: string;\r\n customerLastName: string;\r\n msisdn: string;\r\n customerEmail: string;\r\n //payment settings\r\n serviceCode?: string;\r\n paymentWebhookUrl?: string;\r\n successRedirectUrl?: string;//optional\r\n FailRedirectUrl?: string;//optional\r\n\r\n\r\n}\r\nexport interface NGNStatus {\r\n statusCode: number;\r\n statusDescription: string;\r\n}\r\nexport interface NGNResults {\r\n checkoutRequestID: number;\r\n merchantTransactionID: string;\r\n originalCurrencyCode: string;\r\n convertedCurrencyCode: string;\r\n requestAmount: number;\r\n convertedAmount: number;\r\n conversionRate: number;\r\n paymentOptions: PaymentOption[];\r\n}\r\n\r\n\r\nexport interface NGNBankTransferInitiateResponse {\r\n resp: NGNBankTransferInitiateResp;\r\n referenceKey: string;\r\n}\r\nexport interface NGNBankTransferInitiateResp {\r\n statusCode: number;\r\n statusDescription: string;\r\n checkoutRequestID: number;\r\n merchantTransactionID: string;\r\n originalCurrencyCode: string;\r\n convertedCurrencyCode: string;\r\n requestAmount: number;\r\n convertedAmount: number;\r\n conversionRate: number;\r\n paymentOptions: PaymentOption[];\r\n}\r\nexport interface NGNBankTransferChargeReq extends PaymentSettingsReq {\r\n merchantTransactionID?: string;\r\n checkoutRequestID: number;\r\n chargeMsisdn: string;\r\n chargeAmount: number;\r\n currencyCode: string;\r\n payerModeID: number;\r\n payerMode: string;\r\n languageCode?: string;//\"en\"\r\n\r\n\r\n //to Send to backoffice\r\n countryCode: string;\r\n accountNumber: string;\r\n customerFirstName: string;\r\n customerLastName: string;\r\n msisdn: string;\r\n}\r\nexport interface QueryRequestParameters {\r\n merchantTransactionID: string;\r\n serviceCode: string;\r\n checkoutRequestID: string;\r\n}\r\nexport interface NGNBankTransferQueryResponse {\r\n statusCode: number;\r\n statusDescription: string;\r\n checkoutRequestID: number;\r\n merchantTransactionID: string;\r\n requestStatusCode: number;\r\n MSISDN: number;\r\n serviceCode: string;\r\n serviceName: string;\r\n accountNumber: string;\r\n amountPaid: number;\r\n requestAmount: number;\r\n paymentCurrencyCode: string;\r\n requestCurrencyCode: string;\r\n requestDate: string;\r\n session: string;\r\n redirectURL: string;\r\n redirectTrigger: string;\r\n shortUrl: string;\r\n payments: Payment[];\r\n failedPayments: Payment[];\r\n rejectedPayments: Payment[];\r\n paymentInstructions: string;\r\n offline: boolean;\r\n customerNationalID: string;\r\n customerPassportNumber: string;\r\n\r\n\r\n}\r\nexport interface NGNBankTransferAcknowledgeRequest {\r\n checkoutRequestID: number;\r\n merchantTransactionID: string;\r\n statusCode: number;\r\n statusDescription: string;\r\n receiptNumber: string;\r\n currencyCode: string;\r\n acknowledgeAmount: number;\r\n}\r\nexport interface NGNBankTransferInitiateResponse {\r\n resp: NGNBankTransferInitiateResp;\r\n referenceKey: string;\r\n}\r\nexport interface NGNBankTransferChargeResponse {\r\n portalStatus: number;\r\n statusCode: number;\r\n statusDescription: string;\r\n checkoutRequestID: number;\r\n merchantTransactionID: string;\r\n chargeRequestID: number;\r\n paymentInstructions: string;\r\n languageCode: string;\r\n chargeMsisdn: number;\r\n chargeAmount: number;\r\n chargeRequestDate: string;\r\n thirdPartyResponse: ThirdPartyResponse;\r\n paymentRedirectUrl: string;\r\n}\r\nexport interface ThirdPartyResponse {\r\n tinggVirtualAccountID: string;\r\n tinggAccount: string;\r\n tinggBank: string;\r\n tinggName: string;\r\n}\r\nexport interface PaymentOption {\r\n paymentModeName: string;\r\n paymentModeID: number;\r\n serviceCode: string;\r\n payerClientName: string;\r\n payerModeID: number;\r\n paymentOptionCode: string;\r\n payerClientCode: string;\r\n countryCode: string;\r\n clientLogo: string;\r\n serviceName: string;\r\n minChargeAmount: number;\r\n maxChargeAmount: number;\r\n currencyCode: string;\r\n paymentInstructions: string;\r\n languageCode: string;\r\n}\r\nexport interface NGNBankAcknowledgementResponse {\r\n StatusCode: number;\r\n StatusDescription: string;\r\n CheckoutRequestID: number;\r\n MerchantTransactionID: string;\r\n RequestStatusCode: number;\r\n Payments: Payment[];\r\n}\r\n\r\n\r\nexport interface Payment {\r\n paymentID: number;\r\n checkoutRequestID: number;\r\n cpgTransactionID: string;\r\n payerTransactionID: string;\r\n mSISDN: number;\r\n accountNumber: string;\r\n customerName: string;\r\n amountPaid: number;\r\n merchantReceipt: string;\r\n payerNarration: string;\r\n receiverNarration: string;\r\n hubOverallStatus: number;\r\n statusCodeDesc: string;\r\n currencyID: number;\r\n payerClientCode: string;\r\n payerClientName: string;\r\n ownerClientCode: string;\r\n ownerClientName: string;\r\n ownerClientDisplayName: string;\r\n merchantTransactionID: string;\r\n convertedAmount: number;\r\n totalPayableAmount: number;\r\n datePaymentReceived: Date | string;\r\n datePaymentAcknowledged: Date | string | null;\r\n dateCreated: Date | string;\r\n currencyCode: string;\r\n countryCode: string;\r\n}\r\n//#endregion\r\nexport interface PaymentRes {\r\n portalStatus: number;\r\n Result: T;\r\n}\r\nexport interface DusuPayGetMethodsParam {\r\n country: string;\r\n paymentType: string;\r\n companyName: string;\r\n token: string;\r\n dep_paymentID: string;\r\n host: string;\r\n paymentMethod: string;\r\n}\r\nexport interface SandboxTestAccounts {\r\n success: string | null;\r\n failure: string | null;\r\n}\r\n\r\nexport interface IDusupayBankOption {\r\n id: string | null;\r\n name: string | null;\r\n transaction_currency: string | null;\r\n min_amount: number | null;\r\n max_amount: number | null;\r\n available: boolean | null;\r\n bank_code: string | null;\r\n sandbox_test_accounts: SandboxTestAccounts | null;\r\n}\r\n//#region Signals-PF\r\nexport class StringSelectOption {\r\n value: string = \"\";\r\n label: string = \"choose\";\r\n}\r\nexport interface GetSignalMonthlyFeesTableResult {\r\n Digits: number;\r\n PFDate: Date | string;\r\n CopierLogin: string;\r\n CFloss: number | null;\r\n ProfitPF: number | null;\r\n ChargedPF: number | null;\r\n rowTot: number | null;\r\n rowFilter: number | null;\r\n rn: number | null;\r\n}\r\nexport interface GetSignalCopierlistResult {\r\n Login: string;\r\n AccountID: number;\r\n SignalID: number;\r\n text: string;\r\n}\r\n//#endregion\r\n//#region AsiaPayment\r\nexport interface AsiaPaymentDepositParameters extends PaymentSettingsReq {\r\n merchant_reference: string;\r\n currency: string;\r\n amount: string;\r\n sign: string;\r\n return_url: string;\r\n customer_ip: string;\r\n customer_first_name: string;\r\n customer_last_name: string;\r\n customer_address: string;\r\n customer_phone: string;\r\n customer_email: string;\r\n customer_state: string;\r\n customer_country: string;\r\n network: string;\r\n}\r\n\r\nexport interface AsiaPaymentWithdrawalPayout {\r\n request_reference: string;\r\n\r\n beneficiary_first_name: string;\r\n beneficiary_last_name: string;\r\n\r\n beneficiary_name: string;\r\n\r\n bank_name: string;\r\n beneficiary_email: string;\r\n beneficiary_city: string;\r\n beneficiary_phone: string;\r\n beneficiary_identity_card: string;\r\n account_number: number;\r\n currency: string;\r\n amount: number;\r\n datafeed_url: string;\r\n sign: string;\r\n}\r\n//#endregion","import * as types from \"../constants\";\r\nimport { LoadCompanyLogoResult } from \"../../Interfaces/Interfaces\";\r\n\r\nexport function UpdateCompanySettings(CompanySettings: LoadCompanyLogoResult): types.UpdateCompanySettings {\r\n return {\r\n type: types.UPDATE_COMPANY_SETTINGS,\r\n payload: CompanySettings\r\n };\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nexport function HandleServerConnectivity(server: types.ServerConnection): types.HandleServerConnectivity {\r\n return {\r\n type: types.HANDLE_SERVER_CONNECTIVITY,\r\n payload: server\r\n };\r\n}\r\nexport function ADDSERVERS(servers: any): types.AddServerConnectivity {\r\n return {\r\n type: types.ADD_SERVERS,\r\n payload: servers\r\n };\r\n}","import { faCopy, faEllipsisV } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Avatar, Divider, Form, Input as AntInput, Skeleton } from 'antd';\r\nimport { default as ButtonANTD } from \"antd/es/button\";\r\nimport Checkbox from 'antd/es/checkbox';\r\nimport Radio from 'antd/es/radio';\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { toastr } from \"react-redux-toastr\";\r\nimport { default as Select } from 'react-select';\r\nimport { Button, Col, DropdownItem, DropdownMenu, DropdownToggle, FormGroup, Input, Label, Row, UncontrolledDropdown } from \"reactstrap\";\r\nimport { BasicValidation } from '../../components/ReusableComponents/ReusableElements/BasicElements';\r\nimport { ProfileModal } from '../../components/ReusableComponents/ReusableElements/Modals';\r\nimport { CallAxiosRequest } from '../../Helpers/axiosHelpers';\r\nimport { FillServerOptionsHelper } from '../../Helpers/DataFillingHelpers';\r\nimport { CheckPasswordStrength, password_generator, TimeZonesOptions, validateEmail } from '../../Helpers/DataHelpers';\r\nimport { BasicSelectOption } from '../../Interfaces/IApplicationForm';\r\nimport { BURequest, DashboardClass, GetGUDataResult, GUTraders, GUTradersOptions, LoadPlatformLinksResult, ProfileInfoAction, SendPassword, Servers, ServersOptions, translationType, UploadKYCDocumentRequest, YoonitRequest } from '../../Interfaces/Interfaces';\r\nimport { Login, Logout, UpdateTimezone } from '../../redux/actions/AuthActions';\r\nimport { ChangeLanguage } from '../../redux/actions/languageAction';\r\nimport { GetClientData, ICompanyData, ILanguageData, IStore, IUserData } from '../../redux/constants';\r\n\r\nconst mapStateToProps = (state: IStore) => ({\r\n LanguageData: state.LanguageData,\r\n ClientData: state.auth.ClientData,\r\n userData: state.auth.UserData,\r\n lang: state.language.value,\r\n history: state.history,\r\n URL: state.auth.UserData.yoonitGetURL,\r\n Servers: state.auth.Servers,\r\n theme: state.theme,\r\n ActionURL: state.auth.UserData.yoonitActionURL,\r\n CompanyData: state.auth.CompanyData,\r\n});\r\nconst $ = require(\"jquery\");\r\n\r\nconst dispatchProps = { push, Login, Logout, ChangeLanguage, UpdateTimezone }\r\n//const antIcon = ;\r\ninterface MyProfileProps {\r\n LanguageData: ILanguageData;\r\n ClientData: GetClientData;\r\n lang: translationType;\r\n userData: IUserData;\r\n push: any;\r\n ChangeLanguage: any;\r\n URL: string;\r\n theme: any;\r\n ActionURL: string;\r\n CompanyData: ICompanyData;\r\n Servers: any;\r\n openProfile: any;\r\n closeProfile: any;\r\n i18n: any;\r\n t: any;\r\n UpdateTimezone: any;\r\n}\r\n\r\ninterface MyProfileState {\r\n LoadPlatformLinksLoading: boolean;\r\n GetBUDataLoading: boolean;\r\n platformList: any[];\r\n EmailtoSendPassword: string;\r\n resetEmail: string;\r\n SendByEmail: boolean;\r\n passwordValue: any;\r\n autoGeneratePassword: string;\r\n GetGUTradersResult: GUTraders[];\r\n GetDashboardDataResponse: DashboardClass;\r\n serverSelectOptions: ServersOptions[];\r\n loginSelectOptions: GUTradersOptions[];\r\n serverSelectedValue: ServersOptions;\r\n loginSelectedValue: GUTradersOptions;\r\n capitalAloc: any;\r\n YTDROIChart: any;\r\n isLoading: boolean;\r\n ProfilesCopyMe: number;\r\n GetGUDataResult: any;\r\n LoadPlatformLinksResponse: any;\r\n currentPassword: any;\r\n newPassword: any;\r\n ConfirmPassword: any;\r\n currentEmail: any;\r\n currentPasswordEmail: any;\r\n newEmail: any;\r\n languageSelectOptions: any;\r\n languageSelectedValue: any;\r\n LinkPlatform: any;\r\n PLink: any;\r\n PDesc: any;\r\n profileImg: any;\r\n OpenMail: boolean;\r\n openPassword: boolean;\r\n openLangauge: boolean;\r\n openLinks: boolean;\r\n openTimeZone: boolean;\r\n TimeZone: number;\r\n TimeZonesOptions: any[];\r\n TimeZoneSelectedValue: any;\r\n openAutoGenerate: boolean;\r\n}\r\nvar companyName: any; var Token: any;\r\n\r\nclass MyProfile extends React.Component {\r\n state = {\r\n LoadPlatformLinksLoading: false,\r\n GetBUDataLoading: false,\r\n platformList: [] as any,\r\n EmailtoSendPassword: '',\r\n resetEmail: '',\r\n SendByEmail: false,\r\n passwordValue: 1,\r\n autoGeneratePassword: \"\",\r\n GetGUTradersResult: [],\r\n GetDashboardDataResponse: new DashboardClass(),\r\n serverSelectOptions: [],\r\n loginSelectOptions: [],\r\n serverSelectedValue: new ServersOptions(),\r\n loginSelectedValue: new GUTradersOptions(),\r\n capitalAloc: [],\r\n YTDROIChart: [],\r\n isLoading: false,\r\n ProfilesCopyMe: -1,\r\n GetGUDataResult: new GetGUDataResult(),\r\n LoadPlatformLinksResponse: [],\r\n currentPassword: '',\r\n newPassword: '',\r\n ConfirmPassword: '',\r\n currentEmail: '',\r\n currentPasswordEmail: '',\r\n newEmail: '',\r\n languageSelectOptions: [],\r\n languageSelectedValue: { value: \"en\" },\r\n LinkPlatform: '',\r\n PLink: [],\r\n PDesc: [],\r\n profileImg: \"\",\r\n OpenMail: false, openPassword: false, openLangauge: false, openLinks: false, openTimeZone: false, TimeZone: 0,\r\n TimeZonesOptions: [], TimeZoneSelectedValue: new BasicSelectOption() as any,\r\n openAutoGenerate: false,\r\n }\r\n componentDidMount() {\r\n this.LoadTimeZones();\r\n companyName = this.props.CompanyData.CompanyName;\r\n //GUID = ClientData.GlobalUser.guid;\r\n Token = this.props.userData.Token;\r\n //Token = ClientData.UserData.token;\r\n this.FillServerOptions(this.props.Servers, true);\r\n this.languageOptionsFunction(this.props.LanguageData.Options);\r\n\r\n }\r\n LoadPlatformLinks = () => {\r\n let Parms: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n };\r\n this.setState({ LoadPlatformLinksLoading: true });\r\n CallAxiosRequest(\r\n this.props.URL,\r\n `crm/LoadPlatformLinks`,\r\n Parms,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n if (res.data.ListRes) {\r\n this.setState({ platformList: res.data.ListRes })\r\n }\r\n this.setState({ LoadPlatformLinksLoading: false });\r\n },\r\n () => {\r\n this.setState({ LoadPlatformLinksLoading: false });\r\n },\r\n this.props.t\r\n );\r\n }\r\n openAutoGenerate = () => {\r\n this.setState({\r\n openAutoGenerate: true,\r\n EmailtoSendPassword: this.props.userData.UserName,\r\n })\r\n }\r\n closeAutoGenerate = () => {\r\n this.setState({ openAutoGenerate: false })\r\n }\r\n GetBUData = () => {\r\n var GetGUDataParams = {\r\n CompanyName: companyName,\r\n Token: Token,\r\n ObjData: {\r\n BUID: this.props.ClientData.BUID,\r\n ContactID: this.props.ClientData.ContactID\r\n }\r\n };\r\n this.setState({ GetBUDataLoading: true });\r\n CallAxiosRequest(\r\n this.props.URL,\r\n `Trader/GetBUData`,\r\n GetGUDataParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.LiveRes)\r\n this.setState({ GetGUDataResult: res.data.LiveRes }, () => {\r\n this.selectOptionByValue(this.state.GetGUDataResult && this.state.GetGUDataResult.TimeZoneCode ? this.state.GetGUDataResult.TimeZoneCode : \"\", this.state.TimeZonesOptions, \"TimeZoneSelectedValue\");\r\n });\r\n if (res?.data?.LiveRes?.Language) {\r\n this.selectOptionByValue(res?.data?.LiveRes?.Language, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n } else {\r\n this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n }\r\n //this.LoadPlatformLinks();//TOD check use\r\n\r\n //var wholeImg = res.data.LiveRes.ProfileImage;\r\n //this.setState({ profileImg: wholeImg });// to set Image\r\n ////if (wholeImg === \"\" || wholeImg === null || wholeImg === undefined) //@point img removed\r\n //// this.setState({ profileImg: imgPro });\r\n this.setState({ GetBUDataLoading: false });\r\n },\r\n () => {\r\n this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n this.setState({ GetBUDataLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n LoadTimeZones = () => {\r\n //var timezoneOptions = timezones.default;\r\n var timezoneOptions = TimeZonesOptions(this.props.t);\r\n var options = [];\r\n for (let k = 0; k < timezoneOptions.length; k++) {\r\n options.push({ value: timezoneOptions[k].tzCode, label: timezoneOptions[k].text, tzCode: timezoneOptions[k].tzCode, offset: timezoneOptions[k].offset });\r\n }\r\n this.setState({ TimeZonesOptions: options, TimeZoneSelectedValue: options[0] });\r\n //sent the valueSent for api\r\n }\r\n TimeZoneOnChange = (TimeZoneSelectedValue: any) => {\r\n this.setState({ TimeZoneSelectedValue })\r\n }\r\n FillServerOptions = (ServersData: Servers[], FilterFlag: boolean) => {\r\n let _options = FillServerOptionsHelper(ServersData, FilterFlag);\r\n this.setState({ serverSelectOptions: _options, serverSelectedValue: _options[0] });\r\n };\r\n languageOptionsFunction = (languageOptions: any) => {\r\n var langOpt = [];\r\n for (var k = 0; k < languageOptions.length; k++) {\r\n langOpt.push({\r\n value: languageOptions[k].value,\r\n label: languageOptions[k].label\r\n });\r\n }\r\n this.setState({ languageSelectOptions: langOpt, languageSelectedValue: langOpt[0] });\r\n }\r\n UpdateUserEmail = (e: any) => {\r\n e.preventDefault();\r\n\r\n var UpdateUserEmailParams: YoonitRequest = {//ProfileInfo\r\n CompanyName: companyName,\r\n Token: Token,\r\n ObjData: {\r\n CurrPassword: btoa(this.state.currentPasswordEmail),\r\n Email: this.state.newEmail,\r\n BUID: this.props.ClientData.BUID,\r\n }\r\n };\r\n\r\n if (this.state.newEmail !== this.state.currentEmail) {\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `MAMM/UpdateUserEmail`,\r\n UpdateUserEmailParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IsAuth) {\r\n var intRes = res.data.IntRes;\r\n if (intRes === -1) {\r\n toastr.error('', this.props.t('FailedAction'));\r\n }\r\n if (intRes === -5) {\r\n toastr.error('', this.props.t('CurrentPasswordDoesntMatch'));\r\n }\r\n if (intRes === 1) {\r\n toastr.success('', this.props.t('Updated'));\r\n }\r\n } else {\r\n toastr.error('', this.props.t('FailedAction'));\r\n }\r\n },\r\n\r\n () => {\r\n },\r\n this.props.t\r\n );\r\n }\r\n else {\r\n toastr.error('', this.props.t('EmailConfirmationFailed'));\r\n }\r\n }\r\n UpdateMailLang = (e: any) => {\r\n e.preventDefault();\r\n var UpdateMailLangParams = {\r\n CompanyName: companyName,\r\n Token: Token,\r\n ObjData: {\r\n Language: this.state.languageSelectedValue.value,\r\n BUID: this.props.ClientData.BUID,\r\n }\r\n };\r\n\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `MAMM/UpdateMailLang`,\r\n UpdateMailLangParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IsAuth) { toastr.success('', this.props.t('Updated')); } else {\r\n }\r\n },\r\n () => { },\r\n this.props.t\r\n\r\n );\r\n }\r\n resetUpdatePassword = () => {\r\n this.setState({\r\n passwordValue: 1,\r\n newPassword: \"\",\r\n SendByEmail: false,\r\n })\r\n }\r\n UpdateClientPassword = () => {\r\n //add a modal for it\r\n let _Password = this.state.newPassword;\r\n let _SendByEmail = false;\r\n if (this.state.passwordValue === 1) {\r\n _SendByEmail = this.state.SendByEmail;\r\n _Password = password_generator(7);\r\n }\r\n let UpdateClientPasswordParams = {\r\n CompanyName: companyName,\r\n Token: Token,\r\n UserName: this.props.ClientData.Email,\r\n ClientName: this.state.GetGUDataResult ? `${this.state.GetGUDataResult.FirstName ? this.state.GetGUDataResult.FirstName : \"\"}${this.state.GetGUDataResult.LastName ? this.state.GetGUDataResult.LastName : \"\"}` : \"\",\r\n ObjData: {\r\n ContactID: this.props.ClientData.ContactID,\r\n Password: btoa(_Password),\r\n SendByEmail: _SendByEmail,\r\n Email: this.props.ClientData.Email,\r\n SendToEmail: this.state.resetEmail,\r\n IsAdmin: false\r\n }\r\n };\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/UpdateClientPassword`,\r\n UpdateClientPasswordParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n ;\r\n if (res.data.IntRes > 0) {\r\n toastr.success(\" \", this.props.t('PasswordChanged'));\r\n this.closePasswordModal();\r\n if (String(this.state.passwordValue) === \"1\") {\r\n this.setState({\r\n newPassword: UpdateClientPasswordParams.ObjData?.Password ? atob(UpdateClientPasswordParams.ObjData?.Password) : \"\"\r\n });\r\n this.openAutoGenerate();\r\n }\r\n } else if (res.data.IntRes === -2) {\r\n toastr.warning(\"\", this.props.t('ContactDoesnotExist'));\r\n } else if (res.data.IntRes === -10) {\r\n toastr.warning(\"\", this.props.t('PasswordUpdateFailed'));\r\n } else {\r\n toastr.warning(\" \", this.props.t('FailedAction'));\r\n }\r\n },\r\n () => {\r\n },\r\n this.props.t\r\n\r\n );\r\n\r\n }\r\n onDetailsChange = (e: any) => {\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n } as any);\r\n };\r\n serverSelectOnChange = (serverSelectedValue: any) => {\r\n this.setState({ serverSelectedValue });\r\n };\r\n handleImg = (binary: any, name: any, type: any, addresImg: any, DocumentType: any) => {\r\n if (binary !== undefined) {\r\n }\r\n if (name !== undefined) {\r\n }\r\n if (type !== undefined) {\r\n }\r\n let UpdateUserProfileImageParms: YoonitRequest = new YoonitRequest();\r\n UpdateUserProfileImageParms.ObjData = new UploadKYCDocumentRequest();\r\n //pp\r\n //UpdateUserProfileImageParms.objData.DocumentType =\"pp\" no type here\r\n UpdateUserProfileImageParms.Token = Token;\r\n UpdateUserProfileImageParms.CompanyName = companyName;\r\n //UpdateUserProfileImageParms.objData.GUID = GUID;\r\n //UpdateUserProfileImageParms.ObjData.ClientID = \"3fa85f64-5717-4562-b3fc-2c963f66afa6\";//removed\r\n UpdateUserProfileImageParms.ObjData.ContactID = this.props.ClientData.ContactID;\r\n //UpdateUserProfileImageParms.ObjData.ContactID = this.props.ClientData.ContactID;\r\n UpdateUserProfileImageParms.ObjData.Type = \"pp\";\r\n UpdateUserProfileImageParms.ObjData.BinaryDocument = addresImg;\r\n //DocumentName\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `MAMM/UpdateUserProfileImage`,\r\n UpdateUserProfileImageParms,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IntRes === -1)\r\n toastr.error('', this.props.t('FailedAction'));\r\n else if (res.data.IntRes === -5)\r\n toastr.error('', this.props.t('WrongFormatWasUploaded'));\r\n else if (res.data.IntRes < 0)\r\n toastr.error('', this.props.t('FailedAction'));\r\n else {\r\n this.setState({ profileImg: res.data.LiveRes.DocPath });// res.data.\r\n toastr.success('', this.props.t('DocumentUploadedSuccessfully'));\r\n }\r\n },\r\n () => {\r\n toastr.error('', this.props.t('ImageNotUpdated'));\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n languageOnChange = (languageSelectedValue: any) => {\r\n this.setState({ languageSelectedValue });\r\n };\r\n onLanguageChange = (selectedLanguage: any) => {\r\n this.setState({ languageSelectedValue: selectedLanguage });\r\n }\r\n OpenLanguageModal = () => {\r\n this.selectOptionByValue(this.props.lang, this.state.languageSelectOptions, \"languageSelectedValue\");\r\n this.setState({ openLangauge: true })\r\n }\r\n\r\n OpenPasswordModal = () => {\r\n this.resetUpdatePassword();\r\n this.setState({ openPassword: true })\r\n }\r\n\r\n OpenMailModal = () => {\r\n this.setState({ OpenMail: true })\r\n }\r\n selectOptionByValue = (value: any, list: any[], selectedValue: string) => {\r\n if (value) {\r\n for (let i: number = 0; i < list.length; i++) {\r\n if (String(value) === String(list[i].value)) {\r\n this.setState({ [selectedValue]: { label: list[i].label, value: list[i].value, Data: list[i].Data } } as any);\r\n }\r\n }\r\n }\r\n }\r\n openTimeZone = () => {\r\n this.selectOptionByValue(this.state.GetGUDataResult && this.state.GetGUDataResult.TimeZoneCode ? this.state.GetGUDataResult.TimeZoneCode : \"\", this.state.TimeZonesOptions, \"TimeZoneSelectedValue\");\r\n this.setState({ openTimeZone: true })\r\n }\r\n closeLanguageModal = () => {\r\n this.setState({ openLangauge: false })\r\n }\r\n\r\n closePasswordModal = () => {\r\n this.setState({ openPassword: false })\r\n }\r\n\r\n closeMailModal = () => {\r\n this.setState({ OpenMail: false })\r\n }\r\n closeTimeZone = () => {\r\n this.setState({ openTimeZone: false })\r\n }\r\n triggerUserImg = () => {\r\n $('#userImg').trigger(\"click\");\r\n }\r\n componentDidUpdate(prevProps: MyProfileProps) {\r\n if (this.props.openProfile && (prevProps.openProfile !== this.props.openProfile)) {\r\n this.GetBUData();\r\n this.LoadTimeZones();//as lang may changed\r\n let isA: boolean = this.props.userData.isAdmin; //not on didmount all time\r\n let isClientCRM: boolean = !isA && this.props.CompanyData.IsCRM;\r\n if (isClientCRM)\r\n this.LoadPlatformLinks();\r\n\r\n }\r\n }\r\n OnChangRadioPassword = (e: any) => {\r\n this.setState({\r\n passwordType: e.target.value,\r\n [e.target.name]: e.target.value\r\n } as any, this.generatePassword);\r\n }\r\n generatePassword = () => {\r\n this.setState({ autoGeneratePassword: password_generator(7) })\r\n }\r\n inputOnchange = (e: any) => {//for all\r\n this.setState({ [e.target.name]: e.target.value } as any)\r\n }\r\n UpdateUserLanguage = () => {\r\n let Parms: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n ObjData: {\r\n ContactID: this.props.ClientData.ContactID,\r\n Language: this.state.languageSelectedValue.value\r\n }\r\n };\r\n this.setState({ isLoading: true });\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/UpdateUserLanguage`,\r\n Parms,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IntRes > 0) {\r\n this.closeLanguageModal();\r\n toastr.success(this.props.t('Language'), this.props.t('Updated'));\r\n this.props.ChangeLanguage(this.state.languageSelectedValue);\r\n this.props.i18n.changeLanguage(this.state.languageSelectedValue.value);\r\n document.documentElement.setAttribute('lang', this.state.languageSelectedValue.value);\r\n if (this.state.languageSelectedValue.value === \"ar\") {\r\n document.documentElement.setAttribute('dir', \"rtl\");\r\n }\r\n else {\r\n document.documentElement.setAttribute('dir', \"ltr\");\r\n }\r\n }\r\n else\r\n toastr.error('', this.props.t('FailedAction'));\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n ReturnTimeZone = (TimeZoneoffset: string) => {\r\n let _result: number = 0;\r\n let sign = TimeZoneoffset.charAt(0);\r\n let offset = TimeZoneoffset.substr(1);\r\n let hrs = parseInt(offset.split(\":\")[0], 10);\r\n let mins = parseInt(offset.split(\":\")[1], 10);\r\n if (sign === \"+\")\r\n _result = (hrs * 60) + mins;\r\n else\r\n _result = (hrs * -60) - mins;\r\n return _result;\r\n }\r\n UpdateUserTimeZone = () => {\r\n let Parms: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n ObjData: {\r\n ContactID: this.props.ClientData.ContactID,\r\n TimeZone: this.state.TimeZoneSelectedValue.offset,\r\n TimeZoneCode: this.state.TimeZoneSelectedValue.tzCode,\r\n }\r\n };\r\n this.setState({ isLoading: true });\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/UpdateUserTimeZone`,\r\n Parms,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n\r\n if (res.data.IntRes > 0) {\r\n this.closeLanguageModal();\r\n toastr.success(this.props.t('TimeZone'), this.props.t('Updated'));\r\n //this.props.UpdateTimezone(this.ReturnTimeZone(String(this.state.TimeZoneSelectedValue.offset)));\r\n this.props.UpdateTimezone(this.state.TimeZoneSelectedValue.offset);\r\n }\r\n else\r\n toastr.error('', this.props.t('FailedAction'));\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.setState({ isLoading: false });\r\n },\r\n this.props.t\r\n\r\n );\r\n }\r\n UpdateLanguageAndTimeZone = () => {\r\n this.UpdateUserLanguage();\r\n this.UpdateUserTimeZone();\r\n }\r\n copyUsername = () => {\r\n var copyText: any = document.getElementById(\"copyUsername\");\r\n copyText.select();\r\n copyText.setSelectionRange(0, 99999); /*For mobile devices*/\r\n document.execCommand(\"copy\");\r\n toastr.success(\"\", this.props.t('EmailCopied'))\r\n }\r\n copyPassword = () => {\r\n var copyText: any = document.getElementById(\"copyPassword\");\r\n copyText.select();\r\n copyText.setSelectionRange(0, 99999); /*For mobile devices*/\r\n document.execCommand(\"copy\");\r\n toastr.success(\"\", this.props.t('PasswordCopied'))\r\n }\r\n onCheckBoxChange = (e: any) => {\r\n this.setState({ [e.target.name]: e.target.checked } as any)\r\n }\r\n SendPasswordByEmail = () => {\r\n if (!validateEmail(this.state.EmailtoSendPassword)) {\r\n toastr.warning(\"\", this.props.t('AddEmailPlease'))\r\n }\r\n else {\r\n let SendPasswordByEmailParams: YoonitRequest = {\r\n CompanyName: this.props.CompanyData.CompanyName,\r\n Token: this.props.userData.Token,\r\n UserName: this.props.ClientData.Email,\r\n ClientName: this.state.GetGUDataResult ? `${this.state.GetGUDataResult.FirstName ? this.state.GetGUDataResult.FirstName : \"\"}${this.state.GetGUDataResult.LastName ? this.state.GetGUDataResult.LastName : \"\"}` : \"\",\r\n ObjData: {\r\n IsAdmin: false,\r\n Email: this.state.EmailtoSendPassword,\r\n UserEmail: this.state.resetEmail,\r\n Password: btoa(this.state.newPassword)\r\n }\r\n };\r\n this.setState({ isLoading: true });\r\n CallAxiosRequest(\r\n this.props.ActionURL,\r\n `Trader/SendPasswordByEmail`,\r\n SendPasswordByEmailParams,\r\n { Token: this.props.userData.Token },\r\n (res: any) => {\r\n toastr.success(\"\", this.props.t('EmailSent'));\r\n this.props.closeProfile();\r\n this.closeAutoGenerate();\r\n this.setState({ isLoading: false });\r\n },\r\n () => {\r\n this.closeAutoGenerate();\r\n this.props.closeProfile();\r\n this.setState({ isLoading: false });\r\n toastr.error(\"\", this.props.t('FailedAction'));\r\n },\r\n this.props.t\r\n );\r\n }\r\n };\r\n render() {\r\n var isA: boolean = this.props.userData.isAdmin;\r\n var isClientCRM: boolean = !isA && this.props.CompanyData.IsCRM;\r\n return (\r\n
\r\n \r\n {this.props.t('Save')}\r\n }\r\n body={\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {this.state.GetGUDataResult ? `${this.state.GetGUDataResult.FirstName ? this.state.GetGUDataResult.FirstName.charAt(0) : \"\"}${this.state.GetGUDataResult.LastName ? this.state.GetGUDataResult.LastName.charAt(0) : \"\"}` : \"\"} \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n

{this.props.t('Welcome')} {`${this.state.GetGUDataResult.FirstName}`}

\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {isClientCRM && <>\r\n
{this.props.t('Platforms')}
\r\n \r\n {this.RenderPlatformLinks()}\r\n \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.t('Save')} }\r\n body={\r\n
\r\n \r\n \r\n\r\n \r\n {this.props.t('AutoGeneratePassword')} \r\n\r\n {this.props.t('CreateYourOwnPassword')}\r\n \r\n {this.state.passwordValue === 2 &&\r\n \r\n \r\n \r\n = 4 ? \"\" : this.props.t('WeakPassword')}\r\n >\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.t('Save')} }\r\n body={\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \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.t('SendPasswordByEmail')}\r\n \r\n \r\n \r\n \r\n \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.t('Save')} }\r\n body={\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.t('Save')} }\r\n body={\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n />\r\n
\r\n );\r\n }\r\n\r\n RenderPlatformLinks = () => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n {!this.state.platformList || this.state.platformList.length === 0 &&\r\n \r\n \r\n \r\n {this.props.t('None')}\r\n }\r\n {this.state.platformList && this.state.platformList.length !== 0 &&\r\n this.state.platformList\r\n .filter((item: LoadPlatformLinksResult) => item.ServerID === this.state.serverSelectedValue?.value)\r\n .map((item: LoadPlatformLinksResult) => {\r\n return (\r\n \r\n \r\n \r\n {this.props.t('Download')}\r\n \r\n {item.PLDesc}\r\n \r\n \r\n );\r\n })}\r\n
\r\n \r\n
;\r\n }\r\n}\r\n\r\nexport default withTranslation()(connect(mapStateToProps, dispatchProps)(MyProfile) as any) as any;","import { faChevronCircleLeft, faChevronDown, faFilter, faSearch } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\r\nimport { Close } from '@material-ui/icons';\r\nimport { Divider } from 'antd';\r\nimport InputAnt from 'antd/es/input';\r\nimport { push } from \"connected-react-router\";\r\nimport * as React from 'react';\r\nimport { Dropdown, DropdownButton } from 'react-bootstrap';\r\nimport Carousel from 'react-bootstrap/Carousel';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { connect } from 'react-redux';\r\nimport { Button, Input, Label, Navbar } from \"reactstrap\";\r\nimport { GetClientData, ICompanyData, IStore, IUserData } from '../../../redux/constants';\r\n\r\nconst mapStateToProps = (state: IStore) => ({\r\n theme: state.theme,\r\n router: state.router,\r\n userData: state.auth.UserData,\r\n CompanyData: state.auth.CompanyData,\r\n ClientData: state.auth.ClientData,\r\n\r\n});\r\nconst dispatchProps = { push }\r\ninterface FilterBarProps {\r\n body?: any;\r\n bodyList?: any;\r\n mobileBodyList?: any;\r\n handleClose?: any;\r\n theme?: any;\r\n filterFirstTable?: any;\r\n sidebar?: boolean;\r\n filterContact?: string;\r\n filterKeyWord?: string;\r\n t: any;\r\n noSearch?: boolean;\r\n scrollable?: boolean;\r\n id?: string;\r\n NumberOfCarouselItems?: number;\r\n columnFilter?: any;\r\n}\r\ninterface FilterBarSettingsProps {\r\n body?: any;\r\n theme?: any;\r\n width100?: boolean;\r\n filterFirstTable?: any;\r\n filterKeyWord?: string;\r\n filterSettings?: string;\r\n ChangeCssLogo?: boolean;\r\n handleClear?: any;\r\n t: any;\r\n}\r\nclass FilterB extends React.Component {\r\n render() {\r\n return (\r\n
\r\n {this.props.body}\r\n
\r\n\r\n )\r\n }\r\n};\r\nexport const FilterBar = withTranslation()(FilterB as any) as any;\r\n\r\ninterface FilterBarNoSearchProps {\r\n body?: any;\r\n theme?: any;\r\n}\r\n\r\nexport class FilterBarNoSearch extends React.Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.props.body}\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n};\r\nclass FilterBarFr extends React.Component {\r\n render() {\r\n return (\r\n
\r\n }\r\n placeholder={this.props.filterKeyWord ? this.props.t('FilterBy') + \" \" + this.props.filterKeyWord : this.props.t('FilterByKeyword')}\r\n className={\"SearchInputFilter\"}\r\n name=\"Search\"\r\n value={this.props.filterContact}\r\n onChange={this.props.filterFirstTable}\r\n />\r\n
\r\n )\r\n }\r\n};\r\nexport const FilterBarFront = withTranslation()(FilterBarFr as any) as any;\r\nclass FilterBarInPages extends React.Component {\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
\r\n
\r\n {this.props.scrollable ?\r\n <>\r\n }\r\n nextIcon={}>\r\n {this.props.bodyList?.length > 0\r\n && this.props.bodyList.map((elements: any) => {\r\n return (\r\n \r\n
\r\n {elements}\r\n
\r\n
\r\n )\r\n })\r\n }\r\n \r\n \r\n :\r\n
\r\n {this.props.body}\r\n\r\n
\r\n }\r\n {this.props.columnFilter}\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n ReloadTable = (e: any) => {\r\n if (e.keyCode === 13 || (!e.target.value && e.keyCode === 8))\r\n this.props.filterFirstTable(e);\r\n }\r\n};\r\nexport const FilterBarPages = withTranslation()(FilterBarInPages as any) as any;\r\n\r\nconst FilterBarWithSliders = (props: FilterBarProps) => {\r\n const ShowMobile = useMediaQuery('(max-width:480px)');\r\n const ReloadTable = (e: any) => {\r\n if (e.keyCode === 13 || (!e.target.value && e.keyCode === 8))\r\n props.filterFirstTable(e);\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 {props.scrollable ?\r\n <>\r\n
\r\n
\r\n \r\n
\r\n )\r\n};\r\nexport const FilterBarWithSlider = withTranslation()(FilterBarWithSliders as any) as any;\r\n\r\nexport class FilterBarS extends React.Component {\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 {this.props.body}\r\n
\r\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 FilterBarSettings = withTranslation()(FilterBarS as any) as any;\r\n\r\n\r\n\r\n\r\n\r\n\r\ninterface NavigationBarState {\r\n Navigation: string[];\r\n NavigationWithoutSub: string[];\r\n}\r\ninterface NavigationBarProps {\r\n t: any;\r\n router: any;\r\n push: any;\r\n userData: IUserData;\r\n CompanyData: ICompanyData;\r\n ClientData: GetClientData;\r\n}\r\n\r\nclass NavigationBarClass extends React.Component {\r\n state = {\r\n Navigation: [], NavigationWithoutSub: []\r\n }\r\n componentDidMount() {\r\n this.Navigation();\r\n }\r\n navigatetoPage = (link: any, index: number) => {\r\n if (index === 0) {\r\n this.props.push(\"/\");\r\n }\r\n else {\r\n var links = '';\r\n for (let k = 1; k < index + 2; k++) {\r\n links += \"/\" + link[k];\r\n }\r\n this.props.push(links);\r\n }\r\n }\r\n Navigation = () => {\r\n let _HasDashboard: boolean = this.HasDashboard();\r\n let link = this.props.router.location.pathname;\r\n let links: string[] = [];\r\n if (_HasDashboard)\r\n links.push('Dashboard');\r\n links = links.concat(link.split('/').slice(1));\r\n this.setState({ Navigation: links });\r\n var linksNoSub: string[] = [];\r\n for (var k = 0; k < links.length - 1; k++) {\r\n linksNoSub.push(links[k])\r\n }\r\n const index = linksNoSub.indexOf(linksNoSub[1]);\r\n linksNoSub.splice(index, 1);\r\n this.setState({ NavigationWithoutSub: linksNoSub });\r\n\r\n }\r\n HasDashboard = () => {\r\n var isA = this.props.userData.isAdmin;\r\n var isClientCRM = !isA && this.props.CompanyData.IsCRM;\r\n var isAccountExist = !isA && parseInt(String(this.props.ClientData.NmbrOfAcc), 10) > 0;\r\n var isRequireKYC = !isA && this.props.ClientData.RequireKYC;\r\n var isNotRequiredAndAccountExist = (!isRequireKYC && isAccountExist);\r\n var isHasKYC = !isA && this.props.ClientData.hasKYC;\r\n var isRequiredKycSumbitedAndAccountExist = (isRequireKYC && isAccountExist && isHasKYC);\r\n var isAdminCRM = isA && this.props.CompanyData.IsCRM;\r\n var isAdminMM = isA && this.props.CompanyData.IsMM;\r\n var isAdminIB = isA && this.props.CompanyData.IsIB;\r\n if (!isA && ((!isClientCRM && isAccountExist) || (isClientCRM && (isNotRequiredAndAccountExist || isRequiredKycSumbitedAndAccountExist)))) {\r\n return true;\r\n }\r\n if (isA && (isAdminCRM || (isAdminMM) || isAdminIB)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.state.NavigationWithoutSub &&\r\n this.state.NavigationWithoutSub.map((item: any, index: number) => {\r\n //const linkContent = this.state.Navigation;\r\n //console.log({ item });\r\n return (\r\n
\r\n
\r\n this.navigatetoPage(this.state.Navigation, index)}\r\n className=\"navigationText cursor-pointer d-inline-flex mr-2\" >\r\n {this.props.t(item)}\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 NavigationBar = withTranslation()(connect(mapStateToProps, dispatchProps)(NavigationBarClass));\r\n\r\ninterface TabBarBackClassProps {\r\n tabTitle: string;\r\n navigateTo: any;\r\n showAction?: boolean;\r\n onClickAction1?: any;\r\n onClickAction2?: any;\r\n onClickAction3?: any;\r\n onClickAction4?: any;\r\n onClickAction5?: any;\r\n Action1?: any;\r\n Action2?: any;\r\n Action3?: any;\r\n Action4?: any;\r\n Action5?: any;\r\n backTitle: any;\r\n actionTitle: any\r\n}\r\n\r\nexport class TabBarBack extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n {this.props.showAction &&\r\n
\r\n {this.props.actionTitle} < FontAwesomeIcon icon={faChevronDown} className=\"cursor-pointer ml-2\" />}>\r\n {this.props.Action1} \r\n {this.props.Action2} \r\n {this.props.Action3} \r\n {this.props.Action4} \r\n {this.props.Action5} \r\n \r\n
\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\ninterface TabBarProps {\r\n tabTitle: string;\r\n}\r\n\r\nexport class TabBar extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.tabTitle}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\n\r\ninterface SettingsBarProps {\r\n elements: any;\r\n}\r\n\r\nexport class SettingsBar extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n {this.props.elements}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n","import * as types from \"../constants\";\r\n\r\nconst initialState = {\r\n currentTheme: '',\r\n MenuIsCollapsed: false\r\n};\r\n\r\nexport default function reducer(state = initialState, actions: any) {\r\n switch (actions.type) {\r\n case types.THEME_TOGGLE:\r\n return {\r\n ...state,\r\n currentTheme: actions.payload\r\n };\r\n case types.MENU_TOGGLE_COLLAPSE:\r\n return {\r\n ...state,\r\n MenuIsCollapsed: !state.MenuIsCollapsed\r\n };\r\n case types.MENU_SET_COLLAPSE:\r\n return {\r\n ...state,\r\n MenuIsCollapsed: actions.payload\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\nconst initialState: types.LoginAction = {\r\n isAuth: false,\r\n isPrimarySalt: true,\r\n isTokenExpired: false,\r\n isTokenValid: true,\r\n GUARules: [\r\n { checked: \"checked\", aRuleName: 'ELS', aRuleID: 1, aRuleOrder: 1 },\r\n { checked: \"checked\", aRuleName: 'ECS', aRuleID: 2, aRuleOrder: 2 },\r\n { checked: \"checked\", aRuleName: 'BLS', aRuleID: 15, aRuleOrder: 3 },\r\n { checked: \"checked\", aRuleName: 'EV', aRuleID: 3, aRuleOrder: 4 },\r\n { checked: \"checked\", aRuleName: 'Percentage', aRuleID: 13, aRuleOrder: 5 },\r\n { checked: \"checked\", aRuleName: 'Multiplier', aRuleID: 14, aRuleOrder: 6 },\r\n { checked: \"checked\", aRuleName: 'Fixed Lot', aRuleID: 16, aRuleOrder: 7 },\r\n { checked: \"checked\", aRuleName: '% of Equity', aRuleID: 17, aRuleOrder: 8 }],\r\n Servers: [],\r\n CompanyData: {\r\n CompanyID: \"\",\r\n CompanyName: \"\",\r\n CompanyTitle: \"\",\r\n SignalRHubURL: \"\",\r\n IsIB: false,\r\n IsMM: false,\r\n IsBonus: false,\r\n IsCRM: false,\r\n IsDynamicMargin: false,\r\n },\r\n UserData: {\r\n id: \"\",\r\n Token: \"\",\r\n RefreshToken: \"\",\r\n isAdmin: false,\r\n isFirstUser: false,\r\n yoonitGetURL: \"\",\r\n yoonitActionURL: \"\",\r\n UserName: \"\",\r\n Language: \"en\",\r\n TimeZone: 0,\r\n },\r\n ClientData:\r\n {\r\n BUID: \"\",\r\n ClientID: \"\",\r\n ContactID: \"\",\r\n ClientRangeID: \"\",\r\n ContactStatus: \"\",\r\n SalutationID: -1,\r\n SalutationTxt: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Email: \"\",\r\n Phone: \"\",\r\n CountryID: -1,\r\n CountryName: \"\",\r\n CountryCode: \"\",\r\n DOB: \"\",\r\n ProfileImage: \"\",\r\n IsActive: false,\r\n RequireKYC: false,\r\n KYCStatus: \"\",\r\n KYCReason: \"\",\r\n hasKYC: false,\r\n NmbrOfAcc: 0,\r\n CardValidation: false,\r\n IsValid: false,\r\n KTID: false,\r\n AllowAddDemoAcc: false,\r\n IsClientSegment: false,\r\n RiskStatementReminder: \"\",\r\n PoolID: 0,\r\n ZipCode: \"\",\r\n ResidentialAddress: \"\",\r\n City: \"\",\r\n NationalIDCardNumber: \"\",\r\n },\r\n AdminData: {\r\n AUID: \"\",\r\n ContactID: \"\",\r\n ContactStatus: \"\",\r\n SalutationID: -1,\r\n SalutationTxt: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Email: \"\",\r\n Phone: \"\",\r\n CountryID: -1,\r\n CountryName: \"\",\r\n DOB: \"\",\r\n ProfileImage: \"\",\r\n IsActive: false\r\n },\r\n UserPermissions: [],\r\n CompanyAuth: true //so if not set then true\r\n};\r\n\r\nexport default function reducer(state = initialState, actions: any): types.LoginAction {\r\n switch (actions.type) {\r\n case types.AUTH_LOGIN: {\r\n return {\r\n ...state,\r\n isAuth: actions.payload.isAuth,\r\n isPrimarySalt: actions.payload.isPrimarySalt,\r\n isTokenExpired: actions.payload.isTokenExpired,\r\n isTokenValid: actions.payload.isTokenValid,\r\n //GUARules: actions.payload.guaRules,\r\n CompanyData: actions.payload.CompanyData,\r\n //GlobalUser: actions.payload.globalUser, \r\n UserData: actions.payload.UserData,\r\n ClientData: actions.payload.ClientData,\r\n AdminData: actions.payload.AdminData,\r\n Servers: actions.payload.Servers,\r\n UserPermissions: actions.payload.UserPermissions,\r\n };\r\n }\r\n\r\n case types.REFRESH_TOKENS:\r\n {\r\n return {\r\n ...state,\r\n UserData: {\r\n ...state.UserData,\r\n Token: actions.payload.token,\r\n RefreshToken: actions.payload.refreshToken\r\n }\r\n };\r\n }\r\n\r\n case types.UPDATE_TIMEZONE:\r\n {\r\n return {\r\n ...state,\r\n UserData: {\r\n ...state.UserData,\r\n TimeZone: actions.payload,\r\n }\r\n };\r\n }\r\n case types.UPDATE_ISVALID:\r\n {\r\n return {\r\n ...state,\r\n ClientData: {\r\n ...state.ClientData,\r\n IsValid: actions.payload,\r\n }\r\n };\r\n }\r\n case types.UPDATE_NUMBER_OF_ACCOUNTS:\r\n {\r\n return {\r\n ...state,\r\n ClientData: {\r\n ...state.ClientData,\r\n NmbrOfAcc: +(state.ClientData.NmbrOfAcc || 0) + 1,\r\n }\r\n };\r\n }\r\n case types.AUTH_LOGOUT:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nconst initialState: types.LanguageOption = {\r\n label: \"English\",\r\n value: \"en\",\r\n isDefault:true\r\n};\r\n\r\nexport default function reducer(state = initialState, actions: types.LanguageActionsTypes): types.LanguageOption {\r\n switch (actions.type) {\r\n case \"CHANGE_LANGUAGE\":\r\n return {\r\n label: actions.payload.label,\r\n value: actions.payload.value\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nexport interface INotificationStore {\r\n Notifications: types.ActionMessage[],\r\n HasNew: boolean\r\n}\r\n\r\nconst initialState: INotificationStore = {\r\n Notifications: [],\r\n HasNew: false\r\n};\r\n\r\nexport default function reducer(state = initialState, actions: types.NotificationActionsTypes) {\r\n switch (actions.type) {\r\n case \"ADD_NEW_MESSAGE\":\r\n return {\r\n ...state,\r\n Notifications: [actions.payload, ...state.Notifications],\r\n HasNew: true\r\n };\r\n case \"SET_HAS_NEW_VALUE\":\r\n return {\r\n ...state,\r\n HasNew: actions.payload\r\n };\r\n case \"REMOVE_MESSAGE\":\r\n return {\r\n ...state,\r\n Notifications: [\r\n ...state.Notifications.slice(0, actions.payload),\r\n ...state.Notifications.slice(actions.payload + 1)\r\n ],\r\n };\r\n case \"REMOVE_ALL_MESSAGES\":\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nconst initialState: types.PushNotificationStatusClass = {\r\n PushNotificationStatus: [],\r\n signalRIsConnected: false,\r\n}\r\n\r\nexport default function reducer(state = initialState, actions: types.PushNotifications | types.SignalR | types.ClearPushNotifications) {\r\n switch (actions.type) {\r\n case \"Push_Notifications\":\r\n return {\r\n ...state,\r\n PushNotificationStatus: [...actions.payload.PushNotificationStatus]\r\n }\r\n case \"SIGNAL_R\":\r\n return {\r\n ...state,\r\n signalRIsConnected: actions.payload\r\n }\r\n case \"CLEAR_PUSH_NOTIFICATIONS\":\r\n return initialState\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\nimport { DashboardItems } from \"../../Interfaces/Interfaces\";\r\n\r\nconst initialState: DashboardItems[] = []\r\n\r\nexport default function reducer(state = initialState, actions: types.UpdateDashboardItems) {\r\n switch (actions.type) {\r\n case \"UPDATE_DASHBOARD_ITEMS\":\r\n return actions.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nconst languagesOptions = [//remove from helper as all will be props \r\n { label: 'English', value: 'en' },\r\n { label: '中文', value: 'cn' },\r\n { label: 'العربية', value: 'ar' },\r\n { label: 'Français', value: 'fr' },\r\n];\r\nconst DictlanguagesOptions: any = {\r\n 'en': { label: 'English', value: 'en' },\r\n 'cn': { label: '中文', value: 'cn' },\r\n 'ar': { label: 'العربية', value: 'ar' },\r\n 'fr': { label: \"Français\", value: \"fr\" },\r\n};\r\nconst initialState: types.ILanguageData = {\r\n Options: languagesOptions,\r\n Dict: DictlanguagesOptions\r\n}\r\n\r\nexport default function reducer(state = initialState, actions: types.IUpdateLanguageOptions) {\r\n switch (actions.type) {\r\n case \"UPDATE_LANGAUGE_OPTIONS\":\r\n return actions.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\nimport { LoadCompanyLogoResult } from \"../../Interfaces/Interfaces\";\r\n\r\nconst initialState: LoadCompanyLogoResult = new LoadCompanyLogoResult();\r\n\r\nexport default function reducer(state = initialState, actions: types.UpdateCompanySettings) {\r\n switch (actions.type) {\r\n case \"UPDATE_COMPANY_SETTINGS\":\r\n return { ...actions.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\nimport { GetCompanyDataResult } from \"../../Interfaces/Interfaces\";\r\n\r\nconst initialState: GetCompanyDataResult = new GetCompanyDataResult();\r\n\r\nexport default function reducer(state = initialState, actions: types.UpdateCompanyData) {\r\n switch (actions.type) {\r\n case \"UPDATE_COMPANY_DATA\":\r\n return { ...actions.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nexport interface INotificationStore {\r\n Notifications: types.ActionMessage[],\r\n HasNew: boolean\r\n}\r\n\r\nconst initialState: any = null;\r\n\r\nexport default function reducer(state = initialState, actions: types.SignalRTypes) {\r\n switch (actions.type) {\r\n case \"ADD_SIGNALR\":\r\n return actions.payload;\r\n case \"REMOVE_SIGNALR\":\r\n return initialState;\r\n case \"CHECK_SIGNALR\":\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nconst initialState: any = true;//as true consider at first \r\nexport default function reducer(state = initialState, actions: types.HandleUserConnectivity) {\r\n switch (actions.type) {\r\n case \"HANDLE_USER_CONNECTIVITY\":\r\n return actions.payload;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from \"../constants\";\r\n\r\nexport default function reducer(state = [] as any, actions: any): types.HandleServerConnectivity | types.AddServerConnectivity {\r\n switch (actions.type) {\r\n case types.HANDLE_SERVER_CONNECTIVITY: {\r\n return {\r\n ...state,\r\n [actions.payload.ServerID]: actions.payload\r\n\r\n };\r\n }\r\n case types.ADD_SERVERS: {\r\n return actions.payload\r\n }\r\n default:\r\n return state;\r\n }\r\n}","import * as types from \"../constants\";\r\n\r\nconst initialState: any = {};\r\n\r\nexport default function reducer(state = initialState, actions: types.UpdateColumnDict) {\r\n switch (actions.type) {\r\n case \"UPDATE_COLUMN_DICT\": {\r\n return {\r\n ...state,\r\n ...actions.payload\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}","import * as types from \"../constants\";\r\n\r\nconst initialState: any = {};\r\n\r\nexport default function reducer(state = initialState, actions: types.UpdateFILTRATIONDict) {\r\n switch (actions.type) {\r\n case \"UPDATE_FILTRATION_DICT\": {\r\n return {\r\n ...state,\r\n ...actions.payload\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}","import * as types from \"../constants\";\r\n\r\nconst initialState: any = {};\r\n\r\nexport default function reducer(state = initialState, actions: types.IBManualSyncTimeStamp) {\r\n switch (actions.type) {\r\n case \"UPDATE_IB_MANUAL_SYNC_TIMESTAMP\": {\r\n return {\r\n ...state,\r\n ...actions.payload\r\n }\r\n }\r\n default:\r\n return state;\r\n }\r\n}","import { combineReducers } from \"redux\";\r\nimport { connectRouter } from 'connected-react-router';\r\nimport theme from \"./themeReducer\";\r\nimport auth from \"./AuthReducer\";\r\nimport { reducer as toastr } from \"react-redux-toastr\";\r\nimport language from './LanguageReducer';\r\nimport Notifications from './NotificationReducer';\r\nimport PushNotifications from './PushNotificationReducer';\r\nimport Items from './DashboardReducer';\r\nimport LanguageData from './LanguageOptionsReducer';\r\nimport CompanySettings from './CompanySettingsReducer';\r\nimport CompanyData from './CompanyDataReducer';\r\nimport SignalRConnection from './SignalRReducer';\r\nimport UserConnectivity from './UserConnectivityReducer';\r\nimport ServersConnectivity from './ServersConnectivityReducer';\r\nimport TableColumns from './ColumnTableReducer';\r\nimport TableFiltrationDict from './TableFiltrationReducer';\r\nimport IBManualSyncTimeStamp from './IBManualSyncTimeStampReducer';\r\n\r\nconst createRootReducer = (history: any) => combineReducers({\r\n router: connectRouter(history),\r\n theme,\r\n toastr,\r\n auth,\r\n language,\r\n Notifications,\r\n PushNotifications,\r\n Items,\r\n LanguageData,\r\n CompanySettings,\r\n CompanyData,\r\n SignalRConnection,\r\n UserConnectivity,\r\n ServersConnectivity,\r\n TableColumns,\r\n TableFiltrationDict,\r\n IBManualSyncTimeStamp\r\n})\r\n\r\nexport default createRootReducer;","import { HubConnectionBuilder } from '@microsoft/signalr';\r\nimport { notification } from 'antd';\r\nimport i18next from 'i18next';\r\nimport { CheckIfAUIDIsEnabled, ReturnActionMessage } from '../Helpers/DataHelpers';\r\nimport { IMessage } from '../Interfaces/Interfaces';\r\nimport { AddNewMessage } from '../redux/actions/NotificationActions';\r\nimport { SetSignalR } from '../redux/actions/PushNotificationActions';\r\nimport { HandleServerConnectivity } from '../redux/actions/ServersConnectivityAction';\r\nimport * as types from \"../redux/constants\";\r\nimport store from '../redux/store';\r\n\r\n// action for user authentication and receiving the access_token\r\nlet connection: any = null;\r\ndeclare var require: any;\r\nconst moment: any = require('moment');\r\nfunction t(key: string) {\r\n return i18next.t(key)\r\n}\r\nfunction CheckIfValidCredinations(getState: any) {\r\n if (!getState()\r\n || !getState().auth\r\n || !getState().auth.isAuth\r\n || !getState().auth.UserData)\r\n return {\r\n error: true,\r\n isAdmin: false\r\n }\r\n return {\r\n error: getState().auth.UserData.isAdmin ? (getState().auth.AdminData === undefined || getState().auth.AdminData === null) : (getState().auth.ClientData === undefined || getState().auth.ClientData === null),\r\n isAdmin: getState().auth.UserData.isAdmin\r\n }\r\n}\r\nconst signalRMiddleware = ({ getState }: any) => (next: any) => async (action: any) => {\r\n if (action.type === types.AUTH_LOGIN) {\r\n next(action)\r\n let _CheckIfValidCredinations = CheckIfValidCredinations(getState);\r\n ConnectToSignalR(_CheckIfValidCredinations, getState);\r\n }\r\n if (action.type === types.AUTH_LOGOUT) {\r\n if (connection) {\r\n connection.stop();\r\n }\r\n connection = null;\r\n }\r\n if (action.type === types.CHECK_SIGNALR) {\r\n let _CheckIfValidCredinations = CheckIfValidCredinations(getState);\r\n if (!_CheckIfValidCredinations.error) {\r\n if (connection && connection.connectionState === \"Disconnected\")\r\n startConnection();\r\n else if (!connection) {\r\n ConnectToSignalR(_CheckIfValidCredinations, getState);\r\n }\r\n }\r\n else {\r\n if (connection)\r\n connection.stop();\r\n connection = null;\r\n }\r\n }\r\n return next(action);\r\n};\r\n\r\nexport default signalRMiddleware;\r\n\r\nfunction ConnectToSignalR(_CheckIfValidCredinations: { error: boolean; isAdmin: any; }, getState: any) {\r\n if (!_CheckIfValidCredinations.error && _CheckIfValidCredinations.isAdmin) {\r\n let _email = !_CheckIfValidCredinations.error ? getState().auth.AdminData.Email : \"\";\r\n CreateConnection(getState().auth.AdminData, getState().auth.CompanyData.CompanyName, getState().auth.UserData.id, _email, _CheckIfValidCredinations);\r\n startConnection();\r\n }\r\n else if (!_CheckIfValidCredinations.error && !_CheckIfValidCredinations.isAdmin) {\r\n let _email = !_CheckIfValidCredinations.error ? getState().auth.ClientData.Email : \"\";\r\n CreateConnection(getState().auth.ClientData, getState().auth.CompanyData.CompanyName, getState().auth.UserData.id, _email, _CheckIfValidCredinations);\r\n startConnection();\r\n }\r\n}\r\n\r\nfunction CreateConnection(adminData: types.GetAdminData, companyName: string, userId: string, email: string, checkIfValidCredinations: any) {\r\n let _connectionHub = store.getState() && store.getState().CompanyData && store.getState().CompanyData.SignalRHubURL ? store.getState().CompanyData.SignalRHubURL : \"\";\r\n\r\n connection = new HubConnectionBuilder()\r\n .withUrl(`${_connectionHub}session?groupName=${companyName}&userId=${userId}&email=${email}&isAdmin=${checkIfValidCredinations.isAdmin}`)\r\n // .withAutomaticReconnect()\r\n .build();\r\n connection.on('onNewMessage', (data: types.ActionMessage) => {\r\n console.log('onNewMessage', data);\r\n if (checkIfValidCredinations.isAdmin) {\r\n if (data && (data.actionType === \"Clients assigned to you\" || data.actionType === \"Contact assigned to you\" || data.actionType === \"Lead assiged to you\")) {\r\n let _isAUIDEnabled = CheckIfAUIDIsEnabled(adminData ? adminData.AUID : \"\", data.auiDs);\r\n if (_isAUIDEnabled === true) {\r\n let _message: IMessage = ReturnActionMessage(data, (value: any) => t(value));//TODO check why code down is same \r\n notification.open({\r\n message: _message.title,\r\n description: _message.content\r\n });\r\n data.messageDate = moment().toString();\r\n data.messageTitle = _message.title;\r\n data.messageContent = _message.content;\r\n store.dispatch(AddNewMessage(data));// change to dispatch\r\n }\r\n }\r\n else {\r\n let _message: IMessage = ReturnActionMessage(data, (value: any) => t(value));\r\n\r\n notification.open({\r\n message: _message.title,\r\n description: _message.content\r\n });\r\n data.messageDate = moment().toString();\r\n data.messageTitle = _message.title;\r\n data.messageContent = _message.content;\r\n store.dispatch(AddNewMessage(data))// change to dispatch put after works \r\n }\r\n }\r\n });\r\n connection.on('onSeverChange', (data: types.ServersStatus) => {\r\n console.log('onSeverChange', { data });\r\n if (!data.isWebAPI)\r\n store.dispatch(HandleServerConnectivity({ ServerID: data.serverID, IsConnected: data.isConnected, IsWebAPI: data.isWebAPI, ID: `${data.serverID}` }));\r\n else\r\n store.dispatch(HandleServerConnectivity({ ServerID: data.serverID, IsConnected: data.isConnected, IsWebAPI: data.isWebAPI, ID: `${data.serverID}WebAPI` }));\r\n });\r\n}\r\n\r\nfunction startConnection() {\r\n connection.start()\r\n .then(() => {\r\n store.dispatch(SetSignalR(true));\r\n //store.dispatch(AddSignalr(connection));\r\n //console.log('call addToGroup');\r\n }).catch((e: any) => console.log(\"startConnection\", e));\r\n}\r\n","import * as types from \"../redux/constants\";\r\nfunction timestampAction(action: any) {\r\n return {\r\n action: action.type,\r\n actionPayload: action.payload ? action.payload:\"\",//so dont crash\r\n time: Date.now()\r\n }\r\n}\r\n\r\nconst storageMiddleware = ({ getState }: any) => (next: any) => async (action: any) => {\r\n const stampedAction = timestampAction(action);\r\n if ((action.type === types.AUTH_LOGIN /*&& action?.payload?.auth?.isAuth*/) // new state here or action payload\r\n || action.type === types.AUTH_LOGOUT) {\r\n localStorage.setItem('STORAGE-KEY', JSON.stringify(stampedAction));\r\n }\r\n next(action);\r\n\r\n}\r\nexport default storageMiddleware;","import { createStore, applyMiddleware, compose } from \"redux\";\r\nimport createRootReducer from \"../reducers/index\";\r\nimport { createBrowserHistory } from \"history\";\r\nimport { routerMiddleware } from \"connected-react-router\";\r\nimport thunk from \"redux-thunk\";\r\nimport { persistStore, persistReducer } from \"redux-persist\";\r\nimport signalRMiddleware from '../../Middleware/signalRMiddleware';\r\n//import logger from 'redux-logger';\r\nimport storage from \"redux-persist/lib/storage\";\r\nimport storageMiddleware from \"../../Middleware/StorageMiddleware\";\r\nconst persistConfig = {\r\n key: \"root\",\r\n storage,\r\n blacklist: ['router']\r\n};\r\nexport const history: any = createBrowserHistory();\r\n\r\nconst persistedReducer = persistReducer(persistConfig, createRootReducer(history));\r\n\r\nconst enhancers: any = [];\r\nconst windowIfDefined = typeof window === 'undefined' ? null : window as any;\r\nif (windowIfDefined && windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__) {\r\n enhancers.push(windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__());\r\n}\r\nfunction configureStore(preloadedState?: any) {\r\n const store = createStore(persistedReducer, preloadedState, compose(applyMiddleware(routerMiddleware(history), signalRMiddleware, storageMiddleware, thunk), ...enhancers));\r\n return store;\r\n}\r\n\r\nconst store: any = configureStore();\r\nexport default store;\r\nexport const persistor = persistStore(store);","import * as types from \"../constants\";\r\n\r\nexport function Login(userData: types.LoginAction): types.AuthActionsTypes {\r\n return {\r\n type: types.AUTH_LOGIN,\r\n payload: userData\r\n };\r\n}\r\nexport function Logout(): types.AuthActionsTypes {\r\n return {\r\n type: types.AUTH_LOGOUT\r\n };\r\n}\r\nexport function RefreshTokens(Tokens: types.IRefreshTokens): types.AuthActionsTypes {\r\n return {\r\n type: types.REFRESH_TOKENS,\r\n payload: Tokens\r\n };\r\n}\r\nexport function UpdateTimezone(TimeZone: number): types.UpdateTimezone {\r\n return {\r\n type: types.UPDATE_TIMEZONE,\r\n payload: TimeZone\r\n };\r\n}\r\nexport function UpdateIsValid(isValid: boolean): types.UpdateIsValid {\r\n return {\r\n type: types.UPDATE_ISVALID,\r\n payload: isValid\r\n };\r\n}\r\nexport function UpdateNumberOfAccounts(): types.IUpdateNumberOfAccounts {\r\n return {\r\n type: types.UPDATE_NUMBER_OF_ACCOUNTS,\r\n };\r\n}","import { DateTime } from 'luxon';\r\nimport { BasicSelectOption, DefaultValueDict } from '../Interfaces/IApplicationForm';\r\nimport { AccExpSesssions, AccSecTypeClass, DashboardItems, DMSessionsResult, EMARKET_EQUITY_POOLS, EPayments, E_IQX_ACCOUNT_TYPES, E_IQX_POOLS, IMarginTiles, IMessage, MARKET_EQUITY_PAYMENT_POOLS, ProfileSesssions, PushNotification, SubIBs, TierClass, TreePathDefaultProfile, UserPermissionOBjectClass } from '../Interfaces/Interfaces';\r\nimport { ActionMessage, IPerms, PushNotificationStatus } from '../redux/constants';\r\nimport store from '../redux/store';\r\nimport { ExternalRoutes } from '../Routes';\r\n\r\ndeclare var window: any;\r\nconst $ = require(\"jquery\");\r\nconst _ = require('lodash');\r\nconst cloneDeep = require('lodash/cloneDeep');\r\ndeclare var require: any\r\nconst timezones: any = require(\"compact-timezone-list\");\r\nconst luxonIgnoredTimezones: any = {\r\n 'Antarctica/DumontDUrville': true\r\n};\r\nconst moment: any = require('moment');\r\nvar crypto = require('crypto');\r\nexport const VERSION = \"2.9.16\";\r\nexport const FILETYPE_SPREADSHEET = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nexport const FILE_EXTENSION_XLSX = '.xlsx';\r\nexport function perOptFunction() {\r\n var perOpt = [\r\n { value: \"hour\", label: \"Per Hour\" },\r\n { value: \"day\", label: \"Per Day\" },\r\n { value: \"mnth\", label: \"Per Month\" },\r\n { value: \"yr\", label: \"Per Year\" }\r\n ];\r\n\r\n return perOpt;\r\n}\r\nexport function ActionTypeOptFunction() {\r\n var ActionTypeOpt = [\r\n { value: \"-1\", label: \"Choose Action Type\" },\r\n { value: \"Full\", label: \"Full\" },\r\n { value: \"Close Master Trades\", label: \"Close Master Trades\" },\r\n { value: \"Close Slave Trades\", label: \"Close Slave Trades\" },\r\n { value: \"Manage Investors Status\", label: \"Manage Investors Status\" },\r\n { value: \"Manage Allocation Rule Amount\", label: \"Manage Allocation Rule Amount\" },\r\n { value: \"Manage Allocation Rule\", label: \"Manage Allocation Rule\" }\r\n ];\r\n return ActionTypeOpt;\r\n}\r\n\r\nexport function RequestStatusOpFunction() {\r\n var RequestStatusOp = [\r\n { value: \"1\", label: \"Approved\" },\r\n { value: \"-1\", label: \"Declined\" }\r\n ];\r\n return RequestStatusOp;\r\n}\r\nexport function RequestStatusOp2Function() {\r\n var RequestStatusOp = [\r\n { value: \"0\", label: \"Queued Requests\" },\r\n { value: \"1\", label: \"Delayed Requests\" }\r\n ];\r\n return RequestStatusOp;\r\n}\r\nexport function RequestTypeOpFunction() {\r\n var RequestTypeOp = [\r\n { value: \"Auto Copy\", label: \"Auto Copy\" },\r\n { value: \"Admin Account\", label: \"Admin Account\" },\r\n { value: \"Account Info\", label: \"Account Info\" },\r\n { value: \"Delete Account\", label: \"Delete Account\" },\r\n { value: \"Deposit\", label: \"Deposit\" },\r\n { value: \"External Transfer\", label: \"External Transfer\" },\r\n { value: \"Internal Transfer\", label: \"Internal Transfer\" },\r\n { value: \"Withdrawal\", label: \"Withdrawal\" },\r\n { value: \"New Account\", label: \"New Account\" }];\r\n return RequestTypeOp;\r\n}\r\n\r\nexport function CommisionOptionsFunction() {\r\n var CommisionOptions = [\r\n { value: \"1\", label: \"Commission Trade Lot-CTL\" },\r\n { value: \"2\", label: \"Commission Trade Perc-CTP\" },\r\n { value: \"0\", label: \"Both\" }\r\n ];\r\n return CommisionOptions;\r\n}\r\n\r\nexport function AllMonthsOptionsFunction() {\r\n var monthOpt = [\r\n { value: \"01\", label: \"January\" },\r\n { value: \"02\", label: \"February\" },\r\n { value: \"03\", label: \"March\" },\r\n { value: \"04\", label: \"April\" },\r\n { value: \"05\", label: \"May\" },\r\n { value: \"06\", label: \"June\" },\r\n { value: \"07\", label: \"July\" },\r\n { value: \"08\", label: \"August\" },\r\n { value: \"09\", label: \"September\" },\r\n { value: \"10\", label: \"October\" },\r\n { value: \"11\", label: \"November\" },\r\n { value: \"12\", label: \"December\" },\r\n ];\r\n return monthOpt;\r\n}\r\n//translation add here \r\nexport const MaritalStatusOpt = [\r\n { value: \"Single\", label: \"Single\" },\r\n { value: \"Engaged\", label: \"Engaged\" },\r\n { value: \"Married\", label: \"Married\" }\r\n]\r\n//#region Investor Options\r\nexport const EducationOptions = [\r\n { value: \"-1\", label: \"Select\" },\r\n { value: \"High school\", label: \"High school\" },\r\n { value: \"College\", label: \"College\" },\r\n { value: \"Graduate\", label: \"Graduate\" },\r\n { value: \"Doctorate\", label: \"Doctorate\" }\r\n]\r\nexport const PreviousPositionOptions = [\r\n { value: \"-1\", label: \"-Choose Position-\" },\r\n { value: \"Assistant\", label: \"Assistant\" },\r\n { value: \"Administrator\", label: \"Administrator\" },\r\n { value: \"Advisor\", label: \"Advisor\" },\r\n { value: \"Chairman\", label: \"Chairman\" },\r\n { value: \"Clerk\", label: \"Clerk\" },\r\n { value: \"Coordinator\", label: \"Coordinator\" },\r\n { value: \"Director\", label: \"Coordinator\" },\r\n { value: \"Executive\", label: \"Coordinator\" },\r\n { value: \"Head of Department\", label: \"Head of Department\" },\r\n { value: \"Manager\", label: \"Manager\" },\r\n { value: \"Supervisor\", label: \"Supervisor\" },\r\n]\r\nexport const IndustryCurrentEmploymentOptions = [\r\n { value: \"-1\", label: \" -Choose Industry-\" },\r\n { value: \"AccountingAudit\", label: \"Accounting/audit\" },\r\n { value: \"Administrative\", label: \"Administrative\" },\r\n { value: \"Agriculture & Agribusiness\", label: \"Agriculture & Agribusiness\" },\r\n { value: \"Banking\", label: \"Banking\" },\r\n { value: \"Beauty & Cosmetics\", label: \"Beauty & Cosmetics\" },\r\n { value: \"Catering\", label: \"Catering\" },\r\n { value: \"Construction\", label: \"Construction\" },\r\n { value: \"Education\", label: \"Education\" },\r\n { value: \"Engineering\", label: \"Engineering\" },\r\n { value: \"Financial Services\", label: \"Financial Services\" },\r\n { value: \"Government\", label: \"Government\" },\r\n { value: \"Healthcare\", label: \"Healthcare\" },\r\n { value: \"Hospitality\", label: \"Hospitality\" },\r\n { value: \"HR\", label: \"HR\" },\r\n { value: \"IT\", label: \"IT\" },\r\n { value: \"Legal Services\", label: \"Legal Services\" },\r\n { value: \"Leisure\", label: \"Leisure\" },\r\n { value: \"Marketing\", label: \"Marketing\" },\r\n { value: \"Media & Broadcasting\", label: \"Media & Broadcasting\" },\r\n { value: \"Pharmaceuticals\", label: \"Pharmaceuticals\" },\r\n { value: \"Real Estate\", label: \"Real Estate\" },\r\n { value: \"Retail\", label: \"Retail\" },\r\n { value: \"Sales\", label: \"Sales\" },\r\n { value: \"SocialCare\", label: \"Social Care\" },\r\n { value: \"Telecommunications\", label: \"Telecommunications\" },\r\n { value: \"Travel and Tourism\", label: \"Travel and Tourism\" },\r\n { value: \"Other\", label: \"Other\" }\r\n]\r\nexport const unavailableTINtOptions = [\r\n { value: \"-1\", label: \" -ChooseAnswer-\" },\r\n { value: \"CountryNotIssueTINToResidents\", label: \"CountryNotIssueTINToResidents\" },\r\n { value: \"NoTINRequiredInRegion\", label: \"NoTINRequiredInRegion\" },\r\n { value: \"Other\", label: \"Other\" },\r\n\r\n]\r\nexport const EmploymentStatusOptions = [\r\n { value: \"-1\", label: 'ChooseStatus' },\r\n { value: \"EmployedPartTime\", label: 'EmployedPartTime' },\r\n { value: \"Employed\", label: 'EmployedFullTimeNotSenior' },\r\n { value: \"EmployedFullTimeSenior\", label: 'EmployedFullTimeSenior' },\r\n { value: \"Property owner\", label: 'PropertyOwner' },\r\n { value: \"Self-Employed\", label: 'SelfEmployed' },\r\n { value: \"Student\", label: 'Student' },\r\n { value: \"Retired\", label: 'Retired' },\r\n { value: \"Unemployed\", label: 'Unemployed' },\r\n]\r\n\r\n//#endregion\r\n\r\n// #region Trading Experience Options\r\n\r\nexport const MonthlyAverageVolumeOptions = [\r\n { value: \"-1\", label: 'ChooseAverage' },\r\n { value: \"Less than 1 Million\", label: 'LessThanOneMillion' },\r\n { value: \"1-5 Million\", label: 'OneToFiveMillion' },\r\n { value: \"5-50 Million\", label: 'FiveToFiftyMillion' },\r\n { value: \"Over 50 Million\", label: 'OverFiftyMillion' }\r\n];\r\n\r\nexport const PurposeAndNatureOfTradingOptions = [\r\n { value: \"-1\", label: 'ChoosePurpose' },\r\n { value: \"Speculative\", label: 'Speculative' },\r\n { value: \"Hedging\", label: 'Hedging' },\r\n { value: \"Investment\", label: 'Investment' },\r\n { value: \"Income\", label: 'Income' },\r\n { value: \"Other\", label: 'Other' },\r\n];\r\n\r\nexport const PurposeOfOpeningTheAccountOptions = [\r\n { value: \"-1\", label: 'ChoosePurpose' },\r\n { value: \"Speculation\", label: 'Speculation' },\r\n { value: \"Hedging\", label: 'Hedging' },\r\n];\r\n\r\nexport const CurrentLevelOfKnowledgeOptions = [\r\n { value: \"-1\", label: 'ChooseLevel' },\r\n { value: \"None/ Limited/ Basic experience\", label: 'NoneLimitedBasicExperience' },\r\n { value: \"Experience in mainstream financial products\", label: 'ExperienceInMainstreamFinancialProducts' },\r\n { value: \"Experience in most financial products\", label: 'ExperienceInMostFinancialProducts' },\r\n { value: \"Professional Investor or frequent traders\", label: 'ProfessionalInvestorOrFrequentTraders' }\r\n];\r\n\r\nexport const HowLongHaveYouTradedForexOptions = [\r\n { value: \"-1\", label: 'ChoosePeriod' },\r\n { value: \"No experience\", label: 'NoExperience' },\r\n { value: \"Less than 1 Year\", label: 'LessThanOneYear' },\r\n { value: \"1-5 years\", label: 'OneToFiveYears' },\r\n { value: \"Greater than 5 years\", label: 'GreaterThanFiveYears' }\r\n];\r\n\r\nexport const HowManyTradesDoYouPlaceEachMonthOptions = [\r\n { value: \"-1\", label: 'ChoosePlacements' },\r\n { value: \"0-3\", label: \"0 - 3 \" },\r\n { value: \"4-10\", label: \" 4 - 10 \" },\r\n { value: \"11-50\", label: \" 11 - 50\" },\r\n { value: \"greater than 50\", label: 'GreaterThanFifty' }\r\n];\r\n\r\nexport const OverWhatTimeframeHaveYouHeldPositionsOptions = [\r\n { value: \"-1\", label: 'ChooseTimeframe' },\r\n { value: \"Always less than 1 month\", label: 'AlwaysLessThanOneMonth' },\r\n { value: \"Both less and more than 1 month\", label: 'BothLessAndMoreThanOneMonth' },\r\n { value: \"I have never traded before\", label: 'IHaveNeverTradedBefore' }\r\n];\r\n\r\nexport const StocksMutualFundsBondsEquitiesOptions = [\r\n { value: \"-1\", label: 'ChooseExtent' },\r\n { value: \"Never or rarely\", label: 'NeverOrRarely' },\r\n { value: \"Occasionally (up to 25 trades per year)\", label: 'Occasionally' },\r\n { value: \"Regularly (between 25 to 100 trades per year)\", label: 'Regularly' },\r\n { value: \"Frequently (over 100 trades per year)\", label: 'Frequently' },\r\n];\r\n\r\nexport const DerivativesSuchAsFuturesOptionsSwapsOptions = [\r\n { value: \"-1\", label: 'ChooseExtent' },\r\n { value: \"Never or rarely\", label: 'NeverOrRarely' },\r\n { value: \"Occasionally (up to 25 trades per year)\", label: 'Occasionally' },\r\n { value: \"Regularly (between 25 to 100 trades per year)\", label: 'Regularly' },\r\n { value: \"Frequently (over 100 trades per year)\", label: 'Frequently' },\r\n];\r\n\r\nexport const ForexRollingSpotFXSpreadBetsOptions = [\r\n { value: \"-1\", label: 'ChooseExtent' },\r\n { value: \"Never or rarely\", label: 'NeverOrRarely' },\r\n { value: \"Occasionally(up to 25 trades per year)\", label: 'Occasionally' },\r\n { value: \"Regularly(between 25 to 100 trades per year)\", label: 'Regularly' },\r\n { value: \"Frequently (over 100 trades per year)\", label: 'Frequently' },\r\n];\r\n\r\nexport const WhatWasTheAverageYearlyVolumeOptions = [\r\n { value: \"-1\", label: 'ChooseAverage' },\r\n { value: \"I never invested\", label: 'I never invested' },\r\n { value: \"Less than €1000\", label: 'Less than €1000' },\r\n { value: \"Between €1000 to €5,000\", label: 'Between €1000 to €5, 000' },\r\n { value: \"Between €5,000 to €25,000\", label: 'Between €5, 000 to €25, 000' },\r\n { value: \"Over €25,000\", label: ' Over €25, 000' }\r\n\r\n];\r\n\r\nexport const WhatWasTheAverageLevelOfLeverageOptions = [\r\n { value: \"-1\", label: 'ChooseAverage' },\r\n { value: 'I never used leverage', label: 'INeverUsedLeverage' },\r\n { value: 'Lower than 1:10', label: 'Lower than 1: 10' },\r\n { value: 'Between 1:10 - 1:25', label: ' Between 1: 10 - 1: 25' },\r\n { value: 'Between 1:25 - 1:50', label: ' Between 1: 25 - 1: 50' },\r\n { value: 'Between 1:50 - 1:100', label: ' Between 1: 50 - 1: 100' },\r\n { value: 'Higher than 1:100', label: ' Higher than 1: 100' }\r\n];\r\n\r\nexport const MaximumLeverageUsedOptions = [\r\n { value: '-1', label: 'ChooseAverage' },\r\n { value: 'I have never used leverage', label: 'INeverUsedLeverage' },\r\n { value: 'Up to 5:1', label: ' Up to 5:1' },\r\n { value: 'Up to 30:1', label: ' Up to 30:1' },\r\n { value: 'Up to 100:1', label: ' Up to 100:1' },\r\n { value: '>100:1', label: '>100:1 ' },\r\n];\r\n// #endregion\r\n//#region trading knowledge selects\r\nexport const EducationalQualificationOptions = [\r\n { value: '-1', label: 'ChooseQualification' },\r\n { value: 'University Degree or post graduate', label: 'UniversityDegreeOrPostGraduate' },\r\n { value: 'Seminars relevant to the CFDs leverage products', label: 'SeminarsRelevantToTheCFDs' },\r\n { value: 'Other', label: 'Other' },\r\n { value: 'Up to 100:1', label: 'Up to 100:1' },\r\n { value: 'None', label: 'None' },\r\n];\r\nexport const TheStopLossOrderIsUsedToOptions = [\r\n { value: '-1', label: 'ChooseUsage' },\r\n { value: 'Reduce / Limit the loss', label: 'ReduceLimitTheLoss' },\r\n { value: 'Increase Loss', label: 'IncreaseLoss' },\r\n];\r\nexport const InvestmentOptions = [\r\n { value: '-1', label: 'ChooseInvestment' },\r\n { value: 'CFDs', label: 'CFDs' },\r\n { value: 'ETFs', label: 'ETFs' },\r\n { value: 'Shares', label: 'Shares' },\r\n { value: 'Real estate', label: 'Realestate' },\r\n { value: 'Bank Bonds', label: 'BankBonds' },\r\n];\r\nexport const HowMuchMarginIsRequiredOptions = [\r\n { value: '-1', label: 'ChooseMargin' },\r\n { value: '1,000 EUR', label: '1,000 EUR' },\r\n { value: '100 EUR', label: '100 EUR' },\r\n { value: '5,000 EUR', label: '5,000 EUR' },\r\n { value: '1,000 USD', label: '1,000 USD' }\r\n];\r\nexport const TheMarketIsMovingAgainstYouOptions = [\r\n { value: '-1', label: 'ChooseSituation' },\r\n { value: 'The account equity reaches 50% of the used margin', label: 'The account equity reaches 50% of the used margin' },\r\n { value: 'The account equity reaches zero', label: 'The account equity reaches zero' },\r\n { value: 'The account equity reaches 50% of the account balance', label: 'The account equity reaches 50% of the account balance' },\r\n { value: 'None of the above', label: 'None of the above' }\r\n];\r\nexport const WhenTradingWithHigherLeverageOptions = [\r\n { value: '-1', label: 'ChooseAnswer' },\r\n { value: 'Risk is reduced', label: 'RiskIsReduced' },\r\n { value: 'The profit and loss of a 1.00 lot position is multiplied', label: 'PositionIsMultiplied' },\r\n { value: 'Positions can be opened with more national exposure than available balance', label: 'PositionsCanBeOpened' }\r\n];\r\nexport const StopOutBeTriggeredOptions = [\r\n { value: '-1', label: 'ChooseAnswer' },\r\n { value: 'When the equity reaches 500 USD', label: 'EquityReaches500' },\r\n { value: 'When the equity reaches 250 USD', label: 'EquityReaches250' },\r\n { value: 'When the equity goes negative', label: 'EquityGoesNegative' },\r\n { value: 'When the equity reaches 50 USD', label: 'EquityReaches50' }\r\n];\r\nexport const KnowledgeLVLOptions = [\r\n { value: '-1', label: 'ChooseAnswer' },\r\n { value: 'None', label: 'None' },\r\n { value: 'Beginner', label: 'Beginner' },\r\n { value: 'Experienced', label: 'Experienced' }\r\n];\r\nexport const HowManyTradesHaveYouExecutedOptions = [\r\n { value: '-1', label: 'ChooseRange' },\r\n { value: 'None', label: 'None' },\r\n { value: '1-25', label: '1-25' },\r\n { value: '26-50', label: '26-50' },\r\n { value: '51-75', label: '51-75' },\r\n { value: '100+', label: '100+' },\r\n];\r\nexport const HowHaveYouTradedProductsOptions = [\r\n { value: '-1', label: 'ChooseAnswer' },\r\n { value: 'Not Applicable', label: 'NotApplicable' },\r\n { value: 'I made my own trading decisions', label: 'IMadeMyOwnTradingDecisions' },\r\n { value: 'My funds were managed and/or I took advice', label: 'MyFundsWereManaged' },\r\n { value: 'A combination of my own trading decisions and funds being managed', label: 'ACombinationOfMyOwnTradingDecisions' }\r\n];\r\nexport const WhySpreadFloatingQnsOptions = [\r\n { value: \"-1\", label: ' -Choose Answer -' },\r\n { value: \"The best bid and ask prices available on an ECN are streamed\", label: ' The best bid and ask prices available on an ECN are streamed' },\r\n { value: \"Multiple price feeds are aggregated\", label: ' Multiple price feeds are aggregated' },\r\n { value: \"The available liquidity in a security constantly changes\", label: ' The available liquidity in a security constantly changes' },\r\n { value: \"All of the above\", label: 'All of the above' }\r\n];\r\n//#endregion\r\n//#region ProfessionalClientStatusTab\r\nexport const RoleHoldWithEmployerOptions = [\r\n { value: '-1', label: 'SelectRole' },\r\n { value: 'Account Manager', label: 'AccountManager' },\r\n { value: 'Senior Manager', label: 'SeniorManager' },\r\n { value: 'Analyst/Researcher', label: 'Analyst/Researcher' },\r\n { value: 'Educator', label: 'Educator' },\r\n { value: 'Operational Manager', label: 'OperationalManager ' },\r\n { value: 'Risk Manager', label: 'RiskManager ' },\r\n { value: 'Other', label: 'Other ' },\r\n];\r\nexport const ProvideAverageNumberOptions = [\r\n { value: '-1', label: 'SelectAverage' },\r\n { value: '30+', label: '30 +' },\r\n { value: '20-29', label: ' 20 - 29' },\r\n { value: '10-19', label: ' 10 - 19' },\r\n { value: '0-9', label: '0-9' },\r\n];\r\n//#endregion\r\n//function to translate labels\r\nexport function translateSelectOptions(list: Array, t: Function) {//add the render to fixed \r\n\r\n for (let i = 0; i < list.length; i++) {\r\n try {\r\n if (t(list[i].label)) {\r\n list[i].label = t(list[i].label)\r\n }\r\n }\r\n catch (e) {\r\n console.error(e)\r\n //list[i].label = list[i].label /*+ \" -- Translation needed \"*/;\r\n }\r\n }\r\n return list;\r\n}\r\n//#region client page\r\nexport const clientPageType = [ // check add Name attribute\r\n { value: 1, label: 1 },\r\n { value: 2, label: 2 },\r\n { value: 3, label: 3 },\r\n { value: 4, label: 4 },\r\n { value: 5, label: 5 },\r\n];\r\n//#endregion\r\n\r\nexport const RequestTypeOp = [\r\n { value: \"Auto Copy\", label: \"Auto Copy\" },\r\n { value: \"Deposit\", label: \"Deposit\" },\r\n { value: \"Account Info\", label: \"Account Info\" },\r\n { value: \"Wallet Deposit\", label: \"Wallet Deposit\" },\r\n { value: \"Delete Account\", label: \"Delete Account\" },\r\n { value: \"Change Leverage\", label: \"Change Leverage\" },\r\n { value: \"Withdrawal\", label: \"Withdrawal\" },\r\n { value: \"Wallet Withdrawal\", label: \"Wallet Withdrawal\" },\r\n { value: \"External Transfer\", label: \"External Transfer\" },\r\n { value: \"Internal Transfer\", label: \"Internal Transfer\" },\r\n { value: \"External Wallet Transfer\", label: \"External Wallet Transfer\" },\r\n { value: \"Internal Wallet Transfer\", label: \"Internal Wallet Transfer\" },\r\n { value: \"New Account\", label: \"New Account\" }\r\n];\r\nexport const AccountRequestTypeOp = [\r\n { value: \"Auto Copy\", label: \"Auto Copy\" },\r\n { value: \"Account Info\", label: \"Account Info\" },\r\n { value: \"Delete Account\", label: \"Delete Account\" },\r\n { value: \"Change Leverage\", label: \"Change Leverage\" },\r\n { value: \"New Account\", label: \"New Account\" }\r\n];\r\n\r\nexport const TransactionRequestTypeOp = [\r\n { value: \"Deposit\", label: \"Deposit\" },\r\n { value: \"Wallet Deposit\", label: \"Wallet Deposit\" },\r\n { value: \"Withdrawal\", label: \"Withdrawal\" },\r\n { value: \"Wallet Withdrawal\", label: \"Wallet Withdrawal\" },\r\n { value: \"External Transfer\", label: \"External Transfer\" },\r\n { value: \"Internal Transfer\", label: \"Internal Transfer\" },\r\n { value: \"External Wallet Transfer\", label: \"External Wallet Transfer\" },\r\n { value: \"Internal Wallet Transfer\", label: \"Internal Wallet Transfer\" },\r\n];\r\nexport const RequestStatusOption = [\r\n { value: \"1\", label: \"Approved\" },\r\n { value: \"-1\", label: \"Declined\" }\r\n]\r\nexport const PrivilegesOption = [\r\n { value: \"-1\", label: \"-Select Privilege\" },\r\n { value: \"1\", label: \"Client\" },\r\n { value: \"2\", label: \"Back Office\" },\r\n { value: \"3\", label: \"Both\" },\r\n];\r\nexport function ValidateSelect(selected: any) {\r\n if (selected === null) return false;\r\n if (selected === undefined || selected.label === undefined || selected.value === undefined) return false;\r\n if (String(selected.value) === \"-1\") return false;\r\n return selected.value !== -1;\r\n}\r\nexport function LogMessage(...allArgs: any) {\r\n try {\r\n let args: any = Array.prototype.slice.call(arguments);\r\n console.log.apply(console, args);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n }\r\n}\r\nexport function ValidateMultiSelect(selected: any[]) {\r\n if (selected === undefined || selected === null || selected.length === 0) return false;\r\n return true;\r\n}\r\nexport function ValidateInput(value: string): boolean {//as !value can't check number\r\n return (value !== null && value !== undefined && value !== \"\");\r\n}\r\nexport function validateCheckBoxIsTrue(value: boolean): boolean {\r\n return (value !== null && value !== undefined && value === true);\r\n}\r\nexport function returnSelect(value: any): string {\r\n if (!value || String(value) === \"-1\" || String(value) === \"undefined\")\r\n return \"Select\"\r\n return value;\r\n}\r\nexport function returnZero(value: any): string {\r\n if (String(value) === \"-1\")\r\n return \"0\"\r\n return value;\r\n}\r\nexport function CastOptionsToScore(FieldID: string, BasicSelectOptions: BasicSelectOption[]) {\r\n let _castedObject: any[] = [...BasicSelectOptions];\r\n _castedObject = _castedObject\r\n .filter((item: BasicSelectOption) => String(item.value) !== \"-1\")\r\n .map((item: BasicSelectOption, index: number) => {\r\n return {\r\n SID: parseInt(String(index + 1), 10),\r\n FieldID: FieldID,\r\n Value: item.label,\r\n Score: 0,\r\n FieldIndex: String(index + 1),\r\n }\r\n })\r\n return _castedObject;\r\n}\r\nexport function CastCheckBoxesToScore(FieldID: string, BasicSelectOptions: string[]) {\r\n let _castedObject: any[] = [...BasicSelectOptions];\r\n _castedObject = _castedObject.map((item: string, index: number) => {\r\n return {\r\n SID: parseInt(String(index + 1), 10),\r\n FieldID: FieldID,\r\n Value: item,\r\n Score: 0,\r\n FieldIndex: String(index + 1),\r\n }\r\n })\r\n return _castedObject;\r\n}\r\nexport function isDate(date: string) {\r\n if (!date) return \"2000-01-01\";\r\n let dateReg: any = /^\\d{4}([./-])\\d{2}\\1\\d{2}$/;\r\n if (date.match(dateReg))//return null if not match \r\n return date;\r\n return \"2000-01-01\";\r\n}\r\nexport function validateDate(date: any): boolean {\r\n if (!date) return false;\r\n if (date === \"0001-01-01T00:00:00\") return false;\r\n if (date)\r\n date = date.split(\"T\")[0];\r\n let dateReg: any = /^\\d{4}([./-])\\d{2}\\1\\d{2}$/;\r\n return date.match(dateReg) ? true : false;\r\n}\r\nexport function validateDateAndInternval(date: Date, interval: any): boolean {\r\n if (!date) console.debug(\"error date\");\r\n if (interval === undefined || interval === null) console.debug(\"error max\");\r\n //console.log(typeof date);\r\n //console.log(typeof max);\r\n if (!date || (interval === undefined || interval === null)) return false;\r\n if (interval !== 0)\r\n return validateDateInterval(new Date(String(date)), interval);\r\n else\r\n return validateDateInterval(new Date(), new Date(String(date)));\r\n}\r\nexport function validateDateIsValid(_date: Date, Start: Date, End: Date, isStart: boolean): boolean {\r\n // IsStart disabled as data not hardcoden now\r\n return _date >= Start && _date <= End;\r\n}\r\nexport function validateDateAndReturnDate(date: any): string {//dont split date so it can be used\r\n return validateDate(date) ? moment(new Date(date.toString())).format('MM/DD/YY h:mm:ss A') : ' - ';\r\n}\r\nexport function validateDateInterval(Start: Date, End: Date): boolean {\r\n return Start <= End;\r\n}\r\nexport function validateDateRange(date: any): boolean {\r\n let fromDate: any = '';\r\n let toDate: any = '';\r\n if (date) {\r\n fromDate = date.split(',')[0];\r\n toDate = date.split(',')[1];\r\n }\r\n let dateReg: any = /^\\d{4}([./-])\\d{2}\\1\\d{2}$/;\r\n let from = fromDate.match(dateReg) ? true : false;\r\n let to = toDate.match(dateReg) ? true : false;\r\n return from && to;\r\n}\r\nexport function SetUSAFirstCounty(CountryLists: any[]) {\r\n try {\r\n if (!CountryLists) return [];\r\n let _finalList: any = [];\r\n let _newList: any = [...CountryLists];\r\n let _USACountry: any = [];\r\n _USACountry = [..._newList.filter((item: any) => item.CountryName === \"United States\")];\r\n _newList = _newList.filter((item: any) => item.CountryName !== \"United States\");\r\n _finalList.push(..._USACountry);\r\n _finalList.push(..._newList);\r\n return _finalList;\r\n } catch (e) {\r\n console.error('SetUSAFirstCounty: ', e);\r\n return CountryLists;\r\n }\r\n}\r\nexport function SetFirstCounty(CountryName: string, CountryLists: any[]) {\r\n try {\r\n if (!CountryLists) return [];\r\n let _finalList: any = [];\r\n let _newList: any = [...CountryLists];\r\n let _USACountry: any = [];\r\n _USACountry = [..._newList.filter((item: any) => item.CountryName === CountryName)];\r\n _newList = _newList.filter((item: any) => item.CountryName !== CountryName);\r\n _finalList.push(..._USACountry);\r\n _finalList.push(..._newList);\r\n return _finalList;\r\n } catch (e) {\r\n console.error('SetUSAFirstCounty: ', e);\r\n return CountryLists;\r\n }\r\n}\r\nexport function validateEmail(email: any) {\r\n if (!email) return false;\r\n let regex = /[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}/igm;\r\n return regex.test(email);\r\n}\r\nexport function GetPushNoticationifOn(name: string, list: PushNotification[]) {\r\n try {\r\n if (!list) return false;\r\n let _allNotification: PushNotification[] = [...list];\r\n let _nameExist: boolean = [..._allNotification].some((item: PushNotification) => ((item && item.PNDescription) && (item.PNDescription.toLowerCase() === name.toLowerCase())));\r\n return _nameExist;\r\n } catch (e) {\r\n console.error(e);\r\n return true;\r\n }\r\n}\r\nexport function GetPermValName(name: string, list: IPerms[]) {\r\n try {\r\n if (!list) return \"Deny\"\r\n let _allpermsList: IPerms[] = [...list];\r\n let _parentList: any[] = [..._allpermsList].filter((item: IPerms) => (item && item.PermName) && (item.PermName.toLowerCase() === name.toLowerCase()));\r\n let _name = _parentList.length === 0 ? \"Deny\" : _parentList[0].PermValName;\r\n return _name;\r\n } catch (e) {\r\n console.error(e);\r\n return \"Deny\"\r\n }\r\n}\r\nexport function GetPermissionDetailsByName(name: string, list: IPerms[]) {\r\n try {\r\n if (!list)\r\n return {\r\n Allowed: false,\r\n Perms: []\r\n };\r\n let _allpermsList: IPerms[] = [...list];\r\n let _parentList: any[] = [..._allpermsList].filter((item: IPerms) => (item && item.PermName) && (item.PermName.toLowerCase() === name.toLowerCase()));\r\n let _parentID = _parentList.length === 0 ? 0 : _parentList[0].PermID;\r\n let _allowed = _parentList.length === 0 ? false : ((_parentList[0].PermValID ? true : false) && (_parentList[0].PermValID !== EPermissionValue.Deny) ? true : false);\r\n let _children = [...list].filter((item: IPerms) => item.ParentPermID === _parentID);\r\n return {\r\n Allowed: _allowed,\r\n Perms: _allowed ? [..._parentList, ..._children] : [] //as if deny no perm should be allowed \r\n };\r\n } catch (e) {\r\n console.error(e);\r\n return {\r\n Allowed: false,\r\n Perms: []\r\n };\r\n }\r\n}\r\nexport function CheckIfPermAlllowedByName(name: string, list: IPerms[]) {\r\n try {\r\n let _allpermsList: IPerms[] = [...list];\r\n let _nameList: any[] = [..._allpermsList].filter((item: IPerms) => (item && item.PermName) && item.PermName.toLowerCase() === name.toLowerCase());\r\n let _allowed = _nameList.length === 0 ? false : ((_nameList[0].PermValID ? true : false) && (_nameList[0].PermValID !== EPermissionValue.Deny) ? true : false);//if Null false && any is false //2 is deny\r\n return _allowed\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function GetPermIDByPermName(name: string, list: IPerms[]) {\r\n try {\r\n let _allpermsList: IPerms[] = [...list];\r\n let _nameList: any[] = [..._allpermsList].filter((item: IPerms) => (item && item.PermName) && item.PermName.toLowerCase() === name.toLowerCase());\r\n let _allowed = _nameList.length === 0 ? false : ((_nameList[0].PermValID ? true : false) && (_nameList[0].PermValID !== EPermissionValue.Deny) ? true : false);\r\n return (_allowed && _nameList && _nameList[0]?.PermID) ? +(_nameList[0]?.PermID) : 0;\r\n } catch (e) {\r\n console.error(e);\r\n return 0;\r\n }\r\n}\r\nexport function GetPermissionDetailsByNameAndID(name: string, list: IPerms[], PermID: number) {\r\n try {\r\n if (!list)\r\n return {\r\n Allowed: false,\r\n Perms: []\r\n };\r\n let _allpermsList: IPerms[] = [...list];\r\n let _parentList: any[] = [..._allpermsList].filter((item: IPerms) => ((item && item.PermName) && (item.PermName.toLowerCase() === name.toLowerCase()))\r\n && (String(item.PermID) === String(PermID))\r\n );\r\n let _parentID = _parentList.length === 0 ? 0 : _parentList[0].PermID;\r\n let _allowed = _parentList.length === 0 ? false : ((_parentList[0].PermValID ? true : false) && (_parentList[0].PermValID !== EPermissionValue.Deny) ? true : false);\r\n let _children = [...list].filter((item: IPerms) => item.ParentPermID === _parentID);\r\n return {\r\n Allowed: _allowed,\r\n Perms: _allowed ? [..._parentList, ..._children] : [] //as if deny no perm should be allowed \r\n };\r\n } catch (e) {\r\n console.error(e);\r\n return {\r\n Allowed: false,\r\n Perms: []\r\n };\r\n }\r\n}\r\nexport function TempGetPermissionDetailsByName(name: string, list: IPerms[]) {\r\n return {\r\n Allowed: true,\r\n Perms: []\r\n }\r\n}\r\nexport function TempCheckIfPermAlllowedByName(name: string, list: IPerms[]) { return true }\r\nexport function deepCopyFunction(inObject: any) {\r\n let outObject: any, value: any, key: any;\r\n\r\n if (typeof inObject !== \"object\" || inObject === null) {\r\n return inObject // Return the value if inObject is not an object\r\n }\r\n\r\n // Create an array or object to hold the values\r\n outObject = Array.isArray(inObject) ? [] : {}\r\n\r\n for (key in inObject) {\r\n value = inObject[key]\r\n\r\n // Recursively (deep) copy for nested objects, including arrays\r\n outObject[key] = deepCopyFunction(value)\r\n }\r\n\r\n return outObject\r\n}\r\nexport const ValidationTXT: any = [\"error\", \"success\", \"validating\", \"warning\", \"\"];\r\nexport function validateCommaSeparatedStrings(text: string) {\r\n //var regex = /[!@#$%^&*\\-\\_(),.? \":{}|<>1234567890]/g\r\n if (!text || text === \"\") return false;\r\n if (text === \"*\") return true;\r\n //var _regexComma = /^\\w(,?\\w)*$/;\r\n /* var _regexComma = /^[^,\\s]\\S*$/;//as special characters allowed*/\r\n if (text.startsWith(\" \") || text.endsWith(\" \")) return false;\r\n const allArray = text.split(\",\");\r\n return !allArray.some((item: string) => item.startsWith(\" \") || item.endsWith(\" \"))\r\n //return text.match(_regexComma) ? true : false;\r\n}\r\nexport function validateCommaSeparatedStringsSecuirties(text: string) {\r\n if (!text || text === \"\") return false;\r\n if (text === \"*\") return true;\r\n //var _regexComma = /^[^,\\s].*$/;//all special and space\r\n //return text.match(_regexComma) ? true : false;\r\n if (text.startsWith(\" \") || text.endsWith(\" \")) return false;\r\n const allArray = text.split(\",\");\r\n return !allArray.some((item: string) => item.startsWith(\" \") || item.endsWith(\" \"))\r\n}\r\nexport function validateCommaSeparatedStringsTrue(text: string) {\r\n //var regex = /[!@#$%^&*\\-\\_(),.? \":{}|<>1234567890]/g\r\n if (!text || text === \"\") return true;\r\n if (text === \"*\") return true;\r\n /*only check is on spaces as special characters are different*/\r\n const list = text.split(',');\r\n for (let element of list) {\r\n if (element.startsWith(\" \") || element.endsWith(\" \")) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n //var _regexComma = /^\\w(,?\\w)*$/;\r\n //var _regexComma = /^[^,\\s]\\S*$/;//as special characters allowed\r\n //return text.match(_regexComma) ? true : false;\r\n}\r\nexport function validateCommaSeparatedNumberTrue(text: string) {\r\n if (!text || text === \"\") return true;\r\n if (text === \"*\") return true;\r\n var _regexComma = /^\\d+(,\\d+)*$/;\r\n return text.match(_regexComma) ? true : false;\r\n}\r\nexport function validateCommaSeparatedTextTrue(text: string) {\r\n if (!text || text === \"\") return true;\r\n if (text === \"*\") return true;\r\n var _regexComma = /^[a-zA-z]+(,[a-zA-z]+)*$/;\r\n return text.match(_regexComma) ? true : false;\r\n}\r\n\r\nexport function DisplayAllocationRules(list: any, Allowed: boolean, UserAllocationPermissions: IPerms[]): any[] {\r\n if (!Allowed) return [{ value: -1, label: \"No Allocations\" }];\r\n if (!list) return [];\r\n let ELS: string = CheckIfPermAlllowedByName('ELS', UserAllocationPermissions) ? 'ELS' : '';\r\n let ECS: string = CheckIfPermAlllowedByName('ECS', UserAllocationPermissions) ? 'ECS' : '';\r\n let EV: string = CheckIfPermAlllowedByName('EV', UserAllocationPermissions) ? 'EV' : '';\r\n let Percentage: string = CheckIfPermAlllowedByName('Percentage', UserAllocationPermissions) ? 'Percentage' : '';\r\n let Multiplier: string = CheckIfPermAlllowedByName('Multiplier', UserAllocationPermissions) ? 'Multiplier' : '';\r\n let BLS: string = CheckIfPermAlllowedByName('BLS', UserAllocationPermissions) ? 'BLS' : '';\r\n let FixedLot: string = CheckIfPermAlllowedByName('Fixed Lot', UserAllocationPermissions) ? 'Fixed Lot' : '';\r\n let Equity: string = CheckIfPermAlllowedByName('% of Equity', UserAllocationPermissions) ? '% of Equity' : '';\r\n //console.log({ list, Allowed, UserAllocationPermissions })\r\n //console.log(ELS || ECS || EV || Percentage || Multiplier || BLS || FixedLot || Equity)\r\n let _newAllocationRuleList: any[] = [...list];\r\n _newAllocationRuleList = _newAllocationRuleList.filter((item: any) => (item && item.aRuleName && (item.aRuleName === ELS || item.aRuleName === ECS || item.aRuleName === EV\r\n || item.aRuleName === Percentage || item.aRuleName === Multiplier || item.aRuleName === BLS || item.aRuleName === FixedLot || item.aRuleName === Equity)));\r\n return _newAllocationRuleList;\r\n\r\n}\r\n\r\nexport function DisplaySignalsAllocation(list: any) {\r\n if (!list) return [];\r\n let ELS: string = '';\r\n let ECS: string = '';\r\n let EV: string = 'EV';\r\n let Percentage: string = '';\r\n let Multiplier: string = '';\r\n let BLS: string = '';\r\n let FixedLot: string = 'Fixed Lot';\r\n let Equity: string = '% of Equity';\r\n let _newAllocationRuleList: any[] = [...list];\r\n _newAllocationRuleList = _newAllocationRuleList.filter((item: any) => (item && item.aRuleName && (item.aRuleName === ELS || item.aRuleName === ECS || item.aRuleName === EV\r\n || item.aRuleName === Percentage || item.aRuleName === Multiplier || item.aRuleName === BLS || item.aRuleName === FixedLot || item.aRuleName === Equity)));\r\n return _newAllocationRuleList;\r\n\r\n}\r\n\r\nexport function dynamicSort(property: any) {\r\n var sortOrder = 1;\r\n if (property[0] === \"-\") {\r\n sortOrder = -1;\r\n property = property.substr(1);\r\n }\r\n return function (a: any, b: any) {\r\n var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;\r\n return result * sortOrder;\r\n }\r\n}\r\nexport function ConvertIntoDictionary(list: any[], key: any) {\r\n let _newDict: any = [...list].reduce((obj: any, item: any, index: number) => {\r\n obj[item[key]] = item\r\n return obj\r\n }, {});\r\n return _newDict;\r\n}\r\nexport function ConvertIntoDictionaryWithSpecificValue(list: any[], key: any, value: any) {\r\n let _newDict: any = [...list].reduce((obj: any, item: any, index: number) => {\r\n obj[item[key]] = value\r\n return obj\r\n }, {});\r\n return _newDict;\r\n}\r\nexport function checkIfTemplateExistInBothClientAdmin(emailTEmplateName: string) {\r\n let _list: any = [\r\n 'User Reset Password ', // DB it includes sapce \r\n 'Demo Trading account added',\r\n 'Live Trading Account added',\r\n 'New Live Account Request',\r\n 'Close Live Account Request',\r\n 'Leverage Live Account Change Request',\r\n 'Deposit Live Account request',\r\n 'withdrawal Live Account request',\r\n 'Internal Transfer Live Account request',\r\n 'External Transfer Live Account request',\r\n 'Application Requests',\r\n 'Documents expired',\r\n 'Subscribe/Unsubscribe To Signal Request',\r\n 'Client Claimed Bonus']\r\n try {\r\n return _list.includes(emailTEmplateName);\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n\r\n}\r\nexport function StringTemp(ServerType: any) {\r\n if (String(ServerType) === \"MT4\") return 'MT4';\r\n if (String(ServerType) === \"MT5\") return 'MT5';\r\n try {\r\n return String(ServerType) === \"4\" ? \"MT4\" : \"MT5\";\r\n } catch (e) {\r\n console.error(e);\r\n return 'MT4';\r\n }\r\n\r\n}\r\nexport function isNumber(value: any) {\r\n return typeof value === 'number' && isFinite(value);\r\n}\r\nexport function validateNumber(_number: any) {\r\n return _number !== undefined && _number !== null && isNumber(_number);\r\n}\r\nexport const levelofeducationList =\r\n [{ value: \"-1\", label: \"Select\" },\r\n { value: \"IHoldProfessionalQualification\", label: \"I HoldProfessional Qualification\" },\r\n { value: \"IReceivedHigherEducation\", label: \"I Received Higher Education\" },\r\n { value: \"IHoldABachelor\", label: \"I Hold A Bachelor\" },\r\n { value: \"InTheLastThreeYears\", label: \"In The Last Three Years\" },\r\n { value: \"NoneOfTheAbove\", label: \"None Of The Above\" }];\r\nexport const SourceOfFundsList =\r\n [{ value: \"BusinessOwnership\", label: \"Business Owner ship\" },\r\n { value: \"PropertyLandInvestments\", label: \"Property Land Investments\" },\r\n { value: \"FamilyIncomeRelationship\", label: \"Family Income Relationship\" },\r\n { value: \"PersonalSaving\", label: \"Personal Saving\" },\r\n { value: \"InsurancePayout\", label: \"Insurance Payout\" },\r\n { value: \"IncomeFromEmployment\", label: \"Income From Employment\" },\r\n { value: \"CommissionsRevenuesBonuses\", label: \"Commissions Revenues Bonuses\" },\r\n { value: \"ReturnOnInvestmentsSharesDividends\", label: \"Return OnInvestments Shares Dividends\" },\r\n { value: \"BankingFacilities\", label: \"Banking Facilities\" },\r\n { value: \"Inheritance\", label: \"Inheritance\" },\r\n { value: \"Other\", label: \"Other\" },\r\n ];\r\nexport function ValidateAndReturnInput(input: string): string {\r\n if (!input) return \"\";\r\n return input;\r\n}\r\nexport function CheckIfNotificationIsEnabledByID(PNID: number, list: PushNotificationStatus[]): boolean {\r\n let _list: any[] = [...list];\r\n let _isEnabled: boolean = _list.some((item: PushNotificationStatus) => +(item.PNID) === +(PNID));\r\n return _isEnabled;\r\n}\r\nexport function CheckIfNotificationIsEnabledByName(PNDescription: string, list: PushNotificationStatus[]): boolean {\r\n let _list: any[] = [...list];\r\n let _isEnabled: boolean = _list.some((item: PushNotificationStatus) => String(item.PNDescription) === String(PNDescription));\r\n return _isEnabled;\r\n}\r\nexport function password_generator(len: any) {\r\n let length = (len) ? (len) : (10);\r\n let string = \"abcdefghijklmnopqrstuvwxyz\"; //to upper\r\n let numeric = '0123456789';\r\n let punctuation = '!@#$%^&';\r\n let password = \"\";\r\n let character = \"\";\r\n while (password.length < length) {\r\n let _string = Math.ceil(string.length * Math.random() * Math.random());\r\n let _numbers = Math.ceil(numeric.length * Math.random() * Math.random());\r\n let _specialCharacters = Math.ceil(punctuation.length * Math.random() * Math.random());\r\n let _captialLetter = string.charAt(_string);//captial letter\r\n _captialLetter = (password.length % 2 === 0) ? (_captialLetter.toUpperCase()) : (_captialLetter);\r\n character += _captialLetter;\r\n character += numeric.charAt(_numbers);\r\n character += punctuation.charAt(_specialCharacters);\r\n password = character;\r\n }\r\n password = password.split('').sort(function () { return 0.5 - Math.random() }).join('');\r\n return password.substr(0, len);\r\n}\r\nexport function UpperCaseExists(password: string): boolean {\r\n let UpperCase = /^(?=.*[A-Z])/;\r\n if (password.match(UpperCase)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function LowerCaseExists(password: string): boolean {\r\n let lowerCase = /^(?=.*[a-z])/;\r\n if (password.match(lowerCase)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function NumberExists(password: string): boolean {\r\n let numbers = /^(?=.*[0-9])/;\r\n if (password.match(numbers)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function SpecialCharacterExists(password: string): boolean {\r\n let special = /^(?=.*[$@$!%*#?&])/;\r\n if (password.match(special)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function CheckPasswordStrength(password: string) {\r\n ////if textBox is empty\r\n //if (password.length === 0) {\r\n // return -1;\r\n //}\r\n ////Regular Expressions\r\n //var regex: any[] = [];\r\n //regex.push(\"[A-Z]\"); //For Uppercase Alphabet\r\n //regex.push(\"[a-z]\"); //For Lowercase Alphabet\r\n //regex.push(\"[0-9]\"); //For Numeric Digits\r\n //regex.push(\"[$@$!%*#?&]\"); //For Special Characters\r\n //var passed = 0;\r\n ////Validation for each Regular Expression\r\n //for (var i = 0; i < regex.length; i++) {\r\n // if ((new RegExp(regex[i])).test(password)) {\r\n // passed++;\r\n // }\r\n //}\r\n ////Validation for Length of Password\r\n //if (passed > 2 && password.length > 8) {\r\n // passed++;\r\n //}\r\n //return passed;\r\n if (!password || password.length === 0) {\r\n return -1;\r\n }\r\n let passed = 0;\r\n if (UpperCaseExists(password)) {//TODO replace match with reusable methods\r\n passed++;//1\r\n }\r\n if (NumberExists(password)) {\r\n passed++;//2\r\n }\r\n if (SpecialCharacterExists(password)) {\r\n passed++;//3\r\n }\r\n if (password.length > 7) {\r\n passed++;//4\r\n }\r\n if (LowerCaseExists(password)) {\r\n passed++;//5\r\n }\r\n return passed;\r\n}\r\nexport function ReturnActionMessage(Message: ActionMessage, t: Function): IMessage {\r\n console.log(\"🚀 ReturnActionMessage\");\r\n if (Message.actionType === \"Task assigned to you\") {\r\n Message.messageTitle = t('NewTask');\r\n Message.messageContent = Message.task + t('Task') + \" \" + t('WasAssignedToYouBy') + \" \" + Message.admin + \".\";\r\n }\r\n else if (Message.actionType === \"Client claimed Bonus added\") {\r\n Message.messageTitle = t('BonusAdded');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + t('BonusAddedTo') + t('Login') + \": \" + Message.login + \"-\" + Message.server + t('Login') + Message.amount + \" \" + Message.currency + \".\";\r\n }\r\n else if (Message.actionType === \"Subscribe/unSubscribe to Strategy MAM\") {\r\n if (Message.subType === \"Subscribe\") {\r\n Message.messageTitle = t('Subscription');\r\n Message.messageContent = \"to be filled\";\r\n }\r\n else if (Message.subType === \"unSubscribe\") {\r\n Message.messageTitle = \"Unsubscription\";\r\n Message.messageContent = \"to be filled\";\r\n }\r\n }\r\n else if (Message.actionType === \"Client Auto-linked to IB\") {\r\n Message.messageTitle = t('AutoLinkedToIb');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \" , \" + Message.clientName + \" , \" + t('Login') + \": \" + Message.login + \" , \" + Message.server + \" \" + t('AutoLinkedToIb') + \" \" + Message.ibName + \" , \" + Message.ibCode + \".\";\r\n }\r\n else if (Message.actionType === \"Application Requests\") {\r\n if (Message.subType === \"Request Application\") {\r\n Message.messageTitle = t('ApplicationRequests');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \" , \" + Message.clientName + \" \" + t('SubmittedApplicationForm');\r\n }\r\n else if (Message.subType === \"Decline Application Request\") {\r\n Message.messageTitle = t('DeclineApplicationRequest');\r\n Message.messageContent = Message.admin + t('DeclinedApplicationFormSubmittedBy') + t('ClientID') + \": \" + Message.clientID + \".\";\r\n }\r\n else if (Message.subType === \"Approve Application Request\") {\r\n Message.messageTitle = t('ApproveApplicationRequest');\r\n Message.messageContent = Message.admin + + t('AprrovedApplicationFormSubmittedBy') + t('ClientID') + \": \" + Message.clientID + \".\";\r\n }\r\n\r\n }\r\n else if (Message.subType === \"Application Changes\") {\r\n Message.messageTitle = t('ApplicationChanges');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \" , \" + Message.clientName + t('MadeChangesToApplicationForm');\r\n }\r\n else if (Message.actionType === \"Clients assigned to you\") {\r\n Message.messageTitle = t('NewClient');\r\n Message.messageContent = Message.clientName + \" \" + t('WasAssignedToYouBy') + \" \" + Message.admin + \".\";\r\n }\r\n else if (Message.actionType === \"Ticket assigned to you\") {\r\n Message.messageTitle = t('NewTicket');\r\n Message.messageContent = Message.ticket + \" \" + t('TicketAssignedToYouBy') + \" \" + Message.admin + \".\";\r\n }\r\n else if (Message.actionType === \"Task reminder\") {\r\n Message.messageTitle = t('Reminder');\r\n Message.messageContent = Message.ticket + t('Reminder') + \".\";\r\n }\r\n else if (Message.actionType === \"Expired Documents\") {\r\n Message.messageTitle = t('ExpiredDocuments');\r\n Message.messageContent = Message.listEmails + \" \" + t('ExpiredDocumentsIn') + \" \" + Message.date + \".\";\r\n }\r\n else if (Message.actionType === \"Lead assiged to you\") {\r\n Message.messageTitle = t('NewLead');\r\n Message.messageContent = Message.lead + \" \" + t('WasAssignedToYouBy') + \" \" + Message.admin + \".\";\r\n }\r\n else if (Message.actionType === \"Contact assigned to you\") {\r\n Message.messageTitle = t('NewContact');\r\n Message.messageContent = Message.contact + \" \" + t('WasAssignedToYouBy') + \" \" + Message.admin + \".\";\r\n }\r\n else if (Message.actionType === \"Deposits/Withdrawals/Transfers\") {\r\n if (Message.subType === \"Request Deposit\") {\r\n Message.messageTitle = t('NewDeposits');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \" , \" + Message.clientName + \" \" + t('RequestedToDeposit') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('OnThrePreposition') + t('Login') + \": \" + Message.login + \" , \" + Message.server + \".\";\r\n }\r\n else if (Message.subType === \"Decline Deposit Request\") {\r\n Message.messageTitle = t('DeclineDeposit');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedToDeposit') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('OnThrePreposition') + t('Login') + \": \" + Message.login + \", \" + Message.server + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Approve Deposit Request\") {\r\n Message.messageTitle = t('ApproveDeposit');\r\n Message.messageContent = Message.admin + \" \" + t('ApprovedToDeposit') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('OnThrePreposition') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Request Withdrawal\") {\r\n Message.messageTitle = t('NewWithdrawal');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \" , \" + Message.clientName + \" \" + t('RequestedToWithdraw') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('OnThrePreposition') + t('Login') + \": \" + Message.login + \" , \" + Message.server + \".\";\r\n }\r\n else if (Message.subType === \"Decline Withdrawal Request\") {\r\n Message.messageTitle = t('DeclineWithdrawal');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedToWithdraw') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('OnThrePreposition') + t('Login') + \": \" + Message.login + \", \" + Message.server + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Approve Withdrawal Request\") {\r\n Message.messageTitle = t('ApproveWithdrawal');\r\n Message.messageContent = Message.admin + \" \" + t('ApprovedToWithdraw') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('OnThrePreposition') + t('Login') + \": \" + Message.login + \", \" + Message.server + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Request Transfer\") {\r\n Message.messageTitle = t('NewTransfer');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \" , \" + Message.clientName + \" \" + t('RequestedToTransfer') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('From') + t('Login') + \": \" + Message.fromLogin + \" , \" + Message.fromServer + \" \" + t('ToPreposition') + t('Login') + \": \" + Message.toLogin + \" , \" + Message.toServer + \".\";\r\n }\r\n else if (Message.subType === \"Decline Transfer Request\") {\r\n Message.messageTitle = t('DeclineTransfer');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedToTransfer') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('From') + t('Login') + \": \" + Message.fromLogin + \" , \" + Message.fromServer + \" \" + t('ToPreposition') + t('Login') + \": \" + Message.toLogin + \" , \" + Message.toServer + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Approve Transfer Request\") {\r\n Message.messageTitle = t('ApproveTransfer');\r\n Message.messageContent = Message.admin + \" \" + t('ApprovedToTransfer') + \" \" + Message.amount + \"-\" + Message.currency + \" \" + t('From') + t('Login') + \": \" + Message.fromLogin + \" , \" + Message.fromServer + \" \" + t('ToPreposition') + t('Login') + \": \" + Message.toLogin + \" , \" + Message.toServer + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n }\r\n else if (Message.actionType === \"Trading Accounts added or Closed\") {\r\n if (Message.subType === \"Request Live Account\") {\r\n Message.messageTitle = t('NewAccountRequest');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \" \" + t('RequestedToOpenANewLiveTradingAccount');\r\n }\r\n else if (Message.subType === \"Approve New Account\") {\r\n Message.messageTitle = t('ApproveNewAccount');\r\n Message.messageContent = Message.admin + \" \" + t('ApprovedOpeningANewLiveTradingAccountTo') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Decline New Account\") {\r\n Message.messageTitle = t('DeclinedNewAccount');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedOpeningANewLiveTradingAccountTo') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Add Live Account\") {\r\n Message.messageTitle = t('NewLiveAccountAdded');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \" \" + t('NewLiveTradingAccountAdded') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \".\";\r\n }\r\n else if (Message.subType === \"Add Demo Account\") {\r\n Message.messageTitle = t('NewDemoAccountAdded');\r\n Message.messageContent = (Message.clientID === \"\" ? Message.clientName : (t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName)) + \" \" + t('NewDemoTradingAccountAdded') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \".\";\r\n }\r\n else if (Message.subType === \"Request Close Account\") {\r\n Message.messageTitle = t('CloseAccountRequest');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \" \" + t('RequestedToCloseLiveTradingAccount') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \".\";\r\n }\r\n else if (Message.subType === \"Decline close Account\") {\r\n Message.messageTitle = t('DeclinedCloseAccount');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedToCloseLiveTradingAccountTo') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Approve Close Account\") {\r\n Message.messageTitle = t('ApprovedCloseAccount');\r\n Message.messageContent = Message.admin + \" \" + t('ApproveToCloseLiveTradingAccountTo') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n }\r\n else if (Message.actionType === \"Client Bonus to balance reached\") {\r\n Message.messageTitle = t('ClaimBonus');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + t('ReachedCashBonusonLogin') + \" \" + Message.login + Message.server + \" Lots reached: \" + Message.lots + \".\";\r\n }\r\n else if (Message.actionType === \"Trading Accounts Request Changes\") {\r\n if (Message.subType === \"Request Change Leverage\") {\r\n Message.messageTitle = t('RequestChangeLeverage');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \" \" + t('RequestedToChangeLevergeOnLiveTradingAccount') + \" \" + t('OnLowerCase') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \".\";\r\n }\r\n else if (Message.subType === \"Decline Leverage Request\") {\r\n Message.messageTitle = t('DeclineLeverageRequest');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedToChangeLeverageOn') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Approve Leverage Request\") {\r\n Message.messageTitle = t('ApproveLeverageRequest');\r\n Message.messageContent = Message.admin + \" \" + t('ApprovedToChangeLeverageOn') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Request Change Account Info\") {\r\n Message.messageTitle = t('RequestChangeAccountInfo');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \" \" + t('RequestedToChangeAccountInfoOnLiveTradingAccount') + \" \" + t('Login') + \": \" + Message.login + \", \" + Message.server + \".\";\r\n }\r\n else if (Message.subType === \"Decline Account Info Request\") {\r\n Message.messageTitle = t('Decline') + t('AccountInfo') + t('Request');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedToChangeAccountInfoSubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Approve Account Info Request\") {\r\n Message.messageTitle = t('ApproveAccountInfoRequest');\r\n Message.messageContent = Message.admin + \" \" + t('ApprovedToChangeAccountInfoSubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n }\r\n else if (Message.actionType === \"Ticket Request Changes\") {\r\n Message.messageTitle = t('TicketUpdate');\r\n Message.messageContent = Message.ticket + t('TicketUpdate') + \".\";\r\n }\r\n else if (Message.actionType === \"Ticket assigned to you\") {\r\n Message.messageTitle = t('NewTicket');\r\n Message.messageContent = Message.ticket + \" \" + t('TicketAssignedToYouBy') + \" \" + Message.admin + \".\";\r\n }\r\n else if (Message.actionType === \"Subscribe/unSubscribe to Strategy Signal\") {\r\n if (Message.subType === \"Request Autocopy\") {\r\n Message.messageTitle = t('RequestAutocopy');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \", \" + t('From') + \" \" + t('Login') + \": \" + Message.fromLogin + \", \" + Message.fromServer + \" \" + t('RequestedToCopyTradingAccount') + \" \" + t('ToPreposition') + \" \" + t('Login') + \": \" + Message.toLogin + \", \" + Message.toServer + \".\";\r\n }\r\n else if (Message.subType === \"Decline Autocopy Request\") {\r\n Message.messageTitle = t('DeclineAutocopyRequest');\r\n Message.messageContent = Message.admin + \" \" + t('DeclinedToCopyTradingAccount') + \" \" + t('From') + \" \" + t('Login') + \": \" + Message.fromLogin + \", \" + Message.fromServer + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n else if (Message.subType === \"Approve Autocopy Request\") {\r\n Message.messageTitle = t('ApproveAutocopyRequest');\r\n Message.messageContent = Message.admin + \" \" + t('ApprovedToCopyTradingAccount') + \" \" + t('From') + \" \" + t('Login') + \": \" + Message.fromLogin + \", \" + Message.fromServer + \" \" + t('SubmittedBy') + \" \" + t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \".\";\r\n }\r\n }\r\n else if (Message.actionType === \"Client Auto-linked to MAM\") {\r\n Message.messageTitle = t('ClientAutoLinkedToMam');\r\n Message.messageContent = t('ClientID') + \": \" + Message.clientID + \", \" + Message.clientName + \" ,\" + t('Login') + \": \" + Message.login + \", \" + Message.server + \" \" + t('AutoLinkedUnderStrategyName') + \" \" + Message.name + \", \" + t('MAMName') + \": \" + Message.mamName + t('MAMLogin') + \": \" + Message.mamLogin + \", \" + Message.server + \".\";\r\n }\r\n else if (Message.actionType === \"Add symbol profile\") {\r\n Message.messageTitle = t('AddSymbolProfile');\r\n Message.messageContent = `${t('SymbolProfile')} ${Message?.profileName || \"\"} of ${t('ID')} ${Message?.profileID || \"\"} ${t('WasSuccessfullyAdded')}`;\r\n }\r\n else if (Message.actionType === \"Update symbol profile\") {\r\n Message.messageTitle = t('UpdateSymbolProfile');\r\n Message.messageContent = `${t('SymbolProfile')} ${Message?.profileName || \"\"} of ${t('ID')} ${Message?.profileID || \"\"} ${t('WasSuccessfullyUpdated')}`;\r\n }\r\n else if (Message.actionType === \"Delete symbol profile\") {\r\n Message.messageTitle = t('DeleteSymbolProfile');\r\n Message.messageContent = `${t('SymbolProfile')} ${Message?.profileName || \"\"} of ${t('ID')} ${Message?.profileID || \"\"} ${t('WasSuccessfullyDeleted')}`;\r\n }\r\n else if (Message.actionType === \"Add account exposure profile\") {\r\n Message.messageTitle = t('AddAccountExposureProfile');\r\n Message.messageContent = `${t('AccountProfile')} ${Message?.profileName || \"\"} of ${t('ID')} ${Message?.profileID || \"\"} ${t('WasSuccessfullyAdded')}`;\r\n }\r\n else if (Message.actionType === \"Update account exposure profile\") {\r\n Message.messageTitle = t('UpdateAccountExposureProfile');\r\n Message.messageContent = `${t('AccountProfile')} ${Message?.profileName || \"\"} of ${t('ID')} ${Message?.profileID || \"\"} ${t('WasSuccessfullyUpdated')}`;\r\n }\r\n else if (Message.actionType === \"Delete account exposure profile\") {\r\n Message.messageTitle = t('DeleteAccountExposureProfile');\r\n Message.messageContent = `${t('AccountProfile')} ${Message?.profileName || \"\"} of ${t('ID')} ${Message?.profileID || \"\"} ${t('WasSuccessfullyDeleted')}`;\r\n }\r\n return {\r\n title: Message.messageTitle,\r\n content: Message.messageContent\r\n }\r\n\r\n}\r\nexport function ReturnTranslation(key: string, t: Function) {\r\n return t(key);\r\n}\r\nexport function CheckIfAUIDIsEnabled(AUID: string, AUIDs: string[] | any) {\r\n if (!AUID || !AUIDs || AUIDs.length === 0) return false;\r\n try {\r\n return AUIDs.includes(AUID) ? true : false;\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function checkifPdf(_type: any) {\r\n try {\r\n if (!_type) return false;\r\n _type = _type !== null && _type !== \"\" ? _type.split(\".\").pop() : \"-1\";\r\n if (_type === \"pdf\")\r\n return true;\r\n }\r\n catch (e) {\r\n console.error(\"checkifPdf\", _type, e)\r\n }\r\n return false;\r\n}\r\nexport function isPDF_Binary(binary: string) {//as here it is sent as binary\r\n try {\r\n if (binary?.split(\";\")[0]?.toLowerCase()?.endsWith(\"pdf\"))\r\n return true;\r\n }\r\n catch (e) {\r\n console.error(\"isPDF_Binary\", binary, e)\r\n }\r\n return false;\r\n}\r\nexport function GetDashboardItemByName(name: string, list: DashboardItems[]) {\r\n try {\r\n if (!list)\r\n return new DashboardItems();\r\n let _item: any[] = [...list].filter((item: DashboardItems) => (item && item.ItemName) && (item.ItemName.toLowerCase() === name.toLowerCase()));\r\n return _item && _item.length > 0 ? _item[0] : new DashboardItems();\r\n } catch (e) {\r\n console.error(e);\r\n return new DashboardItems();\r\n }\r\n}\r\nexport function ReturnDistinctList(list: any[], PropertyName: string) {\r\n if (!list || list.length === 0) return [];\r\n return list.filter((thing: any, i: number, arr: any) => {\r\n return arr.indexOf(arr.find((t: any) => t[PropertyName] === thing[PropertyName])) === i;\r\n });\r\n}\r\nexport function ReturnActivity(Type: string, t: Function) {\r\n if (!Type) return ' - ';//if want to add transation add language or return key of lang\r\n switch (Type) {\r\n case \"Trader\": {\r\n return t('CreatedTraderAccount');\r\n }\r\n case \"Client\": {\r\n return t('CreatedClient');\r\n }\r\n case \"Contact\": {\r\n return t('CreatedContactAccount');\r\n }\r\n case \"Lead\": {\r\n return t('CreatedLead');\r\n }\r\n case \"Task\": {\r\n return t('CreatedNewTask');\r\n }\r\n case \"Note\": {\r\n return t('CreatedNewNote');\r\n }\r\n case \"ConvertContact\": {\r\n return t('ConvertedContactToClient');\r\n }\r\n case \"ConvertLead\": {\r\n return t('ConvertedLeadToContact');\r\n }\r\n default: {\r\n return ' - '\r\n }\r\n }\r\n}\r\nexport function escapeRegExp(text: string) {\r\n return text.replace(/[-[\\]{}()*+?.,!%^$|\\s~]/g, '\\\\$&');\r\n}\r\nexport function ValidateMultiSelectwithOther(selected: any[], input: string) {\r\n if (!selected || selected.length === 0) return false\r\n let _list: any = selected ? selected.map((item: any) => item.value).toString() : \"\";\r\n if (_list.includes(\"Other\"))//case sensitive\r\n return ValidateInput(input);\r\n return true;\r\n}\r\n\r\nexport function ReturnAllocationsLabel(AruleName: string, signal?: boolean) {\r\n if (!AruleName) return ' - ';\r\n switch (AruleName) {\r\n case \"ELS\": {\r\n return \"ELS (Equity Lot Share)\";\r\n }\r\n case \"ECS\": {\r\n return \"ECS (Equity Cash Share)\";\r\n }\r\n case \"EV\": {\r\n return \"EV (Equal Volume)\";\r\n }\r\n case \"Percentage\": {\r\n return \"Percentage\";\r\n }\r\n case \"Multiplier\": {\r\n return \"Multiplier\";\r\n }\r\n case \"BLS\": {\r\n return \"BLS (Balance Lot Share)\";\r\n }\r\n case \"Fixed Lot\": {\r\n return \"Fixed Lot\";\r\n }\r\n case \"% of Equity\": {\r\n if (signal) {\r\n return \"Percentage of Equity\";\r\n }\r\n return \"% of Equity (Percentage of Equity)\";\r\n }\r\n default: {\r\n return AruleName;\r\n }\r\n }\r\n}\r\nexport function ReturnValuesForMultiSelect(list: any[]) {\r\n if (!list || list.length === 0) return [];\r\n return list.map((item: any) => item.value);\r\n}\r\nexport function ReturnValuesForMultiSelectAsString(list: any[]) {\r\n if (!list || list.length === 0) return [];\r\n return list.map((item: any) => String(item.value));\r\n}\r\nexport function ReturnValuesForMultiSelectAsExcluded(list: any[]) {\r\n if (!list || list.length === 0) return [];\r\n return list.map((item: any) => `!${item.value}`);\r\n}\r\nexport function ReturnLabelsForMultiSelectAsExcluded(list: any[]) {\r\n if (!list || list.length === 0) return [];\r\n return list.map((item: any) => `!${item.label}`);\r\n}\r\nexport function ReturnExcludedIncludedOptions(includelist: BasicSelectOption[], excludedList: BasicSelectOption[]) {\r\n try {\r\n if (!ValidateMultiSelect(includelist) && !ValidateMultiSelect(excludedList)) return null;\r\n let _included = ValidateMultiSelect(includelist) ? ReturnValuesForMultiSelect(includelist).toString() : \"\";\r\n let _excluded = ValidateMultiSelect(excludedList) ? ReturnValuesForMultiSelectAsExcluded(excludedList).toString() : \"\";\r\n return `${_included}${_included ? ',' : ''}${_excluded}`;\r\n\r\n } catch (e) {\r\n console.error(e);\r\n return null;\r\n }\r\n}\r\nexport function ReturnExcludedIncludedOptionsLabels(includelist: BasicSelectOption[], excludedList: BasicSelectOption[]) {\r\n try {\r\n if (!ValidateMultiSelect(includelist) && !ValidateMultiSelect(excludedList)) return null;\r\n let _included = ValidateMultiSelect(includelist) ? ReturnLabelsForMultiSelect(includelist).toString() : \"\";\r\n let _excluded = ValidateMultiSelect(excludedList) ? ReturnLabelsForMultiSelectAsExcluded(excludedList).toString() : \"\";\r\n return `${_included}${_included ? ',' : ''}${_excluded}`;\r\n\r\n } catch (e) {\r\n console.error(e);\r\n return null;\r\n }\r\n}\r\nexport function ValidateOneOfOptionsExists(visibleIfkey: string, list: any, ActionParams: any) {\r\n try {\r\n let _dict: any = { ...ActionParams };\r\n if (!_dict[visibleIfkey]?.Data?.isVisible) return false;//edit check if main element is visible \r\n if (!CheckIfVisibleIF(_dict[visibleIfkey]?.Data, ActionParams)) return false;//check parent is visible /recurive\r\n let _selectedOption: string = String(_dict[visibleIfkey].value.value);\r\n //console.log({ _selectedOption, list })\r\n return list.includes(_selectedOption);\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function ValidateOneOfElementsIsVisible(visibleIfKeys: string[], ActionParams: any) {\r\n try {\r\n let _dict: any = { ...ActionParams };\r\n //console.log({ visibleIfKeys });\r\n for (let i: number = 0; i < visibleIfKeys.length; i++) {\r\n if (_dict[visibleIfKeys[i]]?.Data?.isVisible && CheckIfVisibleIF(_dict[visibleIfKeys[i]]?.Data, ActionParams)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function ValidateAndReturnDataAsType(value: any, type: string) {\r\n try {\r\n switch (type) {\r\n case 'input':\r\n case 'radiogroup':\r\n {\r\n if (typeof value === \"string\")\r\n return value;\r\n return DefaultValueDict[type];\r\n }\r\n case 'date':\r\n {\r\n if (value instanceof Date || typeof value === \"string\")\r\n return value;\r\n return DefaultValueDict[type];\r\n }\r\n case 'dropdown':\r\n case 'dynamicDropdown': {\r\n if (value.value)\r\n return value;\r\n return DefaultValueDict[type];\r\n }\r\n case 'multiDropdown': {\r\n if (value)\r\n return value;\r\n return DefaultValueDict[type];\r\n }\r\n case 'boolean': {\r\n //console.log(\"boolean\", { value });\r\n return value ? true : false;\r\n }\r\n //case 'file': {\r\n // if (value typeof FileType)\r\n // return value;\r\n // return DefaultValueDict[type];\r\n //}\r\n default: {\r\n return value;\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n return;\r\n }\r\n}\r\nexport function ValidateOneOfOptionsExistsInMultiSelect(visibleIfkey: string, list: any, ActionParams: any) {\r\n try {\r\n let _dict: any = { ...ActionParams };//.Data as need Value\r\n if (!_dict[visibleIfkey]?.Data?.isVisible) return false;//edit check if main element is visible \r\n if (!CheckIfVisibleIF(_dict[visibleIfkey]?.Data, ActionParams)) return false;\r\n let _selectedOptions: string[] = ReturnValuesForMultiSelectAsString(_dict[visibleIfkey].value);\r\n //console.log({ _selectedOptions, list })\r\n for (let i = 0; i < _selectedOptions.length; i++) {\r\n if (list.includes(_selectedOptions[i]))\r\n return true;\r\n }\r\n return false;\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function ValidateRadioGroupSelectedAsStatus(visibleIfkey: string, Status: any, ActionParams: any) {\r\n //console.log(\"📓 📓 📓 📓 📓📓 📓 \", visibleIfkey);\r\n try {\r\n let _dict: any = { ...ActionParams };\r\n //console.log(\"📘 \", _dict[visibleIfkey]);\r\n let _selectedOption: string = String(_dict[visibleIfkey].value);\r\n //console.log(\"📓 📘 \", String(_dict[visibleIfkey].value));\r\n if (!_dict[visibleIfkey] || !_dict[visibleIfkey].Data || !_dict[visibleIfkey].Data.isVisible) return false;\r\n if (!CheckIfVisibleIF(_dict[visibleIfkey]?.Data, ActionParams)) return false;\r\n //console.log(\"!_dict[visibleIfkey] || !_dict[visibleIfkey].Data || !_dict[visibleIfkey].Data.isVisible\");\r\n try {\r\n if (_dict[visibleIfkey].type === \"radiogroup\") {\r\n //console.log(\"_dict[visibleIfkey].type === radiogroup\");\r\n let _choices: any = _dict[visibleIfkey].Data && _dict[visibleIfkey].Data.choices ? _dict[visibleIfkey].Data.choices : [];\r\n _choices = _choices.filter((item: any) => item.isVisible).map((item: any) => item.value);\r\n //if (visibleIfkey && visibleIfkey === \"IDType\" /*&& element.key === \"CountryOfIssuancePassport\"*/) {\r\n // console.log(\"📘 _choices\", _choices);\r\n // console.log(\"📘 Status\", Status);\r\n // console.log(\"📓 _selectedOption\", _selectedOption);\r\n //}\r\n return (Status.includes(_selectedOption) && _choices.includes(_selectedOption));\r\n }\r\n //if (visibleIfkey && visibleIfkey === \"IDType\" /*&& element.key === \"CountryOfIssuancePassport\"*/) {\r\n // console.log(\"📘 bot radio waht Status\", Status);\r\n // console.log(\"📓 _selectedOption\", _selectedOption);\r\n //}\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n //if (visibleIfkey && visibleIfkey === \"IDType\" /*&& element.key === \"CountryOfIssuancePassport\"*/) {\r\n // console.log(\"📘at z End Status\", Status);\r\n // console.log(\"📓 _selectedOption\", _selectedOption);\r\n //}\r\n return Status.includes(_selectedOption);\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function ValidateRadioGroupisVisibleAsStatus(visibleIfkey: string, Status: any, ActionParams: any) {\r\n try {\r\n let _dict: any = { ...ActionParams };\r\n if (!_dict[visibleIfkey] || !_dict[visibleIfkey].Data || !_dict[visibleIfkey].Data.isVisible) return false;\r\n try {\r\n if (_dict[visibleIfkey].type === \"radiogroup\") {\r\n let _choices: any = _dict[visibleIfkey].Data && _dict[visibleIfkey].Data.choices ? _dict[visibleIfkey].Data.choices : [];\r\n _choices = _choices.filter((item: any) => item.isVisible).map((item: any) => item.value);\r\n return _choices.length > 0;\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n return false;\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function ValidateBooleanSelectedAsStatus(visibleIfkey: string, Status: boolean, ActionParams: any) {\r\n try {\r\n let _dict: any = { ...ActionParams };\r\n //console.log('**enter _dict[visibleIfkey]', visibleIfkey, _dict[visibleIfkey])\r\n if (!_dict[visibleIfkey] || !_dict[visibleIfkey].Data || !_dict[visibleIfkey]?.Data?.isVisible) return false;\r\n if (!CheckIfVisibleIF(_dict[visibleIfkey]?.Data, ActionParams)) return false;\r\n //console.log(_dict[visibleIfkey].value, Status)\r\n //console.log('**passed _dict[visibleIfkey]', visibleIfkey, _dict[visibleIfkey])\r\n return _dict[visibleIfkey].value === Status;\r\n } catch (e) {\r\n //console.error(visibleIfkey, e);\r\n return false;\r\n }\r\n}\r\n/**\r\n * \r\n * @param element\r\n * @param ActionParams\r\n * @param choices\r\n * @param settings allow settings to appear even it element is not visible\r\n */\r\nexport function CheckIfVisibleIF(element: any, ActionParams: any, choices?: any, settings?: any) {\r\n try {\r\n //not required , not optional , isVisible and option selected\r\n if (!settings && (!element || !element.isVisible)) return false;\r\n if (!element.visibleIfKey) return true;//have no condition \r\n switch (element.visibleIfType) {//visibleIfType ,not the type\r\n case \"dropdown\": {\r\n //console.log(\"dropdown\");\r\n return ValidateOneOfOptionsExists(element.visibleIfKey, element.visibleIfList, ActionParams);\r\n }\r\n case \"label\": {//just for dsiplay\r\n return ValidateOneOfElementsIsVisible(element.visibleIfKey, ActionParams);\r\n }\r\n case \"multiDropdown\": {\r\n //console.log(\"multiDropdown\");\r\n return ValidateOneOfOptionsExistsInMultiSelect(element.visibleIfKey, element.visibleIfList, ActionParams);\r\n }\r\n case \"boolean\": {\r\n //console.log(\"boolean\");\r\n\r\n return ValidateBooleanSelectedAsStatus(element.visibleIfKey, element.visibleIfStatus, ActionParams);\r\n }\r\n case \"radiogroup\": {\r\n //console.log(\"radiogroup\");\r\n return ValidateRadioGroupSelectedAsStatus(element.visibleIfKey, element.visibleIfStatus, ActionParams);\r\n }\r\n //case \"radiogroupCardElement\": {//TODO check ifnot needed anymore \r\n // console.log(\"radiogroupCardElement\");\r\n // return ValidateRadioGroupisVisibleAsStatus(element.visibleIfKey, element.visibleIfStatus, ActionParams);\r\n //}\r\n default: {\r\n return false;\r\n }\r\n }\r\n\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function CheckIfSubElement(element: any) {\r\n try {\r\n if (element.visibleIfKey) return true;\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function ValidateByType(value: any, type: string) {//new fields must be added\r\n try {\r\n switch (type) {\r\n case \"dropdown\": {\r\n return ValidateSelect(value);\r\n }\r\n case \"dynamicDropdown\": {\r\n //must check All must have values dynaimic by default and check on manage \r\n return ValidateSelect(value);\r\n }\r\n case \"multiDropdown\": {\r\n return ValidateMultiSelect(value);\r\n }\r\n case \"date\": {\r\n return validateDateAndInternval(value.date, value.Interval);\r\n }\r\n case \"input\":\r\n case \"file\":\r\n {\r\n return ValidateInput(value);\r\n }\r\n case \"radiogroup\":\r\n {\r\n return ValidateInput(value);\r\n }\r\n case \"boolean\"://TODO add all cases need no validation\r\n case \"html\":\r\n //case \"radiogroupCardElement\":\r\n {\r\n return true;\r\n }\r\n case \"inputDescription\":\r\n {\r\n return true;\r\n }\r\n case \"checkbox\": {\r\n return validateCheckBoxIsTrue(value);\r\n }\r\n default: {\r\n return false;\r\n }\r\n }\r\n\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n}\r\nexport function ReturnLabelsForMultiSelect(list: any[]) {\r\n if (!list || list.length === 0) return [];\r\n return list.map((item: any) => item.label);\r\n}\r\nexport function ValidateSelectAndReturnValue(selected: any) {\r\n if (!ValidateSelect(selected)) return \" _ \";\r\n return selected.value;\r\n}\r\nexport function ValidateSelectAndReturnValueID(selected: any) {\r\n if (!ValidateSelect(selected)) return null;\r\n return selected.value;\r\n}\r\nexport const dictStatus: any = {\r\n '0': \"Pending\",\r\n '1': \"Completed\",\r\n '-1': \"Rejected\",\r\n '2': \"Not Completed\",\r\n};\r\nexport function ReturnPlaceHolderStatement(title: string, multiSelectValue: any[], Options: any[]) {\r\n try {\r\n if (Options?.length === 0) return `No ${title} options`;\r\n if (multiSelectValue?.length === Options?.length) return `All ${title} selected`;\r\n else if (multiSelectValue && multiSelectValue.length > 0)\r\n return `${multiSelectValue.length} ${title} selected`;\r\n else\r\n return title;\r\n } catch (e) {\r\n return title;\r\n }\r\n}\r\nexport function CheckList(list: any) {\r\n return list && list.length > 0;\r\n}\r\nexport function CastTreePathForAction(list: any) {\r\n let _newlist: any = [...list];\r\n _newlist = _newlist.map((item: TreePathDefaultProfile) => {\r\n return {\r\n Depth: +(item.Depth),\r\n ClientID: item.ClientID,\r\n }\r\n })\r\n return _newlist;\r\n}\r\nexport function CheckIflastNode(PathIndex: string, Path: any, value: string) {\r\n return Path.length !== 0 && String(PathIndex) !== String(Path.length - 1) ? value : \"\";\r\n}\r\nexport function ReturnIBTreePaths(SelectOpt: any) {\r\n let _options: any = [];\r\n //console.log({ SelectOpt })\r\n for (let Opt of SelectOpt) {\r\n //Path PathID\r\n if (Opt.Path) {\r\n let _IBCodes = '', _clientIDs = '';\r\n let _maxDepth = Opt.Path.length ? Opt.Path.length : 0;\r\n //console.log('Opt.Path', Opt.Path)\r\n for (let PathIndex in Opt.Path) {\r\n //console.log('SelectOpt:', Opt.Path[PathIndex])\r\n if (Opt.Path[PathIndex]) {\r\n _clientIDs += `${Opt.Path[PathIndex].ClientID}${CheckIflastNode(PathIndex, Opt.Path, '-')}`;\r\n _IBCodes += `${Opt.Path[PathIndex].IBCode ? Opt.Path[PathIndex].IBCode : \"None\"}${CheckIflastNode(PathIndex, Opt.Path, '>')}`;\r\n }\r\n //console.log({ _IBCodes, _maxDepth, _clientIDs });\r\n }\r\n _options.push({\r\n value: _clientIDs,\r\n label: _IBCodes,\r\n maxDepth: _maxDepth,\r\n Data: Opt.Path\r\n });\r\n //console.log({ _options });\r\n }\r\n }\r\n if (_options.length > 0)\r\n return _options;\r\n return [];\r\n};\r\nexport function ReturnIBTreePathKey(Path: any) {\r\n if (Path) {\r\n let _clientIDs = '';\r\n for (let PathIndex in Path) {\r\n if (Path[PathIndex]) {\r\n _clientIDs += `${Path[PathIndex].ClientID}${CheckIflastNode(PathIndex, Path, '-')}`;\r\n }\r\n }\r\n //console.log({ _clientIDs });\r\n return _clientIDs;\r\n }\r\n}\r\nexport const OptionNone = { value: -1, label: \"None\" };\r\nexport function TranslateSelectOptionsAndReturnKey(list: Array, t: Function) {//add the render to fixed \r\n try {\r\n let _list = [...list];\r\n for (let i = 0; i < _list.length; i++) {\r\n\r\n //_list[i].translationKey = String(list[i].label);//order before chnage\r\n //_list[i].label = t(_list[i].label);//it changes value as clone deep\r\n\r\n _list[i] = {\r\n ...list[i],\r\n translationKey: String(list[i].label),\r\n label: t(_list[i].label)\r\n }\r\n }\r\n //console.log({ _list })\r\n return _list;\r\n }\r\n catch (e) {\r\n console.error(e)\r\n return [];//or orginal\r\n }\r\n}\r\nexport function TranslateSelectOption(value: BasicSelectOption | any, t: Function) {//add the render to fixed \r\n try {\r\n //console.log(\"TranslateSelectOption\", { value });\r\n\r\n let _value = {\r\n ...value,\r\n label: t(value.translationKey ? value.translationKey : value.label) //as old didnt have \r\n };\r\n return _value;\r\n }\r\n catch (e) {\r\n console.error('TranslateSelectOption', e)\r\n return {};\r\n }\r\n}\r\nexport function TranslateSelectOptions(list: Array, t: Function) {//add the didmount to fixed \r\n try {\r\n let _list = [...list];\r\n for (let i = 0; i < _list.length; i++) {\r\n\r\n _list[i] = {\r\n ...list[i],\r\n label: t(_list[i].translationKey ? _list[i].translationKey : _list[i].label)\r\n }\r\n }\r\n return _list;\r\n }\r\n catch (e) {\r\n console.error(e)\r\n return [];//or orginal\r\n }\r\n}\r\nexport function RevertTranslateSelectOptions(list: Array) {//lib now support option for transaltion\r\n try {\r\n if (!list || list.length === 0) return [];\r\n let _list = [...list];\r\n for (let i = 0; i < _list.length; i++) {\r\n\r\n _list[i] = {\r\n ...list[i],///TODO urgent check this \r\n label: _list[i].translationKey ? _list[i].translationKey : _list[i].label\r\n }\r\n }\r\n return _list;\r\n }\r\n catch (e) {\r\n console.error(e)\r\n return [];//or orginal\r\n }\r\n}\r\n//#region payments\r\nexport const bankwirePayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/bankwirePayment.png`;\r\nexport const cashPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/cashPayment.png`;\r\nexport const cashuPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/cashuPayment.png`;\r\nexport const NetellerPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/netellerPayment.png`;\r\nexport const rpncupPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/rpnPay.png`;\r\nexport const rpnp2pPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/rpnPay.png`;\r\nexport const skrillEURPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/skrillPayment.png`;\r\nexport const skrillGBPPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/skrillPayment.png`;\r\nexport const skrillJPYPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/skrillPayment.png`;\r\nexport const skrillPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/skrillPayment.png`;\r\nexport const sticpayPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/sticpayPayment.png`;\r\nexport const tapUSDPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/tappay.png`;\r\nexport const tapKWDPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/tappay.png`;\r\nexport const tapKnetPayment = `${store?.getState()?.CompanyData?.CDNURL}imgs/tappay.png`;;\r\n\r\n\r\nexport const DepositClientUniquePayments: string[] = ['bankwire', 'bankwire2', 'bankwire_a', 'bankwire2_a', 'skrill', 'skrill-usd', 'skrill-gbp', 'skrill-eur', 'skrill-jpy', 'sticpay', 'tappay-creditcard-usd', 'tappay-creditcard-usd-wg', 'tappay-creditcard-usd wg_a', 'tappay-creditcard-kwd', 'tappay-creditcard-kwd-wg', 'neteller', 'tappay-knet', 'tappay-knet-wg', 'cashu', 'rpn-p2p', 'rpn-cup', 'cash', 'ecommpay', 'paysafeneteller', 'fasapay', 'bridgerpay', 'alogateway', 'powercash', 'vaultspay', 'cryptopay', 'gbprimepay', 'paystack', 'ibfskrill', 'ibfbitcoin', 'espiral', 'hayvn', 'b2binpay', 'zain cash', 'asiahawala', 'switch', 'local transfer', 'easypay', 'trustpayments', 'zaha', 'virtualpay', 'virtualpay-card', 'virtualpay-mobile', 'dusupay', 'surepay', 'stripe', 'fast2pays', 'nowpayments', 'nowpayments_2', \"match2pay\", \"help2pay\", \"match2paycreditcard\", \"capitalwallet\", \"ozow\", \"gatetopay\", \"gatetopay_a\", \"nace\", \"myfatoorah-knet\", \"myfatoorah_a-knet\", \"myfatoorah-credit card\", \"myfatoorah_a-credit card\", 'others', 'flutterwave', 'eupaymentz', 'cryptopayment', 'oneglobal', 'oneglobal-knet', 'hesabe', 'hesabe-knet', 'hesabe-wg', 'hesabe-wg_a', 'hesabe-knet-wg_a', 'hesabe-knet-wg', 'cryptotransaction', 'cfx', 'upay', \"ngnbanktransfer\", 'dusupay-bank', 'dusupay-mobile', 'asiapayment'];//BigPay not unique\r\nexport const ClientWithdrawalUniquePayments: string[] = ['cash', 'bankwire', 'bankwire2', 'bankwire_a', 'bankwire2_a', 'ecommpay', 'rpn-p2p', 'skrill', 'sticpay', 'neteller', 'alogateway', 'unionpay', 'fxbit', 'thunderpay', 'globepay', 'gbprimepay', 'ibfskrill', 'ibfbitcoin', 'perfectmoney', 'cryptopay', 'b2binpay', 'easywire', 'zain cash', 'asiahawala', 'switch', 'local transfer', 'easypay', 'zaha', 'surepay', 'fast2pays', 'ninepay', 'match2pay', \"bigpay\", \"bigpayv2\", \"ozow\", \"nowpayments\", \"nowpayments_2\", \"gatetopay\", \"gatetopay_a\", \"capitalwallet\", \"bridgerpay\", \"others\", \"fasapay\", \"other1\", \"other2\", \"other3\", \"other4\", \"other5\", \"other6\", \"other7\", \"other8\", \"flutterwave\", \"crypto\", \"vndpayment\", 'cryptotransaction', 'upay', 'dusupay-bank', 'dusupay-mobile', 'asiapayment'];\r\n//#region IB images \r\nexport const IBFSkrill = require(\"../../src/Assets/imgs/Skrill.png\") as string;\r\nexport const IBFBitcoin = require(\"../../src/Assets/imgs/BitCoin.png\") as string;\r\nexport const BitCoinWallet = '1NihS7yo31Ly14C63G2eNynvbCb4EwnXTX';\r\n//#endregion\r\n//#region Alogateway withdrawal\r\nexport const ChineseBankNames: any = [\r\n {\r\n \"BankCode\": \"BJRCB\",\r\n \"BankNameEN\": \"Beijing Rural Commerical Bank\",\r\n \"BankNameCN\": \"北京农商银行\"\r\n },\r\n {\r\n \"BankCode\": \"CBHB\",\r\n \"BankNameEN\": \"China Bohai Bank\",\r\n \"BankNameCN\": \"渤海银行\"\r\n },\r\n {\r\n \"BankCode\": \"SJBANK\",\r\n \"BankNameEN\": \"Shengjing Bank\",\r\n \"BankNameCN\": \"盛京银行\"\r\n },\r\n {\r\n \"BankCode\": \"FUDIAN\",\r\n \"BankNameEN\": \"Fudian Bank\",\r\n \"BankNameCN\": \"富滇银行\"\r\n },\r\n {\r\n \"BankCode\": \"CQC\",\r\n \"BankNameEN\": \"Bank Of Chongqing\",\r\n \"BankNameCN\": \"重庆银行\"\r\n },\r\n {\r\n \"BankCode\": \"NCB\",\r\n \"BankNameEN\": \"Nanyang Commerical bank (CHINA) Limited\",\r\n \"BankNameCN\": \"南洋商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"BOD\",\r\n \"BankNameEN\": \"Bank Of Dongguan\",\r\n \"BankNameCN\": \"东莞银行\"\r\n },\r\n {\r\n \"BankCode\": \"TZB\",\r\n \"BankNameEN\": \"Bank Of Taizhou\",\r\n \"BankNameCN\": \"台州银行\"\r\n },\r\n {\r\n \"BankCode\": \"HFB\",\r\n \"BankNameEN\": \"Evergrowing Bank\",\r\n \"BankNameCN\": \"恒丰银行\"\r\n },\r\n {\r\n \"BankCode\": \"HSBC\",\r\n \"BankNameEN\": \"HSBC China\",\r\n \"BankNameCN\": \"汇丰银行\"\r\n },\r\n {\r\n \"BankCode\": \"ZJTLCB\",\r\n \"BankNameEN\": \"ZhejiangTailong Commercial Bank\",\r\n \"BankNameCN\": \"浙江泰隆商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"URCB\",\r\n \"BankNameEN\": \"Hangzhou United Bank\",\r\n \"BankNameCN\": \"杭州联合银行\"\r\n },\r\n {\r\n \"BankCode\": \"YKRS\",\r\n \"BankNameEN\": \"Yingkou Rongsheng Rural Commercial Bank\",\r\n \"BankNameCN\": \"营口融生农村商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"LZB\",\r\n \"BankNameEN\": \"Bank of Lanzhou\",\r\n \"BankNameCN\": \"兰州银行\"\r\n },\r\n {\r\n \"BankCode\": \"UCCB\",\r\n \"BankNameEN\": \"Urumqi City Commercial Bank\",\r\n \"BankNameCN\": \"乌鲁木齐市商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"CITIBANK\",\r\n \"BankNameEN\": \"Citibank China\",\r\n \"BankNameCN\": \"花旗银行\"\r\n },\r\n {\r\n \"BankCode\": \"BSB\",\r\n \"BankNameEN\": \"Baoshang Bank\",\r\n \"BankNameCN\": \"包商银行\"\r\n },\r\n {\r\n \"BankCode\": \"HZB\",\r\n \"BankNameEN\": \"Bank of Hangzhou\",\r\n \"BankNameCN\": \"杭州银行\"\r\n },\r\n {\r\n \"BankCode\": \"MIZUHO\",\r\n \"BankNameEN\": \"Mizuho Financial Group\",\r\n \"BankNameCN\": \"瑞穗实业银行(中国)有限公司\"\r\n },\r\n {\r\n \"BankCode\": \"GZCB\",\r\n \"BankNameEN\": \"Bank of Guangzhou\",\r\n \"BankNameCN\": \"广州银行\"\r\n },\r\n {\r\n \"BankCode\": \"SZRUCOMM\",\r\n \"BankNameEN\": \"Shenzhen Rural Commercial Bank\",\r\n \"BankNameCN\": \"深圳农村商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"SRCB\",\r\n \"BankNameEN\": \"Shanghai Rural Commercial Bank\",\r\n \"BankNameCN\": \"上海农商银行\"\r\n },\r\n {\r\n \"BankCode\": \"HSB\",\r\n \"BankNameEN\": \"Huishang Bank\",\r\n \"BankNameCN\": \"徽商银行\"\r\n },\r\n {\r\n \"BankCode\": \"SHB\",\r\n \"BankNameEN\": \"Bank of Shanghai\",\r\n \"BankNameCN\": \"上海银行\"\r\n },\r\n {\r\n \"BankCode\": \"CZCB\",\r\n \"BankNameEN\": \"Zhejiang Chouzhou Commercial Bank\",\r\n \"BankNameCN\": \"浙江稠州商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"CQRCB\",\r\n \"BankNameEN\": \"Chongqing Rural Commercial Bank\",\r\n \"BankNameCN\": \"重庆农村商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"BOFS\",\r\n \"BankNameEN\": \"Bank of Fushun\",\r\n \"BankNameCN\": \"抚顺银行\"\r\n },\r\n {\r\n \"BankCode\": \"ICBC\",\r\n \"BankNameEN\": \"Industry and Commercial Bank of China\",\r\n \"BankNameCN\": \"中国工商银行\"\r\n },\r\n {\r\n \"BankCode\": \"ABC\",\r\n \"BankNameEN\": \"Agricultural Bank of China\",\r\n \"BankNameCN\": \"中国农业银行\"\r\n },\r\n {\r\n \"BankCode\": \"BOC\",\r\n \"BankNameEN\": \"Bank of China\",\r\n \"BankNameCN\": \"中国银行\"\r\n },\r\n {\r\n \"BankCode\": \"CCB\",\r\n \"BankNameEN\": \"China ConstructionBank\",\r\n \"BankNameCN\": \"中国建设银行\"\r\n },\r\n {\r\n \"BankCode\": \"BCOM\",\r\n \"BankNameEN\": \"Bank of Communications\",\r\n \"BankNameCN\": \"交通银行\"\r\n },\r\n {\r\n \"BankCode\": \"CMB\",\r\n \"BankNameEN\": \"China Merchants Bank\",\r\n \"BankNameCN\": \"招商银行\"\r\n },\r\n {\r\n \"BankCode\": \"CMBC\",\r\n \"BankNameEN\": \"China Mingsheng Banking\",\r\n \"BankNameCN\": \"中国民生银行\"\r\n },\r\n {\r\n \"BankCode\": \"CIB\",\r\n \"BankNameEN\": \"Industrial Bank\",\r\n \"BankNameCN\": \"兴业银行\"\r\n },\r\n {\r\n \"BankCode\": \"China Debit Card Processing – API Specification\"\r\n },\r\n {\r\n \"BankCode\": \"13\"\r\n },\r\n {\r\n \"BankCode\": \"SPDB\",\r\n \"BankNameEN\": \"Shanghai Pudong Development Bank\",\r\n \"BankNameCN\": \"浦发银行\"\r\n },\r\n {\r\n \"BankCode\": \"PSBC\",\r\n \"BankNameEN\": \"Postal Savings Bank of China\",\r\n \"BankNameCN\": \"中国邮政储蓄银行\"\r\n },\r\n {\r\n \"BankCode\": \"BEA\",\r\n \"BankNameEN\": \"The Bank of East Asia(China) Limited\",\r\n \"BankNameCN\": \"东亚银行\"\r\n },\r\n {\r\n \"BankCode\": \"HXB\",\r\n \"BankNameEN\": \"Huaxia Bank\",\r\n \"BankNameCN\": \"华夏银行\"\r\n },\r\n {\r\n \"BankCode\": \"CITIC\",\r\n \"BankNameEN\": \"China CITIC Bank\",\r\n \"BankNameCN\": \"中信银行\"\r\n },\r\n {\r\n \"BankCode\": \"CEB\",\r\n \"BankNameEN\": \"China Everbright Bank\",\r\n \"BankNameCN\": \"中国光大银行\"\r\n },\r\n {\r\n \"BankCode\": \"CGB\",\r\n \"BankNameEN\": \"China Guangfa Bank\",\r\n \"BankNameCN\": \"广发银行\"\r\n },\r\n {\r\n \"BankCode\": \"PINGAN\",\r\n \"BankNameEN\": \"Ping An Bank\",\r\n \"BankNameCN\": \"平安银行\"\r\n },\r\n {\r\n \"BankCode\": \"NBCB\",\r\n \"BankNameEN\": \"Bank of Ningbo\",\r\n \"BankNameCN\": \"宁波银行\"\r\n },\r\n {\r\n \"BankCode\": \"BOB\",\r\n \"BankNameEN\": \"Bank of Beijing\",\r\n \"BankNameCN\": \"北京银行\"\r\n },\r\n {\r\n \"BankCode\": \"CDRCB\",\r\n \"BankNameEN\": \"Chengdu Rural Commercial Bank\",\r\n \"BankNameCN\": \"成都农商银行\"\r\n },\r\n {\r\n \"BankCode\": \"BHB\",\r\n \"BankNameEN\": \"Bank of Hebei\",\r\n \"BankNameCN\": \"河北银行\"\r\n },\r\n {\r\n \"BankCode\": \"BYK\",\r\n \"BankNameEN\": \"Bank of Yingkou\",\r\n \"BankNameCN\": \"营口银行\"\r\n },\r\n {\r\n \"BankCode\": \"BOT\",\r\n \"BankNameEN\": \"Bank of Tianjin\",\r\n \"BankNameCN\": \"天津银行\"\r\n },\r\n {\r\n \"BankCode\": \"BNC\",\r\n \"BankNameEN\": \"Bank of Nanchang\",\r\n \"BankNameCN\": \"南昌银行\"\r\n },\r\n {\r\n \"BankCode\": \"FJHX\",\r\n \"BankNameEN\": \"Fujian Haixia Bank\",\r\n \"BankNameCN\": \"福建海峡银行\"\r\n },\r\n {\r\n \"BankCode\": \"BOJZ\",\r\n \"BankNameEN\": \"Bank of Jinzhou\",\r\n \"BankNameCN\": \"锦州银行\"\r\n },\r\n {\r\n \"BankCode\": \"ZSBANK\",\r\n \"BankNameEN\": \"China Zheshang Bank\",\r\n \"BankNameCN\": \"浙商银行\"\r\n },\r\n {\r\n \"BankCode\": \"WZCB\",\r\n \"BankNameEN\": \"Bank of Wenzhou\",\r\n \"BankNameCN\": \"温州银行\"\r\n },\r\n {\r\n \"BankCode\": \"WHCCB\",\r\n \"BankNameEN\": \"Weihai City CommercialBank\",\r\n \"BankNameCN\": \"威海市商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"SXCCB\",\r\n \"BankNameEN\": \"Bank of Shaoxing\",\r\n \"BankNameCN\": \"绍兴银行\"\r\n },\r\n {\r\n \"BankCode\": \"CABANK\",\r\n \"BankNameEN\": \"Chang'an Bank\",\r\n \"BankNameCN\": \"长安银行\"\r\n },\r\n {\r\n \"BankCode\": \"ZJMTCOMM\",\r\n \"BankNameEN\": \"Zhejiang Mintai Commercial Bank\",\r\n \"BankNameCN\": \"浙江民泰商业银行\"\r\n },\r\n {\r\n \"BankCode\": \"QDCCB\",\r\n \"BankNameEN\": \"Bank of Qingdao\",\r\n \"BankNameCN\": \"青岛银行\"\r\n },\r\n {\r\n \"BankCode\": \"BOXI\",\r\n \"BankNameEN\": \"Bank of Xi'an\",\r\n \"BankNameCN\": \"西安银行\"\r\n },\r\n {\r\n \"BankCode\": \"ADBC\",\r\n \"BankNameEN\": \"Agricultural Development Bank of China\",\r\n \"BankNameCN\": \"中国农业发展银行\"\r\n },\r\n {\r\n \"BankCode\": \"KEB\",\r\n \"BankNameEN\": \"KEB Bank(China)\",\r\n \"BankNameCN\": \"外换银行(中国)有限公司\"\r\n },\r\n {\r\n \"BankCode\": \"BODL\",\r\n \"BankNameEN\": \"Bank of Dalian\",\r\n \"BankNameCN\": \"大连银行\"\r\n },\r\n {\r\n \"BankCode\": \"NJCB\",\r\n \"BankNameEN\": \"Bank of Nanjing\",\r\n \"BankNameCN\": \"南京银行\"\r\n }\r\n\r\n]\r\nexport const CNProvince: any = {\r\n \"110000\": \"北京市\",\r\n \"120000\": \"天津市\",\r\n \"130000\": \"河北省\",\r\n \"140000\": \"山西省\",\r\n \"150000\": \"内蒙古自治区\",\r\n \"210000\": \"辽宁省\",\r\n \"220000\": \"吉林省\",\r\n \"230000\": \"黑龙江省\",\r\n \"310000\": \"上海市\",\r\n \"320000\": \"江苏省\",\r\n \"330000\": \"浙江省\",\r\n \"340000\": \"安徽省\",\r\n \"350000\": \"福建省\",\r\n \"360000\": \"江西省\",\r\n \"370000\": \"山东省\",\r\n \"410000\": \"河南省\",\r\n \"420000\": \"湖北省\",\r\n \"430000\": \"湖南省\",\r\n \"440000\": \"广东省\",\r\n \"450000\": \"广西壮族自治区\",\r\n \"460000\": \"海南省\",\r\n \"500000\": \"重庆市\",\r\n \"510000\": \"四川省\",\r\n \"520000\": \"贵州省\",\r\n \"530000\": \"云南省\",\r\n \"540000\": \"西藏自治区\",\r\n \"610000\": \"陕西省\",\r\n \"620000\": \"甘肃省\",\r\n \"630000\": \"青海省\",\r\n \"640000\": \"宁夏回族自治区\",\r\n \"650000\": \"新疆维吾尔自治区\"\r\n}\r\nexport const CNCity: any = {\r\n \"110100\": \"北京市\",\r\n \"120100\": \"天津市\",\r\n \"130100\": \"石家庄市\",\r\n \"130200\": \"唐山市\",\r\n \"130300\": \"秦皇岛市\",\r\n \"130400\": \"邯郸市\",\r\n \"130500\": \"邢台市\",\r\n \"130600\": \"保定市\",\r\n \"130700\": \"张家口市\",\r\n \"130800\": \"承德市\",\r\n \"130900\": \"沧州市\",\r\n \"131000\": \"廊坊市\",\r\n \"131100\": \"衡水市\",\r\n \"140100\": \"太原市\",\r\n \"140200\": \"大同市\",\r\n \"140300\": \"阳泉市\",\r\n \"140400\": \"长治市\",\r\n \"140500\": \"晋城市\",\r\n \"140600\": \"朔州市\",\r\n \"140700\": \"晋中市\",\r\n \"140800\": \"运城市\",\r\n \"140900\": \"忻州市\",\r\n \"141000\": \"临汾市\",\r\n \"141100\": \"吕梁市\",\r\n \"150100\": \"呼和浩特市\",\r\n \"150200\": \"包头市\",\r\n \"150300\": \"乌海市\",\r\n \"150400\": \"赤峰市\",\r\n \"150500\": \"通辽市\",\r\n \"150600\": \"鄂尔多斯市\",\r\n \"150700\": \"呼伦贝尔市\",\r\n \"150800\": \"巴彦淖尔市\",\r\n \"150900\": \"乌兰察布市\",\r\n \"152200\": \"兴安盟\",\r\n \"152500\": \"锡林郭勒盟\",\r\n \"152900\": \"阿拉善盟\",\r\n \"210100\": \"沈阳市\",\r\n \"210200\": \"大连市\",\r\n \"210300\": \"鞍山市\",\r\n \"210400\": \"抚顺市\",\r\n \"210500\": \"本溪市\",\r\n \"210600\": \"丹东市\",\r\n \"210700\": \"锦州市\",\r\n \"210800\": \"营口市\",\r\n \"210900\": \"阜新市\",\r\n \"211000\": \"辽阳市\",\r\n \"211100\": \"盘锦市\",\r\n \"211200\": \"铁岭市\",\r\n \"211300\": \"朝阳市\",\r\n \"211400\": \"葫芦岛市\",\r\n \"220100\": \"长春市\",\r\n \"220200\": \"吉林市\",\r\n \"220300\": \"四平市\",\r\n \"220400\": \"辽源市\",\r\n \"220500\": \"通化市\",\r\n \"220600\": \"白山市\",\r\n \"220700\": \"松原市\",\r\n \"220800\": \"白城市\",\r\n \"222400\": \"延边朝鲜族自治州\",\r\n \"230100\": \"哈尔滨市\",\r\n \"230200\": \"齐齐哈尔市\",\r\n \"230300\": \"鸡西市\",\r\n \"230400\": \"鹤岗市\",\r\n \"230500\": \"双鸭山市\",\r\n \"230600\": \"大庆市\",\r\n \"230700\": \"伊春市\",\r\n \"230800\": \"佳木斯市\",\r\n \"230900\": \"七台河市\",\r\n \"231000\": \"牡丹江市\",\r\n \"231100\": \"黑河市\",\r\n \"231200\": \"绥化市\",\r\n \"232700\": \"大兴安岭地区\",\r\n \"310100\": \"上海市\",\r\n \"320100\": \"南京市\",\r\n \"320200\": \"无锡市\",\r\n \"320300\": \"徐州市\",\r\n \"320400\": \"常州市\",\r\n \"320500\": \"苏州市\",\r\n \"320600\": \"南通市\",\r\n \"320700\": \"连云港市\",\r\n \"320800\": \"淮安市\",\r\n \"320900\": \"盐城市\",\r\n \"321000\": \"扬州市\",\r\n \"321100\": \"镇江市\",\r\n \"321200\": \"泰州市\",\r\n \"321300\": \"宿迁市\",\r\n \"330100\": \"杭州市\",\r\n \"330200\": \"宁波市\",\r\n \"330300\": \"温州市\",\r\n \"330400\": \"嘉兴市\",\r\n \"330500\": \"湖州市\",\r\n \"330600\": \"绍兴市\",\r\n \"330700\": \"金华市\",\r\n \"330800\": \"衢州市\",\r\n \"330900\": \"舟山市\",\r\n \"331000\": \"台州市\",\r\n \"331100\": \"丽水市\",\r\n \"340100\": \"合肥市\",\r\n \"340200\": \"芜湖市\",\r\n \"340300\": \"蚌埠市\",\r\n \"340400\": \"淮南市\",\r\n \"340500\": \"马鞍山市\",\r\n \"340600\": \"淮北市\",\r\n \"340700\": \"铜陵市\",\r\n \"340800\": \"安庆市\",\r\n \"341000\": \"黄山市\",\r\n \"341100\": \"滁州市\",\r\n \"341200\": \"阜阳市\",\r\n \"341300\": \"宿州市\",\r\n \"341500\": \"六安市\",\r\n \"341600\": \"亳州市\",\r\n \"341700\": \"池州市\",\r\n \"341800\": \"宣城市\",\r\n \"350100\": \"福州市\",\r\n \"350200\": \"厦门市\",\r\n \"350300\": \"莆田市\",\r\n \"350400\": \"三明市\",\r\n \"350500\": \"泉州市\",\r\n \"350600\": \"漳州市\",\r\n \"350700\": \"南平市\",\r\n \"350800\": \"龙岩市\",\r\n \"350900\": \"宁德市\",\r\n \"360100\": \"南昌市\",\r\n \"360200\": \"景德镇市\",\r\n \"360300\": \"萍乡市\",\r\n \"360400\": \"九江市\",\r\n \"360500\": \"新余市\",\r\n \"360600\": \"鹰潭市\",\r\n \"360700\": \"赣州市\",\r\n \"360800\": \"吉安市\",\r\n \"360900\": \"宜春市\",\r\n \"361000\": \"抚州市\",\r\n \"361100\": \"上饶市\",\r\n \"370100\": \"济南市\",\r\n \"370200\": \"青岛市\",\r\n \"370300\": \"淄博市\",\r\n \"370400\": \"枣庄市\",\r\n \"370500\": \"东营市\",\r\n \"370600\": \"烟台市\",\r\n \"370700\": \"潍坊市\",\r\n \"370800\": \"济宁市\",\r\n \"370900\": \"泰安市\",\r\n \"371000\": \"威海市\",\r\n \"371100\": \"日照市\",\r\n \"371200\": \"莱芜市\",\r\n \"371300\": \"临沂市\",\r\n \"371400\": \"德州市\",\r\n \"371500\": \"聊城市\",\r\n \"371600\": \"滨州市\",\r\n \"371700\": \"菏泽市\",\r\n \"410100\": \"郑州市\",\r\n \"410200\": \"开封市\",\r\n \"410300\": \"洛阳市\",\r\n \"410400\": \"平顶山市\",\r\n \"410500\": \"安阳市\",\r\n \"410600\": \"鹤壁市\",\r\n \"410700\": \"新乡市\",\r\n \"410800\": \"焦作市\",\r\n \"410900\": \"濮阳市\",\r\n \"411000\": \"许昌市\",\r\n \"411100\": \"漯河市\",\r\n \"411200\": \"三门峡市\",\r\n \"411300\": \"南阳市\",\r\n \"411400\": \"商丘市\",\r\n \"411500\": \"信阳市\",\r\n \"411600\": \"周口市\",\r\n \"411700\": \"驻马店市\",\r\n \"420100\": \"武汉市\",\r\n \"420200\": \"黄石市\",\r\n \"420300\": \"十堰市\",\r\n \"420500\": \"宜昌市\",\r\n \"420600\": \"襄阳市\",\r\n \"420700\": \"鄂州市\",\r\n \"420800\": \"荆门市\",\r\n \"420900\": \"孝感市\",\r\n \"421000\": \"荆州市\",\r\n \"421100\": \"黄冈市\",\r\n \"421200\": \"咸宁市\",\r\n \"421300\": \"随州市\",\r\n \"422800\": \"恩施土家族苗族自治州\",\r\n \"429006\": \"天门市\",\r\n \"430100\": \"长沙市\",\r\n \"430200\": \"株洲市\",\r\n \"430300\": \"湘潭市\",\r\n \"430400\": \"衡阳市\",\r\n \"430500\": \"邵阳市\",\r\n \"430600\": \"岳阳市\",\r\n \"430700\": \"常德市\",\r\n \"430800\": \"张家界市\",\r\n \"430900\": \"益阳市\",\r\n \"431000\": \"郴州市\",\r\n \"431100\": \"永州市\",\r\n \"431200\": \"怀化市\",\r\n \"431300\": \"娄底市\",\r\n \"433100\": \"湘西土家族苗族自治州\",\r\n \"440100\": \"广州市\",\r\n \"440200\": \"韶关市\",\r\n \"440300\": \"深圳市\",\r\n \"440400\": \"珠海市\",\r\n \"440500\": \"汕头市\",\r\n \"440600\": \"佛山市\",\r\n \"440700\": \"江门市\",\r\n \"440800\": \"湛江市\",\r\n \"440900\": \"茂名市\",\r\n \"441200\": \"肇庆市\",\r\n \"441300\": \"惠州市\",\r\n \"441400\": \"梅州市\",\r\n \"441500\": \"汕尾市\",\r\n \"441600\": \"河源市\",\r\n \"441700\": \"阳江市\",\r\n \"441800\": \"清远市\",\r\n \"441900\": \"东莞市\",\r\n \"442000\": \"中山市\",\r\n \"445100\": \"潮州市\",\r\n \"445200\": \"揭阳市\",\r\n \"445300\": \"云浮市\",\r\n \"450100\": \"南宁市\",\r\n \"450200\": \"柳州市\",\r\n \"450300\": \"桂林市\",\r\n \"450400\": \"梧州市\",\r\n \"450500\": \"北海市\",\r\n \"450600\": \"防城港市\",\r\n \"450700\": \"钦州市\",\r\n \"450800\": \"贵港市\",\r\n \"450900\": \"玉林市\",\r\n \"451000\": \"百色市\",\r\n \"451100\": \"贺州市\",\r\n \"451200\": \"河池市\",\r\n \"451300\": \"来宾市\",\r\n \"451400\": \"崇左市\",\r\n \"460100\": \"海口市\",\r\n \"460200\": \"三亚市\",\r\n \"460300\": \"三沙市\",\r\n \"469000\": \"省直辖县级行政区划\",\r\n \"500100\": \"重庆市\",\r\n \"510100\": \"成都市\",\r\n \"510300\": \"自贡市\",\r\n \"510400\": \"攀枝花市\",\r\n \"510500\": \"泸州市\",\r\n \"510600\": \"德阳市\",\r\n \"510700\": \"绵阳市\",\r\n \"510800\": \"广元市\",\r\n \"510900\": \"遂宁市\",\r\n \"511000\": \"内江市\",\r\n \"511100\": \"乐山市\",\r\n \"511300\": \"南充市\",\r\n \"511400\": \"眉山市\",\r\n \"511500\": \"宜宾市\",\r\n \"511600\": \"广安市\",\r\n \"511700\": \"达州市\",\r\n \"511800\": \"雅安市\",\r\n \"511900\": \"巴中市\",\r\n \"512000\": \"资阳市\",\r\n \"513200\": \"阿坝藏族羌族自治州\",\r\n \"513300\": \"甘孜藏族自治州\",\r\n \"513400\": \"凉山彝族自治州\",\r\n \"520100\": \"贵阳市\",\r\n \"520200\": \"六盘水市\",\r\n \"520300\": \"遵义市\",\r\n \"520400\": \"安顺市\",\r\n \"520500\": \"毕节市\",\r\n \"520600\": \"铜仁市\",\r\n \"522300\": \"黔西南布依族苗族自治州\",\r\n \"522600\": \"黔东南苗族侗族自治州\",\r\n \"522700\": \"黔南布依族苗族自治州\",\r\n \"530100\": \"昆明市\",\r\n \"530300\": \"曲靖市\",\r\n \"530400\": \"玉溪市\",\r\n \"530500\": \"保山市\",\r\n \"530600\": \"昭通市\",\r\n \"530700\": \"丽江市\",\r\n \"530800\": \"普洱市\",\r\n \"530900\": \"临沧市\",\r\n \"532300\": \"楚雄彝族自治州\",\r\n \"532500\": \"红河哈尼族彝族自治州\",\r\n \"532600\": \"文山壮族苗族自治州\",\r\n \"532800\": \"西双版纳傣族自治州\",\r\n \"532900\": \"大理白族自治州\",\r\n \"533100\": \"德宏傣族景颇族自治州\",\r\n \"533300\": \"怒江傈僳族自治州\",\r\n \"533400\": \"迪庆藏族自治州\",\r\n \"540100\": \"拉萨市\",\r\n \"542100\": \"昌都地区\",\r\n \"542200\": \"山南地区\",\r\n \"542300\": \"日喀则地区\",\r\n \"542400\": \"那曲地区\",\r\n \"542500\": \"阿里地区\",\r\n \"542600\": \"林芝地区\",\r\n \"610100\": \"西安市\",\r\n \"610200\": \"铜川市\",\r\n \"610300\": \"宝鸡市\",\r\n \"610400\": \"咸阳市\",\r\n \"610500\": \"渭南市\",\r\n \"610600\": \"延安市\",\r\n \"610700\": \"汉中市\",\r\n \"610800\": \"榆林市\",\r\n \"610900\": \"安康市\",\r\n \"611000\": \"商洛市\",\r\n \"620100\": \"兰州市\",\r\n \"620200\": \"嘉峪关市\",\r\n \"620300\": \"金昌市\",\r\n \"620400\": \"白银市\",\r\n \"620500\": \"天水市\",\r\n \"620600\": \"武威市\",\r\n \"620700\": \"张掖市\",\r\n \"620800\": \"平凉市\",\r\n \"620900\": \"酒泉市\",\r\n \"621000\": \"庆阳市\",\r\n \"621100\": \"定西市\",\r\n \"621200\": \"陇南市\",\r\n \"622900\": \"临夏回族自治州\",\r\n \"623000\": \"甘南藏族自治州\",\r\n \"630100\": \"西宁市\",\r\n \"632100\": \"海东地区\",\r\n \"632200\": \"海北藏族自治州\",\r\n \"632300\": \"黄南藏族自治州\",\r\n \"632500\": \"海南藏族自治州\",\r\n \"632600\": \"果洛藏族自治州\",\r\n \"632700\": \"玉树藏族自治州\",\r\n \"632800\": \"海西蒙古族藏族自治州\",\r\n \"640100\": \"银川市\",\r\n \"640200\": \"石嘴山市\",\r\n \"640300\": \"吴忠市\",\r\n \"640400\": \"固原市\",\r\n \"640500\": \"中卫市\",\r\n \"650100\": \"乌鲁木齐市\",\r\n \"650200\": \"克拉玛依市\",\r\n \"652100\": \"吐鲁番地区\",\r\n \"652200\": \"哈密地区\",\r\n \"652300\": \"昌吉回族自治州\",\r\n \"652700\": \"博尔塔拉蒙古自治州\",\r\n \"652800\": \"巴音郭楞蒙古自治州\",\r\n \"652900\": \"阿克苏地区\",\r\n \"653000\": \"克孜勒苏柯尔克孜自治州\",\r\n \"653100\": \"喀什地区\",\r\n \"653200\": \"和田地区\",\r\n \"654000\": \"伊犁哈萨克自治州\",\r\n \"654200\": \"塔城地区\",\r\n \"654300\": \"阿勒泰地区\"\r\n}\r\n//#endregion\r\n//#region GBPrime withdrawal\r\nexport const GBPRIME_BANK_CODES = [\r\n { value: \"001\", label: \"Bank of Thailand\" },\r\n { value: \"002\", label: \"Bangkok Bank Public Company Limited\" },\r\n { value: \"004\", label: \"Kasikornbank Public CompanyLimited\" },\r\n { value: \"005\", label: \"The Royal Bank of Scotland N.V.\" },\r\n { value: \"006\", label: \"Krung Thai Bank Public Company Limited\" },\r\n { value: \"008\", label: \"JP Morgan Chase Bank\" },\r\n { value: \"011\", label: \"TTB Bank\" },\r\n { value: \"014\", label: \"Siam Commercial Bank Public Company Limited\" },\r\n { value: \"017\", label: \"Citibank N.A.\" },\r\n { value: \"018\", label: \"Sumitomo Mitsui Banking Corporation\" },\r\n { value: \"020\", label: \"Standard Chartered Bank (Thai) Public Company Limited\" },\r\n { value: \"022\", label: \"CIMB Thai Bank Public Company Limited\" },\r\n { value: \"024\", label: \"United Overseas Bank (Thai) PCL\" },\r\n { value: \"025\", label: \"Bank of Ayudhya Public Company Limited\" },\r\n { value: \"026\", label: \"Mega International Commercial Bank PCL\" },\r\n { value: \"027\", label: \"Bank of America National Association\" },\r\n { value: \"030\", label: \"Government Saving Bank\" },\r\n { value: \"031\", label: \"Hong Kong & Shanghai Corporation Limited\" },\r\n { value: \"032\", label: \"Deutsche Bank Aktiengesellschaft\" },\r\n { value: \"033\", label: \"Government Housing Bank\" },\r\n { value: \"034\", label: \"Bank for Agriculture and Agricultural Cooperatives\" },\r\n { value: \"039\", label: \"Mizuho Corporate Bank Limited\" },\r\n { value: \"045\", label: \"BNP Paribas Bank\" },\r\n { value: \"052\", label: \"Bank of China ( Thai ) Public Company Limited\" },\r\n { value: \"066\", label: \"Islamic Bank of Thailand\" },\r\n { value: \"067\", label: \"Tisco Bank Public Company Limited\" },\r\n { value: \"069\", label: \"Kiatnakin Bank Public Company Limited\" },\r\n { value: \"070\", label: \"ICBC Thai Commercial Bank\" },\r\n { value: \"071\", label: \"The Thai Credit Retail Bank Public Company Limited\" },\r\n { value: \"073\", label: \"Land and Houses Bank Public Company Limited\" },\r\n { value: \"079\", label: \"ANZ Bank (Thai) Public Company Limited\" },\r\n]\r\n//#endregion\r\nexport function CheckTextIsSimplifiedChinese(inputText: string) {\r\n let reqChinese = /^[\\u4E00-\\u9FCC]+$/;\r\n return reqChinese.test(inputText);\r\n}\r\nexport function toDataUrl(url: any, callback: any) {\r\n var xhr: any = new XMLHttpRequest();\r\n xhr.onload = function () {\r\n var reader = new FileReader();\r\n reader.onloadend = function () {\r\n callback(reader.result);\r\n }\r\n reader.readAsDataURL(xhr.response);\r\n };\r\n xhr.open('GET', url);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n}\r\nexport function ReturnPaymentIndexsGroupedBy3(list: any) {\r\n let _paymentIndexs: any = [];\r\n if (!list || list.length === 0) return _paymentIndexs;\r\n if (list.length <= 3) {\r\n _paymentIndexs.push({ start: 0, end: list.length });\r\n return _paymentIndexs;\r\n }\r\n let _count = 0;\r\n for (let i = 0; i < list.length; i++) {\r\n if (++_count === 3 || (i === list.length - 1)) {\r\n _paymentIndexs.push({ start: _paymentIndexs.length * 3, end: i });//_paymentIndexs.length is each round 3\r\n _count = 0;\r\n }\r\n }\r\n return _paymentIndexs;\r\n}\r\nexport const IBGroupingOptionsDict: any = {\r\n \"ib\": 'IB',\r\n \"account\": 'Account',\r\n \"symbol\": 'Symbol',\r\n \"all\": 'ViewAll'\r\n}\r\nexport function getBase64Image(url: any) {\r\n // Initialize the XMLHttpRequest and wait until file is loaded\r\n var xhr = new XMLHttpRequest();\r\n xhr.onload = function () {\r\n // Create a Uint8Array from ArrayBuffer\r\n var codes: any = new Uint8Array(xhr.response);\r\n\r\n // Get binary string from UTF-16 code units\r\n var bin = String.fromCharCode.apply(null, codes);\r\n\r\n // Convert binary to Base64\r\n var b64 = btoa(bin);\r\n //console.log(b64); //-> \"R0lGODdhAQABAPAAAP8AAAAAACwAAAAAAQABAAACAkQBADs=\"\r\n\r\n };\r\n\r\n // Send HTTP request and fetch file as ArrayBuffer\r\n xhr.open('GET', url);\r\n xhr.responseType = 'arraybuffer';\r\n xhr.send();\r\n}\r\nexport function ReturnSecuirtyTypeTitle(SecuirtyType: string) {\r\n if (!SecuirtyType) return ' - ';\r\n switch (SecuirtyType) {\r\n case \"FX\": {\r\n return \"FX - Leverage\";\r\n } case \"Futures\": {\r\n return \"Futures - Multipler\";\r\n } case \"CFD\": {\r\n return \"CFD - Percentage\";\r\n } case \"INX\": {\r\n return \"INX - Percentage\";\r\n } case \"CFDLEV\": {\r\n return \"CFDLEV - Percentage\";\r\n }\r\n default: {\r\n return SecuirtyType;\r\n }\r\n }\r\n}\r\n\r\nexport const SecuirtyTypes = {\r\n \"FX - Leverage\": \"FX\",\r\n \"Futures - Multipler\": \"Futures\",\r\n \"CFD - Percentage\": \"CFD\",\r\n \"INX - Percentage\": \"INX\",\r\n \"CFDLEV - Percentage\": \"CFDLEV\"\r\n}\r\nexport function parseFloatIfValid(number: any) {\r\n if (!number) return 0;\r\n return number;\r\n}\r\nexport function getProperty(obj: any, prop: any) {\r\n try {\r\n let _prop = prop.replace('?', '');//as in links ? \r\n let key;\r\n for (key in obj) {\r\n if (key.replace('?', '').toLowerCase() === _prop.toLowerCase()) {\r\n return obj[key];\r\n }\r\n }\r\n return \"\";\r\n } catch (e) {\r\n return \"\";\r\n }\r\n}\r\nexport function ReturnLinkName(Type: any, PoolID: any) {\r\n try {\r\n switch (Type) {\r\n case \"Demo Account\": {\r\n return `DemoAccountWrapper${PoolID ? '-' + PoolID : ''}`;\r\n } case \"Real Account\": {\r\n return `RealAccountWrapper${PoolID ? '-' + PoolID : ''}`;\r\n }\r\n default: {\r\n return ''\r\n }\r\n }\r\n } catch (e) {\r\n return \"\";\r\n }\r\n}\r\nexport function ReturnIframeName(Type: any) {\r\n try {\r\n switch (Type) {\r\n case \"Demo Account\": {\r\n return `DemoAccountIFrame`;\r\n } case \"Real Account\": {\r\n return `RealAccountIframe`;\r\n }\r\n default: {\r\n return ''\r\n }\r\n }\r\n } catch (e) {\r\n return \"\";\r\n }\r\n}\r\nexport function CheckGUIDisValid(GUIDString: any) {\r\n if (!GUIDString || GUIDString === \"null\") return false;\r\n if (GUIDString !== \"00000000-0000-0000-0000-000000000000\") return false;\r\n return true;\r\n}\r\nexport function ReturnValuesForMultiSelectWithTranslation(list: any[], t: Function) {\r\n if (!list || list.length === 0) return [];\r\n return list.map((item: any) => t(item.value));\r\n}\r\nexport function ReturnTitlesWithTranslation(list: any[], t: Function) {\r\n if (!list || list.length === 0) return [];\r\n return list.map((item: any) => t(item));\r\n}\r\nexport function ReturnValidStock(jsonString: string) {\r\n if (!jsonString) return [];\r\n let _result: any = [];\r\n try { _result = JSON.parse(jsonString) }\r\n catch (error) {\r\n console.error('ReturnValidStock', error);\r\n return [];\r\n }\r\n return _result;\r\n}\r\nexport function ReturnValidJson(jsonString: string, Default: any) {\r\n if (!jsonString) return Default;\r\n let _result: any = Default;\r\n try { _result = JSON.parse(jsonString) }\r\n catch (error) {\r\n console.error('ReturnValidJson', error);\r\n return Default;\r\n }\r\n return _result;\r\n}\r\nexport const BIGCHARTS: string[] = [\"BestWorstTrade\", \"NetAssetValue\", \"ROIChart\"];\r\nexport const SMALLCHARTS: string[] = [\"GainTest\", \"NetAssetNumber\", \"AverageLoss\", \"AverageGain\", \"ROI\", \"MeanReturn\"];\r\nexport const BIGCHARTSDict: any = {\r\n \"BestWorstTrade\": true,\r\n \"NetAssetValue\": true,\r\n \"ROIChart\": true\r\n};\r\nexport const SMALLCHARTSDict: any = {\r\n \"GainTest\": true,\r\n \"NetAssetNumber\": true,\r\n \"AverageLoss\": true,\r\n \"AverageGain\": true,\r\n \"ROI\": true,\r\n \"MeanReturn\": true,\r\n //\"AccountSummaryStatus1\": true,\r\n //\"AccountSummaryStatus2\": true,\r\n};\r\n//#region Logs \r\nexport const ActionNames: any = [\r\n { value: \"Full\", label: \"Full\", ModuleName: \"Full\", PermissionType: \"Full\" },\r\n { value: \"Register New Client\", label: \"Register New Client\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Client\", label: \"Manage Client\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Upload Clients CSV\", label: \"Upload Clients CSV\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Register Demo Account\", label: \"Register Demo Account\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Wallet\", label: \"Manage Wallet\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Contact\", label: \"Manage Contact\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Assign Contact to Client\", label: \"Assign Contact to Client\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Convert Contact to Client\", label: \"Convert Contact to Client\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Lead\", label: \"Manage Lead\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Convert Lead to Contact\", label: \"Convert Lead to Contact\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Task\", label: \"Manage Task\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Note\", label: \"Manage Note\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Wallet Currencies\", label: \"Manage Wallet Currencies\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage IBCode Range\", label: \"Manage IBCode Range\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage App Form\", label: \"Manage App Form\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage User\", label: \"Manage User\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Pool\", label: \"Manage Pool\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage ClientID Range\", label: \"Manage ClientID Range\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Manage Countries\", label: \"Manage Countries\", ModuleName: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"Request Reset Password\", label: \"Request Reset Password\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Confirm Reset Password\", label: \"Confirm Reset Password\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Validate User Email\", label: \"Validate User Email\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Manage User\", label: \"Manage User\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Update User Password\", label: \"Update User Password\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Block/Unblock User\", label: \"Block/Unblock User\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Validate User\", label: \"Validate User\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Sync Groups\", label: \"Sync Groups\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Manage Company Setting\", label: \"Manage Company Setting\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Manage Payment\", label: \"Manage Payment\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Manage Affiliate Settings\", label: \"Manage Affiliate Settings\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Manage Team\", label: \"Manage Team\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Manage Role\", label: \"Manage Role\", ModuleName: \"Users/Configuration\", PermissionType: \"Full\" },\r\n { value: \"Manage MAM Profile\", label: \"Manage MAM Profile\", ModuleName: \"MAMPortal\", PermissionType: \"MAM\" },\r\n { value: \"Bulk Manage MAM Profile\", label: \"Bulk Manage MAM Profile\", ModuleName: \"MAMPortal\", PermissionType: \"MAM\" },\r\n { value: \"Force Performance Fee\", label: \"Force Performance Fee\", ModuleName: \"MAMPortal\", PermissionType: \"MAM\" },\r\n { value: \"Sync Groups\", label: \"Sync Groups\", ModuleName: \"MAMPortal\", PermissionType: \"MAM\" },\r\n { value: \"Registration Fee\", label: \"Registration Fee\", ModuleName: \"MAMPortal\", PermissionType: \"MAM\" },\r\n { value: \"Management Fee\", label: \"Management Fee\", ModuleName: \"MAMPortal\", PermissionType: \"MAM\" },\r\n { value: \"Manage Signal Profile\", label: \"Manage Signal Profile\", ModuleName: \"Signal\", PermissionType: \"MAM\" },\r\n { value: \"Link IB Accounts\", label: \"Link IB Accounts\", ModuleName: \"IBPortal\", PermissionType: \"IB\" },\r\n { value: \"IBDefaultProfile\", label: \"IB Default Profile\", ModuleName: \"IBPortal\", PermissionType: \"IB\" },\r\n { value: \"Manage IB Allocation\", label: \"Manage IB Allocation\", ModuleName: \"IBPortal\", PermissionType: \"IB\" },\r\n { value: \"Validate App Form\", label: \"Validate App Form\", ModuleName: \"OnBoarding\", PermissionType: \"OnBoarding\" },\r\n { value: \"Manage DM Profile\", label: \"Manage Dynamic Profile\", ModuleName: \"DMPortal\", PermissionType: \"DynamicMargin\" },\r\n { value: \"Delete DM Profiles\", label: \"Delete Symbol Profiles\", ModuleName: \"DMPortal\", PermissionType: \"DynamicMargin\" },\r\n { value: \"Delete DM Exposure\", label: \"Delete Account Exposure Profiles\", ModuleName: \"DMPortal\", PermissionType: \"DynamicMargin\" },\r\n { value: \"Upload Bonus CSV\", label: \"Upload Bonus CSV\", ModuleName: \"BonusService\", PermissionType: \"Bonus\" },\r\n { value: \"Deposit Bonus\", label: \"Deposit Bonus\", ModuleName: \"BonusService\", PermissionType: \"Bonus\" },\r\n { value: \"Withdrawal\", label: \"Withdrawal\", ModuleName: \"BonusService\", PermissionType: \"Bonus\" },\r\n { value: \"Add Bonus Credit\", label: \"Add Bonus Credit\", ModuleName: \"BonusService\", PermissionType: \"Bonus\" },\r\n { value: \"StopOut\", label: \"StopOut\", ModuleName: \"BonusService\", PermissionType: \"Bonus\" },\r\n { value: \"App/Dec App Form Request\", label: \"App/Dec App Form Request\", ModuleName: \"BackOffice\", PermissionType: \"BackOffice\" },\r\n { value: \"Manage Compliance Answers\", label: \"Manage Compliance Answers\", ModuleName: \"BackOffice\", PermissionType: \"BackOffice\" },\r\n { value: \"Add Demo Account\", label: \"Add Demo Account\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Manage Trading Account\", label: \"Manage Trading Account\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Manage Trader Request\", label: \"Manage Trader Request\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Link Account to Client\", label: \"Link Account to Client\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Manage Registration Group\", label: \"Manage Registration Group\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Manage Currencies\", label: \"Manage Currencies\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Manage Account Type\", label: \"Manage Account Type\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Manage Login Range\", label: \"Manage Login Range\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Manage Leverage\", label: \"Manage Leverage\", ModuleName: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"Allocate Trading Account\", label: \"Allocate Trading Account (Bonus)\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Allocate Cash Account\", label: \"Allocate Cash Account\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Allocate Client\", label: \"Allocate Client (Bonus)\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Unallocate Client\", label: \"Unallocate Client\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Upload CSV Bonus\", label: \"Upload CSV Bonus\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Claim Bonus\", label: \"Claim Bonus\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Delete Promotion\", label: \"Delete Promotion\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Add Cash Bonus\", label: \"Add Cash Bonus\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Add New Promotion\", label: \"Add New Promotion\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Update Promotion\", label: \"Update Promotion\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Update Cash Bonus\", label: \"Update Cash Bonus\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Add RPConfig\", label: \"Add RPConfig\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Update Bonus Settings\", label: \"Update Bonus Settings\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Generate Bonus Token\", label: \"Generate Bonus Token\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Add Priority Group\", label: \"Add Priority Group\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Update Priority Group\", label: \"Update Priority Group\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Delete Priority Group\", label: \"Delete Priority Group\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Generate Client Promo Code\", label: \"Generate Client Promo Code\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n { value: \"Add Bonus Credit\", label: \"Add Bonus Credit\", ModuleName: \"BonusPortal\", PermissionType: \"Bonus\" },\r\n]\r\nexport const ModuleNames: any = [\r\n { value: \"Full\", label: \"Full\", PermissionType: \"Full\" },\r\n { value: \"Clients\", label: \"Clients\", PermissionType: \"Client\" },\r\n { value: \"OnBoarding\", label: \"On Boarding\", PermissionType: \"OnBoarding\" },\r\n { value: \"Trader\", label: \"Trader\", PermissionType: \"Trader\" },\r\n { value: \"IBPortal\", label: \"Partners\", PermissionType: \"IB\" },\r\n { value: \"MAMPortal\", label: \"MAM\", PermissionType: \"MAM\" },\r\n { value: \"Signal\", label: \"Signal\", PermissionType: \"MAM\" },\r\n { value: \"DMPortal\", label: \"Dyanmic Margin\", PermissionType: \"DynamicMargin\" },\r\n { value: \"BackOffice\", label: \"Back Office\", PermissionType: \"BackOffice\" },\r\n { value: \"BonusPortal\", label: \"Bonus\", PermissionType: \"Bonus\" },\r\n { value: \"BonusService\", label: \"Bonus Service\", PermissionType: \"Bonus\" },\r\n { value: \"Users/Configuration\", label: \"Users/Configuration\", PermissionType: \"Full\" }]\r\n//#endregion\r\n\r\n//#region KYC Json //for testing as some fields nullable//TODO check if add class \r\nexport interface IKYCJson {\r\n tabs: TabsEntity[];\r\n}\r\nexport interface TabsEntity {\r\n key: string;\r\n isVisible: boolean;\r\n title: string;\r\n picture: string;\r\n description: string;\r\n hasScore: boolean;\r\n TabPermissionTitle: string;\r\n PermissionTitle: string;\r\n cards: CardsEntity[];\r\n IsDocument: boolean;\r\n IsFillDocumentRequired: boolean;\r\n ClientCards: (string)[];\r\n}\r\nexport interface CardsEntity {\r\n key: string;\r\n isVisible: boolean;\r\n title: string;\r\n description: string;\r\n elements: (ElementsEntity)[];\r\n noSubmit: boolean;\r\n isAdminElement: boolean;\r\n}\r\nexport interface ElementsEntity {\r\n type: string;\r\n md: number;\r\n key: string;\r\n title: string;\r\n isRequired: boolean;\r\n hasSub: boolean;\r\n hasScore: boolean;\r\n isVisible: boolean;\r\n isSearchable: boolean;\r\n choices: (ChoicesEntity)[];\r\n min: number;\r\n visibleIfType: string;\r\n visibleIfKey: (string)[] | string | string | (string)[];\r\n visibleIfStatus: boolean | (string)[];\r\n visibleIfList: (string)[];\r\n html: string;\r\n list: (ListEntity | string)[];\r\n description: string;\r\n ClientDocuments: boolean;\r\n Card: string;\r\n placeholder: string;\r\n imgsrc: string;\r\n acceptedTypes: string;\r\n maxSize: number;\r\n isOptional: boolean;\r\n} //every element have chocie and vice versa/// 3 levels\r\nexport interface ChoicesEntity {\r\n value: string | number | boolean;\r\n label: string;\r\n Score: number;\r\n key: string | number;\r\n type: string;\r\n hasSub: boolean;\r\n status: string;\r\n description: string;\r\n isVisible: boolean;\r\n isRequired: boolean;\r\n picture: string;\r\n ClientTitle: string;\r\n elements: (ElementsEntity1)[];\r\n isOptional: boolean;\r\n}\r\nexport interface ElementsEntity1 {\r\n type: string;\r\n Card: string;\r\n key: string;\r\n title: string;\r\n description: string;\r\n isVisible: boolean;\r\n isRequired: boolean;\r\n choices: (ChoicesEntity1)[];\r\n isOptional: boolean;\r\n md: number;\r\n hasScore: boolean;\r\n placeholder: string;\r\n imgsrc: string;\r\n maxSize: number;\r\n html: string;\r\n visibleIfType: string;\r\n visibleIfKey: (string)[];\r\n}\r\nexport interface ChoicesEntity1 {\r\n status: string;\r\n type: string;\r\n key: string;\r\n value: string;\r\n label: string;\r\n description: string;\r\n isVisible: boolean;\r\n isRequired: boolean;\r\n picture: string;\r\n elements: (ElementsEntity2)[];\r\n}\r\nexport interface ElementsEntity2 {\r\n type: string;\r\n md: number;\r\n hasScore: boolean;\r\n key: string;\r\n title: string;\r\n isRequired: boolean;\r\n isVisible: boolean;\r\n visibleIfType: string;\r\n visibleIfKey: string;\r\n isOptional: boolean;\r\n visibleIfList: (string)[];\r\n choices: (ChoicesEntity2)[];\r\n visibleIfStatus: (string)[];\r\n min: number;\r\n placeholder: string;\r\n imgsrc: string;\r\n acceptedTypes: string;\r\n maxSize: number;\r\n}\r\nexport interface ChoicesEntity2 {\r\n value: number;\r\n label: string;\r\n Score: number;\r\n}\r\nexport interface ListEntity {\r\n type: string;\r\n md: number;\r\n hasScore: boolean;\r\n key: string;\r\n title: string;\r\n isRequired: boolean;\r\n isVisible: boolean;\r\n}\r\n//#endregion\r\nexport function ReturnLanguageOptionsHtML(languagesOptions: BasicSelectOption[]) {\r\n let _languages: string = ''; // can add to props \r\n for (let lang of languagesOptions) {\r\n _languages +=\r\n ``;\r\n }\r\n return _languages;\r\n}\r\nexport function ReturnSelectOptions(SelectOpt: any, value: string, label: string, preview?: any) {\r\n try {\r\n if (!SelectOpt) return [];\r\n let _options: any = [];\r\n for (var k = 0; k < SelectOpt.length; k++) {\r\n _options.push({ value: SelectOpt[k][value], label: preview ? preview(SelectOpt[k]) : SelectOpt[k][label], Data: SelectOpt[k], ...SelectOpt[k] });\r\n }\r\n if (!_options || _options.length === 0)\r\n return [];\r\n else {\r\n return _options;\r\n }\r\n } catch (e) {\r\n return [];\r\n }\r\n};\r\nexport function ReturnNumberFixedBY(value: number | string, decmialPoints?: number): any {\r\n if (!value || isNaN(+(value))) return 0.00;\r\n else {\r\n try {\r\n return parseFloat(String(value)).toFixed(decmialPoints ? decmialPoints : 2);\r\n } catch (e) {\r\n console.log(e, \"ReturnNumberFixedBY\")\r\n return 0.00;\r\n }\r\n }\r\n}\r\nexport function RenturnSplitedRange(_date: string): { from: any, to: any } {\r\n try {\r\n if (!_date) return { from: moment(), to: moment() };\r\n let _dateRanges = _date.split(',');\r\n if (!_dateRanges || !_dateRanges[0] || !_dateRanges[1])\r\n return { from: moment(), to: moment() };\r\n return { from: moment(_dateRanges[0]), to: moment(_dateRanges[1]) }\r\n } catch (e) {\r\n console.log('splitDate', e)\r\n return { from: moment(), to: moment() };\r\n }\r\n}\r\nexport function disabledDate(current: any) {//rename\r\n return (current && current > moment().endOf('day'));\r\n}\r\n//#region DM \r\n\r\nexport function ReturnSymbolSecType(Type: string) {\r\n if (!Type) return ' - ';\r\n switch (Type) {\r\n case \"FX\":\r\n case \"CFDLEVERAGE\":\r\n {\r\n return 'Leverage';\r\n }\r\n case \"CFD\":\r\n case \"INX\":\r\n case \"CFDLEV\":\r\n {\r\n return 'Percentage';\r\n }\r\n case \"Futures\": {\r\n return 'Multiplier';\r\n }\r\n default: {\r\n return ' - '\r\n }\r\n }\r\n}\r\nexport function ReturnAccSecType(Type: string) {\r\n if (!Type) return ' - ';\r\n switch (Type) {\r\n case \"FX\": {\r\n return 'FX-Leverage';\r\n }\r\n case \"CFD\": {\r\n return 'CFD-Percentage';\r\n }\r\n case \"Futures\": {\r\n return 'Futures-Multiplier';\r\n } case \"INX\": {\r\n return 'INX-Percentage';\r\n } case \"CFDLEV\": {\r\n return 'CFDLEV-Percentage';\r\n }\r\n case \"CFDLEVERAGE\": {\r\n return 'CFDLEVERAGE-Leverage';\r\n }\r\n default: {\r\n return ' - '\r\n }\r\n }\r\n}\r\n//#endregion\r\nexport function ReturnFilterValue(PageName: string, dict: any) {\r\n return function (value: any, elementName: string, StaticValue?: any) {\r\n try {\r\n if (dict[PageName] && dict[PageName][elementName])\r\n return dict[PageName][elementName];\r\n } catch (e) {\r\n console.error('ReturnFilterValue', e);\r\n }\r\n return value;\r\n }\r\n}\r\nexport function ReturnFilterSelectedOptions(PageName: string, dict: any) {\r\n return function (_options: any, elementName: string, StaticValue?: any) {\r\n try {\r\n if (dict[PageName] && dict[PageName][elementName] && dict[PageName][elementName].length > 0)\r\n return dict[PageName][elementName];\r\n } catch (e) {\r\n console.error('ReturnFilterSelectedOptions', e);\r\n }\r\n return _options && _options.length > 0 ? (StaticValue ? _options : ReturnValuesForMultiSelect(_options)) : [];\r\n }\r\n}\r\nexport function UpdateSelectedFiltrationValues(dict: any, PageName: string, Values: any, UpdateFiltrationDict: any) {\r\n try {\r\n let _TableFiltrationDict = { ...dict }\r\n if (_TableFiltrationDict[PageName])\r\n _TableFiltrationDict[PageName] = {\r\n ..._TableFiltrationDict[PageName],\r\n ...Values\r\n };\r\n else\r\n _TableFiltrationDict[PageName] = Values;\r\n UpdateFiltrationDict({ ..._TableFiltrationDict });\r\n } catch (e) {\r\n console.error('UpdateSelectedFiltrationValues', e)\r\n }\r\n}\r\n//#endregion\r\n//#region Auth\r\n//Auth\r\nexport enum EPermissionValue {\r\n Allow = 1,\r\n Deny = 2,\r\n Team = 3,\r\n Owned = 4\r\n}\r\n//#endregion\r\n\r\n\r\nexport function ReturnCountryCode(Code: string) {\r\n try {\r\n if (!Code) return \"\";\r\n switch (Code) {\r\n case \"ID\": {\r\n return \"Indonesia\";\r\n }\r\n default: {\r\n return Code\r\n }\r\n }\r\n } catch (e) {\r\n console.error('ReturnCountryCode', e);\r\n return \"\";\r\n }\r\n}\r\nexport function TimeZonesOptions(t: Function) {//@point check if can remove luxon or can benfit from it \r\n return timezones.default.filter((t: any) => !luxonIgnoredTimezones[t.tzCode] && t.tzCode !== 'Etc/GMT').map((timezone: any) => {\r\n\r\n //const offset = new Date().getTimezoneOffset();//only will get our cuurent need set time zone \r\n const zoneTime = DateTime.local().setZone(timezone.tzCode);\r\n //const offset = new Date().getTimezoneOffset();\r\n const offset = zoneTime.offset;\r\n const offsetSign = offset > 0 ? '+' : offset < 0 ? '-' : '';\r\n const offsetNormalized = offset !== 0 ? Math.abs(offset / 60) : '';\r\n const offsetText = `(GMT${offsetSign}${offsetNormalized})`;\r\n\r\n const tzRegion = timezone.tzCode.split('/')[0];\r\n return {\r\n //text: `${timezone.label.replace(/\\(.*\\)/, offsetText)} - ${t(tzRegion)}`,\r\n text: `${offsetText} ${t(timezone.tzCode)} - ${t(tzRegion)}`,\r\n offset,\r\n tzCode: timezone.tzCode\r\n };\r\n })\r\n .sort((a: any, b: any) => a.offset - b.offset || a.text.localeCompare(b.text));\r\n}\r\nexport function GetColumWitdh(Dict: any, pageName: any) {\r\n return function (StaticWidth: string, index: number) {\r\n try {\r\n let _TableFiltrationDict: any = { ...Dict };\r\n let Columns = _TableFiltrationDict[pageName]?.Columns ? _TableFiltrationDict[pageName]?.Columns : [];\r\n return Columns[index]?.width && (parseInt(Columns[index]?.width?.toLowerCase().replace('px', ''), 10) > 0) ? String(Columns[index]?.width) : (StaticWidth === \"auto\" ? \"100px\" : StaticWidth);\r\n } catch (e) {\r\n console.error('GetColumWitdh', e);\r\n return StaticWidth;\r\n }\r\n }\r\n}\r\nexport function ValidateExpLimit(value: any): boolean {\r\n return value !== undefined && value !== null && String(value) !== \"\";\r\n}\r\nexport function ReturnMultiSelectedFiltrationValuesToUpdate(selectedValues: any[], Options: any[]) {\r\n try {\r\n return ((selectedValues?.length && Options?.length) && selectedValues.length !== Options?.length) ? selectedValues : null;\r\n } catch (e) {\r\n console.error('ReturnSelectedOptionsForSaveFiltration', e);\r\n return selectedValues;\r\n }\r\n}\r\nexport function ReturnOptionByValue(value: any, list: any[]) {\r\n if (!list || list.length === 0) return { value: -1, label: \"No Data\" };\r\n for (let i: number = 0; i < list.length; i++) {\r\n if (String(value)?.toLowerCase()?.trim() === String(list[i].value)?.toLowerCase()?.trim()) //icons on icon\r\n return list[i];\r\n }\r\n return { value: -1, label: \"Select\" };\r\n}\r\nexport function ReturnOptionByLabel(label: any, list: any[]) {\r\n if (!list || list.length === 0) return { value: -1, label: \"No Data\" };\r\n for (let i: number = 0; i < list.length; i++) {\r\n if (String(label)?.toLowerCase() === String(list[i].label)?.toLowerCase())\r\n return list[i];\r\n }\r\n return { value: -1, label: \"Select\" };\r\n}\r\nexport function ReturnFirstValue(list: any[]) {\r\n try {\r\n if (!!list && list.length !== 0) {\r\n return list[0];\r\n }\r\n else {\r\n return { value: -1, label: \"No Data\" };\r\n }\r\n } catch (e) {\r\n console.error(e, 'RETURN_FIRST_VALUE');\r\n }\r\n}\r\nexport function ReturnOptionByField(label: any, list: any, field: string) {\r\n if (!list || list.length === 0) return { value: -1, label: \"No Data\" };\r\n for (let i: number = 0; i < list.length; i++) {\r\n if (String(label)?.toLowerCase() === String(list?.[i]?.[field])?.toLowerCase())\r\n return list[i];\r\n }\r\n return { value: -1, label: \"Select\" };\r\n}\r\nexport function ReturnValidJsonAppforms(JsonString: any): any {\r\n if (!JsonString) return {};\r\n try {\r\n return JSON.parse(JsonString);//as effect correct ones\r\n } catch (e) {\r\n console.error('unvalidJson: ', e);\r\n try {\r\n let myEscapedJSONString = JsonString.replace(/\\n/g, \" \");\r\n return JSON.parse(myEscapedJSONString) //to remove control character as enter great\r\n } catch (e) {\r\n console.error('Unvalid stringfy: ', e);\r\n return {};\r\n }\r\n }\r\n}\r\nexport const NODATA = { value: -1, label: \"No Data\" };\r\nexport const NONESELECTED = { value: -1, label: \"Select\" };\r\nexport function SetValueOfIndex(list: any[], callBack: any, index: number) {\r\n if (list && list.length >= index && list[index])\r\n callBack(list[index]);\r\n else\r\n callBack(NONESELECTED);\r\n}\r\nexport function ReturnValidLink(link: string) {\r\n if (!link) return '_';\r\n if (!link.endsWith('/')) {\r\n return `${link}/`;\r\n }\r\n return link;\r\n}\r\nexport function ValidateValue(value: any): boolean {\r\n return value !== undefined && value !== null;\r\n}\r\nexport function toFixedNoRounding(num: number) {\r\n if (!num || !isNumber(num)) return 0;\r\n return (parseInt(String(num * 100), 10) / 100);\r\n}\r\nexport function toFixedNoRoundingDigits(num: number, Digits: number) {\r\n try {\r\n if (!num || !isNumber(num)) return 0;\r\n if (!Digits) return num;\r\n return (parseInt(String(num * Math.pow(10, Digits)), 10) / Math.pow(10, Digits));\r\n } catch (e) {\r\n console.error('toFixedNoRoundingDigits', e);\r\n return 0;\r\n }\r\n}\r\nexport function RoundingDigit(num: number, Digits: number) {\r\n try {\r\n if (!num || !isNumber(num)) return 0;\r\n if (!Digits) return num;\r\n return +(num.toFixed(Digits));\r\n } catch (e) {\r\n console.error('toFixedNoRoundingDigits', e);\r\n return 0;\r\n }\r\n}\r\nexport function ReturnParamString(text: any): string {\r\n return text?.includes('?') ? '&' : '?';\r\n}\r\nexport function ReturnSlashString(text: any): string {\r\n return text?.endsWith('/') ? '' : '/';\r\n}\r\n//#region multibank Payments\r\nexport const BeneficiaryBankName: BasicSelectOption[] = [\r\n { value: \"Standard Chartered (Thai)\", label: \"Standard Chartered (Thai)\" },\r\n { value: \"Government Savings Bank\", label: \"Government Savings Bank\" },\r\n { value: \"TMB Bank\", label: \"TMB Bank\" },\r\n { value: \"United Overseas Bank (Thai)\", label: \"United Overseas Bank (Thai)\" },\r\n { value: \"CIMB Thai Bank\", label: \"CIMB Thai Bank\" },\r\n { value: \"Citibank\", label: \"Citibank\" },\r\n { value: \"Thanachart Bank\", label: \"Thanachart Bank\" },\r\n { value: \"Kasikornbank\", label: \"Kasikornbank\" },\r\n { value: \"Siam Commercial Bank\", label: \"Siam Commercial Bank\" },\r\n { value: \"Bangkok Bank\", label: \"Bangkok Bank\" },\r\n { value: \"Bank of Ayudhya (Krungsri)\", label: \"Bank of Ayudhya (Krungsri)\" },\r\n { value: \"ABA Bank (Cambodia)\", label: \"ABA Bank (Cambodia)\" },\r\n { value: \"FNB (South Africa)\", label: \"FNB (South Africa)\" },\r\n { value: \"Kanbawza Bank (Myanmar)\", label: \"Kanbawza Bank (Myanmar)\" },\r\n { value: \"Krungthai Bank\", label: \"Krungthai Bank\" },\r\n { value: \"BCEL\", label: \"BCEL\" }\r\n]\r\nexport const ThunderPayPaymentCurrency: BasicSelectOption[] = [\r\n { value: \"KHR\", label: \"KHR\" },\r\n { value: \"LAK\", label: \"LAK\" },\r\n { value: \"THB\", label: \"THB\" },\r\n { value: \"MMK\", label: \"MMK\" }]\r\nexport const FXBitPaymentCurrency: BasicSelectOption[] = [\r\n { value: \"BTC\", label: \"BTC\" },\r\n { value: \"USDT\", label: \"USDT\" },\r\n { value: \"ETH\", label: \"ETH\" }]\r\n//Endregion\r\nexport function ReturnNameAfterDash(str: string): string {\r\n try {\r\n return str.split(\"-\")[1];\r\n } catch (e) {\r\n console.log(\"ReturnNameAfterDash\", e);\r\n return str ? str : \"\";\r\n }\r\n}\r\nexport function ReturnAllocationFormula(str: string): string {\r\n try {\r\n switch (str) {\r\n case \"EV\": {\r\n return \"CopierAccountWiilBeFollowingTheSignalAccountAccordingToTheDefinedPercentageSetByEachCopierAccount\";\r\n }\r\n case \"Fixed Lot\": {\r\n return \"CopierAccountWillBeFollowingTheSignalAccountAccordingToTheDefinedFixedLotAmount\";\r\n }\r\n case \"% of Equity\": {\r\n return \"CopierAccountWillBeFollowingTheSignalAccountToEquity\";\r\n }\r\n default: {\r\n return ' - '\r\n }\r\n }\r\n } catch (e) {\r\n console.log(\"Return Allocation Formula\", e);\r\n return ' - '\r\n }\r\n}\r\nexport function validateRef(ref: string): boolean {\r\n if (!ref) return false;\r\n let regex = /^[\\w-]+$/;\r\n return ref.match(regex) ? true : false;\r\n}\r\n//#region Layout\r\nexport function RemoveSpacesNLastSemicolon(emails: string) {\r\n return emails?.replace(/\\s/g, '')?.replace(/;$/g, '');\r\n}\r\nexport function ValidateEmailList(emails: string): boolean {\r\n try {\r\n if (emails == \"\") return false;\r\n let _emailList: string[] = RemoveSpacesNLastSemicolon(emails)?.split(\";\");//TODO add in 1 replace\r\n for (let email of _emailList) {\r\n if (email == \"\" || !validateEmail(email)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n } catch (e) {\r\n console.log(e, \"ValidateEmailList\");\r\n return false;\r\n };\r\n}\r\n//#endregion\r\n\r\nexport function ReturnOptionByComma_Separated_Values(Comma_Separated_Values: any, list: any[]) {\r\n let _finallist: any[] = [];\r\n if (!Comma_Separated_Values) return _finallist;\r\n for (let item of list) {\r\n if (Comma_Separated_Values.includes(`${item?.value}`)) {\r\n _finallist.push(item);\r\n }\r\n }\r\n return _finallist;\r\n}\r\nexport function ConvertListToTree(data: any, parent: any) { //recursive\r\n const result =\r\n data.filter((d: SubIBs) => (d.ParentClientID === parent));\r\n\r\n if (!result || !result.length) {\r\n return null;\r\n }\r\n\r\n return result.map(({ ClientID, ClientName, IBCode }: any) =>\r\n ({ ClientID, label: ` ${ClientName} - ${IBCode}`, children: ConvertListToTree(data, ClientID), expanded: true }))\r\n}\r\n//#region Document Expiration\r\nenum EDocumentTypes {\r\n IDType = \"IDType\",\r\n IDType2 = \"IDType2\",\r\n}\r\nexport function GetDocuments(_dict: any) {\r\n try {\r\n let _Documents = cloneDeep(_dict);\r\n _Documents = _.pickBy(_Documents, (value: any) => (value?._inTab === \"Documents\"));\r\n return _Documents;\r\n } catch (e) {\r\n console.log('GetDocuments', e);\r\n return cloneDeep(_dict);\r\n }\r\n}\r\nexport function GetExpirationList(_Documents: any) {\r\n try {\r\n let expirations = [];\r\n let _IDType = _Documents[EDocumentTypes.IDType];\r\n let _IDType2 = _Documents[EDocumentTypes.IDType2];\r\n if (_IDType && _Documents[`ExpiryDate${_IDType}`]) {\r\n expirations.push({\r\n Type: EDocumentTypes.IDType,\r\n ExpiryDate: _Documents[`ExpiryDate${_IDType}`],\r\n Selected: _IDType\r\n });\r\n }\r\n if (_IDType2 && _Documents[`ExpiryDate2${_IDType2}`]) {\r\n expirations.push({\r\n Type: EDocumentTypes.IDType2,\r\n ExpiryDate: _Documents[`ExpiryDate2${_IDType2}`],\r\n Selected: _IDType2\r\n });\r\n }\r\n return expirations;\r\n } catch (e) {\r\n console.error('GetExpirationList', e);\r\n return [];\r\n }\r\n}\r\nexport function GetDocumentValues(_Documents: any, key: string, _dict: any) {\r\n try {\r\n //_dict[key]?.Data?.isVisible for document check All dict as it is outside\r\n if (_Documents[key] && _dict[key]?.Data?.isVisible) { //take value for Visible\r\n return _Documents[key]?.value;\r\n } else {\r\n return null;\r\n }\r\n } catch (e) {\r\n console.error('GetDocumentValues', e)\r\n return {};\r\n }\r\n}\r\n//#endregion\r\n//#region Enums\r\n//KYC Status\r\nexport enum EKYCStatus {\r\n Pending = '0',\r\n Completed = '1',\r\n Rejected = '-1',\r\n NotCompleted = '2',\r\n}\r\n//Platforms\r\nexport enum EPlatforms {\r\n MT5 = \"MT5\",\r\n MT4 = \"MT4\",\r\n}\r\n//#endRegion\r\nexport const GBPrimePayPaymentOptions = [\r\n { value: 'text', label: 'Text' },\r\n { value: 'img', label: 'Image' },\r\n];\r\nvar _isZendDeskDisplay = \"\";//locatroge will stay after reload//not our practice\r\nexport function DisplayZendDeskChat(isVisble: boolean) {\r\n //if (window?.zE) {\r\n // if (_isZendDeskDisplay !== `${isVisble}`) {\r\n // window.zE('messenger:set', 'cookies', isVisble);\r\n // _isZendDeskDisplay = `${isVisble}`;\r\n // }\r\n //}\r\n}\r\nexport function CheckIfIsExternalPage(href: any): boolean {\r\n if (!href) return false;\r\n for (let route of ExternalRoutes) {\r\n //console.log(href.toLowerCase(), \"route.path.toLowerCase()\", route.path.toLowerCase(), window.location.pathname)\r\n //if (href && href.toLowerCase().includes(route.path.toLowerCase())) { /demoaccount /Manage/DemoAccounts wont work \r\n if (window?.location?.pathname?.toLowerCase() === route?.path?.toLowerCase()) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n//#region New Permissions\r\nexport function GetReportsPerms(ReportsUserPerms: UserPermissionOBjectClass): { BonusReportsPerm: boolean; CRMREports: boolean; IBReports: boolean; DLReports: boolean; BackofficeReports: boolean; MAMReports: boolean; } {\r\n //BonusReportsPerm Perm as suffix as component named same \r\n let BackofficeReports: boolean = CheckIfPermAlllowedByName('Backoffice Reports', ReportsUserPerms.Perms);\r\n let MAMReports: boolean = CheckIfPermAlllowedByName('MAM Reports', ReportsUserPerms.Perms);\r\n let BonusReportsPerm: boolean = CheckIfPermAlllowedByName('Bonus Reports', ReportsUserPerms.Perms);\r\n let CRMREports: boolean = CheckIfPermAlllowedByName('CRM REports', ReportsUserPerms.Perms);\r\n let IBReports: boolean = CheckIfPermAlllowedByName('IB Reports', ReportsUserPerms.Perms);\r\n let DLReports: boolean = CheckIfPermAlllowedByName('DL Reports', ReportsUserPerms.Perms);\r\n return { BonusReportsPerm, CRMREports, IBReports, DLReports, BackofficeReports, MAMReports };\r\n}\r\nexport function OneOFReportsEnabled({ BonusReportsPerm, CRMREports, IBReports, DLReports, BackofficeReports, MAMReports }: any) {\r\n return (BonusReportsPerm || CRMREports || IBReports || DLReports || BackofficeReports || MAMReports);\r\n}\r\n//#endregion\r\nexport const groupByCustomValue = (key: any, value: any) => (array: any) => {\r\n try {\r\n return array.reduce((item: any, obj: any) => {\r\n const property = obj[key];\r\n item[property] = item[property] || [];\r\n item[property].push(obj[value]?.toString());\r\n return item;\r\n }, {});\r\n } catch (e) {\r\n console.error('groupBy', e);\r\n return {};\r\n }\r\n}\r\n//#region webhooks\r\nexport function GenerateKey(length?: number) {//like GUID\r\n function convertDecimalToHexa(dec: any) {\r\n return dec.toString(16).padStart(2, \"0\");\r\n }\r\n let arr = new Uint8Array((length || 40) / 2)\r\n window.crypto.getRandomValues(arr)\r\n return Array.from(arr, convertDecimalToHexa).join('')\r\n}\r\nexport function GenerateRandomKey() {\r\n let charset = \"abcdefghijklmnopqrstuvwxyz\",\r\n Captial = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\r\n numeric = '0123456789',\r\n SpecialSet = \"!@#$%^&\",\r\n retVal = \"\";\r\n let _nbofChars: number = 0;\r\n addlowercase(4);\r\n addCaptial(4);\r\n addNumeric(4);\r\n addSpecialCharacters(3);\r\n return retVal.split('').sort(() => Math.random() - 0.5).join(''); //return them shuffled \r\n\r\n\r\n function addSpecialCharacters(amount: number) {\r\n for (let i = _nbofChars, n = SpecialSet.length; i < _nbofChars + amount; ++i) {\r\n retVal += SpecialSet.charAt(Math.floor(Math.random() * n));\r\n }\r\n }\r\n\r\n function addNumeric(amount: number) {\r\n for (let i = _nbofChars, n = numeric.length; i < _nbofChars + amount; ++i) {\r\n retVal += numeric.charAt(Math.floor(Math.random() * n));\r\n }\r\n }\r\n\r\n function addCaptial(amount: number) {\r\n for (let i = _nbofChars, n = Captial.length; i < _nbofChars + amount; ++i) {\r\n retVal += Captial.charAt(Math.floor(Math.random() * n));\r\n }\r\n }\r\n\r\n function addlowercase(amount: number) {\r\n for (let i = 0, n = charset.length; i < (_nbofChars + amount); ++i) {\r\n retVal += charset.charAt(Math.floor(Math.random() * n));\r\n }\r\n }\r\n}\r\n///#endregion\r\nexport const PRAXIS_LANGUAGES: any = {\r\n \"ar\": \"ar-SA\",\r\n \"cn\": \"zh-CN\",\r\n \"ct\": \"zh-TW\",\r\n \"en\": \"en-GB\",\r\n \"fr\": \"fr-FR\",\r\n \"jp\": \"ja-JP\",\r\n \"pl\": \"pl-PL\",\r\n \"th\": \"th-TH\",\r\n \"vn\": \"vi-VN\",\r\n \"cs\": \"cs-CZ\",\r\n \"nl\": \"nl-NL\",\r\n \"tl\": \"tl-PH\",\r\n \"fi\": \"fi-FI\",\r\n \"de\": \"de-DE\",\r\n \"el\": \"el-GR\",\r\n \"he\": \"he-IL\",\r\n \"hi\": \"hi-IN\",\r\n \"hu\": \"hu-HU\",\r\n \"it\": \"it-IT\",\r\n \"id\": \"id-ID\",\r\n \"ko\": \"ko-KR\",\r\n \"lt\": \"lt-LT\",\r\n \"ms\": \"ms-MY\",\r\n \"pt\": \"pt-PT\",\r\n \"ru\": \"ru-RU\",\r\n \"sk\": \"sk-SK\",\r\n \"es\": \"es-ES\",\r\n \"sv\": \"sv-SE\",\r\n \"tr\": \"tr-TR\",\r\n \"hy\": \"hy-AM\",\r\n \"bg\": \"bg-BG\",\r\n \"kh\": \"kh-KH\",\r\n \"da\": \"da-DK\",\r\n \"et\": \"et-EE\",\r\n \"ka\": \"ka-GE\",\r\n \"lv\": \"lv-LV\",\r\n \"nn\": \"nn-NO\",\r\n \"sr\": \"sr-RS\",\r\n \"sl\": \"sl-SI\",\r\n \"ta\": \"ta-IN\",\r\n \"uk\": \"uk-UA\",\r\n \"sq\": \"sq-AL\",\r\n}\r\n\r\nexport function getImagesURL_IGain(BannerCDNURL: any, CompanyName: any, DefaultURL: any) {\r\n if (CompanyName?.toLowerCase() === \"igain\") return `${BannerCDNURL}igain/themes/greenGrey/`;\r\n if (CompanyName?.toLowerCase() === \"primex\") return `${BannerCDNURL}primex/themes/primexOrange/`;\r\n return `${DefaultURL}imgs/`;\r\n}\r\nexport function getImagesURL_LDN(BannerCDNURL: any, CompanyName: any, DefaultURL: any) {\r\n if (CompanyName?.toLowerCase() === \"ldn\") return `${BannerCDNURL}ldn/themes/orangeBlack/`;\r\n if (CompanyName?.toLowerCase() === \"primex\") return `${BannerCDNURL}primex/themes/primexOrange/`;\r\n return `${DefaultURL}imgs/`;\r\n}\r\nexport function getImagesURL_IGain_LDN(BannerCDNURL: any, CompanyName: any, DefaultURL: any) {\r\n if (CompanyName?.toLowerCase() === \"igain\") return `${BannerCDNURL}igain/themes/greenGrey/`;\r\n if (CompanyName?.toLowerCase() === \"ldn\") return `${BannerCDNURL}ldn/themes/orangeBlack/`;\r\n if (CompanyName?.toLowerCase() === \"primex\") return `${BannerCDNURL}primex/themes/primexOrange/`;\r\n return `${DefaultURL}imgs/`;\r\n}\r\n\r\n//#region Igain images \r\nexport const BTC_BITCOIN = require(\"../../src/Assets/imgs/BTC(Bitcoin).jpeg\") as string;\r\nexport const BTC_BITCOIN_txt = \"1MJuptJgHs32nXydjTuPnHs2vyEFGCSD3v\";\r\nexport const ETH_ERC20 = require(\"../../src/Assets/imgs/ETH(ERC20).jpeg\") as string;\r\nexport const ETH_ERC20_txt = \"0x24a1997ed78a7743765a9390c511430bea0171dc\";\r\nexport const USDT_ERC20 = require(\"../../src/Assets/imgs/USDT(ERC20).jpeg\") as string;\r\nexport const USDT_ERC20_txt = \"0x24a1997ed78a7743765a9390c511430bea0171dc\";\r\nexport const USDT_TRC20 = require(\"../../src/Assets/imgs/USDT(TRC20).jpeg\") as string;\r\nexport const USDT_TRC20_txt = \"TKefq2rcp1R6Ra7zkww9nxELu6ts8T2i6T\";\r\n//#endregion\r\n\r\nexport function CheckIfCompanyIs(CompanyName: string) {\r\n return store?.getState()?.CompanyData?.CompanyCode?.toLowerCase() === CompanyName?.toLowerCase();\r\n}\r\nexport function ReturnLDNImage(img: string): string {\r\n if (CheckIfCompanyIs(\"LDN\")) {\r\n return `${getImagesURL_IGain_LDN(store?.getState()?.CompanyData?.BannerCDNURL, store?.getState()?.CompanyData?.CompanyCode, store?.getState()?.CompanyData?.CDNURL)}NoData.png`;\r\n }\r\n return img;\r\n}\r\n//#region Dynamic Margin\r\nexport function CheckIFTrenchesIntervalIsValid(MarginTiles: IMarginTiles[]) {//for sessions we must Validate them otherwise no need to build \r\n if (!MarginTiles || MarginTiles?.length === 0) return /*ValidateExpLimit(ProfileExpLimit) && +(ProfileExpLimit) > -1 ? true :*/ false;//true as check levels before it\r\n for (let i = 0; i < MarginTiles?.length; i++) {\r\n if (i > 0) {\r\n let _PreviousTrenches = parseFloat(String(MarginTiles[i - 1].Trenches || 0));\r\n if (_PreviousTrenches >= parseFloat(String(MarginTiles[i].Trenches || 0))) {//must be bigger\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\nfunction ReturnFromTierDate(_tier: TierClass) {\r\n const _FromDay = +(_tier.FromDay) > 9 ? _tier.FromDay : `0${_tier.FromDay}`;\r\n return new Date(`October ${_FromDay}, 2022 ${_tier.FromHour}:${_tier.FromMinute}:00`)\r\n}\r\nfunction ReturnToTierDate(_tier: TierClass) {\r\n const ToDay = +(_tier.ToDay) > 9 ? _tier.ToDay : `0${_tier.ToDay}`;\r\n return new Date(`October ${ToDay}, 2022 ${_tier.ToHour}:${_tier.ToMinute}:00`)\r\n}\r\nexport function SortSessions(a: TierClass, b: TierClass): 1 | -1 {\r\n return ReturnFromTierDate(a)?.getTime() > ReturnFromTierDate(b)?.getTime() ? 1 : -1;\r\n}\r\nexport function ConvertMarginIntoDictionary(list: any[]) {//same key will be eliminated\r\n let _newDict: any = [...list].reduce((obj: any, item: any, index: number) => {\r\n //console.log(\"ConvertMarginIntoDictionary: \", item, moment(ReturnFromTierDate(item)).format('MM/DD/YY hh:mm'));\r\n if (!!obj[moment(ReturnFromTierDate(item)).format('MM/DD/YY hh:mm')]) { //comparator\r\n obj[`${moment(ReturnFromTierDate(item)).format('MM/DD/YY hh:mm')}_Duplicate`] = item;\r\n } else {\r\n obj[moment(ReturnFromTierDate(item)).format('MM/DD/YY hh:mm')] = item;\r\n };\r\n return obj\r\n }, {});\r\n return _newDict;\r\n}\r\nexport function ValidateDMTiers(Tiers: TierClass[]) { // CANT SORET SESSION AS WILL CUZ ISSUE IN INDEX unless use dict\r\n try {\r\n let TiersDict = ConvertMarginIntoDictionary(Tiers);//no need as new Structure\r\n let PrevTier: any = null;\r\n for (const key in TiersDict) {//validate leverage\r\n if (key.includes('_Duplicate')) {\r\n console.log(\"_Duplicate no valid \", key);\r\n return false;\r\n }\r\n const tier = TiersDict[key];\r\n if (!CheckIFTrenchesIntervalIsValid(tier.MarginTiles)) {//ProfileExpLimit no need \r\n console.log(\"CHECK_IF_TRENCHES_INTERVAL_IS_VALID \", tier);\r\n return false;\r\n }\r\n\r\n if (!ValidateTierDate(tier, PrevTier)) {\r\n console.log(\"VALIDATETIER_DATE no valid \", tier, PrevTier)\r\n return false;\r\n }\r\n PrevTier = tier;\r\n }\r\n return true;\r\n } catch (e) {\r\n console.error(\"ValidateTiers\", e);\r\n return false;\r\n }\r\n //validate Date in loop function for all \r\n function ValidateTierDate(_tier: TierClass, PrevTier: TierClass | null) {\r\n //CREATE Date FROM DATA YOU HAVE and ADD AS Dictionary \r\n\r\n const _fromDate = ReturnFromTierDate(_tier);\r\n const _toDate = ReturnToTierDate(_tier);\r\n _fromDate?.setSeconds(0);\r\n _toDate?.setSeconds(0);\r\n\r\n if (_fromDate.getTime() >= _toDate.getTime()) {//as same time will not even work \r\n console.log(\"error _fromDate\", _fromDate, _toDate);\r\n return false;\r\n }\r\n if (!!PrevTier) {\r\n const PervFromDate = ReturnFromTierDate(PrevTier);\r\n const PervToDate = ReturnToTierDate(PrevTier);\r\n /*if (!(key === index) && //byPass current one\r\n compare with `October ${item.FromDay}, 2022 ${item.FromHour}:${item.FromMinute}:00`*/\r\n if (CheckDateInBetween(_fromDate, PervToDate, PervFromDate) || CheckDateInBetween(_toDate, PervToDate, PervFromDate)) {\r\n console.log(\"PrevTier: \", PervFromDate, PervToDate, CheckDateInBetween(_fromDate, PervToDate, PervFromDate), CheckDateInBetween(_toDate, PervToDate, PervFromDate));\r\n return false;\r\n }\r\n }\r\n return true;\r\n function CheckDateInBetween(check: Date, to: Date, from: Date) {\r\n check.setSeconds(0);\r\n to.setSeconds(0);\r\n from.setSeconds(0);\r\n return (check.getTime() <= to.getTime() && check.getTime() >= from.getTime());\r\n }\r\n }\r\n}\r\n\r\nexport function ValidateAccountExposureTiers(Tiers: TierClass[]) { // CANT SORET SESSION AS WILL CUZ ISSUE IN INDEX unless use dict\r\n try {\r\n let TiersDict = ConvertMarginIntoDictionary(Tiers);//no need as new Structure\r\n let PrevTier: any = null;\r\n for (const key in TiersDict) {//validate leverage\r\n if (key.includes('_Duplicate')) {\r\n console.log(\"_Duplicate no valid \", key);\r\n return false;\r\n }\r\n const tier = TiersDict[key];\r\n if (!CheckIFTrenchesIntervalIsValid(tier.MarginTiles)) {\r\n console.log(\"checkIfIntervalIsValid \", tier);\r\n return false;\r\n }\r\n\r\n if (!ValidateTierDate(tier, PrevTier)) {\r\n console.log(\"ValidateTierDate no valid \", tier, PrevTier)\r\n return false;\r\n }\r\n PrevTier = tier;\r\n }\r\n return true;\r\n } catch (e) {\r\n console.error(\"ValidateTiers\", e);\r\n return false;\r\n }\r\n //validate Date in loop function for all \r\n function ValidateTierDate(_tier: TierClass, PrevTier: TierClass | null) {\r\n //CREATE Date FROM DATA YOU HAVE and ADD AS Dictionary \r\n\r\n const _fromDate = ReturnFromTierDate(_tier);\r\n const _toDate = ReturnToTierDate(_tier);\r\n _fromDate?.setSeconds(0);\r\n _toDate?.setSeconds(0);\r\n\r\n if (_fromDate.getTime() >= _toDate.getTime()) {//as same time will not even work \r\n console.log(\"_fromDate\");\r\n return false;\r\n }\r\n if (!!PrevTier) {\r\n const PervFromDate = ReturnFromTierDate(PrevTier);\r\n const PervToDate = ReturnToTierDate(PrevTier);\r\n /*if (!(key === index) && //byPass current one\r\n compare with `October ${item.FromDay}, 2022 ${item.FromHour}:${item.FromMinute}:00`*/\r\n if (CheckDateInBetween(_fromDate, PervToDate, PervFromDate) || CheckDateInBetween(_toDate, PervToDate, PervFromDate)) {\r\n console.log(\"PrevTier: \", PervFromDate, PervToDate, CheckDateInBetween(_fromDate, PervToDate, PervFromDate), CheckDateInBetween(_toDate, PervToDate, PervFromDate));\r\n return false;\r\n }\r\n }\r\n return true;\r\n function CheckDateInBetween(check: Date, to: Date, from: Date) {\r\n check.setSeconds(0);\r\n to.setSeconds(0);\r\n from.setSeconds(0);\r\n return (check.getTime() <= to.getTime() && check.getTime() >= from.getTime());\r\n }\r\n }\r\n}\r\nexport const DAY_OPTIONS = [\r\n { value: 0, label: \"Sunday\" },\r\n { value: 1, label: \"Monday\" },\r\n { value: 2, label: \"Tuesday\" },\r\n { value: 3, label: \"Wednesday\" },\r\n { value: 4, label: \"Thursday\" },\r\n { value: 5, label: \"Friday\" },\r\n { value: 6, label: \"Saturday\" },\r\n];\r\nexport const DAY_DICTIONARY: any = {\r\n 0: \"Sunday\",\r\n 1: \"Monday\",\r\n 2: \"Tuesday\",\r\n 3: \"Wednesday\",\r\n 4: \"Thursday\",\r\n 5: \"Friday\",\r\n 6: \"Saturday\",\r\n};\r\nexport function ReturnAccSecTypesIfMarginIsEmpty(AccExpID: number, selectedSecuitries: BasicSelectOption[]) {\r\n let _AccSecTypesList: any[] = [];\r\n try {\r\n let _SecTypes = [...(selectedSecuitries || [])];\r\n for (let secTypeID of _SecTypes) {\r\n _AccSecTypesList.push({ AccExpID, SecTypeID: secTypeID.value, MargTiers: '' });\r\n }\r\n } catch (e) {\r\n console.error('GetAccSecTypesIfMarginIsEmpty', e);\r\n }\r\n return _AccSecTypesList;\r\n}\r\nexport function ReturnAccSecTypesList(MarginTiles: any, selectedSecurities: BasicSelectOption[]) {//_marginTiersList\r\n let _AccSecTypesList: any[] = [];\r\n if (selectedSecurities && selectedSecurities?.length > 0 && MarginTiles && MarginTiles.length > 0) {\r\n for (let i: number = 0; i < selectedSecurities.length; i++) {\r\n let _ID = +(selectedSecurities[i].value);\r\n let _margin: any = '';\r\n for (let k: number = 0; k < MarginTiles.length; k++) {\r\n _margin += `T${MarginTiles[k].level}=${MarginTiles[k].Trenches || 0}:${MarginTiles[k][selectedSecurities[i].label] || 0};`;\r\n }\r\n _AccSecTypesList.push({ AccExpID: 0, SecTypeID: _ID, MargTiers: _margin });\r\n }\r\n }\r\n //LogMessage('GenerateMarginTiers', _marginTiersList);\r\n return _AccSecTypesList;\r\n}\r\nexport function ReturnAccExpMarginTiers(Tier: TierClass, selectedSecurities: BasicSelectOption[]) {// beascue secuirties may change \r\n let _margins: any = \"\";\r\n let list: any = [...(Tier?.MarginTiles || [])];\r\n for (let margin of list) {\r\n _margins += `${margin.Trenches || 0}: `;\r\n for (let SecuitryType of selectedSecurities) {\r\n _margins += `${SecuitryType.value || 0}=${margin[SecuitryType.label] || 0},`\r\n }\r\n _margins += `;`;\r\n }\r\n _margins = _margins.replace(/\\s/g, '');\r\n _margins = _margins.replace(/,;/g, ';');\r\n return _margins;\r\n}\r\nexport function ReDrawMarginTilesForAllList(list: TierClass[], selectedSecurities: BasicSelectOption[]) {//For TiersJson\r\n let tiers = [...list];\r\n for (const index in tiers) {\r\n let currentTier = list?.[index];\r\n let _list: any[] = [];//dont take old as redraw new \r\n for (let i: number = 0; i < parseInt(String(currentTier.levels), 10); i++) {\r\n let _itemsFromValue: any = selectedSecurities && selectedSecurities?.length > 0 ?\r\n ConvertIntoDictionaryWithSpecificValue(selectedSecurities, \"label\", \"\") : {};// label here check\r\n _list.push({ level: `${i}`, Trenches: \"\", ..._itemsFromValue });\r\n }\r\n currentTier.MarginTiles = _list;\r\n }\r\n return tiers;\r\n}\r\nexport function castIntoSessions({ Tiers, ServerID, ProfileID, isAdd, isAccountExp, selectedSecuitries }\r\n : {\r\n Tiers: TierClass[], ServerID: number, ProfileID: number,\r\n isAdd: boolean, isAccountExp?: boolean,\r\n AccExpID?: number, selectedSecuitries?: BasicSelectOption[]\r\n }): ProfileSesssions[] | AccExpSesssions[] {\r\n const NewTiers = isAccountExp ? Tiers : Tiers;\r\n let newList: any[] = [...(NewTiers || [])];\r\n newList = newList.map((item: TierClass) => { //PermsLicList not getting same as class\r\n const ACC_SECTYPES_LIST: AccSecTypeClass[] = ReturnAccSecTypesList(item, selectedSecuitries || []);\r\n return {\r\n ServerID: ServerID,\r\n SessionID: (!isAdd && !!item?.isEdit) ? item.SessionID : 0,//add\r\n ProfileID: isAccountExp ? undefined : (isAdd ? 0 : ProfileID),\r\n AccExpID: !isAccountExp ? undefined : (isAdd ? 0 : ProfileID),\r\n FromDay: +(item.FromDay),\r\n ToDay: +(item.ToDay),\r\n FromHour: +(item.FromHour),\r\n ToHour: +(item.ToHour),\r\n FromMinute: +(item.FromMinute),\r\n ToMinute: +(item.ToMinute),\r\n Tiers: !isAccountExp ? item.MarginTiers : ReturnAccExpMarginTiers(item, selectedSecuitries || []),\r\n TiersJson: JSON.stringify(item?.MarginTiles || []),\r\n AccSecType: !isAccountExp ? undefined : (ACC_SECTYPES_LIST && ACC_SECTYPES_LIST?.length > 0 ? ACC_SECTYPES_LIST : ReturnAccSecTypesIfMarginIsEmpty(ProfileID || 0, selectedSecuitries || []))\r\n };\r\n });\r\n return newList;\r\n}\r\nexport function ReturnMarginTiersWithTitles(AccSecTypeList: any[], SecurityTypeDict: any) {\r\n let list: any = \"\";\r\n for (let AccSecType of AccSecTypeList) {\r\n //\"CFD-Percentage: T0=1:2;T1=4:5;INX - Percentage: T0=1:3;T1=4:6;\"\r\n list += `${ReturnSecuirtyTypeTitle(SecurityTypeDict?.[AccSecType?.SecTypeID || 0]?.label)} : ${AccSecType?.MargTiers}\\n`\r\n }\r\n return list;\r\n}\r\nexport function castIntoTiers({ PSesssions, isAccountExp, AccSecTypeList, SecurityTypeDict, selectedSecuitries }:\r\n { PSesssions: DMSessionsResult[], isAccountExp?: boolean, AccSecTypeList?: any[], SecurityTypeDict?: any, selectedSecuitries?: BasicSelectOption[] }): TierClass[] {\r\n let newList: any[] = [...PSesssions];\r\n newList = newList.map((item: DMSessionsResult) => { //PermsLicList not getting same as class\r\n const MARGIN_TILES = JSON.parse(item.TiersJson || \"[]\");\r\n const ACC_SECTYPES_LIST: AccSecTypeClass[] = !isAccountExp ? [] : ReturnAccSecTypesList(MARGIN_TILES || [], selectedSecuitries || []);\r\n return {\r\n SessionID: item.SessionID,\r\n FromDay: +(item.FromDay),\r\n ToDay: +(item.ToDay),\r\n FromHour: +(item.FromHour),\r\n ToHour: +(item.ToHour),\r\n FromMinute: +(item.FromMinute),\r\n ToMinute: +(item.ToMinute),\r\n MarginTiers: isAccountExp ? ReturnMarginTiersWithTitles(ACC_SECTYPES_LIST || [], SecurityTypeDict || {}) : item.Tiers,\r\n MarginTiles: MARGIN_TILES,\r\n levels: MARGIN_TILES?.length || 0,\r\n isEdit: true,\r\n };\r\n })\r\n return newList;\r\n}\r\nexport function ReturnSymbolMarginTiersData(item: TierClass) { // no need for casting //as JSON Tiers is enough \r\n let _list: IMarginTiles[] = [];\r\n const LIST_TITLES: any[] = item.MarginTiers ? item.MarginTiers.split(';') : [];\r\n let _levels: number = LIST_TITLES.length ? LIST_TITLES.length - 1 : 0;\r\n item.levels = `${_levels}`;\r\n for (let i: number = 0; i < +(LIST_TITLES.length); i++) {\r\n if (!!LIST_TITLES?.[i]) {\r\n let _value: any = LIST_TITLES[i];\r\n _value = _value.split('=');\r\n const ELEMENT = _value[1]?.split(':');\r\n _list.push({ level: `${i}`, Leverage: ELEMENT[1], Trenches: ELEMENT[0] });\r\n }\r\n }\r\n item.MarginTiles = _list;\r\n\r\n return { MarginTiles: _list, levels: `${_levels}` };\r\n}\r\nexport function ReturnTimeDisplay(Time: any) {\r\n if (!Time || +(Time) < 0) return \"00\";\r\n if (`${Time}`.length < 2) return `0${Time}`;\r\n return Time;\r\n}\r\n//#endregion\r\n\r\n//#region bonus Excluded Account Types \r\nexport function CheckIfCommaSeparatedList(text: string) {\r\n if (!text) return false;\r\n if (text === \"*\") return true;\r\n if (text.startsWith(\" \") || text.endsWith(\" \")) return false;\r\n const SPLITED_LIST = text.split(',');\r\n for (let str of SPLITED_LIST) {\r\n if (!str) return false;\r\n if (str.startsWith(\" \") || str.endsWith(\" \")) return false;\r\n }\r\n return true;\r\n}\r\n//#endregion\r\nexport function ReturnCountriesOptionByTranslatedLabel(label: any, list: any[], t: Function) {\r\n if (!list || list.length === 0) return { value: -1, label: \"No Data\" };\r\n for (let i: number = 0; i < list.length; i++) {\r\n if (String(t(label))?.toLowerCase() === String(t(list[i]?.CountryCode ? ReturnCountryCode(list[i]?.CountryCode) : list[i].CountryName))?.toLowerCase())\r\n return list[i];\r\n }\r\n return { value: -1, label: \"Select\" };\r\n}\r\n\r\n//#region EasyWire\r\nexport const BANK_NAME_EASYWIRE = [\r\n { label: \"FNB\", value: \"FNB\" },\r\n { label: \"ABSA\", value: \"ABSA\" },\r\n { label: \"Standard\", value: \"Standard\" },\r\n { label: \"Nedbank\", value: \"Nedbank\" },\r\n { label: \"Capitec\", value: \"Capitec\" },\r\n { label: \"Investec\", value: \"Investec\" },\r\n { label: \"Mercantile\", value: \"Mercantile\" },\r\n { label: \"Bidvest\", value: \"Bidvest\" },\r\n { label: \"Tyme\", value: \"Tyme\" },\r\n { label: \"Windhoek\", value: \"Windhoek\" },\r\n { label: \"Afribank\", value: \"Afribank\" },\r\n { label: \"Oldmutual\", value: \"Oldmutual\" },\r\n { label: \"Discovery\", value: \"Discovery\" },\r\n { label: \"Grindrod\", value: \"Grindrod\" },\r\n { label: \"Ubank\", value: \"Ubank\" },\r\n { label: \"Imperial\", value: \"Imperial\" },\r\n { label: \"Firstrand\", value: \"Firstrand\" },\r\n { label: \"Hsbc\", value: \"Hsbc\" },\r\n { label: \"Sasfin\", value: \"Sasfin\" },\r\n { label: \"Access\", value: \"Access\" },\r\n];\r\nexport const ACCOUNT_TYPES_EASYWIRE = [\r\n { value: \"cheque\", label: \"cheque\" },\r\n { value: \"savings\", label: \"savings\" },\r\n { value: \"transmission\", label: \"transmission\" },\r\n];\r\nexport const BANKING_BRANCHS_EASYWIRE = [\r\n { label: \"FNB\", value: \"250655\" },\r\n { label: \"ABSA\", value: \"632005\" },\r\n { label: \"Standard\", value: \"051001\" },\r\n { label: \"Nedbank\", value: \"198765\" },\r\n { label: \"Capitec\", value: \"470010\" },\r\n { label: \"Investec\", value: \"580105\" },\r\n { label: \"Mercantile\", value: \"450105\" },\r\n { label: \"Bidvest\", value: \"462005\" },\r\n { label: \"Tyme\", value: \"678910\" },\r\n { label: \"Windhoek\", value: \"483872\" },\r\n { label: \"Afribank\", value: \"430000\" },\r\n { label: \"Oldmutual\", value: \"462005\" },\r\n { label: \"Discovery\", value: \"679000\" },\r\n { label: \"Grindrod\", value: \"584000\" },\r\n { label: \"Ubank\", value: \"431010\" },\r\n { label: \"Imperial\", value: \"39001\" },\r\n { label: \"Firstrand\", value: \"201419\" },\r\n { label: \"Hsbc\", value: \"587000\" },\r\n { label: \"Sasfin\", value: \"683000\" },\r\n { label: \"Access\", value: \"410506\" }\r\n];\r\n//#endregion\r\n//#region reports\r\nexport function GetDayPriorBy(days: number): Date {\r\n try {\r\n const _date = new Date();\r\n _date.setDate(new Date().getDate() - days);\r\n return _date;\r\n } catch (e) {\r\n console.error('GET_DAY_PRIOR_BY', e);\r\n return new Date()\r\n }\r\n}\r\n\r\nexport function ReturnTotalRounded(value: any) {\r\n const fix = (num: any) => Number(//\r\n num?.toFixed(2)?.match(/\\d+(?:\\.\\d+)?/)?.[0]\r\n ).toFixed(2);\r\n if (value === 0) return value;\r\n if (!!value) return value > 0 ? fix(+value) : `-${fix(+value)}`;\r\n return \"0.00\";\r\n}\r\n\r\nexport function GetDayPostBy(days: number): Date {\r\n try {\r\n const _date = new Date();\r\n _date.setDate(new Date().getDate() + days);\r\n return _date;\r\n } catch (e) {\r\n console.error('GET_DAY_PRIOR_BY', e);\r\n return new Date()\r\n }\r\n}\r\n//#endregion\r\nexport function ReturnDateBeforeYears(min: number) {\r\n let YearsAgo = new Date();\r\n YearsAgo.setFullYear(YearsAgo.getFullYear() - min);\r\n //return new Date( YearsAgo, 1, 1, 0, 0, 0); will check year with wrong values \r\n YearsAgo.setHours(0);\r\n YearsAgo.setMinutes(0);\r\n YearsAgo.setSeconds(0);\r\n return YearsAgo;\r\n}\r\nexport const ZahaPayBank = [\r\n { value: \"-1\", label: \"-- Select Your Bank --\" },\r\n { value: \"BBL\", label: \"Bangkok Bank (BBL)\" },\r\n { value: \"KBANK\", label: \"Kasikorn Bank (KBANK)\" },\r\n { value: \"KTB\", label: \"Krung Thai Bank (KTB)\" },\r\n { value: \"TTB\", label: \"TMB & Tanachat Bank (TTB)\" },\r\n { value: \"SCB\", label: \"Siam Commercial Bank (SCB)\" },\r\n { value: \"CIMBT\", label: \"CIMB Thai Bank (CIMBT)\" },\r\n { value: \"UOBT\", label: \"United Overseas Bank (Thai) (UOBT)\" },\r\n { value: \"BAY\", label: \"Bank of Ayudhya (KrungSri) (BAY)\" },\r\n { value: \"GSB\", label: \"Goverment Savings Bank (GSB)\" },\r\n { value: \"GHB\", label: \"Goverment Housing Bank (GHB)\" },\r\n { value: \"BAAC\", label: \"Bank for Agriculture and Agricultural Cooperatives (BAAC)\" },\r\n];\r\nexport const ZahaPayBankDict: any = {\r\n \"-1\": \"None\",\r\n \"BBL\": \"Bangkok Bank (BBL)\",\r\n \"KBANK\": \"Kasikorn Bank (KBANK)\",\r\n \"KTB\": \"Krung Thai Bank (KTB)\",\r\n \"TTB\": \"TMB & Tanachat Bank (TTB)\",\r\n \"SCB\": \"Siam Commercial Bank (SCB)\",\r\n \"CIMBT\": \"CIMB Thai Bank (CIMBT)\",\r\n \"UOBT\": \"United Overseas Bank (Thai) (UOBT)\",\r\n \"BAY\": \"Bank of Ayudhya (KrungSri) (BAY)\",\r\n \"GSB\": \"Goverment Savings Bank (GSB)\",\r\n \"GHB\": \"Goverment Housing Bank (GHB)\",\r\n \"BAAC\": \"Bank for Agriculture and Agricultural Cooperatives (BAAC)\"\r\n};\r\nexport const DusuPayMobileMoneyWorks = [\r\n { value: \"-1\", label: \"-- Select Your Bank --\" },\r\n { value: \"KE\", label: \"Kenya\" },\r\n { value: \"TZ\", label: \"Tanzania\" },\r\n { value: \"RW\", label: \"Rwanda\" },\r\n { value: \"BI\", label: \"Burundi\" },\r\n { value: \"GH\", label: \"Ghana\" },\r\n { value: \"UG\", label: \"Uganda\" },\r\n { value: \"CM\", label: \"Cameroon\" },\r\n { value: \"ZM\", label: \"Zambia\" },\r\n];\r\nexport const DusuPayBankWorks = [\r\n { value: \"-1\", label: \"-- Select Your Bank --\" },\r\n { value: \"ZA\", label: \"South Africa\" },\r\n { value: \"NG\", label: \"Nigeria\" },\r\n];\r\nexport function DusuPayPaymentTypes(type?: string) {\r\n if (type === \"dusupay-bank\")\r\n return [\r\n { value: \"Bank\", label: \"Bank\" },\r\n ]\r\n if (type === \"dusupay-mobile\")\r\n return [\r\n { value: \"MobileMoney\", label: \"Mobile Money\" },\r\n ]\r\n return [\r\n { value: \"Bank\", label: \"Bank\" },\r\n { value: \"MobileMoney\", label: \"Mobile Money\" },\r\n ]\r\n};\r\nexport const CashUSDT = require(\"../../src/Assets/imgs/CashUSDT.png\") as string;\r\nexport const SurepayCountries = [\r\n { value: \"Malaysia\", label: \"Malaysia\" },\r\n { value: \"Singapore\", label: \"Singapore\" },\r\n { value: \"Thailand\", label: \"Thailand\" },\r\n { value: \"Vietnam\", label: \"Vietnam\" },\r\n { value: \"Indonesia\", label: \"Indonesia\" },\r\n { value: \"Cambodia\", label: \"Cambodia\" }];\r\nexport const SurepayBankCode = [\r\n { value: \"MAYBANK\", Type: \"DP\", label: \"Maybank\", Country: \"Malaysia\" },\r\n { value: \"CIMB\", Type: \"DP\", label: \"CIMB Group Holdings\", Country: \"Malaysia\" },\r\n { value: \"PBE\", Type: \"DP\", label: \"Public Bank Berhad\", Country: \"Malaysia\" },\r\n { value: \"RHB\", Type: \"DP\", label: \"RHB Bank\", Country: \"Malaysia\" },\r\n { value: \"HLB\", Type: \"DP\", label: \"Hong Leong Bank\", Country: \"Malaysia\" },\r\n { value: \"BSN\", Type: \"DP\", label: \"Bank Simpanan Nasional\", Country: \"Malaysia\" },\r\n { value: \"AFFIN\", Type: \"DP\", label: \"Affin Bank\", Country: \"Malaysia\" },\r\n { value: \"AMBANK\", Type: \"DP\", label: \"AmBank\", Country: \"Malaysia\" },\r\n { value: \"BKRM\", Type: \"DP\", label: \"Bank Rakyat Malaysia\", Country: \"Malaysia\" },\r\n { value: \"ALLIANCE\", Type: \"DP\", label: \"Alliance Bank MalaysiaBerhad\", Country: \"Malaysia\" },\r\n { value: \"BIMB\", Type: \"DP\", label: \"Bank Islam Berhad\", Country: \"Malaysia\" },\r\n { value: \"BMMB\", Type: \"P\", label: \"Bank Muamalat\", Country: \"Malaysia\" },\r\n { value: \"AGRO\", Type: \"P\", label: \"Bank of Agro\", Country: \"Malaysia\" },\r\n { value: \"HSBC\", Type: \"P\", label: \"HongKong And Shanghai Bank\", Country: \"Malaysia\" },\r\n { value: \"UOB\", Type: \"P\", label: \"United Overseas Bank\", Country: \"Malaysia\" },\r\n { value: \"OCBC\", Type: \"P\", label: \"Oversea-Chinese Banking Corporation\", Country: \"Malaysia\" },\r\n\r\n { value: \"DBS\", Type: \"DP\", label: \"DBS Bank Limited\", Country: \"Singapore\" },\r\n { value: \"UOB\", Type: \"DP\", label: \"United Overseas Bank Limited\", Country: \"Singapore\" },\r\n { value: \"OCBC\", Type: \"DP\", label: \"OCBC Bank\", Country: \"Singapore\" },\r\n { value: \"ANZ\", Type: \"P\", label: \"Australia And New Zealand Bank (Australia)\", Country: \"Singapore\" },\r\n { value: \"BKCH\", Type: \"P\", label: \"Bank Of China\", Country: \"Singapore\" },\r\n { value: \"BNPASG\", Type: \"P\", label: \"BNP Paribas\", Country: \"Singapore\" },\r\n { value: \"CIMBSG\", Type: \"P\", label: \"CIMB\", Country: \"Singapore\" },\r\n { value: \"CITISG\", Type: \"P\", label: \"Citibank Singapore\", Country: \"Singapore\" },\r\n { value: \"DBK\", Type: \"P\", label: \"Deutsche Bank AG\", Country: \"Singapore\" },\r\n { value: \"GPAY\", Type: \"P\", label: \"GPAY\", Country: \"Singapore\" },\r\n { value: \"HLBBSG\", Type: \"P\", label: \"HLB Singapore\", Country: \"Singapore\" },\r\n { value: \"HSBCCORP\", Type: \"P\", label: \"HSBC Coorperation\", Country: \"Singapore\" },\r\n { value: \"HSBC\", Type: \"P\", label: \"HSBC Singapore - Personal\", Country: \"Singapore\" },\r\n { value: \"ICICIB\", Type: \"P\", label: \"ICICI Bank\", Country: \"Singapore\" },\r\n { value: \"ICBKSG\", Type: \"P\", label: \"Industrial and Commercial Bank\", Country: \"Singapore\" },\r\n { value: \"JPM\", Type: \"P\", label: \"Jpmorgan Chase Bank\", Country: \"Singapore\" },\r\n { value: \"LIQPAY\", Type: \"P\", label: \"Liquid Pay\", Country: \"Singapore\" },\r\n { value: \"MBBGB\", Type: \"P\", label: \"Malayan Banking Berhad, Singapore Branch\", Country: \"Singapore\" },\r\n { value: \"MMOVEPAY\", Type: \"P\", label: \"Match Move Pay\", Country: \"Singapore\" },\r\n { value: \"MBBE\", Type: \"P\", label: \"Maybank Singapore (maybank)\", Country: \"Singapore\" },\r\n { value: \"MHCBSG\", Type: \"P\", label: \"Mizuho Bank Singapore\", Country: \"Singapore\" },\r\n { value: \"SIVFSG\", Type: \"P\", label: \"Singapore Investments & Finance Limited\", Country: \"Singapore\" },\r\n { value: \"SINGCASH\", Type: \"P\", label: \"Sing Cash\", Country: \"Singapore\" },\r\n { value: \"SCBLSG\", Type: \"P\", label: \"Standard Chartered Bank Singapore\", Country: \"Singapore\" },\r\n { value: \"SMBCSG\", Type: \"P\", label: \"Sumitomo Mitsui\", Country: \"Singapore\" },\r\n { value: \"BOTKSG\", Type: \"P\", label: \"The Bank Of Tokyo-Mitsubishi\", Country: \"Singapore\" },\r\n { value: \"WISE\", Type: \"P\", label: \"Wise Asia Pacific\", Country: \"Singapore\" },\r\n\r\n { value: \"PROMPTPAY\", Type: \"P\", label: \"PROMPTPAY\", Country: \"Thailand\" },\r\n { value: \"KBANK\", Type: \"P\", label: \"KASIKORNBANK\", Country: \"Thailand\" },\r\n { value: \"KTB\", Type: \"P\", label: \"KRUNGTHAIBANKPUBLICCOMPANYLTD.\", Country: \"Thailand\" },\r\n { value: \"BBL\", Type: \"P\", label: \"BANGKOKBANKPUBLICCOMPANYLTD.\", Country: \"Thailand\" },\r\n { value: \"SCB\", Type: \"P\", label: \"SiamCommercialBank\", Country: \"Thailand\" },\r\n { value: \"BAAC\", Type: \"P\", label: \"BANKFORAGRICULTUREANDAGRICULTURALCO-OPERATIVES (AGRI)\", Country: \"Thailand\" },\r\n { value: \"BOC\", Type: \"P\", label: \"BankofChina(Thai)PublicCompanyLimited\", Country: \"Thailand\" },\r\n { value: \"CITI\", Type: \"P\", label: \"CITIBANKN.A.\", Country: \"Thailand\" },\r\n { value: \"CIMBTH\", Type: \"P\", label: \"CIMBTHAIBANKPUBLICCOMPANYLIMITED\", Country: \"Thailand\" },\r\n { value: \"GHB\", Type: \"P\", label: \"GOVERNMENTHOUSINGBANK\", Country: \"Thailand\" },\r\n { value: \"MHCB\", Type: \"P\", label: \"MIZUHOCORPORATEBANK,LTD.\", Country: \"Thailand\" },\r\n { value: \"KKB\", Type: \"P\", label: \"KIATNAKINBANKPUBLICCOMPANYLIMITED\", Country: \"Thailand\" },\r\n { value: \"TISCO\", Type: \"P\", label: \"TISCOBANKPUBLICCOMPANYLIMITED\", Country: \"Thailand\" },\r\n { value: \"GSB\", Type: \"P\", label: \"GOVERNMENTSAVINGBANK\", Country: \"Thailand\" },\r\n { value: \"TMB\", Type: \"P\", label: \"TMBThanachartBankPublicCompanyLimited\", Country: \"Thailand\" },\r\n { value: \"SCBT\", Type: \"P\", label: \"STANDARDCHARTEREDBANK(THAI)PCL.\", Country: \"Thailand\" },\r\n { value: \"TCRB\", Type: \"P\", label: \"THETHAICREDITRETAILBANKPUBLICCOMPANYLIMITED(TCRB)\", Country: \"Thailand\" },\r\n { value: \"SMBC\", Type: \"P\", label: \"SUMITOMOMITSUIBANGKINGCORPORATION\", Country: \"Thailand\" },\r\n { value: \"LHBA\", Type: \"P\", label: \"LandandHousesBankPublicCompanyLimited\", Country: \"Thailand\" },\r\n { value: \"TIBT\", Type: \"P\", label: \"ISLAMICBANKOFTHAILAND\", Country: \"Thailand\" },\r\n { value: \"HSBCTH\", Type: \"P\", label: \"HONGKONGANDSHANGHAICORPORATIONLTD.\", Country: \"Thailand\" },\r\n { value: \"DBTH\", Type: \"P\", label: \"DEUTSCHEBANKAG,BANGKOKBRANCH\", Country: \"Thailand\" },\r\n { value: \"ICBC\", Type: \"P\", label: \"IndustrialandCommercialBankofChina(Thai)Public CompanyLimited\", Country: \"Thailand\" },\r\n { value: \"UOBTH\", Type: \"P\", label: \"UNITEDOVERSEASBANK(THAI)PCL.\", Country: \"Thailand\" },\r\n { value: \"BAY\", Type: \"P\", label: \"BANKOFAYUDHAYAPUBLICCOMPANYLTD.\", Country: \"Thailand\" },\r\n\r\n { value: \"VIETCOM\", Type: \"DP\", label: \"Vietcom Bank\", Country: \"Vietnam\" },\r\n { value: \"SACOM\", Type: \"DP\", label: \"Sacom Bank\", Country: \"Vietnam\" },\r\n { value: \"TECHCOM\", Type: \"DP\", label: \"Techcom Bank\", Country: \"Vietnam\" },\r\n { value: \"VIETIN\", Type: \"DP\", label: \"Vietin Bank\", Country: \"Vietnam\" },\r\n { value: \"BIDV\", Type: \"DP\", label: \"Bank for Investment and Development of Vietnam\", Country: \"Vietnam\" },\r\n\r\n { value: \"BMR\", Type: \"P\", label: \"Bank Mandiri\", Country: \"Indonesia\" },\r\n { value: \"BRI\", Type: \"P\", label: \"Bank Rakyat Indonesia\", Country: \"Indonesia\" },\r\n { value: \"BCA\", Type: \"P\", label: \"Bank Central Asia\", Country: \"Indonesia\" },\r\n { value: \"BNI\", Type: \"P\", label: \"Bank Negara Indonesia\", Country: \"Indonesia\" },\r\n\r\n { value: \"ACLEDA\", Type: \"p\", label: \"ACLEDA Bank\", Country: \"Cambodia\" },\r\n { value: \"CNDBANK\", Type: \"p\", label: \"Canadia Bank\", Country: \"Cambodia\" },\r\n { value: \"FTB\", Type: \"p\", label: \"The Foreign Trade Bank of Cambodia\", Country: \"Cambodia\" },\r\n { value: \"UCB\", Type: \"p\", label: \"Union Commercial Bank\", Country: \"Cambodia\" },\r\n { value: \"JTRUST\", Type: \"p\", label: \"Trust Royal Bank\", Country: \"Cambodia\" },\r\n];\r\nexport const SurepayBankCodeDict: any = {\r\n \"MAYBANK\": { Type: \"DP\", label: \"Maybank\", Country: \"Malaysia\" },\r\n \"CIMB\": { Type: \"DP\", label: \"CIMB Group Holdings\", Country: \"Malaysia\" },\r\n \"PBE\": { Type: \"DP\", label: \"Public Bank Berhad\", Country: \"Malaysia\" },\r\n \"RHB\": { Type: \"DP\", label: \"RHB Bank\", Country: \"Malaysia\" },\r\n \"HLB\": { Type: \"DP\", label: \"Hong Leong Bank\", Country: \"Malaysia\" },\r\n \"BSN\": { Type: \"DP\", label: \"Bank Simpanan Nasional\", Country: \"Malaysia\" },\r\n \"AFFIN\": { Type: \"DP\", label: \"Affin Bank\", Country: \"Malaysia\" },\r\n \"AMBANK\": { Type: \"DP\", label: \"AmBank\", Country: \"Malaysia\" },\r\n \"BKRM\": { Type: \"DP\", label: \"Bank Rakyat Malaysia\", Country: \"Malaysia\" },\r\n \"ALLIANCE\": { Type: \"DP\", label: \"Alliance Bank MalaysiaBerhad\", Country: \"Malaysia\" },\r\n \"BIMB\": { Type: \"DP\", label: \"Bank Islam Berhad\", Country: \"Malaysia\" },\r\n \"BMMB\": { Type: \"P\", label: \"Bank Muamalat\", Country: \"Malaysia\" },\r\n \"AGRO\": { Type: \"P\", label: \"Bank of Agro\", Country: \"Malaysia\" },\r\n \"HSBC\": { Type: \"P\", label: \"HongKong And Shanghai Bank\", Country: \"Malaysia\" },\r\n \"UOB\": { Type: \"P\", label: \"United Overseas Bank\", Country: \"Malaysia\" },\r\n \"OCBC\": { Type: \"P\", label: \"Oversea-Chinese Banking Corporation\", Country: \"Malaysia\" },\r\n\r\n \"DBS\": { Type: \"DP\", label: \"DBS Bank Limited\", Country: \"Singapore\" },\r\n //\"UOB\": { Type: \"DP\", label: \"United Overseas Bank Limited\", Country: \"Singapore\" },\r\n //\"OCBC\": { Type: \"DP\", label: \"OCBC Bank\", Country: \"Singapore\" },\r\n \"ANZ\": { Type: \"P\", label: \"Australia And New Zealand Bank (Australia)\", Country: \"Singapore\" },\r\n \"BKCH\": { Type: \"P\", label: \"Bank Of China\", Country: \"Singapore\" },\r\n \"BNPASG\": { Type: \"P\", label: \"BNP Paribas\", Country: \"Singapore\" },\r\n \"CIMBSG\": { Type: \"P\", label: \"CIMB\", Country: \"Singapore\" },\r\n \"CITISG\": { Type: \"P\", label: \"Citibank Singapore\", Country: \"Singapore\" },\r\n \"DBK\": { Type: \"P\", label: \"Deutsche Bank AG\", Country: \"Singapore\" },\r\n \"GPAY\": { Type: \"P\", label: \"GPAY\", Country: \"Singapore\" },\r\n \"HLBBSG\": { Type: \"P\", label: \"HLB Singapore\", Country: \"Singapore\" },\r\n \"HSBCCORP\": { Type: \"P\", label: \"HSBC Coorperation\", Country: \"Singapore\" },\r\n \"HSBCSingapore\": { Type: \"P\", label: \"HSBC Singapore - Personal\", Country: \"Singapore\" },\r\n \"ICICIB\": { Type: \"P\", label: \"ICICI Bank\", Country: \"Singapore\" },\r\n \"ICBKSG\": { Type: \"P\", label: \"Industrial and Commercial Bank\", Country: \"Singapore\" },\r\n \"JPM\": { Type: \"P\", label: \"Jpmorgan Chase Bank\", Country: \"Singapore\" },\r\n \"LIQPAY\": { Type: \"P\", label: \"Liquid Pay\", Country: \"Singapore\" },\r\n \"MBBGB\": { Type: \"P\", label: \"Malayan Banking Berhad, Singapore Branch\", Country: \"Singapore\" },\r\n \"MMOVEPAY\": { Type: \"P\", label: \"Match Move Pay\", Country: \"Singapore\" },\r\n \"MBBE\": { Type: \"P\", label: \"Maybank Singapore (maybank)\", Country: \"Singapore\" },\r\n \"MHCBSG\": { Type: \"P\", label: \"Mizuho Bank Singapore\", Country: \"Singapore\" },\r\n \"SIVFSG\": { Type: \"P\", label: \"Singapore Investments & Finance Limited\", Country: \"Singapore\" },\r\n \"SINGCASH\": { Type: \"P\", label: \"Sing Cash\", Country: \"Singapore\" },\r\n \"SCBLSG\": { Type: \"P\", label: \"Standard Chartered Bank Singapore\", Country: \"Singapore\" },\r\n \"SMBCSG\": { Type: \"P\", label: \"Sumitomo Mitsui\", Country: \"Singapore\" },\r\n \"BOTKSG\": { Type: \"P\", label: \"The Bank Of Tokyo-Mitsubishi\", Country: \"Singapore\" },\r\n \"WISE\": { Type: \"P\", label: \"Wise Asia Pacific\", Country: \"Singapore\" },\r\n\r\n \"PROMPTPAY\": { Type: \"P\", label: \"PROMPTPAY\", Country: \"Thailand\" },\r\n \"KBANK\": { Type: \"P\", label: \"KASIKORNBANK\", Country: \"Thailand\" },\r\n \"KTB\": { Type: \"P\", label: \"KRUNGTHAIBANKPUBLICCOMPANYLTD.\", Country: \"Thailand\" },\r\n \"BBL\": { Type: \"P\", label: \"BANGKOKBANKPUBLICCOMPANYLTD.\", Country: \"Thailand\" },\r\n \"SCB\": { Type: \"P\", label: \"SiamCommercialBank\", Country: \"Thailand\" },\r\n \"BAAC\": { Type: \"P\", label: \"BANKFORAGRICULTUREANDAGRICULTURALCO-OPERATIVES (AGRI)\", Country: \"Thailand\" },\r\n \"BOC\": { Type: \"P\", label: \"BankofChina(Thai)PublicCompanyLimited\", Country: \"Thailand\" },\r\n \"CITI\": { Type: \"P\", label: \"CITIBANKN.A.\", Country: \"Thailand\" },\r\n \"CIMBTH\": { Type: \"P\", label: \"CIMBTHAIBANKPUBLICCOMPANYLIMITED\", Country: \"Thailand\" },\r\n \"GHB\": { Type: \"P\", label: \"GOVERNMENTHOUSINGBANK\", Country: \"Thailand\" },\r\n \"MHCB\": { Type: \"P\", label: \"MIZUHOCORPORATEBANK,LTD.\", Country: \"Thailand\" },\r\n \"KKB\": { Type: \"P\", label: \"KIATNAKINBANKPUBLICCOMPANYLIMITED\", Country: \"Thailand\" },\r\n \"TISCO\": { Type: \"P\", label: \"TISCOBANKPUBLICCOMPANYLIMITED\", Country: \"Thailand\" },\r\n \"GSB\": { Type: \"P\", label: \"GOVERNMENTSAVINGBANK\", Country: \"Thailand\" },\r\n \"TMB\": { Type: \"P\", label: \"TMBThanachartBankPublicCompanyLimited\", Country: \"Thailand\" },\r\n \"SCBT\": { Type: \"P\", label: \"STANDARDCHARTEREDBANK(THAI)PCL.\", Country: \"Thailand\" },\r\n \"TCRB\": { Type: \"P\", label: \"THETHAICREDITRETAILBANKPUBLICCOMPANYLIMITED(TCRB)\", Country: \"Thailand\" },\r\n \"SMBC\": { Type: \"P\", label: \"SUMITOMOMITSUIBANGKINGCORPORATION\", Country: \"Thailand\" },\r\n \"LHBA\": { Type: \"P\", label: \"LandandHousesBankPublicCompanyLimited\", Country: \"Thailand\" },\r\n \"TIBT\": { Type: \"P\", label: \"ISLAMICBANKOFTHAILAND\", Country: \"Thailand\" },\r\n \"HSBCTH\": { Type: \"P\", label: \"HONGKONGANDSHANGHAICORPORATIONLTD.\", Country: \"Thailand\" },\r\n \"DBTH\": { Type: \"P\", label: \"DEUTSCHEBANKAG,BANGKOKBRANCH\", Country: \"Thailand\" },\r\n \"ICBC\": { Type: \"P\", label: \"IndustrialandCommercialBankofChina(Thai)Public CompanyLimited\", Country: \"Thailand\" },\r\n \"UOBTH\": { Type: \"P\", label: \"UNITEDOVERSEASBANK(THAI)PCL.\", Country: \"Thailand\" },\r\n \"BAY\": { Type: \"P\", label: \"BANKOFAYUDHAYAPUBLICCOMPANYLTD.\", Country: \"Thailand\" },\r\n\r\n \"VIETCOM\": { Type: \"DP\", label: \"Vietcom Bank\", Country: \"Vietnam\" },\r\n \"SACOM\": { Type: \"DP\", label: \"Sacom Bank\", Country: \"Vietnam\" },\r\n \"TECHCOM\": { Type: \"DP\", label: \"Techcom Bank\", Country: \"Vietnam\" },\r\n \"VIETIN\": { Type: \"DP\", label: \"Vietin Bank\", Country: \"Vietnam\" },\r\n \"BIDV\": { Type: \"DP\", label: \"Bank for Investment and Development of Vietnam\", Country: \"Vietnam\" },\r\n\r\n \"BMR\": { Type: \"P\", label: \"Bank Mandiri\", Country: \"Indonesia\" },\r\n \"BRI\": { Type: \"P\", label: \"Bank Rakyat Indonesia\", Country: \"Indonesia\" },\r\n \"BCA\": { Type: \"P\", label: \"Bank Central Asia\", Country: \"Indonesia\" },\r\n \"BNI\": { Type: \"P\", label: \"Bank Negara Indonesia\", Country: \"Indonesia\" },\r\n\r\n \"ACLEDA\": { Type: \"p\", label: \"ACLEDA Bank\", Country: \"Cambodia\" },\r\n \"CNDBANK\": { Type: \"p\", label: \"Canadia Bank\", Country: \"Cambodia\" },\r\n \"FTB\": { Type: \"p\", label: \"The Foreign Trade Bank of Cambodia\", Country: \"Cambodia\" },\r\n \"UCB\": { Type: \"p\", label: \"Union Commercial Bank\", Country: \"Cambodia\" },\r\n \"JTRUST\": { Type: \"p\", label: \"Trust Royal Bank\", Country: \"Cambodia\" },\r\n};\r\n//#endregion\r\n\r\nexport function GenerateManagerPassword(length?: number) {//8 characters\r\n let charset = \"abcdefghijklmnopqrstuvwxyz\",\r\n Captial = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\r\n numeric = '0123456789',\r\n SpecialSet = \"!@#$%^&\",\r\n retVal = \"\";\r\n //for (var i = 0, n = SpecialSet.length; i < 5; ++i) {\r\n // retVal += SpecialSet.charAt(Math.floor(Math.random() * n));\r\n //}\r\n for (var i = 0, n = charset.length; i < 4; ++i) {\r\n retVal += charset.charAt(Math.floor(Math.random() * n));\r\n }\r\n for (var i = 4, n = Captial.length; i < 6; ++i) {\r\n retVal += Captial.charAt(Math.floor(Math.random() * n));\r\n }\r\n for (var i = 6, n = numeric.length; i < 8; ++i) {\r\n retVal += numeric.charAt(Math.floor(Math.random() * n));\r\n }\r\n if (+(length || 0) > 8) {\r\n for (var i = 8, n = SpecialSet.length; i < +(length || 0); ++i) {\r\n retVal += SpecialSet.charAt(Math.floor(Math.random() * n));\r\n }\r\n }\r\n return retVal.split('').sort(() => Math.random() - 0.5).join(''); //return them shuffled \r\n}\r\n//#region fast2pays\r\nexport const FAST2PAYS_DEPOSIT_TYPES = [\r\n { value: 'CARD', label: 'Card' },\r\n { value: 'BANK', label: 'Bank' }\r\n];\r\nexport const FAST2PAYS_DEPOSIT_BANKCODE = [\r\n { value: 'VCB', label: 'Joint Stock Commercial Bank for Foreign Trade of Vietnam' },\r\n { value: 'TECHCOMBANK', label: 'Vietnam Technological and Commercial Joint Stock Bank' },\r\n { value: 'TPBANK', label: 'TienPhong Commercial Joint Stock Bank' },\r\n { value: 'VIETINBANK', label: 'Vietnam Joint Stock Commercial Bank of Industry and Trade' },\r\n { value: 'VIB', label: 'Vietnam International Commercial Joint Stock Bank' },\r\n { value: 'DAB', label: 'DONG A Commercial Joint Stock Bank' },\r\n { value: 'HDBANK', label: 'Ho Chi Minh city Development Joint Stock Commercial Bank' },\r\n { value: 'MB', label: 'Military Commercial Joint Stock Bank' },\r\n { value: 'VIETABANK', label: 'Vietnam Asia Commercial Joint' },\r\n { value: 'MARITIMEBANK', label: 'Vietnam Maritime Commercial Joint Stock Bank' },\r\n { value: 'EXIMBANK', label: 'Vietnam Export Import Commercial Joint Stock' },\r\n { value: 'SHB', label: 'Saigon-Hanoi Commercial Joint Stock Bank' },\r\n { value: 'VPBANK', label: 'Vietnam Prosperity Joint Stock Commercial Bank' },\r\n { value: 'ABBANK', label: 'An Binh Commercial Joint Stock Bank' },\r\n { value: 'SACOMBANK', label: 'Saigon Thuong Tin Commercial Joint Stock Bank' },\r\n { value: 'NAMA', label: 'Nam A Commercial Joint Stock Bank' },\r\n { value: 'OCEANBANK', label: 'Ocean Commercial One Member Limited Liability Bank' },\r\n { value: 'BIDV', label: 'Joint Stock Commercial Bank for Investment and Development of Vietnam' },\r\n { value: 'SEABANK', label: 'Southeast Asia Commercial Joint Stock Bank' },\r\n { value: 'BACA', label: 'BAC A Commercial Joint Stock Bank' },\r\n { value: 'NAVIBANK', label: 'NaviBank' },\r\n { value: 'AGRIBANK', label: 'Vietnam Bank for Agriculture and Rural Development' },\r\n { value: 'SAIGONBANK', label: 'Saigon Bank for Industry and Trade' },\r\n { value: 'PVBANK', label: 'Vietnam Public Joint Stock Commercial Bank' },\r\n { value: 'ACB', label: 'Asia Commercial Joint Stock Bank' },\r\n { value: 'LPB', label: 'Lien Viet Post Joint Stock Commercial Bank' },\r\n { value: 'BVBANK', label: 'Bao Viet Joint Stock commercial Bank' },\r\n { value: 'OCB', label: 'Orient Commercial Joint Stock Bank' },\r\n { value: 'KIENLONGBANK', label: 'Kien Long Commercial Joint Stock Bank' },\r\n { value: 'VRB', label: 'Vietnam Russia Joint Venture Bank' },\r\n { value: 'NCB', label: 'National Citizen Commercial Joint Stock Bank' },\r\n { value: 'PGBANK', label: 'Petrolimex Group Commercial Joint Stock Bank' },\r\n { value: 'GPBANK', label: 'Global Petro Sole Member Limited Commercial Bank' },\r\n { value: 'WOORIBANK', label: 'Woori Bank Vietnam Limited' },\r\n { value: 'VIETCAPITALBANK', label: 'Viet Capital Commercial Joint Stock Bank' },\r\n { value: 'PVBANK', label: 'PVcombank' },\r\n { value: 'BIDV', label: 'Joint Stock Commercial Bank for Investment and Development of Vietnam' },\r\n { value: 'VPBANK', label: 'Vietnam Prosperity Joint Stock Commercial Bank' },\r\n { value: 'TECHCOMBANK', label: 'Vietnam Technological and Commercial Joint Stock Bank' },\r\n { value: 'VISA', label: 'Visa' },\r\n { value: 'MASTERCARD', label: 'Mastercard' },\r\n { value: 'VCB', label: 'Joint Stock Commercial Bank for Foreign Trade of Vietnam' },\r\n { value: 'MOMO', label: 'Momo Wallet' },\r\n { value: 'TECHCOMBANK', label: 'Vietnam Technological and Commercial Joint Stock Bank' },\r\n { value: 'MB', label: 'Military Commercial Joint Stock Bank' },\r\n { value: 'VPBANK', label: 'Vietnam Prosperity Joint Stock Commercial Bank' },\r\n { value: 'BIDV', label: 'Joint Stock Commercial Bank for Investment and Development of Vietnam' },\r\n { value: 'SCARD_VT', label: 'THẺ VIETTEL' },\r\n { value: 'SCARD_Vina', label: 'THẺ VINAPHONE' },\r\n { value: 'SCARD_Mobi', label: 'THẺ MOBIFONE' },\r\n { value: 'SCARD_GTE', label: 'THẺ GATE' },\r\n { value: 'SCARD_ISEC', label: 'THẺ ISEC' },\r\n { value: 'USDT', label: 'Tether USDT' },\r\n { value: 'BUSD', label: 'Binance USD' },\r\n { value: 'USDC', label: 'USD Coin' },\r\n];\r\nexport const FAST2PAYS_WITHDRAWAL_BANKCODE = [\r\n { value: 'VCB', label: 'Joint Stock Commercial Bank for Foreign Trade of Vietnam' },\r\n { value: 'TECHCOMBANK', label: 'Vietnam Technological and Commercial Joint Stock Bank' },\r\n { value: 'TPBANK', label: 'TienPhong Commercial Joint Stock Bank' },\r\n { value: 'VIETINBANK', label: 'Vietnam Joint Stock Commercial Bank of Industry and Trade' },\r\n { value: 'VIB', label: 'Vietnam International Commercial Joint Stock Bank' },\r\n { value: 'HDBANK', label: 'Ho Chi Minh city Development Joint Stock Commercial Bank' },\r\n { value: 'MB', label: 'Military Commercial Joint Stock Bank' },\r\n { value: 'VIETABANK', label: 'Vietnam Asia Commercial Joint' },\r\n { value: 'MARITIMEBANK', label: 'Vietnam Maritime Commercial Joint Stock Bank' },\r\n { value: 'EXIMBANK', label: 'Vietnam Export Import Commercial Joint Stock' },\r\n { value: 'SCB', label: 'Sai Gon Joint Stock Commercial Bank' },\r\n { value: 'VPBANK', label: 'Vietnam Prosperity Joint Stock Commercial Bank' },\r\n { value: 'ABBANK', label: 'An Binh Commercial Joint Stock Bank' },\r\n { value: 'SACOMBANK', label: 'Saigon Thuong Tin Commercial Joint Stock Bank' },\r\n { value: 'OCEANBANK', label: 'Ocean Commercial One Member Limited Liability Bank' },\r\n { value: 'BIDV', label: 'Joint Stock Commercial Bank for Investment and Development of Vietnam' },\r\n { value: 'SEABANK', label: 'Southeast Asia Commercial Joint Stock Bank' },\r\n { value: 'BACA', label: 'BAC A Commercial Joint Stock Bank' },\r\n { value: 'AGRIBANK', label: 'Vietnam Bank for Agriculture and Rural Development' },\r\n { value: 'SAIGONBANK', label: 'Saigon Bank for Industry and Trade' },\r\n { value: 'PVBANK', label: 'Vietnam Public Joint Stock Commercial Bank' },\r\n { value: 'ACB', label: 'Asia Commercial Joint Stock Bank' },\r\n { value: 'BVBANK', label: 'Bao Viet Joint Stock commercial Bank' },\r\n { value: 'GPBANK', label: 'Global Petro Sole Member Limited Commercial Bank' },\r\n { value: 'LPB', label: 'Lien Viet Post Joint Stock Commercial Bank' },\r\n { value: 'NCB', label: 'National Citizen Commercial Joint Stock Bank' },\r\n { value: 'HONGLEONG', label: 'Hong Leong Bank Vietnam Limited' },\r\n { value: 'PBVN', label: 'Public Bank Vietnam' },\r\n { value: 'OCB', label: 'Orient Commercial Joint Stock Bank' },\r\n { value: 'SHB', label: 'Saigon-Hanoi Commercial Joint Stock Bank' },\r\n { value: 'SHINHAN', label: 'Shinhan Bank Vietnam Limited' },\r\n { value: 'VIETBANK', label: 'Vietnam Thuong Tin Commercial Joint Stock Bank' },\r\n { value: 'VIETCAPITALBANK', label: 'Viet Capital Commercial Joint Stock Bank' },\r\n { value: 'KIENLONGBANK', label: 'Kien Long Commercial Joint Stock Bank' },\r\n { value: 'PGBANK', label: 'Petrolimex Group Commercial Joint Stock Bank' },\r\n { value: 'VRB', label: 'Vietnam Russia Joint Venture Bank' },\r\n { value: 'NAMABANK', label: 'Nam A Commercial Joint Stock Bank' },\r\n { value: 'IVB', label: 'Indovina Bank' },\r\n { value: 'WOORIBANK', label: 'Woori Bank Vietnam Limited' },\r\n { value: 'UOB', label: 'United Overseas Bank (Vietnam) Limited' },\r\n { value: 'COOPBANK', label: 'Co-operative Bank of Viet Nam' },\r\n { value: 'CIMB', label: 'CIMB Bank Vietnam Limited' },\r\n { value: 'IBK', label: 'Industrial Bank of Korea' },\r\n { value: 'DAB', label: 'DONG A Commercial Joint Stock Bank' },\r\n];\r\nexport const FAST2PAYS_WITHDRAWAL_BANKCODE_DICTIONARY: any = {\r\n 'VCB': 'Joint Stock Commercial Bank for Foreign Trade of Vietnam',\r\n 'TECHCOMBANK': 'Vietnam Technological and Commercial Joint Stock Bank',\r\n 'TPBANK': 'TienPhong Commercial Joint Stock Bank',\r\n 'VIETINBANK': 'Vietnam Joint Stock Commercial Bank of Industry and Trade',\r\n 'VIB': 'Vietnam International Commercial Joint Stock Bank',\r\n 'HDBANK': 'Ho Chi Minh city Development Joint Stock Commercial Bank',\r\n 'MB': 'Military Commercial Joint Stock Bank',\r\n 'VIETABANK': 'Vietnam Asia Commercial Joint',\r\n 'MARITIMEBANK': 'Vietnam Maritime Commercial Joint Stock Bank',\r\n 'EXIMBANK': 'Vietnam Export Import Commercial Joint Stock',\r\n 'SCB': 'Sai Gon Joint Stock Commercial Bank',\r\n 'VPBANK': 'Vietnam Prosperity Joint Stock Commercial Bank',\r\n 'ABBANK': 'An Binh Commercial Joint Stock Bank',\r\n 'SACOMBANK': 'Saigon Thuong Tin Commercial Joint Stock Bank',\r\n 'OCEANBANK': 'Ocean Commercial One Member Limited Liability Bank',\r\n 'BIDV': 'Joint Stock Commercial Bank for Investment and Development of Vietnam',\r\n 'SEABANK': 'Southeast Asia Commercial Joint Stock Bank',\r\n 'BACA': 'BAC A Commercial Joint Stock Bank',\r\n 'AGRIBANK': 'Vietnam Bank for Agriculture and Rural Development',\r\n 'SAIGONBANK': 'Saigon Bank for Industry and Trade',\r\n 'PVBANK': 'Vietnam Public Joint Stock Commercial Bank',\r\n 'ACB': 'Asia Commercial Joint Stock Bank',\r\n 'BVBANK': 'Bao Viet Joint Stock commercial Bank',\r\n 'GPBANK': 'Global Petro Sole Member Limited Commercial Bank',\r\n 'LPB': 'Lien Viet Post Joint Stock Commercial Bank',\r\n 'NCB': 'National Citizen Commercial Joint Stock Bank',\r\n 'HONGLEONG': 'Hong Leong Bank Vietnam Limited',\r\n 'PBVN': 'Public Bank Vietnam',\r\n 'OCB': 'Orient Commercial Joint Stock Bank',\r\n 'SHB': 'Saigon-Hanoi Commercial Joint Stock Bank',\r\n 'SHINHAN': 'Shinhan Bank Vietnam Limited',\r\n 'VIETBANK': 'Vietnam Thuong Tin Commercial Joint Stock Bank',\r\n 'VIETCAPITALBANK': 'Viet Capital Commercial Joint Stock Bank',\r\n 'KIENLONGBANK': 'Kien Long Commercial Joint Stock Bank',\r\n 'PGBANK': 'Petrolimex Group Commercial Joint Stock Bank',\r\n 'VRB': 'Vietnam Russia Joint Venture Bank',\r\n 'NAMABANK': 'Nam A Commercial Joint Stock Bank',\r\n 'IVB': 'Indovina Bank',\r\n 'WOORIBANK': 'Woori Bank Vietnam Limited',\r\n 'UOB': 'United Overseas Bank (Vietnam) Limited',\r\n 'COOPBANK': 'Co-operative Bank of Viet Nam',\r\n 'CIMB': 'CIMB Bank Vietnam Limited',\r\n 'IBK': 'Industrial Bank of Korea',\r\n 'DAB': 'DONG A Commercial Joint Stock Bank',\r\n};\r\nexport const FAST2PAYS_WITHDRAWAL_TYPES = [\r\n { value: 'CARD_NUMBER', label: 'Card' },\r\n { value: 'BANK_ACCOUNT', label: 'Bank' }\r\n];\r\nexport const FAST2PAYS_WITHDRAWAL_TYPES_DICTIONARY: any = {\r\n 'CARD_NUMBER': 'Card',\r\n 'BANK_ACCOUNT': 'Bank'\r\n};\r\nexport const FAST2PAYS_TRANSLATIONS: any = {\r\n \"Joint Stock Commercial Bank for Foreign Trade of Vietnam\": \"Ngân hàng thương mại cổ phần Ngoại thương Việt Nam (VCB)\",\r\n \"Vietnam Technological and Commercial Joint Stock Bank\": \"Ngân hàng Kỹ Thương (Techcombank)\",\r\n \"TienPhong Commercial Joint Stock Bank\": \"Ngân hàng Tiên Phong (TPBank)\",\r\n \"Vietnam Joint Stock Commercial Bank of Industry and Trade\": \"Ngân hàng Công thương Việt Nam (VietinBank)\",\r\n \"Vietnam International Commercial Joint Stock Bank\": \"Ngân hàng Quốc Tế (VIB)\",\r\n \"Ho Chi Minh city Development Joint Stock Commercial Bank\": \"Ngân hàng Phát triển TPHồ Chí Minh (HDBank)\",\r\n \"Military Commercial Joint Stock Bank\": \"Ngân hàng Quân Đội (MB)\",\r\n \"Vietnam Asia Commercial Joint\": \"Ngân hàng TMCP Việt Á (VAB)\",\r\n \"Vietnam Maritime Commercial Joint Stock Bank\": \"Ngân hàng TMCP Hàng Hải (MSB)\",\r\n \"Vietnam Export Import Commercial Joint Stock\": \"Ngân hàng Xuất Nhập Khẩu (Eximbank)\",\r\n \"Sai Gon Joint Stock Commercial Bank\": \"Ngân hàng Sài Gòn (SCB)\",\r\n \"Vietnam Prosperity Joint Stock Commercial Bank\": \"Ngân hàng TMCP Thịnh Vượng (VPBank)\",\r\n \"An Binh Commercial Joint Stock Bank\": \"Ngân hàng An Bình (ABBANK)\",\r\n \"Saigon Thuong Tin Commercial Joint Stock Bank\": \"Ngân hàng Sài Gòn Thương Tín (Sacombank)\",\r\n \"Ocean Commercial One Member Limited Liability Bank\": \"Ngân hàng Đại Dương (OceanBank)\",\r\n \"Joint Stock Commercial Bank for Investment and Development of Vietnam\": \"Ngân hàng Đầu tư và Phát triển Việt Nam (BIDV)\",\r\n \"Southeast Asia Commercial Joint Stock Bank\": \"Ngân hàng Đông Nam Á (SeABank)\",\r\n \"BAC A Commercial Joint Stock Bank\": \"Ngân hàng Bắc Á (Bac A Bank)\",\r\n \"Vietnam Bank for Agriculture and Rural Development\": \"Ngân hàng NN&PT Nông thôn Việt Nam (Agribank)\",\r\n \"Saigon Bank for Industry and Trade\": \"Ngân hàng Sài Gòn Công Thương (SAIGONBANK)\",\r\n \"Vietnam Public Joint Stock Commercial Bank\": \"Ngân hàng TMCP Đại chúng Việt Nam (PVCombank)\",\r\n \"Asia Commercial Joint Stock Bank\": \"Ngân hàng Á Châu (ACB)\",\r\n \"Bao Viet Joint Stock commercial Bank\": \"Ngân hàng Bảo Việt (BAOVIET Bank)\",\r\n \"Global Petro Sole Member Limited Commercial Bank\": \"Ngân hàng Dầu khí toàn cầu (GPBank)\",\r\n \"Lien Viet Post Joint Stock Commercial Bank\": \"Ngân hàng TMCP Liên Việt (LVB)\",\r\n \"National Citizen Commercial Joint Stock Bank\": \"Ngân hàng Thương mại Cổ phần Quốc Dân (NCB)\",\r\n \"Hong Leong Bank Vietnam Limited\": \"Ngân hàng Hong Leong Việt Nam (HLBVN)\",\r\n \"Public Vietnam Bank\": \"Ngân hàng Đại Chúng Việt Nam (PVcomBank)\",\r\n \"Orient Commercial Joint Stock Bank\": \"Ngân hàng Phương Đông (OCB)\",\r\n \"Saigon-Hanoi Commercial Joint Stock Bank\": \"Ngân hàng Sài Gòn – Hà Nội (SHB)\",\r\n \"Shinhan Bank Vietnam Limited\": \"Ngân hàng Shinhan Việt Nam (SHBVN)\",\r\n \"Vietnam Thuong Tin Commercial Joint Stock Bank\": \"Ngân hàng Việt Nam Thương Tín (Vietbank)\",\r\n \"Viet Capital Commercial Joint Stock Bank\": \"Ngân hàng Bản Việt (Viet Capital Bank)\",\r\n \"Kien Long Commercial Joint Stock Bank\": \"Ngân hàng Kiên Long (Kienlongbank)\",\r\n \"Petrolimex Group Commercial Joint Stock Bank\": \"Ngân hàng Xăng dầu Petrolimex (PG Bank)\",\r\n \"Vietnam Russia Joint Venture Bank\": \"Ngân hàng Việt – Nga (VRB)\",\r\n \"Nam A Commercial Joint Stock Bank\": \"Ngân hàng Nam Á (Nam A Bank)\",\r\n \"Indovina Bank\": \"Ngân hàng Indovina (IVB)\",\r\n \"Woori Bank Vietnam Limited\": \"Ngân hàng Woori Việt Nam (Woori)\",\r\n \"United Overseas Bank (Vietnam) Limited\": \"Ngân Hàng United Overseas (Uob)\",\r\n \"Co-operative bank of VietNam\": \"Ngân hàng Hợp tác xã Việt Nam (Co-opBank)\",\r\n \"CIMB Bank Vietnam Limited\": \"Ngân hàng TNHH MTV CIMB Việt Nam\",\r\n \"Industrial Bank of Korea\": \"Ngân hàng Công nghiệp Hàn Quốc\",\r\n \"DONG A Commercial Joint Stock Bank\": \"Ngân hàng Đông Á (DongA Bank)\"\r\n};\r\nexport const NinePay_WITHDRAWAL_TYPES = [\r\n { value: 0, label: 'Account' },\r\n { value: 1, label: 'Card' }\r\n];\r\nexport const NinePay_BANK_ACOUNTS = [\r\n {\r\n \"No.\": 1,\r\n \"value\": \"9PAY\",\r\n \"BankName\": \"9Pay\",\r\n \"label\": \"9Pay\"\r\n },\r\n {\r\n \"No.\": 2,\r\n \"value\": \"ABBANK\",\r\n \"BankName\": \"ABBANK - NH An Binh\",\r\n \"label\": \"ABBANK - An Binh Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n\r\n {\r\n \"No.\": 3,\r\n \"value\": \"ACB\",\r\n \"BankName\": \"ACB - NH A Chau\",\r\n \"label\": \"ACB - Asia Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 4,\r\n \"value\": \"AGRIBANK\",\r\n \"BankName\": \"AGRIBANK - NH Nong Nghiep va PTNT VN\",\r\n \"label\": \"AGRIBANK - Vietnam Bank for Agriculture and Rural Development\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 5,\r\n \"value\": \"BAB\",\r\n \"BankName\": \"BAB - NH Bac A\",\r\n \"label\": \"BAB - Bac A Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 6,\r\n \"value\": \"BANVIET\",\r\n \"BankName\": \"BANVIET - VIETCAPITALBA NK - NH Ban Viet\",\r\n \"label\": \"BANVIET - Viet Capital Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 7,\r\n \"value\": \"BAOVIETB ANK\",\r\n \"BankName\": \"BAOVIET BANK - NH Bao Viet\",\r\n \"label\": \"BAOVIET BANK - Bao Viet Joint Stock Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n\r\n {\r\n \"No.\": 8,\r\n \"value\": \"BIDV\",\r\n \"BankName\": \"BIDV - NH Dau Tu va Phat Trien VN\",\r\n \"label\": \"BIDV - Bank for Investment and Development of Vietnam\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 9,\r\n \"value\": \"CBBANK\",\r\n \"BankName\": \"CB BANK - NH Xay Dung VN\",\r\n \"label\": \"CB BANK - Vietnam Construction Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n {\r\n \"No.\": 10,\r\n \"value\": \"CIMB\",\r\n \"BankName\": \"CIMB - NH CIMB Bank\",\r\n \"label\": \"CIMB - CIMB Bank (Vietnam) Limited\",\r\n \"SupportToATMCards\": true\r\n },\r\n {\r\n \"No.\": 11,\r\n \"value\": \"DONGABA NK\",\r\n \"BankName\": \"DONGA BANK - NH Dong A\",\r\n \"label\": \"DONGA BANK - Dong A Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 12,\r\n \"value\": \"EXIMBANK\",\r\n \"BankName\": \"EXIMBANK - NH Xuat Nhap Khau Dau Khi Toan Cau\",\r\n \"label\": \"EXIMBANK - Vietnam Export Import Commercial Joint - Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 13,\r\n \"value\": \"GPBANK\",\r\n \"BankName\": \"GP BANK - NH\",\r\n \"label\": \"GP BANK - Global Petro Bank Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 14,\r\n \"value\": \"HDBANK\",\r\n \"BankName\": \"HDBANK - NH Phat Trien Tp HCM\",\r\n \"label\": \"HDBANK - Ho Chi Minh City Development Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 15,\r\n \"value\": \"HLB\",\r\n \"BankName\": \"HLB - NH Hongleong Bank\",\r\n \"label\": \"HLB - Hong Leong Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 16,\r\n \"value\": \"IVB\",\r\n \"BankName\": \"IVB - NH Indovina\",\r\n \"label\": \"IVB - Indovina Bank Ltd\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 17,\r\n \"value\": \"KIENLONG BANK\",\r\n \"BankName\": \"KIENLONG BANK - NH Kien Long\",\r\n \"label\": \"KIENLONG BANK - Kien Long Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 18,\r\n \"value\": \"LIENVIETP OSTBANK\",\r\n \"BankName\": \"LIENVIETPOSTB ANK - NH Buu Dien Lien Viet\",\r\n \"label\": \"LIENVIETPOSTBANK - Lien Viet Postal Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 19,\r\n \"value\": \"MBBANK\",\r\n \"BankName\": \"MBBANK - NH Quan Doi\",\r\n \"label\": \"MBBANK - Military Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 20,\r\n \"value\": \"MSB\",\r\n \"BankName\": \"MSB- NH Hang Hai\",\r\n \"label\": \"MSB- Vietnam Maritime Joint - Stock Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 21,\r\n \"value\": \"NAMABAN K\",\r\n \"BankName\": \"NAMABANK - NH Nam A\",\r\n \"label\": \"NAMABANK - South East Asia Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 22,\r\n \"value\": \"NAVIBANK\",\r\n \"BankName\": \"NAVI BANK - NH Nam Viet\",\r\n \"label\": \"NAVI BANK - Nam Viet Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n {\r\n \"No.\": 23,\r\n \"value\": \"NCB\",\r\n \"BankName\": \"NCB - NH Quốc Dân\",\r\n \"label\": \"NCB - National Citizen Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 24,\r\n \"value\": \"OCB\",\r\n \"BankName\": \"OCB - NH Phuong Dong\",\r\n \"label\": \"OCB - Orient Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 25,\r\n \"value\": \"OCEANBA NK\",\r\n \"BankName\": \"OCEANBANK - NH Dai Duong\",\r\n \"label\": \"OCEANBANK - Ocean Commercial One Member Limited Liability Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 26,\r\n \"value\": \"PGBANK\",\r\n \"BankName\": \"PGBANK - NH Xang Dau Petrolimex\",\r\n \"label\": \"PGBANK - Petrolimex Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 27,\r\n \"value\": \"PUBLICBA NK\",\r\n \"BankName\": \"PUBLIC BANK - NH MTV Public Viet Nam\",\r\n \"label\": \"PUBLIC BANK - Public Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 28,\r\n \"value\": \"PVCOMBA NK\",\r\n \"BankName\": \"PVCOMBANK - NH Dai Chung Viet Nam\",\r\n \"label\": \"PVCOMBANK - Vietnam Public Joint Stock Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 29,\r\n \"value\": \"SACOMBA NK\",\r\n \"BankName\": \"SACOMBANK - NH Sai gon Thuong Tin\",\r\n \"label\": \"SACOMBANK - Sai Gon Thuong Tin Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 30,\r\n \"value\": \"SAIGONBA NK\",\r\n \"BankName\": \"SAIGON BANK - NH Sai Gon Cong Thuong\",\r\n \"label\": \"SAIGON BANK - Saigon Bank for Industry and Trade\",\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 31,\r\n \"value\": \"SCB\",\r\n \"BankName\": \"SCB - NH Sai Gon\",\r\n \"label\": \"SCB - Sai Gon Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 32,\r\n \"value\": \"SEABANK\",\r\n \"BankName\": \"SEABANK - NH Dong Nam A\",\r\n \"label\": \"SEABANK - Southeast Asia Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 33,\r\n \"value\": \"SHB\",\r\n \"BankName\": \"SHB - NH Sai Gon Ha Noi\",\r\n \"label\": \"SHB - Saigon - Hanoi Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 34,\r\n \"value\": \"SHINHANB ANK\",\r\n \"BankName\": \"SHINHAN BANK - NH Shinhan Bank\",\r\n \"label\": \"SHINHAN BANK - Shinhan Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 35,\r\n \"value\": \"STANDAR D CHARTER ED\",\r\n \"BankName\": \"Standard Chartered Viet Nam\",\r\n \"label\": \"Standard Chartered Viet Nam\",\r\n \"SupportToATMCards\": true\r\n },\r\n {\r\n \"No.\": 36,\r\n \"value\": \"TECHCOM BANK\",\r\n \"BankName\": \"TECHCOMBANK - NH Ky Thuong\",\r\n \"label\": \"TECHCOMBANK - VietNam Technological and Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 37,\r\n \"value\": \"TPBANK\",\r\n \"BankName\": \"TPBANK - NH Tien Phong\",\r\n \"label\": \"TPBANK - TienPhong Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 38,\r\n \"value\": \"UOB\",\r\n \"BankName\": \"UOB - NH UOB Viet Nam\",\r\n \"label\": \"UOB - United Overseas Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 39,\r\n \"value\": \"VBSP\",\r\n \"BankName\": \"VBSP - NH Chinh Sach Xa Hoi\",\r\n \"label\": \"VBSP - Vietnam Bank for Social Policies\",\r\n \"SupportToATMCards\": true\r\n },\r\n {\r\n \"No.\": 40,\r\n \"value\": \"VDB\",\r\n \"BankName\": \"VDB - NH Phat Trien Viet Nam\",\r\n \"label\": \"VDB - Vietnam Development Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n {\r\n \"No.\": 41,\r\n \"value\": \"VIB\",\r\n \"BankName\": \"VIB - NH Quoc Te\",\r\n \"label\": \"VIB - Vietnam International and Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 42,\r\n \"value\": \"VIETABAN K\",\r\n \"BankName\": \"VIETABANK - NH Viet A\",\r\n \"label\": \"VIETABANK - Viet A Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 43,\r\n \"value\": \"VIETBANK\",\r\n \"BankName\": \"VIET BANK - NH Viet Nam Thuong Tin\",\r\n \"label\": \"VIET BANK - Vietnam Thuong Tin Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 44,\r\n \"value\": \"VIETCOMBANK\",\r\n \"BankName\": \"VIETCOMBANK - NH Ngoai Thuong Viet Nam\",\r\n \"label\": \"VIETCOMBANK - Bank for Foreign Trade of Vietnam\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 45,\r\n \"value\": \"VIETINBANK\",\r\n \"BankName\": \"VIETINBANK - NH Cong Thuong VN\",\r\n \"label\": \"VIETINBANK - Vietnam Joint Stock Commercial Bank for Industry and Trade\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 46,\r\n \"value\": \"VINASIAM\",\r\n \"BankName\": \"VINASIAM - NH Lien Doanh Viet Thai\",\r\n \"label\": \"VINASIAM - VinaSiam Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n {\r\n \"No.\": 47,\r\n \"value\": \"VPBANK\",\r\n \"BankName\": \"VPBANK - NH Viet Nam Thinh Vuong\",\r\n \"label\": \"VPBANK - Vietnam Prosperity Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 48,\r\n \"value\": \"VRB\",\r\n \"BankName\": \"VRB - NH Lien Doanh Viet Nga\",\r\n \"label\": \"VRB - Vietnam Russia Joint Venture Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n {\r\n \"No.\": 49,\r\n \"value\": \"WOORIBA NK\",\r\n \"BankName\": \"WOORI BANK - NH Woori\",\r\n \"label\": \"WOORI BANK - Woori Bank Vietnam Limited\",\r\n \"SupportToBankAccount\": true\r\n }\r\n];\r\nexport const NINEPAY_WITHDRAWAL_BANKCODE_DICTIONARY: any = {\r\n \"9PAY\": {\r\n \"No.\": 1,\r\n \"value\": \"9PAY\",\r\n \"BankName\": \"9Pay\",\r\n \"label\": \"9Pay\"\r\n },\r\n \"ABBANK\": {\r\n \"No.\": 2,\r\n \"value\": \"ABBANK\",\r\n \"BankName\": \"ABBANK - NH An Binh\",\r\n \"label\": \"ABBANK - An Binh Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"ACB\": {\r\n \"No.\": 3,\r\n \"value\": \"ACB\",\r\n \"BankName\": \"ACB - NH A Chau\",\r\n \"label\": \"ACB - Asia Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n \"AGRIBANK\": {\r\n \"No.\": 4,\r\n \"value\": \"AGRIBANK\",\r\n \"BankName\": \"AGRIBANK - NH Nong Nghiep va PTNT VN\",\r\n \"label\": \"AGRIBANK - Vietnam Bank for Agriculture and Rural Development\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"BAB\": {\r\n \"No.\": 5,\r\n \"value\": \"BAB\",\r\n \"BankName\": \"BAB - NH Bac A\",\r\n \"label\": \"BAB - Bac A Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n \"BANVIET\": {\r\n \"No.\": 6,\r\n \"value\": \"BANVIET\",\r\n \"BankName\": \"BANVIET - VIETCAPITALBA NK - NH Ban Viet\",\r\n \"label\": \"BANVIET - Viet Capital Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n \"BAOVIETB ANK\": {\r\n \"No.\": 7,\r\n \"value\": \"BAOVIETB ANK\",\r\n \"BankName\": \"BAOVIET BANK - NH Bao Viet\",\r\n \"label\": \"BAOVIET BANK - Bao Viet Joint Stock Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"BIDV\": {\r\n \"No.\": 8,\r\n \"value\": \"BIDV\",\r\n \"BankName\": \"BIDV - NH Dau Tu va Phat Trien VN\",\r\n \"label\": \"BIDV - Bank for Investment and Development of Vietnam\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"CBBANK\": {\r\n \"No.\": 9,\r\n \"value\": \"CBBANK\",\r\n \"BankName\": \"CB BANK - NH Xay Dung VN\",\r\n \"label\": \"CB BANK - Vietnam Construction Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n \"CIMB\": {\r\n \"No.\": 10,\r\n \"value\": \"CIMB\",\r\n \"BankName\": \"CIMB - NH CIMB Bank\",\r\n \"label\": \"CIMB - CIMB Bank (Vietnam) Limited\",\r\n \"SupportToATMCards\": true\r\n },\r\n \"DONGABA NK\": {\r\n \"No.\": 11,\r\n \"value\": \"DONGABA NK\",\r\n \"BankName\": \"DONGA BANK - NH Dong A\",\r\n \"label\": \"DONGA BANK - Dong A Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"EXIMBANK\": {\r\n \"No.\": 12,\r\n \"value\": \"EXIMBANK\",\r\n \"BankName\": \"EXIMBANK - NH Xuat Nhap Khau Dau Khi Toan Cau\",\r\n \"label\": \"EXIMBANK - Vietnam Export Import Commercial Joint - Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"GPBANK\": {\r\n \"No.\": 13,\r\n \"value\": \"GPBANK\",\r\n \"BankName\": \"GP BANK - NH\",\r\n \"label\": \"GP BANK - Global Petro Bank Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"HDBANK\": {\r\n \"No.\": 14,\r\n \"value\": \"HDBANK\",\r\n \"BankName\": \"HDBANK - NH Phat Trien Tp HCM\",\r\n \"label\": \"HDBANK - Ho Chi Minh City Development Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"HLB\": {\r\n \"No.\": 15,\r\n \"value\": \"HLB\",\r\n \"BankName\": \"HLB - NH Hongleong Bank\",\r\n \"label\": \"HLB - Hong Leong Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"IVB\": {\r\n \"No.\": 16,\r\n \"value\": \"IVB\",\r\n \"BankName\": \"IVB - NH Indovina\",\r\n \"label\": \"IVB - Indovina Bank Ltd\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"KIENLONG BANK\": {\r\n \"No.\": 17,\r\n \"value\": \"KIENLONG BANK\",\r\n \"BankName\": \"KIENLONG BANK - NH Kien Long\",\r\n \"label\": \"KIENLONG BANK - Kien Long Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"LIENVIETP OSTBANK\": {\r\n \"No.\": 18,\r\n \"value\": \"LIENVIETP OSTBANK\",\r\n \"BankName\": \"LIENVIETPOSTB ANK - NH Buu Dien Lien Viet\",\r\n \"label\": \"LIENVIETPOSTBANK - Lien Viet Postal Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"MBBANK\": {\r\n \"No.\": 19,\r\n \"value\": \"MBBANK\",\r\n \"BankName\": \"MBBANK - NH Quan Doi\",\r\n \"label\": \"MBBANK - Military Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"MSB\": {\r\n \"No.\": 20,\r\n \"value\": \"MSB\",\r\n \"BankName\": \"MSB- NH Hang Hai\",\r\n \"label\": \"MSB- Vietnam Maritime Joint - Stock Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"NAMABAN K\": {\r\n \"No.\": 21,\r\n \"value\": \"NAMABAN K\",\r\n \"BankName\": \"NAMABANK - NH Nam A\",\r\n \"label\": \"NAMABANK - South East Asia Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"NAVIBANK\": {\r\n \"No.\": 22,\r\n \"value\": \"NAVIBANK\",\r\n \"BankName\": \"NAVI BANK - NH Nam Viet\",\r\n \"label\": \"NAVI BANK - Nam Viet Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n \"NCB\": {\r\n \"No.\": 23,\r\n \"value\": \"NCB\",\r\n \"BankName\": \"NCB - NH Quốc Dân\",\r\n \"label\": \"NCB - National Citizen Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"OCB\": {\r\n \"No.\": 24,\r\n \"value\": \"OCB\",\r\n \"BankName\": \"OCB - NH Phuong Dong\",\r\n \"label\": \"OCB - Orient Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"OCEANBA NK\": {\r\n \"No.\": 25,\r\n \"value\": \"OCEANBA NK\",\r\n \"BankName\": \"OCEANBANK - NH Dai Duong\",\r\n \"label\": \"OCEANBANK - Ocean Commercial One Member Limited Liability Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"PGBANK\": {\r\n \"No.\": 26,\r\n \"value\": \"PGBANK\",\r\n \"BankName\": \"PGBANK - NH Xang Dau Petrolimex\",\r\n \"label\": \"PGBANK - Petrolimex Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"PUBLICBA NK\": {\r\n \"No.\": 27,\r\n \"value\": \"PUBLICBA NK\",\r\n \"BankName\": \"PUBLIC BANK - NH MTV Public Viet Nam\",\r\n \"label\": \"PUBLIC BANK - Public Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"PVCOMBA NK\": {\r\n \"No.\": 28,\r\n \"value\": \"PVCOMBA NK\",\r\n \"BankName\": \"PVCOMBANK - NH Dai Chung Viet Nam\",\r\n \"label\": \"PVCOMBANK - Vietnam Public Joint Stock Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"SACOMBA NK\": {\r\n \"No.\": 29,\r\n \"value\": \"SACOMBA NK\",\r\n \"BankName\": \"SACOMBANK - NH Sai gon Thuong Tin\",\r\n \"label\": \"SACOMBANK - Sai Gon Thuong Tin Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"SAIGONBA NK\": {\r\n \"No.\": 30,\r\n \"value\": \"SAIGONBA NK\",\r\n \"BankName\": \"SAIGON BANK - NH Sai Gon Cong Thuong\",\r\n \"label\": \"SAIGON BANK - Saigon Bank for Industry and Trade\",\r\n \"SupportToBankAccount\": true\r\n },\r\n \"SCB\": {\r\n \"No.\": 31,\r\n \"value\": \"SCB\",\r\n \"BankName\": \"SCB - NH Sai Gon\",\r\n \"label\": \"SCB - Sai Gon Commercial Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"SEABANK\": {\r\n \"No.\": 32,\r\n \"value\": \"SEABANK\",\r\n \"BankName\": \"SEABANK - NH Dong Nam A\",\r\n \"label\": \"SEABANK - Southeast Asia Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"SHB\": {\r\n \"No.\": 33,\r\n \"value\": \"SHB\",\r\n \"BankName\": \"SHB - NH Sai Gon Ha Noi\",\r\n \"label\": \"SHB - Saigon - Hanoi Commercial Joint Stock Bank\",\r\n \"SupportToBankAccount\": true\r\n },\r\n \"SHINHANB ANK\": {\r\n \"No.\": 34,\r\n \"value\": \"SHINHANB ANK\",\r\n \"BankName\": \"SHINHAN BANK - NH Shinhan Bank\",\r\n \"label\": \"SHINHAN BANK - Shinhan Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"STANDAR D CHARTER ED\": {\r\n \"No.\": 35,\r\n \"value\": \"STANDAR D CHARTER ED\",\r\n \"BankName\": \"Standard Chartered Viet Nam\",\r\n \"label\": \"Standard Chartered Viet Nam\",\r\n \"SupportToATMCards\": true\r\n },\r\n \"TECHCOM BANK\": {\r\n \"No.\": 36,\r\n \"value\": \"TECHCOM BANK\",\r\n \"BankName\": \"TECHCOMBANK - NH Ky Thuong\",\r\n \"label\": \"TECHCOMBANK - VietNam Technological and Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"TPBANK\": {\r\n \"No.\": 37,\r\n \"value\": \"TPBANK\",\r\n \"BankName\": \"TPBANK - NH Tien Phong\",\r\n \"label\": \"TPBANK - TienPhong Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"UOB\": {\r\n \"No.\": 38,\r\n \"value\": \"UOB\",\r\n \"BankName\": \"UOB - NH UOB Viet Nam\",\r\n \"label\": \"UOB - United Overseas Bank Vietnam Limited\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"VBSP\": {\r\n \"No.\": 39,\r\n \"value\": \"VBSP\",\r\n \"BankName\": \"VBSP - NH Chinh Sach Xa Hoi\",\r\n \"label\": \"VBSP - Vietnam Bank for Social Policies\",\r\n \"SupportToATMCards\": true\r\n },\r\n \"VDB\": {\r\n \"No.\": 40,\r\n \"value\": \"VDB\",\r\n \"BankName\": \"VDB - NH Phat Trien Viet Nam\",\r\n \"label\": \"VDB - Vietnam Development Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n \"VIB\": {\r\n \"No.\": 41,\r\n \"value\": \"VIB\",\r\n \"BankName\": \"VIB - NH Quoc Te\",\r\n \"label\": \"VIB - Vietnam International and Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"VIETABAN K\": {\r\n \"No.\": 42,\r\n \"value\": \"VIETABAN K\",\r\n \"BankName\": \"VIETABANK - NH Viet A\",\r\n \"label\": \"VIETABANK - Viet A Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"VIETBANK\": {\r\n \"No.\": 43,\r\n \"value\": \"VIETBANK\",\r\n \"BankName\": \"VIET BANK - NH Viet Nam Thuong Tin\",\r\n \"label\": \"VIET BANK - Vietnam Thuong Tin Commercial Joint Stock Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"VIETCOMB ANK\": {\r\n \"No.\": 44,\r\n \"value\": \"VIETCOMB ANK\",\r\n \"BankName\": \"VIETCOMBANK - NH Ngoai Thuong Viet Nam\",\r\n \"label\": \"VIETCOMBANK - Bank for Foreign Trade of Vietnam\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"VIETINBAN K\": {\r\n \"No.\": 45,\r\n \"value\": \"VIETINBAN K\",\r\n \"BankName\": \"VIETINBANK - NH Cong Thuong VN\",\r\n \"label\": \"VIETINBANK - Vietnam Joint Stock Commercial Bank for Industry and Trade\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"VINASIAM\": {\r\n \"No.\": 46,\r\n \"value\": \"VINASIAM\",\r\n \"BankName\": \"VINASIAM - NH Lien Doanh Viet Thai\",\r\n \"label\": \"VINASIAM - VinaSiam Bank\",\r\n \"SupportToATMCards\": true\r\n },\r\n \"VPBANK\": {\r\n \"No.\": 47,\r\n \"value\": \"VPBANK\",\r\n \"BankName\": \"VPBANK - NH Viet Nam Thinh Vuong\",\r\n \"label\": \"VPBANK - Vietnam Prosperity Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"VRB\": {\r\n \"No.\": 48,\r\n \"value\": \"VRB\",\r\n \"BankName\": \"VRB - NH Lien Doanh Viet Nga\",\r\n \"label\": \"VRB - Vietnam Russia Joint Venture Bank\",\r\n \"SupportToATMCards\": true,\r\n \"SupportToBankAccount\": true\r\n },\r\n \"WOORIBA NK\": {\r\n \"No.\": 49,\r\n \"value\": \"WOORIBA NK\",\r\n \"BankName\": \"WOORI BANK - NH Woori\",\r\n \"label\": \"WOORI BANK - Woori Bank Vietnam Limited\",\r\n \"SupportToBankAccount\": true\r\n }\r\n};\r\n//#endregion\r\n//#region PDF\r\nexport function downloadPDF(pdf: string, fileName: string) {\r\n const linkSource = `data:application/pdf;base64,${pdf}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const FileName = `${fileName}.pdf`;\r\n downloadLink.href = linkSource;\r\n downloadLink.download = FileName;\r\n downloadLink.click();\r\n}\r\nexport const XLTrades_Secure_Client_Area_Payment_Details = `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IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMi9CYXNlRm9udC9CQ0RGRUUrUm9ib3RvL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciAxMCAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDEyMS9XaWR0aHMgOTIgMCBSPj4NCmVuZG9iag0KMTAgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERkVFK1JvYm90by9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MjgvRGVzY2VudCAtMjUwL0NhcEhlaWdodCA3NTAvQXZnV2lkdGggNTY3L01heFdpZHRoIDI5MzYvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvU3RlbVYgNTYvRm9udEJCb3hbIC04OTEgLTI1MCAyMDQ1IDc1MF0gL0ZvbnRGaWxlMiA5MCAwIFI+Pg0KZW5kb2JqDQoxMSAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjIgOSAwIFIvRjEgNSAwIFIvRjMgMTMgMCBSPj4vRXh0R1N0YXRlPDwvR1M3IDcgMCBSL0dTOCA4IDAgUj4+L1hPYmplY3Q8PC9JbWFnZTIwIDIwIDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXSA+Pi9Bbm5vdHNbIDE4IDAgUiAxOSAwIFJdIC9NZWRpYUJveFsgMCAwIDU5NS4zMiA4NDEuOTJdIC9Db250ZW50cyAxMiAwIFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJlbnRzIDE+Pg0KZW5kb2JqDQoxMiAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMjk2Pj4N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cuW40Q1ouwd5wPsWv/d9Ygqy7cZJVCBwuTMKpb6hvkVK6nvqZ6SifqU0KIFGwLsptBvthpo4fm3meLSF49EtHI9u5Xh0D8eRe7neHPm/6btcgA0KZW5kc3RyZWFtDQplbmRvYmoNCjkxIDAgb2JqDQpbIDBbIDQ0M10gIDVbIDI0OF0gIDE3WyAxOTcgMjc2IDI2NCA0MTMgNTYyIDU2MiA1NjIgNTYyIDU2MiA1NjIgNTYyIDU2MiA1NjIgNTYyIDI0Ml0gIDM0WyA1NDldICAzN1sgODk4IDY1MiA2MjMgNjUxIDY1NiA1NjggNTUzIDY4MSA3MTMgMjcyXSAgNDhbIDYyNyA1MzkgODczIDcxMyA2ODggNjMxIDY4OCA2MTYgNTk0IDU5NyA2NDggNjM3IDg4NyA2MjcgNjAxXSAgNzBbIDU0NCA1NjIgNTIzIDU2NCA1MzAgMzQ4IDU2MiA1NTEgMjQzXSAgODBbIDUwNyAyNDMgODc3IDU1MiA1NzAgNTYyIDU2OCAzMzkgNTE2IDMyNyA1NTEgNDg0IDc1MSA0OTYgNDczIDQ5Nl0gIDExMjJbIDIwMCAyMDBdIF0gDQplbmRvYmoNCjkyIDAgb2JqDQpbIDI0OCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTk3IDI3NiAyNjQgNDEzIDU2MiA1NjIgNTYyIDU2MiA1NjIgNTYyIDU2MiA1NjIgNTYyIDU2MiAyNDIgMCAwIDU0OSAwIDAgODk4IDY1MiA2MjMgNjUxIDY1NiA1NjggNTUzIDY4MSA3MTMgMjcyIDAgNjI3IDUzOSA4NzMgNzEzIDY4OCA2MzEgNjg4IDYxNiA1OTQgNTk3IDY0OCA2MzcgODg3IDYyNyA2MDEgMCAwIDAgMCAwIDAgMCA1NDQgNTYyIDUyMyA1NjQgNTMwIDM0OCA1NjIgNTUxIDI0MyAwIDUwNyAyNDMgODc3IDU1MiA1NzAgNTYyIDAgMzM5IDUxNiAzMjcgNTUxIDQ4NCA3NTEgNDk2IDQ3M10gDQplbmRvYmoNCjkzIDAgb2JqDQo8PC9UeXBlL01ldGFkYXRhL1N1YnR5cGUvWE1ML0xlbmd0aCAzMDg3Pj4NCnN0cmVhbQ0KPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz48eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSIzLjEtNzAxIj4KPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOnBkZj0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyI+CjxwZGY6UHJvZHVjZXI+TWljcm9zb2Z0wq4gV29yZCBmb3IgTWljcm9zb2Z0IDM2NTwvcGRmOlByb2R1Y2VyPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KPGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT5TdWx0YW4gVGFxaTwvcmRmOmxpPjwvcmRmOlNlcT48L2RjOmNyZWF0b3I+PC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgo8eG1wOkNyZWF0b3JUb29sPk1pY3Jvc29mdMKuIFdvcmQgZm9yIE1pY3Jvc29mdCAzNjU8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU+MjAyMy0wMy0wN1QxNToyNDoyMiswMjowMDwveG1wOkNyZWF0ZURhdGU+PHhtcDpNb2RpZnlEYXRlPjIwMjMtMDMtMDdUMTU6MjQ6MjIrMDI6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOjU3RkRGMjQ1LUY4M0EtNEMzOC1CRjUyLTI0RjdDN0NBQjU0RDwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOjU3RkRGMjQ1LUY4M0EtNEMzOC1CRjUyLTI0RjdDN0NBQjU0RDwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8+DQplbmRzdHJlYW0NCmVuZG9iag0KOTQgMCBvYmoNCjw8L0Rpc3BsYXlEb2NUaXRsZSB0cnVlPj4NCmVuZG9iag0KOTUgMCBvYmoNCjw8L1R5cGUvWFJlZi9TaXplIDk1L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDIxIDAgUi9JRFs8NDVGMkZENTczQUY4Mzg0Q0JGNTIyNEY3QzdDQUI1NEQ+PDQ1RjJGRDU3M0FGODM4NENCRjUyMjRGN0M3Q0FCNTREPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjQ2Pj4NCnN0cmVhbQ0KeJw10TlOwmEQxuH548Ku7LihgiiK+75jrwXHsDLcgEJLuYBRWq5Ai50HsLAjMTHRWBpjY4Kf70+nmCeTmUkmGTMXvZ7nctzslxa8CO9bBD5F8E6ErqED9MJNEWmI6LNIVuAeuiJVhweRbovMucj6xemFmc8dkbMDOIQjOIZ9+JusuL2zy//KAx/0QT8MwCD4IQBBCEEYIhCFIRiGGMQhAUlIQRoykIURGIUxGIcJyMEkTMEJTEMeCjADRZiFOSjBPKzCApRhGRZhCVZgDXZhHTZgGzZhC3Zgz32l+qSnVj/E7Y1oJsRrTbw9ive8+Loy+wHA7CrbDQplbmRzdHJlYW0NCmVuZG9iag0KeHJlZg0KMCA5Ng0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjYgMDAwMDAgbg0KMDAwMDAwMDIyOSAwMDAwMCBuDQowMDAwMDAwNTA4IDAwMDAwIG4NCjAwMDAwMDIyOTMgMDAwMDAgbg0KMDAwMDAwMjQ2MCAwMDAwMCBuDQowMDAwMDAyNjk5IDAwMDAwIG4NCjAwMDAwMDI3NTIgMDAwMDAgbg0KMDAwMDAwMjgwNSAwMDAwMCBuDQowMDAwMDAyOTczIDAwMDAwIG4NCjAwMDAwMDMyMTIgMDAwMDAgbg0KMDAwMDAwMzU1NCAwMDAwMCBuDQowMDAwMDA0OTI2IDAwMDAwIG4NCjAwMDAwMDUwNTcgMDAwMDAgbg0KMDAwMDAwNTA4NyAwMDAwMCBuDQowMDAwMDA1MjQ2IDAwMDAwIG4NCjAwMDAwMDUzMjAgMDAwMDAgbg0KMDAwMDAwNTU1OSAwMDAwMCBuDQowMDAwMDA1NzM1IDAwMDAwIG4NCjAwMDAwMDU4OTUgMDAwMDAgbg0KMDAwMDAxOTA1MyAwMDAwMCBuDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAyMDQ0MCAwMDAwMCBuDQowMDAwMDIwNDY3IDAwMDAwIG4NCjAwMDAwMzk4MzMgMDAwMDAgbg0KMDAwMDA0MDIxMCAwMDAwMCBuDQowMDAwMDU5NTAzIDAwMDAwIG4NCjAwMDAwNTk4NjAgMDAwMDAgbg0KMDAwMDA2MDE5MyAwMDAwMCBuDQowMDAwMDYzMzYzIDAwMDAwIG4NCjAwMDAwNjM0MDggMDAwMDAgbg0KdHJhaWxlcg0KPDwvU2l6ZSA5Ni9Sb290IDEgMCBSL0luZm8gMjEgMCBSL0lEWzw0NUYyRkQ1NzNBRjgzODRDQkY1MjI0RjdDN0NBQjU0RD48NDVGMkZENTczQUY4Mzg0Q0JGNTIyNEY3QzdDQUI1NEQ+XSA+Pg0Kc3RhcnR4cmVmDQo2Mzg1NQ0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSA5Ni9Sb290IDEgMCBSL0luZm8gMjEgMCBSL0lEWzw0NUYyRkQ1NzNBRjgzODRDQkY1MjI0RjdDN0NBQjU0RD48NDVGMkZENTczQUY4Mzg0Q0JGNTIyNEY3QzdDQUI1NEQ+XSAvUHJldiA2Mzg1NS9YUmVmU3RtIDYzNDA4Pj4NCnN0YXJ0eHJlZg0KNjU5MzINCiUlRU9G`;\r\n//#region Match2Pay\r\nexport const MATCH2PAY_NETWORKS = [\r\n { value: \"Bitcoin\", label: \"Bitcoin - BTC\" },\r\n { value: \"Ethereum\", label: \"Ethereum (ERC-20)\" },\r\n { value: \"BinanceSmartChain\", label: \"Binance Smart Chain (BEP-20)\" },\r\n { value: \"TRON\", label: \"TRON (TRC-20)\" },\r\n];\r\n\r\nexport const MATCH2PAY_CRYPTO_CURRENCY = [\r\n { value: \"Tether - USDT ERC20 - UST\", label: \"Tether - USDT ERC20 - UST\", parent: \"Ethereum\", paymentCurrency: \"UST\", paymentGatewayName: \"USDT ERC20\" },\r\n { value: \"USD Coin - USDC ERC20 - UCC\", label: \"USD Coin - USDC ERC20 - UCC\", parent: \"Ethereum\", paymentCurrency: \"UCC\", paymentGatewayName: \"USDC ERC20\" },\r\n { value: \"Ether - ETH\", label: \"Ether - ETH\", parent: \"Ethereum\", paymentCurrency: \"ETH\", paymentGatewayName: \"ETH\" },\r\n\r\n { value: \"Tether - USDT BEP20 - USB\", label: \"Tether - USDT BEP20 - USB\", parent: \"BinanceSmartChain\", paymentCurrency: \"USB\", paymentGatewayName: \"USDT BEP20\" },\r\n { value: \"USD Coin - USDC BEP20 - USB\", label: \"USD Coin - USDC BEP20 - USB\", parent: \"BinanceSmartChain\", paymentCurrency: \"USB\", paymentGatewayName: \"USDC BEP20\" },\r\n { value: \"Binance USD - BUSD - USB\", label: \"Binance USD - BUSD - USB\", parent: \"BinanceSmartChain\", paymentCurrency: \"USB\", paymentGatewayName: \"BUSD BEP20\" },\r\n { value: \"Binance Coin - BNB\", label: \"Binance Coin - BNB\", parent: \"BinanceSmartChain\", paymentCurrency: \"BNB\", paymentGatewayName: \"BNB\" },\r\n\r\n { value: \"Tether - USDT TRC20 - USX\", label: \"Tether - USDT TRC20 - USX\", parent: \"TRON\", paymentCurrency: \"USX\", paymentGatewayName: \"USDT TRC20\" },\r\n { value: \"USD Coin - USDC TRC20 - UCX (deposits only)\", label: \"USD Coin - USDC TRC20 - UCX (deposits only)\", parent: \"TRON\", paymentCurrency: \"UCX\", paymentGatewayName: \"USDC TRC20\" },\r\n { value: \"Tronix - TRX (deposits only)\", label: \"Tronix - TRX \", parent: \"TRON\", paymentCurrency: \"TRX\", paymentGatewayName: \"TRX\" },\r\n];\r\n//#endregion\r\n//#region help2Pay \r\nexport const HELP2PAY_DEPOSIT_BANKCODES = [\r\n { label: \"Bangkok Bank\", value: \"BBL\", Currency: \"THB\", BankCode: \"BBL\", BankName: \"Bangkok Bank\" },\r\n { label: \"Bank of Ayudhya (Krungsri)\", value: \"BOA\", Currency: \"THB\", BankCode: \"BOA\", BankName: \"Bank of Ayudhya (Krungsri)\" },\r\n { label: \"CIMB Thai\", value: \"CIMBT\", Currency: \"THB\", BankCode: \"CIMBT\", BankName: \"CIMB Thai\" },\r\n { label: \"Karsikorn Bank (K-Bank)\", value: \"KKR\", Currency: \"THB\", BankCode: \"KKR\", BankName: \"Karsikorn Bank (K-Bank)\" },\r\n { label: \"Kiatnakin Bank\", value: \"KNK\", Currency: \"THB\", BankCode: \"KNK\", BankName: \"Kiatnakin Bank\" },\r\n { label: \"Krung Thai Bank\", value: \"KTB\", Currency: \"THB\", BankCode: \"KTB\", BankName: \"Krung Thai Bank\" },\r\n { label: \"Siam Commercial Bank\", value: \"SCB\", Currency: \"THB\", BankCode: \"SCB\", BankName: \"Siam Commercial Bank\" },\r\n { label: \"TMBThanachart Bank(TTB)\", value: \"TMB\", Currency: \"THB\", BankCode: \"TMB\", BankName: \"TMBThanachart Bank(TTB)\" },\r\n { label: \"Asia Commercial Bank\", value: \"ACB\", Currency: \"VND\", BankCode: \"ACB\", BankName: \"Asia Commercial Bank\" },\r\n { label: \"Agribank\", value: \"AGB\", Currency: \"VND\", BankCode: \"AGB\", BankName: \"Agribank\" },\r\n { label: \"Bank for Investment and Development of Vietnam\", value: \"BIDV\", Currency: \"VND\", BankCode: \"BIDV\", BankName: \"Bank for Investment and Development of Vietnam\" },\r\n { label: \"DongA Bank\", value: \"DAB\", Currency: \"VND\", BankCode: \"DAB\", BankName: \"DongA Bank\" },\r\n { label: \"Eximbank Vietnam\", value: \"EXIM\", Currency: \"VND\", BankCode: \"EXIM\", BankName: \"Eximbank Vietnam\" },\r\n { label: \"Military Commercial Joint Stock Bank\", value: \"MB\", Currency: \"VND\", BankCode: \"MB\", BankName: \"Military Commercial Joint Stock Bank\" },\r\n { label: \"Maritime Bank\", value: \"MTMB\", Currency: \"VND\", BankCode: \"MTMB\", BankName: \"Maritime Bank\" },\r\n { label: \"Sacombank\", value: \"SACOM\", Currency: \"VND\", BankCode: \"SACOM\", BankName: \"Sacombank\" },\r\n { label: \"Techcombank\", value: \"TCB\", Currency: \"VND\", BankCode: \"TCB\", BankName: \"Techcombank\" },\r\n { label: \"Tien Phong Bank\", value: \"TPB\", Currency: \"VND\", BankCode: \"TPB\", BankName: \"Tien Phong Bank\" },\r\n { label: \"Vietcombank\", value: \"VCB\", Currency: \"VND\", BankCode: \"VCB\", BankName: \"Vietcombank\" },\r\n { label: \"Vietnam International Bank\", value: \"VIB\", Currency: \"VND\", BankCode: \"VIB\", BankName: \"Vietnam International Bank\" },\r\n { label: \"VP Bank\", value: \"VPB\", Currency: \"VND\", BankCode: \"VPB\", BankName: \"VP Bank\" },\r\n { label: \"Vietinbank\", value: \"VTB\", Currency: \"VND\", BankCode: \"VTB\", BankName: \"Vietinbank\" },\r\n { label: \"Banco de Oro \", value: \"BDO\", Currency: \"PHP\", BankCode: \"BDO\", BankName: \"Banco de Oro \" },\r\n { label: \"Bank of the Philippine Islands\", value: \"BPI\", Currency: \"PHP\", BankCode: \"BPI\", BankName: \"Bank of the Philippine Islands\" },\r\n { label: \"Land Bank of the Philippines\", value: \"LBP\", Currency: \"PHP\", BankCode: \"LBP\", BankName: \"Land Bank of the Philippines\" },\r\n { label: \"MetroBank\", value: \"MTB\", Currency: \"PHP\", BankCode: \"MTB\", BankName: \"MetroBank\" },\r\n { label: \"Rizal Commercial Banking Corporation\", value: \"RCBC\", Currency: \"PHP\", BankCode: \"RCBC\", BankName: \"Rizal Commercial Banking Corporation\" },\r\n { label: \"Security Bank Corporation\", value: \"SBC\", Currency: \"PHP\", BankCode: \"SBC\", BankName: \"Security Bank Corporation\" },\r\n { label: \"Promptpay\", value: \"PPTP\", Currency: \"THB\", BankCode: \"PPTP\", BankName: \"Promptpay\" },\r\n];\r\n//#endregion \r\nexport const CHIMARA_ACCOUNT_TYPE_GROUPS = [\r\n { value: \"AMA\", label: \"AMA\" },\r\n { value: \"EVAL\", label: \"EVAL\" },\r\n { value: \"PLUS\", label: \"PLUS\" },\r\n];\r\nexport function ReturnImageName() {\r\n if (CheckIfCompanyIs(\"Icon\")) {\r\n return `Logo_ICONFX.png`\r\n }\r\n if (CheckIfCompanyIs(\"Malfex\")) {\r\n return `Maleyat_Table_NoData.png`\r\n }\r\n if (CheckIfCompanyIs(\"XAMarkets\")) {\r\n return `NoData_XAMarkets.png`\r\n }\r\n if (CheckIfCompanyIs(\"Chimara\")) {\r\n return `Chimara_Table_NoData.png`\r\n }\r\n if (CheckIfCompanyIs(\"PureNorth\")) {\r\n return `Empty-PureNorth-NoData.png`\r\n }\r\n if (CheckIfCompanyIs(\"FXOpulence\"))\r\n return \"Main-NoData-FXOpulence.png\";\r\n return \"NoData.png\";\r\n}\r\nexport const BIGPAY_BANK_NAMES = [\r\n { label: \"VIETCOMBANK\", value: \"VIETCOMBANK\" },\r\n { label: \"ACB\", value: \"ACB\" },\r\n { label: \"TECHCOMBANK\", value: \"TECHCOMBANK\" },\r\n { label: \"MB\", value: \"MB\" },\r\n];\r\nexport const CAPITAL_WALLET_CURRENCIES = [\r\n {\r\n \"label\": \"USDT-TRC20\",\r\n \"value\": \"TRXUSDT\",\r\n \"keyType\": \"TRC20\"\r\n },\r\n {\r\n \"label\": \"USDT-ERC20\",\r\n \"value\": \"USDT\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n {\r\n \"label\": \"USDC-TRC20\",\r\n \"value\": \"TRXUSDC\",\r\n \"keyType\": \"TRC20\"\r\n },\r\n {\r\n \"label\": \"USDC-ERC20\",\r\n \"value\": \"USDC\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n {\r\n \"label\": \"BitcoinCash\",\r\n \"value\": \"BCH\",\r\n \"keyType\": \"\"\r\n },\r\n {\r\n \"label\": \"Bitcoin\",\r\n \"value\": \"BTC\",\r\n \"keyType\": \"\"\r\n },\r\n {\r\n \"label\": \"Ethereum\",\r\n \"value\": \"ETH\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n {\r\n \"label\": \"Dogecoin\",\r\n \"value\": \"DOGE\",\r\n \"keyType\": \"\"\r\n },\r\n {\r\n \"label\": \"MaticToken\",\r\n \"value\": \"MATIC\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n {\r\n \"label\": \"TRON\",\r\n \"value\": \"TRX\",\r\n \"keyType\": \"\"\r\n },\r\n {\r\n \"label\": \"BinanceUSD\",\r\n \"value\": \"BUSD\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n {\r\n \"label\": \"Litecoin\",\r\n \"value\": \"LTC\",\r\n \"keyType\": \"\"\r\n }\r\n];\r\nexport const CAPTIAL_WALLET_DICTIONARY: any = {\r\n \"TRXUSDT\": {\r\n \"label\": \"USDT-TRC20\",\r\n \"value\": \"TRXUSDT\",\r\n \"keyType\": \"TRC20\"\r\n },\r\n \"USDT\": {\r\n \"label\": \"USDT-ERC20\",\r\n \"value\": \"USDT\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n \"TRXUSDC\": {\r\n \"label\": \"USDC-TRC20\",\r\n \"value\": \"TRXUSDC\",\r\n \"keyType\": \"TRC20\"\r\n },\r\n \"USDC\": {\r\n \"label\": \"USDC-ERC20\",\r\n \"value\": \"USDC\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n \"BCH\": {\r\n \"label\": \"BitcoinCash\",\r\n \"value\": \"BCH\",\r\n \"keyType\": \"\"\r\n },\r\n \"BTC\": {\r\n \"label\": \"Bitcoin\",\r\n \"value\": \"BTC\",\r\n \"keyType\": \"\"\r\n },\r\n \"ETH\": {\r\n \"label\": \"Ethereum\",\r\n \"value\": \"ETH\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n \"DOGE\": {\r\n \"label\": \"Dogecoin\",\r\n \"value\": \"DOGE\",\r\n \"keyType\": \"\"\r\n },\r\n \"MATIC\": {\r\n \"label\": \"MaticToken\",\r\n \"value\": \"MATIC\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n \"TRX\": {\r\n \"label\": \"TRON\",\r\n \"value\": \"TRX\",\r\n \"keyType\": \"\"\r\n },\r\n \"BUSD\": {\r\n \"label\": \"BinanceUSD\",\r\n \"value\": \"BUSD\",\r\n \"keyType\": \"ERC20\"\r\n },\r\n \"LTC\": {\r\n \"label\": \"Litecoin\",\r\n \"value\": \"LTC\",\r\n \"keyType\": \"\"\r\n }\r\n};\r\nexport const OZOW_WITHDRAWAL_BANKS = [\r\n {\r\n \"value\": \"42f71bf8-0e09-43d5-a6eb-4f7370cb5b20\",\r\n \"label\": \"Cash Vouchers\",\r\n \"universalBranchCode\": null\r\n },\r\n {\r\n \"value\": \"155ace7d-eb87-481e-94be-a185215afd48\",\r\n \"label\": \"Direct Deposit\",\r\n \"universalBranchCode\": null\r\n },\r\n {\r\n \"value\": \"c296d0d8-ad0b-43b4-96c2-de30ad039561\",\r\n \"label\": \"Standard Chartered Bank\",\r\n \"universalBranchCode\": \"730020\"\r\n },\r\n {\r\n \"value\": \"3284a0ad-ba78-4838-8c2b-102981286a2b\",\r\n \"label\": \"ABSA\",\r\n \"universalBranchCode\": \"632005\"\r\n },\r\n {\r\n \"value\": \"33a0840b-0cf4-4b8c-86e0-ec6c4be8c60e\",\r\n \"label\": \"African Bank\",\r\n \"universalBranchCode\": \"430000\"\r\n },\r\n {\r\n \"value\": \"44356c06-1081-4ced-8669-760cf3165712\",\r\n \"label\": \"Albaraka Bank\",\r\n \"universalBranchCode\": \"800000\"\r\n },\r\n {\r\n \"value\": \"8d77e501-5990-4cd1-bb08-3d3fe402fb20\",\r\n \"label\": \"BankOfAthens\",\r\n \"universalBranchCode\": \"410506\"\r\n },\r\n {\r\n \"value\": \"29c5ee92-46ec-4879-8ad9-5cd3f5502727\",\r\n \"label\": \"Bidvest Bank\",\r\n \"universalBranchCode\": \"462005\"\r\n },\r\n {\r\n \"value\": \"913999fa-3a32-4e3d-82f0-a1df7e9e4f7b\",\r\n \"label\": \"Capitec Bank\",\r\n \"universalBranchCode\": \"470010\"\r\n },\r\n {\r\n \"value\": \"7fc2d14c-5021-497d-a73e-1788d6ce3ff3\",\r\n \"label\": \"CitiBank\",\r\n \"universalBranchCode\": \"350005\"\r\n },\r\n {\r\n \"value\": \"b8f152a2-8bd2-46c4-930f-4cd5b2b37ef9\",\r\n \"label\": \"Discovery Bank\",\r\n \"universalBranchCode\": \"679000\"\r\n },\r\n {\r\n \"value\": \"4816019c-3314-4c80-8b6b-b2cd16dcc4ec\",\r\n \"label\": \"FNB\",\r\n \"universalBranchCode\": \"250655\"\r\n },\r\n {\r\n \"value\": \"2c7bbd14-cd96-4b4f-96f9-ad9ba228366d\",\r\n \"label\": \"HSBC Bank\",\r\n \"universalBranchCode\": \"587000\"\r\n },\r\n {\r\n \"value\": \"4b45be85-b616-4bd1-9027-f8fcf8f9af7b\",\r\n \"label\": \"Investec\",\r\n \"universalBranchCode\": \"580105\"\r\n },\r\n {\r\n \"value\": \"9e1917ad-29d1-4d11-80b5-0f6c33ae1083\",\r\n \"label\": \"Mercantile Bank\",\r\n \"universalBranchCode\": \"450105\"\r\n },\r\n {\r\n \"value\": \"bf0561fd-4203-4a0c-9174-cb26fcd87a60\",\r\n \"label\": \"Nedbank\",\r\n \"universalBranchCode\": \"198765\"\r\n },\r\n {\r\n \"value\": \"c36c2423-8a06-4393-bf2d-f5da82d67bc7\",\r\n \"label\": \"Olympus Mobile\",\r\n \"universalBranchCode\": \"585001\"\r\n },\r\n {\r\n \"value\": \"cc08d678-09cb-49c8-bcd8-2ec9e3bd0a82\",\r\n \"label\": \"RMB\",\r\n \"universalBranchCode\": \"250655\"\r\n },\r\n {\r\n \"value\": \"54a18018-a9fe-4adb-b752-38004ed735d6\",\r\n \"label\": \"Sasfin Bank\",\r\n \"universalBranchCode\": \"683000\"\r\n },\r\n {\r\n \"value\": \"ad7d8da4-1723-4066-94bb-6662d845e483\",\r\n \"label\": \"Standard Bank\",\r\n \"universalBranchCode\": \"051001\"\r\n },\r\n {\r\n \"value\": \"28fcc8fa-985b-480b-82fd-7d09bc19c9d0\",\r\n \"label\": \"TymeBank\",\r\n \"universalBranchCode\": \"678910\"\r\n },\r\n {\r\n \"value\": \"8ff9fbc7-9e14-47bc-8d91-cbc81cf131e9\",\r\n \"label\": \"Ubank Limited\",\r\n \"universalBranchCode\": \"431010\"\r\n }\r\n];\r\nexport function validateCardExpiration(expirationDate: string) {\r\n if (!expirationDate) return false;\r\n let regex = /^(0[1-9]|1[0-2])\\/\\d{2}$/; // Regular expression for MM/YY format\r\n return regex.test(expirationDate);\r\n}\r\nexport const OZOW_WITHDRAWAL_BANKS_DICT: any = {\r\n \"42f71bf8-0e09-43d5-a6eb-4f7370cb5b20\": {\r\n \"value\": \"42f71bf8-0e09-43d5-a6eb-4f7370cb5b20\",\r\n \"label\": \"Cash Vouchers\",\r\n \"universalBranchCode\": null\r\n },\r\n \"155ace7d-eb87-481e-94be-a185215afd48\": {\r\n \"value\": \"155ace7d-eb87-481e-94be-a185215afd48\",\r\n \"label\": \"Direct Deposit\",\r\n \"universalBranchCode\": null\r\n },\r\n \"c296d0d8-ad0b-43b4-96c2-de30ad039561\": {\r\n \"value\": \"c296d0d8-ad0b-43b4-96c2-de30ad039561\",\r\n \"label\": \"Standard Chartered Bank\",\r\n \"universalBranchCode\": \"730020\"\r\n },\r\n \"3284a0ad-ba78-4838-8c2b-102981286a2b\": {\r\n \"value\": \"3284a0ad-ba78-4838-8c2b-102981286a2b\",\r\n \"label\": \"ABSA\",\r\n \"universalBranchCode\": \"632005\"\r\n },\r\n \"33a0840b-0cf4-4b8c-86e0-ec6c4be8c60e\": {\r\n \"value\": \"33a0840b-0cf4-4b8c-86e0-ec6c4be8c60e\",\r\n \"label\": \"African Bank\",\r\n \"universalBranchCode\": \"430000\"\r\n },\r\n \"44356c06-1081-4ced-8669-760cf3165712\": {\r\n \"value\": \"44356c06-1081-4ced-8669-760cf3165712\",\r\n \"label\": \"Albaraka Bank\",\r\n \"universalBranchCode\": \"800000\"\r\n },\r\n \"8d77e501-5990-4cd1-bb08-3d3fe402fb20\": {\r\n \"value\": \"8d77e501-5990-4cd1-bb08-3d3fe402fb20\",\r\n \"label\": \"BankOfAthens\",\r\n \"universalBranchCode\": \"410506\"\r\n },\r\n \"29c5ee92-46ec-4879-8ad9-5cd3f5502727\": {\r\n \"value\": \"29c5ee92-46ec-4879-8ad9-5cd3f5502727\",\r\n \"label\": \"Bidvest Bank\",\r\n \"universalBranchCode\": \"462005\"\r\n },\r\n \"913999fa-3a32-4e3d-82f0-a1df7e9e4f7b\": {\r\n \"value\": \"913999fa-3a32-4e3d-82f0-a1df7e9e4f7b\",\r\n \"label\": \"Capitec Bank\",\r\n \"universalBranchCode\": \"470010\"\r\n },\r\n \"7fc2d14c-5021-497d-a73e-1788d6ce3ff3\": {\r\n \"value\": \"7fc2d14c-5021-497d-a73e-1788d6ce3ff3\",\r\n \"label\": \"CitiBank\",\r\n \"universalBranchCode\": \"350005\"\r\n },\r\n \"b8f152a2-8bd2-46c4-930f-4cd5b2b37ef9\": {\r\n \"value\": \"b8f152a2-8bd2-46c4-930f-4cd5b2b37ef9\",\r\n \"label\": \"Discovery Bank\",\r\n \"universalBranchCode\": \"679000\"\r\n },\r\n \"4816019c-3314-4c80-8b6b-b2cd16dcc4ec\": {\r\n \"value\": \"4816019c-3314-4c80-8b6b-b2cd16dcc4ec\",\r\n \"label\": \"FNB\",\r\n \"universalBranchCode\": \"250655\"\r\n },\r\n \"2c7bbd14-cd96-4b4f-96f9-ad9ba228366d\": {\r\n \"value\": \"2c7bbd14-cd96-4b4f-96f9-ad9ba228366d\",\r\n \"label\": \"HSBC Bank\",\r\n \"universalBranchCode\": \"587000\"\r\n },\r\n \"4b45be85-b616-4bd1-9027-f8fcf8f9af7b\": {\r\n \"value\": \"4b45be85-b616-4bd1-9027-f8fcf8f9af7b\",\r\n \"label\": \"Investec\",\r\n \"universalBranchCode\": \"580105\"\r\n },\r\n \"9e1917ad-29d1-4d11-80b5-0f6c33ae1083\": {\r\n \"value\": \"9e1917ad-29d1-4d11-80b5-0f6c33ae1083\",\r\n \"label\": \"Mercantile Bank\",\r\n \"universalBranchCode\": \"450105\"\r\n },\r\n \"bf0561fd-4203-4a0c-9174-cb26fcd87a60\": {\r\n \"value\": \"bf0561fd-4203-4a0c-9174-cb26fcd87a60\",\r\n \"label\": \"Nedbank\",\r\n \"universalBranchCode\": \"198765\"\r\n },\r\n \"c36c2423-8a06-4393-bf2d-f5da82d67bc7\": {\r\n \"value\": \"c36c2423-8a06-4393-bf2d-f5da82d67bc7\",\r\n \"label\": \"Olympus Mobile\",\r\n \"universalBranchCode\": \"585001\"\r\n },\r\n \"cc08d678-09cb-49c8-bcd8-2ec9e3bd0a82\": {\r\n \"value\": \"cc08d678-09cb-49c8-bcd8-2ec9e3bd0a82\",\r\n \"label\": \"RMB\",\r\n \"universalBranchCode\": \"250655\"\r\n },\r\n \"54a18018-a9fe-4adb-b752-38004ed735d6\": {\r\n \"value\": \"54a18018-a9fe-4adb-b752-38004ed735d6\",\r\n \"label\": \"Sasfin Bank\",\r\n \"universalBranchCode\": \"683000\"\r\n },\r\n \"ad7d8da4-1723-4066-94bb-6662d845e483\": {\r\n \"value\": \"ad7d8da4-1723-4066-94bb-6662d845e483\",\r\n \"label\": \"Standard Bank\",\r\n \"universalBranchCode\": \"051001\"\r\n },\r\n \"28fcc8fa-985b-480b-82fd-7d09bc19c9d0\": {\r\n \"value\": \"28fcc8fa-985b-480b-82fd-7d09bc19c9d0\",\r\n \"label\": \"TymeBank\",\r\n \"universalBranchCode\": \"678910\"\r\n },\r\n \"8ff9fbc7-9e14-47bc-8d91-cbc81cf131e9\": {\r\n \"value\": \"8ff9fbc7-9e14-47bc-8d91-cbc81cf131e9\",\r\n \"label\": \"Ubank Limited\",\r\n \"universalBranchCode\": \"431010\"\r\n }\r\n};\r\nexport const BRIDGER_PAYMENT_OPERATOR_CODE_OPTIONS: any[] = [\r\n { label: \"CN_ABC (Agricultural Bank of China)\", value: \"CN_ABC (Agricultural Bank of China)\", BankCode: \"CN_ABC\", BankName: \"Agricultural Bank of China\" },\r\n { label: \"CN_BCOM (Bank of Communications)\", value: \"CN_BCOM (Bank of Communications)\", BankCode: \"CN_BCOM\", BankName: \"Bank of Communications\" },\r\n { label: \"CN_BOC (Bank of China)\", value: \"CN_BOC (Bank of China)\", BankCode: \"CN_BOC\", BankName: \"Bank of China\" },\r\n { label: \"CN_CCB (China Construction Bank)\", value: \"CN_CCB (China Construction Bank)\", BankCode: \"CN_CCB\", BankName: \"China Construction Bank\" },\r\n { label: \"CN_CEB (China Everbright Bank)\", value: \"CN_CEB (China Everbright Bank)\", BankCode: \"CN_CEB\", BankName: \"China Everbright Bank\" },\r\n { label: \"CN_CGB (China Guangfa Bank)\", value: \"CN_CGB (China Guangfa Bank)\", BankCode: \"CN_CGB\", BankName: \"China Guangfa Bank\" },\r\n { label: \"CN_CIB (China Industrial Bank)\", value: \"CN_CIB (China Industrial Bank)\", BankCode: \"CN_CIB\", BankName: \"China Industrial Bank\" },\r\n { label: \"CN_CITIC (China CITIC Bank)\", value: \"CN_CITIC (China CITIC Bank)\", BankCode: \"CN_CITIC\", BankName: \"China CITIC Bank\" },\r\n { label: \"CN_CMB (China Merchants Bank)\", value: \"CN_CMB (China Merchants Bank)\", BankCode: \"CN_CMB\", BankName: \"China Merchants Bank\" },\r\n { label: \"CN_CMBC (China Minsheng Bank)\", value: \"CN_CMBC (China Minsheng Bank)\", BankCode: \"CN_CMBC\", BankName: \"China Minsheng Bank\" },\r\n { label: \"CN_ICBC (Industrial and Commercial Bank of China)\", value: \"CN_ICBC (Industrial and Commercial Bank of China)\", BankCode: \"CN_ICBC\", BankName: \"Industrial and Commercial Bank of China\" },\r\n { label: \"CN_PAB (Ping An Bank)\", value: \"CN_PAB (Ping An Bank)\", BankCode: \"CN_PAB\", BankName: \"Ping An Bank\" },\r\n { label: \"CN_PSBC (Postal Savings Bank of China)\", value: \"CN_PSBC (Postal Savings Bank of China)\", BankCode: \"CN_PSBC\", BankName: \"Postal Savings Bank of China\" },\r\n { label: \"CN_SPDB (Shanghai Pudong Development Bank)\", value: \"CN_SPDB (Shanghai Pudong Development Bank)\", BankCode: \"CN_SPDB\", BankName: \"Shanghai Pudong Development Bank\" },\r\n { label: \"IDR_002 (Bank Rakyat Indonesia (BRI))\", value: \"IDR_002 (Bank Rakyat Indonesia (BRI))\", BankCode: \"IDR_002\", BankName: \"Bank Rakyat Indonesia (BRI)\" },\r\n { label: \"IDR_003 (Bank Ekspor Indonesia)\", value: \"IDR_003 (Bank Ekspor Indonesia)\", BankCode: \"IDR_003\", BankName: \"Bank Ekspor Indonesia\" },\r\n { label: \"IDR_008 (Bank Mandiri)\", value: \"IDR_008 (Bank Mandiri)\", BankCode: \"IDR_008\", BankName: \"Bank Mandiri\" },\r\n { label: \"IDR_009 (Bank Negara Indonesia (BNI))\", value: \"IDR_009 (Bank Negara Indonesia (BNI))\", BankCode: \"IDR_009\", BankName: \"Bank Negara Indonesia (BNI)\" },\r\n { label: \"IDR_011 (Bank Danamon)\", value: \"IDR_011 (Bank Danamon)\", BankCode: \"IDR_011\", BankName: \"Bank Danamon\" },\r\n { label: \"IDR_013 (Bank Permata)\", value: \"IDR_013 (Bank Permata)\", BankCode: \"IDR_013\", BankName: \"Bank Permata\" },\r\n { label: \"IDR_014 (Bank Central Asia (BCA))\", value: \"IDR_014 (Bank Central Asia (BCA))\", BankCode: \"IDR_014\", BankName: \"Bank Central Asia (BCA)\" },\r\n { label: \"IDR_016 (Maybank Indonesia)\", value: \"IDR_016 (Maybank Indonesia)\", BankCode: \"IDR_016\", BankName: \"Maybank Indonesia\" },\r\n { label: \"IDR_019 (Bank Panin)\", value: \"IDR_019 (Bank Panin)\", BankCode: \"IDR_019\", BankName: \"Bank Panin\" },\r\n { label: \"IDR_020 (Bank Arta Niaga Kencana)\", value: \"IDR_020 (Bank Arta Niaga Kencana)\", BankCode: \"IDR_020\", BankName: \"Bank Arta Niaga Kencana\" },\r\n { label: \"IDR_022 (Bank CIMB Niaga)\", value: \"IDR_022 (Bank CIMB Niaga)\", BankCode: \"IDR_022\", BankName: \"Bank CIMB Niaga\" },\r\n { label: \"IDR_023 (Bank UOB Indonesia / Bank Buana Indonesia)\", value: \"IDR_023 (Bank UOB Indonesia / Bank Buana Indonesia)\", BankCode: \"IDR_023\", BankName: \"Bank UOB Indonesia / Bank Buana Indonesia\" },\r\n { label: \"IDR_026 (Bank Lippo)\", value: \"IDR_026 (Bank Lippo)\", BankCode: \"IDR_026\", BankName: \"Bank Lippo\" },\r\n { label: \"IDR_028 (Bank OCBC NISP)\", value: \"IDR_028 (Bank OCBC NISP)\", BankCode: \"IDR_028\", BankName: \"Bank OCBC NISP\" },\r\n { label: \"IDR_030 (American Express Bank LTD)\", value: \"IDR_030 (American Express Bank LTD)\", BankCode: \"IDR_030\", BankName: \"American Express Bank LTD\" },\r\n { label: \"IDR_031 (Citibank Indonesia)\", value: \"IDR_031 (Citibank Indonesia)\", BankCode: \"IDR_031\", BankName: \"Citibank Indonesia\" },\r\n { label: \"IDR_032 (JP Morgan Chase Bank N.A.)\", value: \"IDR_032 (JP Morgan Chase Bank N.A.)\", BankCode: \"IDR_032\", BankName: \"JP Morgan Chase Bank N.A.\" },\r\n { label: \"IDR_033 (Bank of America N.A.)\", value: \"IDR_033 (Bank of America N.A.)\", BankCode: \"IDR_033\", BankName: \"Bank of America N.A.\" },\r\n { label: \"IDR_034 (ING Indonesia Bank)\", value: \"IDR_034 (ING Indonesia Bank)\", BankCode: \"IDR_034\", BankName: \"ING Indonesia Bank\" },\r\n { label: \"IDR_036 (Bank Multicor / Bank CCB Indonesia)\", value: \"IDR_036 (Bank Multicor / Bank CCB Indonesia)\", BankCode: \"IDR_036\", BankName: \"Bank Multicor / Bank CCB Indonesia\" },\r\n { label: \"IDR_037 (Bank Artha Graha Internasional)\", value: \"IDR_037 (Bank Artha Graha Internasional)\", BankCode: \"IDR_037\", BankName: \"Bank Artha Graha Internasional\" },\r\n { label: \"IDR_039 (Bank Credit Agricole Indosuez)\", value: \"IDR_039 (Bank Credit Agricole Indosuez)\", BankCode: \"IDR_039\", BankName: \"Bank Credit Agricole Indosuez\" },\r\n { label: \"IDR_040 (Bangkok Bank)\", value: \"IDR_040 (Bangkok Bank)\", BankCode: \"IDR_040\", BankName: \"Bangkok Bank\" },\r\n { label: \"IDR_041 (Bank HSBC Indonesia)\", value: \"IDR_041 (Bank HSBC Indonesia)\", BankCode: \"IDR_041\", BankName: \"Bank HSBC Indonesia\" },\r\n { label: \"IDR_042 (Bank of Tokyo/MUFG Bank/Mitsubishi UFJ LTD)\", value: \"IDR_042 (Bank of Tokyo/MUFG Bank/Mitsubishi UFJ LTD)\", BankCode: \"IDR_042\", BankName: \"Bank of Tokyo/MUFG Bank/Mitsubishi UFJ LTD\" },\r\n { label: \"IDR_045 (Bank Sumitomo Mitsui Indonesia)\", value: \"IDR_045 (Bank Sumitomo Mitsui Indonesia)\", BankCode: \"IDR_045\", BankName: \"Bank Sumitomo Mitsui Indonesia\" },\r\n { label: \"IDR_046 (Bank DBS Indonesia)\", value: \"IDR_046 (Bank DBS Indonesia)\", BankCode: \"IDR_046\", BankName: \"Bank DBS Indonesia\" },\r\n { label: \"IDR_047 (Bank Resona Perdania)\", value: \"IDR_047 (Bank Resona Perdania)\", BankCode: \"IDR_047\", BankName: \"Bank Resona Perdania\" },\r\n { label: \"IDR_048 (Bank Mizuho Indonesia)\", value: \"IDR_048 (Bank Mizuho Indonesia)\", BankCode: \"IDR_048\", BankName: \"Bank Mizuho Indonesia\" },\r\n { label: \"IDR_050 (Standard Chartered Bank)\", value: \"IDR_050 (Standard Chartered Bank)\", BankCode: \"IDR_050\", BankName: \"Standard Chartered Bank\" },\r\n { label: \"IDR_052 (Bank ABN Amro)\", value: \"IDR_052 (Bank ABN Amro)\", BankCode: \"IDR_052\", BankName: \"Bank ABN Amro\" },\r\n { label: \"IDR_053 (Bank Keppel Tatlee Buana)\", value: \"IDR_053 (Bank Keppel Tatlee Buana)\", BankCode: \"IDR_053\", BankName: \"Bank Keppel Tatlee Buana\" },\r\n { label: \"IDR_054 (Bank Capital Indonesia)\", value: \"IDR_054 (Bank Capital Indonesia)\", BankCode: \"IDR_054\", BankName: \"Bank Capital Indonesia\" },\r\n { label: \"IDR_057 (Bank BNP Paribas Indonesia)\", value: \"IDR_057 (Bank BNP Paribas Indonesia)\", BankCode: \"IDR_057\", BankName: \"Bank BNP Paribas Indonesia\" },\r\n { label: \"IDR_059 (Korea Exchange Bank Danamon)\", value: \"IDR_059 (Korea Exchange Bank Danamon)\", BankCode: \"IDR_059\", BankName: \"Korea Exchange Bank Danamon\" },\r\n { label: \"IDR_060 (Bank Rabobank International Indonesia)\", value: \"IDR_060 (Bank Rabobank International Indonesia)\", BankCode: \"IDR_060\", BankName: \"Bank Rabobank International Indonesia\" },\r\n { label: \"IDR_061 (Bank ANZ Indonesia)\", value: \"IDR_061 (Bank ANZ Indonesia)\", BankCode: \"IDR_061\", BankName: \"Bank ANZ Indonesia\" },\r\n { label: \"IDR_067 (Deutsche Bank)\", value: \"IDR_067 (Deutsche Bank)\", BankCode: \"IDR_067\", BankName: \"Deutsche Bank\" },\r\n { label: \"IDR_068 (Bank Woori Saudara)\", value: \"IDR_068 (Bank Woori Saudara)\", BankCode: \"IDR_068\", BankName: \"Bank Woori Saudara\" },\r\n { label: \"IDR_069 (Bank of China)\", value: \"IDR_069 (Bank of China)\", BankCode: \"IDR_069\", BankName: \"Bank of China\" },\r\n { label: \"IDR_076 (Bank Bumi Arta)\", value: \"IDR_076 (Bank Bumi Arta)\", BankCode: \"IDR_076\", BankName: \"Bank Bumi Arta\" },\r\n { label: \"IDR_087 (Bank Ekonomi Raharja)\", value: \"IDR_087 (Bank Ekonomi Raharja)\", BankCode: \"IDR_087\", BankName: \"Bank Ekonomi Raharja\" },\r\n { label: \"IDR_088 (Bank Antardaerah)\", value: \"IDR_088 (Bank Antardaerah)\", BankCode: \"IDR_088\", BankName: \"Bank Antardaerah\" },\r\n { label: \"IDR_089 (Bank Haga)\", value: \"IDR_089 (Bank Haga)\", BankCode: \"IDR_089\", BankName: \"Bank Haga\" },\r\n { label: \"IDR_093 (Bank IFI)\", value: \"IDR_093 (Bank IFI)\", BankCode: \"IDR_093\", BankName: \"Bank IFI\" },\r\n { label: \"IDR_095 (J Trust Bank / Bank Jtrust Indonesia)\", value: \"IDR_095 (J Trust Bank / Bank Jtrust Indonesia)\", BankCode: \"IDR_095\", BankName: \"J Trust Bank / Bank Jtrust Indonesia\" },\r\n { label: \"IDR_097 (Bank Mayapada)\", value: \"IDR_097 (Bank Mayapada)\", BankCode: \"IDR_097\", BankName: \"Bank Mayapada\" },\r\n { label: \"IDR_110 (Bank Jabar / Bank BJB)\", value: \"IDR_110 (Bank Jabar / Bank BJB)\", BankCode: \"IDR_110\", BankName: \"Bank Jabar / Bank BJB\" },\r\n { label: \"IDR_111 (Bank DKI)\", value: \"IDR_111 (Bank DKI)\", BankCode: \"IDR_111\", BankName: \"Bank DKI\" },\r\n { label: \"IDR_112 (BPD Daerah Istimewa Yogyakarta (DIY))\", value: \"IDR_112 (BPD Daerah Istimewa Yogyakarta (DIY))\", BankCode: \"IDR_112\", BankName: \"BPD Daerah Istimewa Yogyakarta (DIY)\" },\r\n { label: \"IDR_113 (BPD Jawa Tengah)\", value: \"IDR_113 (BPD Jawa Tengah)\", BankCode: \"IDR_113\", BankName: \"BPD Jawa Tengah\" },\r\n { label: \"IDR_114 (BPD Jawa Timur)\", value: \"IDR_114 (BPD Jawa Timur)\", BankCode: \"IDR_114\", BankName: \"BPD Jawa Timur\" },\r\n { label: \"IDR_115 (BPD Jambi UUS)\", value: \"IDR_115 (BPD Jambi UUS)\", BankCode: \"IDR_115\", BankName: \"BPD Jambi UUS\" },\r\n { label: \"IDR_116 (Bank Aceh Syariah)\", value: \"IDR_116 (Bank Aceh Syariah)\", BankCode: \"IDR_116\", BankName: \"Bank Aceh Syariah\" },\r\n { label: \"IDR_117 (BPD Sumatra Utara)\", value: \"IDR_117 (BPD Sumatra Utara)\", BankCode: \"IDR_117\", BankName: \"BPD Sumatra Utara\" },\r\n { label: \"IDR_118 (Bank Nagari / Bank Sumbar)\", value: \"IDR_118 (Bank Nagari / Bank Sumbar)\", BankCode: \"IDR_118\", BankName: \"Bank Nagari / Bank Sumbar\" },\r\n { label: \"IDR_119 (BPD Riau Dan Kepri)\", value: \"IDR_119 (BPD Riau Dan Kepri)\", BankCode: \"IDR_119\", BankName: \"BPD Riau Dan Kepri\" },\r\n { label: \"IDR_120 (BPD Sumsel Dan Babel)\", value: \"IDR_120 (BPD Sumsel Dan Babel)\", BankCode: \"IDR_120\", BankName: \"BPD Sumsel Dan Babel\" },\r\n { label: \"IDR_121 (BPD Lampung)\", value: \"IDR_121 (BPD Lampung)\", BankCode: \"IDR_121\", BankName: \"BPD Lampung\" },\r\n { label: \"IDR_122 (BPD Kalimantan Selatan)\", value: \"IDR_122 (BPD Kalimantan Selatan)\", BankCode: \"IDR_122\", BankName: \"BPD Kalimantan Selatan\" },\r\n { label: \"IDR_123 (BPD Kalimantan Barat)\", value: \"IDR_123 (BPD Kalimantan Barat)\", BankCode: \"IDR_123\", BankName: \"BPD Kalimantan Barat\" },\r\n { label: \"IDR_124 (BPD Kalimantan Timur)\", value: \"IDR_124 (BPD Kalimantan Timur)\", BankCode: \"IDR_124\", BankName: \"BPD Kalimantan Timur\" },\r\n { label: \"IDR_125 (BPD Kalimantan Tengah)\", value: \"IDR_125 (BPD Kalimantan Tengah)\", BankCode: \"IDR_125\", BankName: \"BPD Kalimantan Tengah\" },\r\n { label: \"IDR_126 (Bank Sulawesi Selatan Dan Barat)\", value: \"IDR_126 (Bank Sulawesi Selatan Dan Barat)\", BankCode: \"IDR_126\", BankName: \"Bank Sulawesi Selatan Dan Barat\" },\r\n { label: \"IDR_127 (Bank Sulawesi Utara Dan Gorontalo)\", value: \"IDR_127 (Bank Sulawesi Utara Dan Gorontalo)\", BankCode: \"IDR_127\", BankName: \"Bank Sulawesi Utara Dan Gorontalo\" },\r\n { label: \"IDR_128 (BPD Nusa Tenggara Barat)\", value: \"IDR_128 (BPD Nusa Tenggara Barat)\", BankCode: \"IDR_128\", BankName: \"BPD Nusa Tenggara Barat\" },\r\n { label: \"IDR_129 (BPD Bali)\", value: \"IDR_129 (BPD Bali)\", BankCode: \"IDR_129\", BankName: \"BPD Bali\" },\r\n { label: \"IDR_130 (BPD Nusa Tenggara Timur)\", value: \"IDR_130 (BPD Nusa Tenggara Timur)\", BankCode: \"IDR_130\", BankName: \"BPD Nusa Tenggara Timur\" },\r\n { label: \"IDR_131 (Bank Maluku Malut)\", value: \"IDR_131 (Bank Maluku Malut)\", BankCode: \"IDR_131\", BankName: \"Bank Maluku Malut\" },\r\n { label: \"IDR_132 (Bank Papua)\", value: \"IDR_132 (Bank Papua)\", BankCode: \"IDR_132\", BankName: \"Bank Papua\" },\r\n { label: \"IDR_133 (BPD Bengkulu)\", value: \"IDR_133 (BPD Bengkulu)\", BankCode: \"IDR_133\", BankName: \"BPD Bengkulu\" },\r\n { label: \"IDR_134 (BPD Sulawesi Tengah)\", value: \"IDR_134 (BPD Sulawesi Tengah)\", BankCode: \"IDR_134\", BankName: \"BPD Sulawesi Tengah\" },\r\n { label: \"IDR_135 (BPD Sulawesi Tenggara)\", value: \"IDR_135 (BPD Sulawesi Tenggara)\", BankCode: \"IDR_135\", BankName: \"BPD Sulawesi Tenggara\" },\r\n { label: \"IDR_137 (BPD Banten)\", value: \"IDR_137 (BPD Banten)\", BankCode: \"IDR_137\", BankName: \"BPD Banten\" },\r\n { label: \"IDR_145 (Bank Nusantara Parahyangan / BNP)\", value: \"IDR_145 (Bank Nusantara Parahyangan / BNP)\", BankCode: \"IDR_145\", BankName: \"Bank Nusantara Parahyangan / BNP\" },\r\n { label: \"IDR_146 (Bank Swadesi (Bank of India Indonesia))\", value: \"IDR_146 (Bank Swadesi (Bank of India Indonesia))\", BankCode: \"IDR_146\", BankName: \"Bank Swadesi (Bank of India Indonesia)\" },\r\n { label: \"IDR_147 (Bank Muamalat Indonesia)\", value: \"IDR_147 (Bank Muamalat Indonesia)\", BankCode: \"IDR_147\", BankName: \"Bank Muamalat Indonesia\" },\r\n { label: \"IDR_151 (Bank Mestika Dharma)\", value: \"IDR_151 (Bank Mestika Dharma)\", BankCode: \"IDR_151\", BankName: \"Bank Mestika Dharma\" },\r\n { label: \"IDR_152 (Bank Metro Express / Shinhan)\", value: \"IDR_152 (Bank Metro Express / Shinhan)\", BankCode: \"IDR_152\", BankName: \"Bank Metro Express / Shinhan\" },\r\n { label: \"IDR_153 (Bank Sinarmas)\", value: \"IDR_153 (Bank Sinarmas)\", BankCode: \"IDR_153\", BankName: \"Bank Sinarmas\" },\r\n { label: \"IDR_157 (Bank Maspion Indonesia)\", value: \"IDR_157 (Bank Maspion Indonesia)\", BankCode: \"IDR_157\", BankName: \"Bank Maspion Indonesia\" },\r\n { label: \"IDR_159 (Bank Hagakita)\", value: \"IDR_159 (Bank Hagakita)\", BankCode: \"IDR_159\", BankName: \"Bank Hagakita\" },\r\n { label: \"IDR_161 (Bank Ganesha)\", value: \"IDR_161 (Bank Ganesha)\", BankCode: \"IDR_161\", BankName: \"Bank Ganesha\" },\r\n { label: \"IDR_162 (Bank of Windu Kentjana)\", value: \"IDR_162 (Bank of Windu Kentjana)\", BankCode: \"IDR_162\", BankName: \"Bank of Windu Kentjana\" },\r\n { label: \"IDR_164 (Bank ICBC Indonesia)\", value: \"IDR_164 (Bank ICBC Indonesia)\", BankCode: \"IDR_164\", BankName: \"Bank ICBC Indonesia\" },\r\n { label: \"IDR_166 (Bank Harmoni International)\", value: \"IDR_166 (Bank Harmoni International)\", BankCode: \"IDR_166\", BankName: \"Bank Harmoni International\" },\r\n { label: \"IDR_167 (Bank QNB Indonesia)\", value: \"IDR_167 (Bank QNB Indonesia)\", BankCode: \"IDR_167\", BankName: \"Bank QNB Indonesia\" },\r\n { label: \"IDR_200 (Bank BTN)\", value: \"IDR_200 (Bank BTN)\", BankCode: \"IDR_200\", BankName: \"Bank BTN\" },\r\n { label: \"IDR_212 (Bank Himpunan Saudara 1906)\", value: \"IDR_212 (Bank Himpunan Saudara 1906)\", BankCode: \"IDR_212\", BankName: \"Bank Himpunan Saudara 1906\" },\r\n { label: \"IDR_213 (Bank BTPN)\", value: \"IDR_213 (Bank BTPN)\", BankCode: \"IDR_213\", BankName: \"Bank BTPN\" },\r\n { label: \"IDR_333 (Koperasi Intidana)\", value: \"IDR_333 (Koperasi Intidana)\", BankCode: \"IDR_333\", BankName: \"Koperasi Intidana\" },\r\n { label: \"IDR_405 (Bank Victoria Syariah / Bank Swaguna)\", value: \"IDR_405 (Bank Victoria Syariah / Bank Swaguna)\", BankCode: \"IDR_405\", BankName: \"Bank Victoria Syariah / Bank Swaguna\" },\r\n { label: \"IDR_422 (Bank BRI Syariah (BRIS))\", value: \"IDR_422 (Bank BRI Syariah (BRIS))\", BankCode: \"IDR_422\", BankName: \"Bank BRI Syariah (BRIS)\" },\r\n { label: \"IDR_425 (Bank BJB Syariah)\", value: \"IDR_425 (Bank BJB Syariah)\", BankCode: \"IDR_425\", BankName: \"Bank BJB Syariah\" },\r\n { label: \"IDR_426 (Bank Mega)\", value: \"IDR_426 (Bank Mega)\", BankCode: \"IDR_426\", BankName: \"Bank Mega\" },\r\n { label: \"IDR_427 (Bank BNI Syariah)\", value: \"IDR_427 (Bank BNI Syariah)\", BankCode: \"IDR_427\", BankName: \"Bank BNI Syariah\" },\r\n { label: \"IDR_441 (Bank Bukopin)\", value: \"IDR_441 (Bank Bukopin)\", BankCode: \"IDR_441\", BankName: \"Bank Bukopin\" },\r\n { label: \"IDR_451 (Bank Syariah Indonesia (BSI))\", value: \"IDR_451 (Bank Syariah Indonesia (BSI))\", BankCode: \"IDR_451\", BankName: \"Bank Syariah Indonesia (BSI)\" },\r\n { label: \"IDR_459 (Bank Bisnis Internasional)\", value: \"IDR_459 (Bank Bisnis Internasional)\", BankCode: \"IDR_459\", BankName: \"Bank Bisnis Internasional\" },\r\n { label: \"IDR_466 (Bank Sri Partha / Bank Andara)\", value: \"IDR_466 (Bank Sri Partha / Bank Andara)\", BankCode: \"IDR_466\", BankName: \"Bank Sri Partha / Bank Andara\" },\r\n { label: \"IDR_472 (Bank Jasa Jakarta)\", value: \"IDR_472 (Bank Jasa Jakarta)\", BankCode: \"IDR_472\", BankName: \"Bank Jasa Jakarta\" },\r\n { label: \"IDR_484 (Bank KEB Hana Indonesia / Bank Bintang Manunggal)\", value: \"IDR_484 (Bank KEB Hana Indonesia / Bank Bintang Manunggal)\", BankCode: \"IDR_484\", BankName: \"Bank KEB Hana Indonesia / Bank Bintang Manunggal\" },\r\n { label: \"IDR_485 (Bank MNC Internasional / Bank Bumiputera)\", value: \"IDR_485 (Bank MNC Internasional / Bank Bumiputera)\", BankCode: \"IDR_485\", BankName: \"Bank MNC Internasional / Bank Bumiputera\" },\r\n { label: \"IDR_490 (Bank Yudha Bhakti (BYB))\", value: \"IDR_490 (Bank Yudha Bhakti (BYB))\", BankCode: \"IDR_490\", BankName: \"Bank Yudha Bhakti (BYB)\" },\r\n { label: \"IDR_491 (Bank Mitra Niaga)\", value: \"IDR_491 (Bank Mitra Niaga)\", BankCode: \"IDR_491\", BankName: \"Bank Mitra Niaga\" },\r\n { label: \"IDR_494 (Bank Agroniaga / Bank BRI Agro Niaga)\", value: \"IDR_494 (Bank Agroniaga / Bank BRI Agro Niaga)\", BankCode: \"IDR_494\", BankName: \"Bank Agroniaga / Bank BRI Agro Niaga\" },\r\n { label: \"IDR_498 (Bank SBI Indonesia / Bank Indo Monex)\", value: \"IDR_498 (Bank SBI Indonesia / Bank Indo Monex)\", BankCode: \"IDR_498\", BankName: \"Bank SBI Indonesia / Bank Indo Monex\" },\r\n { label: \"IDR_503 (Bank National NOBU / Bank Alfindo)\", value: \"IDR_503 (Bank National NOBU / Bank Alfindo)\", BankCode: \"IDR_503\", BankName: \"Bank National NOBU / Bank Alfindo\" },\r\n { label: \"IDR_506 (Bank Mega Syariah)\", value: \"IDR_506 (Bank Mega Syariah)\", BankCode: \"IDR_506\", BankName: \"Bank Mega Syariah\" },\r\n { label: \"IDR_513 (Bank Ina Perdana)\", value: \"IDR_513 (Bank Ina Perdana)\", BankCode: \"IDR_513\", BankName: \"Bank Ina Perdana\" },\r\n { label: \"IDR_517 (Panin Dubai Syariah Bank / Bank Harfa)\", value: \"IDR_517 (Panin Dubai Syariah Bank / Bank Harfa)\", BankCode: \"IDR_517\", BankName: \"Panin Dubai Syariah Bank / Bank Harfa\" },\r\n { label: \"IDR_520 (Prima Master Bank)\", value: \"IDR_520 (Prima Master Bank)\", BankCode: \"IDR_520\", BankName: \"Prima Master Bank\" },\r\n { label: \"IDR_521 (Bank Syariah Bukopin)\", value: \"IDR_521 (Bank Syariah Bukopin)\", BankCode: \"IDR_521\", BankName: \"Bank Syariah Bukopin\" },\r\n { label: \"IDR_523 (Bank Sahabat Sampoerna)\", value: \"IDR_523 (Bank Sahabat Sampoerna)\", BankCode: \"IDR_523\", BankName: \"Bank Sahabat Sampoerna\" },\r\n { label: \"IDR_525 (Bank Barclays / Bank Akita)\", value: \"IDR_525 (Bank Barclays / Bank Akita)\", BankCode: \"IDR_525\", BankName: \"Bank Barclays / Bank Akita\" },\r\n { label: \"IDR_526 (Bank Dinar / Liman International Bank)\", value: \"IDR_526 (Bank Dinar / Liman International Bank)\", BankCode: \"IDR_526\", BankName: \"Bank Dinar / Liman International Bank\" },\r\n { label: \"IDR_531 (Anglomas International Bank)\", value: \"IDR_531 (Anglomas International Bank)\", BankCode: \"IDR_531\", BankName: \"Anglomas International Bank\" },\r\n { label: \"IDR_535 (Bank Kesejahteraan Ekonomi)\", value: \"IDR_535 (Bank Kesejahteraan Ekonomi)\", BankCode: \"IDR_535\", BankName: \"Bank Kesejahteraan Ekonomi\" },\r\n { label: \"IDR_536 (Bank Central Asia (BCA) Syariah)\", value: \"IDR_536 (Bank Central Asia (BCA) Syariah)\", BankCode: \"IDR_536 (Bank Central Asia\", BankName: \"BCA) Syariah\" },\r\n { label: \"IDR_542 (Bank Artos Indonesia)\", value: \"IDR_542 (Bank Artos Indonesia)\", BankCode: \"IDR_542\", BankName: \"Bank Artos Indonesia\" },\r\n { label: \"IDR_547 (BANK BTPN SYARIAH / BANK PURBA DANARTA)\", value: \"IDR_547 (BANK BTPN SYARIAH / BANK PURBA DANARTA)\", BankCode: \"IDR_547\", BankName: \"BANK BTPN SYARIAH / BANK PURBA DANARTA\" },\r\n { label: \"IDR_548 (Bank Multiarta Sentosa)\", value: \"IDR_548 (Bank Multiarta Sentosa)\", BankCode: \"IDR_548\", BankName: \"Bank Multiarta Sentosa\" },\r\n { label: \"IDR_553 (Bank Mayora Indonesia)\", value: \"IDR_553 (Bank Mayora Indonesia)\", BankCode: \"IDR_553\", BankName: \"Bank Mayora Indonesia\" },\r\n { label: \"IDR_555 (Bank Index Selindo)\", value: \"IDR_555 (Bank Index Selindo)\", BankCode: \"IDR_555\", BankName: \"Bank Index Selindo\" },\r\n { label: \"IDR_558 (Bank Eksekutif)\", value: \"IDR_558 (Bank Eksekutif)\", BankCode: \"IDR_558\", BankName: \"Bank Eksekutif\" },\r\n { label: \"IDR_559 (Centratama Nasional Bank)\", value: \"IDR_559 (Centratama Nasional Bank)\", BankCode: \"IDR_559\", BankName: \"Centratama Nasional Bank\" },\r\n { label: \"IDR_562 (Bank Fama Internasional)\", value: \"IDR_562 (Bank Fama Internasional)\", BankCode: \"IDR_562\", BankName: \"Bank Fama Internasional\" },\r\n { label: \"IDR_564 (Bank Sinar Harapan Bali / Bank Mandiri Taspen Pos)\", value: \"IDR_564 (Bank Sinar Harapan Bali / Bank Mandiri Taspen Pos)\", BankCode: \"IDR_564\", BankName: \"Bank Sinar Harapan Bali / Bank Mandiri Taspen Pos\" },\r\n { label: \"IDR_566 (Bank Victoria Internasional)\", value: \"IDR_566 (Bank Victoria Internasional)\", BankCode: \"IDR_566\", BankName: \"Bank Victoria Internasional\" },\r\n { label: \"IDR_567 (Bank Harda Internasional)\", value: \"IDR_567 (Bank Harda Internasional)\", BankCode: \"IDR_567\", BankName: \"Bank Harda Internasional\" },\r\n { label: \"IDR_688 (BPR KS (Karyajatnika Sedaya))\", value: \"IDR_688 (BPR KS (Karyajatnika Sedaya))\", BankCode: \"IDR_688\", BankName: \"BPR KS (Karyajatnika Sedaya)\" },\r\n { label: \"IDR_770 (ALTO Pay)\", value: \"IDR_770 (ALTO Pay)\", BankCode: \"IDR_770\", BankName: \"ALTO Pay\" },\r\n { label: \"IDR_775 (SGDO Pay)\", value: \"IDR_775 (SGDO Pay)\", BankCode: \"IDR_775\", BankName: \"SGDO Pay\" },\r\n { label: \"IDR_777 (Finnet)\", value: \"IDR_777 (Finnet)\", BankCode: \"IDR_777\", BankName: \"Finnet\" },\r\n { label: \"IDR_778 (Bank DKI UUS)\", value: \"IDR_778 (Bank DKI UUS)\", BankCode: \"IDR_778\", BankName: \"Bank DKI UUS\" },\r\n { label: \"IDR_789 (Indosat (dompetku))\", value: \"IDR_789 (Indosat (dompetku))\", BankCode: \"IDR_789\", BankName: \"Indosat (dompetku)\" },\r\n { label: \"IDR_867 (Bank Eka Bumi Artha)\", value: \"IDR_867 (Bank Eka Bumi Artha)\", BankCode: \"IDR_867\", BankName: \"Bank Eka Bumi Artha\" },\r\n { label: \"IDR_899 (Doku)\", value: \"IDR_899 (Doku)\", BankCode: \"IDR_899\", BankName: \"Doku\" },\r\n { label: \"IDR_911 (Linkaja / Telcomsel (Tcash))\", value: \"IDR_911 (Linkaja / Telcomsel (Tcash))\", BankCode: \"IDR_911\", BankName: \"Linkaja / Telcomsel (Tcash)\" },\r\n { label: \"IDR_945 (IBK Bank Indonesia / Bank Finconesia)\", value: \"IDR_945 (IBK Bank Indonesia / Bank Finconesia)\", BankCode: \"IDR_945\", BankName: \"IBK Bank Indonesia / Bank Finconesia\" },\r\n { label: \"IDR_946 (Bank Merincorp)\", value: \"IDR_946 (Bank Merincorp)\", BankCode: \"IDR_946\", BankName: \"Bank Merincorp\" },\r\n { label: \"IDR_947 (Bank Maybank Syariah Indonesia)\", value: \"IDR_947 (Bank Maybank Syariah Indonesia)\", BankCode: \"IDR_947\", BankName: \"Bank Maybank Syariah Indonesia\" },\r\n { label: \"IDR_948 (Bank OCBC Indonesia)\", value: \"IDR_948 (Bank OCBC Indonesia)\", BankCode: \"IDR_948\", BankName: \"Bank OCBC Indonesia\" },\r\n { label: \"IDR_949 (Bank CTBC Indonesia)\", value: \"IDR_949 (Bank CTBC Indonesia)\", BankCode: \"IDR_949\", BankName: \"Bank CTBC Indonesia\" },\r\n { label: \"IDR_950 (Bank Commonwealth)\", value: \"IDR_950 (Bank Commonwealth)\", BankCode: \"IDR_950\", BankName: \"Bank Commonwealth\" },\r\n { label: \"ALHB (Allahabad Bank)\", value: \"ALHB (Allahabad Bank)\", BankCode: \"ALHB\", BankName: \"Allahabad Bank\" },\r\n { label: \"ANDB (Andhra Bank)\", value: \"ANDB (Andhra Bank)\", BankCode: \"ANDB\", BankName: \"Andhra Bank\" },\r\n { label: \"AXIS (Axis Bank)\", value: \"AXIS (Axis Bank)\", BankCode: \"AXIS\", BankName: \"Axis Bank\" },\r\n { label: \"BOIN (Bank of India)\", value: \"BOIN (Bank of India)\", BankCode: \"BOIN\", BankName: \"Bank of India\" },\r\n { label: \"BRDA (Bank of Baroda)\", value: \"BRDA (Bank of Baroda)\", BankCode: \"BRDA\", BankName: \"Bank of Baroda\" },\r\n { label: \"CANBK (Canara Bank)\", value: \"CANBK (Canara Bank)\", BankCode: \"CANBK\", BankName: \"Canara Bank\" },\r\n { label: \"CBOI (Central Bank of India)\", value: \"CBOI (Central Bank of India)\", BankCode: \"CBOI\", BankName: \"Central Bank of India\" },\r\n { label: \"CITI (Citi Bank)\", value: \"CITI (Citi Bank)\", BankCode: \"CITI\", BankName: \"Citi Bank\" },\r\n { label: \"CORB (Corporation Bank)\", value: \"CORB (Corporation Bank)\", BankCode: \"CORB\", BankName: \"Corporation Bank\" },\r\n { label: \"CSYB (Catholic Syrian Bank)\", value: \"CSYB (Catholic Syrian Bank)\", BankCode: \"CSYB\", BankName: \"Catholic Syrian Bank\" },\r\n { label: \"DENB (Dena Bank)\", value: \"DENB (Dena Bank)\", BankCode: \"DENB\", BankName: \"Dena Bank\" },\r\n { label: \"DNLM (Dhanlaxmi Bank)\", value: \"DNLM (Dhanlaxmi Bank)\", BankCode: \"DNLM\", BankName: \"Dhanlaxmi Bank\" },\r\n { label: \"FEDB (Federal Bank)\", value: \"FEDB (Federal Bank)\", BankCode: \"FEDB\", BankName: \"Federal Bank\" },\r\n { label: \"HDFC (HDFC Bank)\", value: \"HDFC (HDFC Bank)\", BankCode: \"HDFC\", BankName: \"HDFC Bank\" },\r\n { label: \"ICICI (ICICI Bank)\", value: \"ICICI (ICICI Bank)\", BankCode: \"ICICI\", BankName: \"ICICI Bank\" },\r\n { label: \"IDBI (IDBI Bank)\", value: \"IDBI (IDBI Bank)\", BankCode: \"IDBI\", BankName: \"IDBI Bank\" },\r\n { label: \"INDNB (Indian Bank)\", value: \"INDNB (Indian Bank)\", BankCode: \"INDNB\", BankName: \"Indian Bank\" },\r\n { label: \"INDU (IndusInd Bank)\", value: \"INDU (IndusInd Bank)\", BankCode: \"INDU\", BankName: \"IndusInd Bank\" },\r\n { label: \"INOB (Indian Overseas Bank)\", value: \"INOB (Indian Overseas Bank)\", BankCode: \"INOB\", BankName: \"Indian Overseas Bank\" },\r\n { label: \"IN_APGVB (Andhra Pradesh Grameena Vikas Bank)\", value: \"IN_APGVB (Andhra Pradesh Grameena Vikas Bank)\", BankCode: \"IN_APGVB\", BankName: \"Andhra Pradesh Grameena Vikas Bank\" },\r\n { label: \"IN_CUB (City Union Bank)\", value: \"IN_CUB (City Union Bank)\", BankCode: \"IN_CUB\", BankName: \"City Union Bank\" },\r\n { label: \"IN_HSBC (Hongkong and Shanghai Banking Corporation Limited India)\", value: \"IN_HSBC (Hongkong and Shanghai Banking Corporation Limited India)\", BankCode: \"IN_HSBC\", BankName: \"Hongkong and Shanghai Banking Corporation Limited India\" },\r\n { label: \"IN_IDFC (IDFC First Bank)\", value: \"IN_IDFC (IDFC First Bank)\", BankCode: \"IN_IDFC\", BankName: \"IDFC First Bank\" },\r\n { label: \"IN_KVB (Karur Vysya Bank)\", value: \"IN_KVB (Karur Vysya Bank)\", BankCode: \"IN_KVB\", BankName: \"Karur Vysya Bank\" },\r\n { label: \"IN_LVB (Lakshmi Vilas Bank)\", value: \"IN_LVB (Lakshmi Vilas Bank)\", BankCode: \"IN_LVB\", BankName: \"Lakshmi Vilas Bank\" },\r\n { label: \"IN_PMCB (Punjab and Maharashtra Co-operative Bank Limited)\", value: \"IN_PMCB (Punjab and Maharashtra Co-operative Bank Limited)\", BankCode: \"IN_PMCB\", BankName: \"Punjab and Maharashtra Co-operative Bank Limited\" },\r\n { label: \"IN_USFB (Ujjivan Small Finance Bank)\", value: \"IN_USFB (Ujjivan Small Finance Bank)\", BankCode: \"IN_USFB\", BankName: \"Ujjivan Small Finance Bank\" },\r\n { label: \"JAKB (Jammu and Kashmir Bank)\", value: \"JAKB (Jammu and Kashmir Bank)\", BankCode: \"JAKB\", BankName: \"Jammu and Kashmir Bank\" },\r\n { label: \"KARBK (Karnataka Bank)\", value: \"KARBK (Karnataka Bank)\", BankCode: \"KARBK\", BankName: \"Karnataka Bank\" },\r\n { label: \"KOTBK (Kotak Mahindra Bank)\", value: \"KOTBK (Kotak Mahindra Bank)\", BankCode: \"KOTBK\", BankName: \"Kotak Mahindra Bank\" },\r\n { label: \"MHRT (Bank of Maharashtra)\", value: \"MHRT (Bank of Maharashtra)\", BankCode: \"MHRT\", BankName: \"Bank of Maharashtra\" },\r\n { label: \"OBOC (Oriental Bank of Commerce)\", value: \"OBOC (Oriental Bank of Commerce)\", BankCode: \"OBOC\", BankName: \"Oriental Bank of Commerce\" },\r\n { label: \"PASB (Punjab and Sind Bank)\", value: \"PASB (Punjab and Sind Bank)\", BankCode: \"PASB\", BankName: \"Punjab and Sind Bank\" },\r\n { label: \"PNJB (Punjab National Bank)\", value: \"PNJB (Punjab National Bank)\", BankCode: \"PNJB\", BankName: \"Punjab National Bank\" },\r\n { label: \"SBBJ (State Bank of Bikaner and Jaipur)\", value: \"SBBJ (State Bank of Bikaner and Jaipur)\", BankCode: \"SBBJ\", BankName: \"State Bank of Bikaner and Jaipur\" },\r\n { label: \"SBIN (State Bank)\", value: \"SBIN (State Bank)\", BankCode: \"SBIN\", BankName: \"State Bank\" },\r\n { label: \"SBOH (State Bank of Hyderabad)\", value: \"SBOH (State Bank of Hyderabad)\", BankCode: \"SBOH\", BankName: \"State Bank of Hyderabad\" },\r\n { label: \"SBOT (State Bank of Travancore)\", value: \"SBOT (State Bank of Travancore)\", BankCode: \"SBOT\", BankName: \"State Bank of Travancore\" },\r\n { label: \"SCTRD (Standard Chartered Bank)\", value: \"SCTRD (Standard Chartered Bank)\", BankCode: \"SCTRD\", BankName: \"Standard Chartered Bank\" },\r\n { label: \"SIBK (South Indian Bank)\", value: \"SIBK (South Indian Bank)\", BankCode: \"SIBK\", BankName: \"South Indian Bank\" },\r\n { label: \"SYNB (Syndicate Bank)\", value: \"SYNB (Syndicate Bank)\", BankCode: \"SYNB\", BankName: \"Syndicate Bank\" },\r\n { label: \"TAMB (Tamilnadu Mercantile Bank)\", value: \"TAMB (Tamilnadu Mercantile Bank)\", BankCode: \"TAMB\", BankName: \"Tamilnadu Mercantile Bank\" },\r\n { label: \"UCOB (UCO Bank)\", value: \"UCOB (UCO Bank)\", BankCode: \"UCOB\", BankName: \"UCO Bank\" },\r\n { label: \"UNBOI (Union Bank of India)\", value: \"UNBOI (Union Bank of India)\", BankCode: \"UNBOI\", BankName: \"Union Bank of India\" },\r\n { label: \"VJYB (Vijaya Bank)\", value: \"VJYB (Vijaya Bank)\", BankCode: \"VJYB\", BankName: \"Vijaya Bank\" },\r\n { label: \"YESB (YES Bank)\", value: \"YESB (YES Bank)\", BankCode: \"YESB\", BankName: \"YES Bank\" },\r\n { label: \"JP_BOF (Bank of Fukuoka)\", value: \"JP_BOF (Bank of Fukuoka)\", BankCode: \"JP_BOF\", BankName: \"Bank of Fukuoka\" },\r\n { label: \"JP_BOY (Bank of Yokohama)\", value: \"JP_BOY (Bank of Yokohama)\", BankCode: \"JP_BOY\", BankName: \"Bank of Yokohama\" },\r\n { label: \"JP_CBB (Chiba Bank)\", value: \"JP_CBB (Chiba Bank)\", BankCode: \"JP_CBB\", BankName: \"Chiba Bank\" },\r\n { label: \"JP_HKB (Hokkaido Bank)\", value: \"JP_HKB (Hokkaido Bank)\", BankCode: \"JP_HKB\", BankName: \"Hokkaido Bank\" },\r\n { label: \"JP_HNB (Higashi-Nippon Bank)\", value: \"JP_HNB (Higashi-Nippon Bank)\", BankCode: \"JP_HNB\", BankName: \"Higashi-Nippon Bank\" },\r\n { label: \"JP_HRB (Hokuriku Bank)\", value: \"JP_HRB (Hokuriku Bank)\", BankCode: \"JP_HRB\", BankName: \"Hokuriku Bank\" },\r\n { label: \"JP_JPB (Japan Post Bank)\", value: \"JP_JPB (Japan Post Bank)\", BankCode: \"JP_JPB\", BankName: \"Japan Post Bank\" },\r\n { label: \"JP_KMB (Kansai Mirai Bank Ltd)\", value: \"JP_KMB (Kansai Mirai Bank Ltd)\", BankCode: \"JP_KMB\", BankName: \"Kansai Mirai Bank Ltd\" },\r\n { label: \"JP_MNB (Minna Bank)\", value: \"JP_MNB (Minna Bank)\", BankCode: \"JP_MNB\", BankName: \"Minna Bank\" },\r\n { label: \"JP_MUFG (MUFG Bank)\", value: \"JP_MUFG (MUFG Bank)\", BankCode: \"JP_MUFG\", BankName: \"MUFG Bank\" },\r\n { label: \"JP_MZB (Mizuho Bank)\", value: \"JP_MZB (Mizuho Bank)\", BankCode: \"JP_MZB\", BankName: \"Mizuho Bank\" },\r\n { label: \"JP_RSB (Resona Bank)\", value: \"JP_RSB (Resona Bank)\", BankCode: \"JP_RSB\", BankName: \"Resona Bank\" },\r\n { label: \"JP_SMFC (Sumitomo Mitsui Banking Corporation)\", value: \"JP_SMFC (Sumitomo Mitsui Banking Corporation)\", BankCode: \"JP_SMFC\", BankName: \"Sumitomo Mitsui Banking Corporation\" },\r\n { label: \"JP_TJSB (The Juhachi-Shinwa Bank Ltd)\", value: \"JP_TJSB (The Juhachi-Shinwa Bank Ltd)\", BankCode: \"JP_TJSB\", BankName: \"The Juhachi-Shinwa Bank Ltd\" },\r\n { label: \"JP_TKB (The Kumamoto Bank Ltd)\", value: \"JP_TKB (The Kumamoto Bank Ltd)\", BankCode: \"JP_TKB\", BankName: \"The Kumamoto Bank Ltd\" },\r\n { label: \"JP_TNB (The Norinchukin Bank)\", value: \"JP_TNB (The Norinchukin Bank)\", BankCode: \"JP_TNB\", BankName: \"The Norinchukin Bank\" },\r\n { label: \"KR_BANKOFCOREA (Bank of Korea)\", value: \"KR_BANKOFCOREA (Bank of Korea)\", BankCode: \"KR_BANKOFCOREA\", BankName: \"Bank of Korea\" },\r\n { label: \"KR_BNK (Busan Bank)\", value: \"KR_BNK (Busan Bank)\", BankCode: \"KR_BNK\", BankName: \"Busan Bank\" },\r\n { label: \"KR_CTK (Citibank Korea)\", value: \"KR_CTK (Citibank Korea)\", BankCode: \"KR_CTK\", BankName: \"Citibank Korea\" },\r\n { label: \"KR_DGB (DAEGU Bank)\", value: \"KR_DGB (DAEGU Bank)\", BankCode: \"KR_DGB\", BankName: \"DAEGU Bank\" },\r\n { label: \"KR_HBG (KEB Hana Bank)\", value: \"KR_HBG (KEB Hana Bank)\", BankCode: \"KR_HBG\", BankName: \"KEB Hana Bank\" },\r\n { label: \"KR_IBK (Industrial Bank of Korea)\", value: \"KR_IBK (Industrial Bank of Korea)\", BankCode: \"KR_IBK\", BankName: \"Industrial Bank of Korea\" },\r\n { label: \"KR_KDB (Korea Development Bank)\", value: \"KR_KDB (Korea Development Bank)\", BankCode: \"KR_KDB\", BankName: \"Korea Development Bank\" },\r\n { label: \"KR_KKB (KB Kookmin Bank)\", value: \"KR_KKB (KB Kookmin Bank)\", BankCode: \"KR_KKB\", BankName: \"KB Kookmin Bank\" },\r\n { label: \"KR_KWB (Kwangju Bank)\", value: \"KR_KWB (Kwangju Bank)\", BankCode: \"KR_KWB\", BankName: \"Kwangju Bank\" },\r\n { label: \"KR_NOB (Nonghyup Bank)\", value: \"KR_NOB (Nonghyup Bank)\", BankCode: \"KR_NOB\", BankName: \"Nonghyup Bank\" },\r\n { label: \"KR_SHB (Shinhan Bank)\", value: \"KR_SHB (Shinhan Bank)\", BankCode: \"KR_SHB\", BankName: \"Shinhan Bank\" },\r\n { label: \"KR_WOB (Woori Bank)\", value: \"KR_WOB (Woori Bank)\", BankCode: \"KR_WOB\", BankName: \"Woori Bank\" },\r\n { label: \"MY_AMB (AmBank)\", value: \"MY_AMB (AmBank)\", BankCode: \"MY_AMB\", BankName: \"AmBank\" },\r\n { label: \"MY_CIMB (CIMB Bank)\", value: \"MY_CIMB (CIMB Bank)\", BankCode: \"MY_CIMB\", BankName: \"CIMB Bank\" },\r\n { label: \"MY_HLB (Hong Leong Bank)\", value: \"MY_HLB (Hong Leong Bank)\", BankCode: \"MY_HLB\", BankName: \"Hong Leong Bank\" },\r\n { label: \"MY_HSBC (HSBC Bank)\", value: \"MY_HSBC (HSBC Bank)\", BankCode: \"MY_HSBC\", BankName: \"HSBC Bank\" },\r\n { label: \"MY_MAYB (Maybank)\", value: \"MY_MAYB (Maybank)\", BankCode: \"MY_MAYB\", BankName: \"Maybank\" },\r\n { label: \"MY_OCBC (OCBC Bank)\", value: \"MY_OCBC (OCBC Bank)\", BankCode: \"MY_OCBC\", BankName: \"OCBC Bank\" },\r\n { label: \"MY_PUBLIC (Public Bank)\", value: \"MY_PUBLIC (Public Bank)\", BankCode: \"MY_PUBLIC\", BankName: \"Public Bank\" },\r\n { label: \"MY_RHB (RHB Bank)\", value: \"MY_RHB (RHB Bank)\", BankCode: \"MY_RHB\", BankName: \"RHB Bank\" },\r\n { label: \"MY_UOBIB (United Overseas Bank (UOB))\", value: \"MY_UOBIB (United Overseas Bank (UOB))\", BankCode: \"MY_UOBIB\", BankName: \"United Overseas Bank (UOB)\" },\r\n { label: \"TH_BANGKOK (Bangkok Bank)\", value: \"TH_BANGKOK (Bangkok Bank)\", BankCode: \"TH_BANGKOK\", BankName: \"Bangkok Bank\" },\r\n { label: \"TH_CIMB (CIMB THAI Bank)\", value: \"TH_CIMB (CIMB THAI Bank)\", BankCode: \"TH_CIMB\", BankName: \"CIMB THAI Bank\" },\r\n { label: \"TH_GOVERNMENTSAVINGS (Government Savings Bank)\", value: \"TH_GOVERNMENTSAVINGS (Government Savings Bank)\", BankCode: \"TH_GOVERNMENTSAVINGS\", BankName: \"Government Savings Bank\" },\r\n { label: \"TH_KASIKORN (Kasikorn Bank)\", value: \"TH_KASIKORN (Kasikorn Bank)\", BankCode: \"TH_KASIKORN\", BankName: \"Kasikorn Bank\" },\r\n { label: \"TH_KRUNGSRI (Bank of Ayudhya (Krungsri))\", value: \"TH_KRUNGSRI (Bank of Ayudhya (Krungsri))\", BankCode: \"TH_KRUNGSRI\", BankName: \"Bank of Ayudhya (Krungsri)\" },\r\n { label: \"TH_KRUNGTHAI (Krungthai Bank)\", value: \"TH_KRUNGTHAI (Krungthai Bank)\", BankCode: \"TH_KRUNGTHAI\", BankName: \"Krungthai Bank\" },\r\n { label: \"TH_SIAM (Siam Commercial Bank)\", value: \"TH_SIAM (Siam Commercial Bank)\", BankCode: \"TH_SIAM\", BankName: \"Siam Commercial Bank\" },\r\n { label: \"TH_TTBDIRECT (TMBThanachart Bank (ttb))\", value: \"TH_TTBDIRECT (TMBThanachart Bank (ttb))\", BankCode: \"TH_TTBDIRECT\", BankName: \"TMBThanachart Bank (ttb)\" },\r\n { label: \"TH_UOBT (United Overseas Bank (UOB))\", value: \"TH_UOBT (United Overseas Bank (UOB))\", BankCode: \"TH_UOBT\", BankName: \"United Overseas Bank (UOB))\" },\r\n { label: \"VN_ACB (Asia Commercial Bank)\", value: \"VN_ACB (Asia Commercial Bank)\", BankCode: \"VN_ACB\", BankName: \"Asia Commercial Bank\" },\r\n { label: \"VN_BIDV (BIDV)\", value: \"VN_BIDV (BIDV)\", BankCode: \"VN_BIDV\", BankName: \"BIDV\" },\r\n { label: \"VN_DONGA (DongA Bank)\", value: \"VN_DONGA (DongA Bank)\", BankCode: \"VN_DONGA\", BankName: \"DongA Bank\" },\r\n { label: \"VN_EXIM (Eximbank)\", value: \"VN_EXIM (Eximbank)\", BankCode: \"VN_EXIM\", BankName: \"Eximbank\" },\r\n { label: \"VN_SACOM (Sacombank)\", value: \"VN_SACOM (Sacombank)\", BankCode: \"VN_SACOM\", BankName: \"Sacombank\" },\r\n { label: \"VN_TECHCOM (Techcombank)\", value: \"VN_TECHCOM (Techcombank)\", BankCode: \"VN_TECHCOM\", BankName: \"Techcombank\" },\r\n { label: \"VN_TP (TPBank)\", value: \"VN_TP (TPBank)\", BankCode: \"VN_TP\", BankName: \"TPBank\" },\r\n { label: \"VN_VIETCOM (Vietcombank)\", value: \"VN_VIETCOM (Vietcombank)\", BankCode: \"VN_VIETCOM\", BankName: \"Vietcombank\" },\r\n { label: \"VN_VIETIN (VietinBank)\", value: \"VN_VIETIN (VietinBank)\", BankCode: \"VN_VIETIN\", BankName: \"VietinBank\" },\r\n { label: \"VN_VP (VPBank)\", value: \"VN_VP (VPBank)\", BankCode: \"VN_VP\", BankName: \"VPBank\" },\r\n];\r\nexport const BRIDGER_PAYMENT_OPERATOR_CODE_DICT: any = {\r\n \"CN_ABC (Agricultural Bank of China)\": {\r\n \"label\": \"CN_ABC (Agricultural Bank of China)\",\r\n \"value\": \"CN_ABC (Agricultural Bank of China)\"\r\n },\r\n \"CN_BCOM (Bank of Communications)\": {\r\n \"label\": \"CN_BCOM (Bank of Communications)\",\r\n \"value\": \"CN_BCOM (Bank of Communications)\"\r\n },\r\n \"CN_BOC (Bank of China)\": {\r\n \"label\": \"CN_BOC (Bank of China)\",\r\n \"value\": \"CN_BOC (Bank of China)\"\r\n },\r\n \"CN_CCB (China Construction Bank)\": {\r\n \"label\": \"CN_CCB (China Construction Bank)\",\r\n \"value\": \"CN_CCB (China Construction Bank)\"\r\n },\r\n \"CN_CEB (China Everbright Bank)\": {\r\n \"label\": \"CN_CEB (China Everbright Bank)\",\r\n \"value\": \"CN_CEB (China Everbright Bank)\"\r\n },\r\n \"CN_CGB (China Guangfa Bank)\": {\r\n \"label\": \"CN_CGB (China Guangfa Bank)\",\r\n \"value\": \"CN_CGB (China Guangfa Bank)\"\r\n },\r\n \"CN_CIB (China Industrial Bank)\": {\r\n \"label\": \"CN_CIB (China Industrial Bank)\",\r\n \"value\": \"CN_CIB (China Industrial Bank)\"\r\n },\r\n \"CN_CITIC (China CITIC Bank)\": {\r\n \"label\": \"CN_CITIC (China CITIC Bank)\",\r\n \"value\": \"CN_CITIC (China CITIC Bank)\"\r\n },\r\n \"CN_CMB (China Merchants Bank)\": {\r\n \"label\": \"CN_CMB (China Merchants Bank)\",\r\n \"value\": \"CN_CMB (China Merchants Bank)\"\r\n },\r\n \"CN_CMBC (China Minsheng Bank)\": {\r\n \"label\": \"CN_CMBC (China Minsheng Bank)\",\r\n \"value\": \"CN_CMBC (China Minsheng Bank)\"\r\n },\r\n \"CN_ICBC (Industrial and Commercial Bank of China)\": {\r\n \"label\": \"CN_ICBC (Industrial and Commercial Bank of China)\",\r\n \"value\": \"CN_ICBC (Industrial and Commercial Bank of China)\"\r\n },\r\n \"CN_PAB (Ping An Bank)\": {\r\n \"label\": \"CN_PAB (Ping An Bank)\",\r\n \"value\": \"CN_PAB (Ping An Bank)\"\r\n },\r\n \"CN_PSBC (Postal Savings Bank of China)\": {\r\n \"label\": \"CN_PSBC (Postal Savings Bank of China)\",\r\n \"value\": \"CN_PSBC (Postal Savings Bank of China)\"\r\n },\r\n \"CN_SPDB (Shanghai Pudong Development Bank)\": {\r\n \"label\": \"CN_SPDB (Shanghai Pudong Development Bank)\",\r\n \"value\": \"CN_SPDB (Shanghai Pudong Development Bank)\"\r\n },\r\n \"IDR_002 (Bank Rakyat Indonesia (BRI))\": {\r\n \"label\": \"IDR_002 (Bank Rakyat Indonesia (BRI))\",\r\n \"value\": \"IDR_002 (Bank Rakyat Indonesia (BRI))\"\r\n },\r\n \"IDR_003 (Bank Ekspor Indonesia)\": {\r\n \"label\": \"IDR_003 (Bank Ekspor Indonesia)\",\r\n \"value\": \"IDR_003 (Bank Ekspor Indonesia)\"\r\n },\r\n \"IDR_008 (Bank Mandiri)\": {\r\n \"label\": \"IDR_008 (Bank Mandiri)\",\r\n \"value\": \"IDR_008 (Bank Mandiri)\"\r\n },\r\n \"IDR_009 (Bank Negara Indonesia (BNI))\": {\r\n \"label\": \"IDR_009 (Bank Negara Indonesia (BNI))\",\r\n \"value\": \"IDR_009 (Bank Negara Indonesia (BNI))\"\r\n },\r\n \"IDR_011 (Bank Danamon)\": {\r\n \"label\": \"IDR_011 (Bank Danamon)\",\r\n \"value\": \"IDR_011 (Bank Danamon)\"\r\n },\r\n \"IDR_013 (Bank Permata)\": {\r\n \"label\": \"IDR_013 (Bank Permata)\",\r\n \"value\": \"IDR_013 (Bank Permata)\"\r\n },\r\n \"IDR_014 (Bank Central Asia (BCA))\": {\r\n \"label\": \"IDR_014 (Bank Central Asia (BCA))\",\r\n \"value\": \"IDR_014 (Bank Central Asia (BCA))\"\r\n },\r\n \"IDR_016 (Maybank Indonesia)\": {\r\n \"label\": \"IDR_016 (Maybank Indonesia)\",\r\n \"value\": \"IDR_016 (Maybank Indonesia)\"\r\n },\r\n \"IDR_019 (Bank Panin)\": {\r\n \"label\": \"IDR_019 (Bank Panin)\",\r\n \"value\": \"IDR_019 (Bank Panin)\"\r\n },\r\n \"IDR_020 (Bank Arta Niaga Kencana)\": {\r\n \"label\": \"IDR_020 (Bank Arta Niaga Kencana)\",\r\n \"value\": \"IDR_020 (Bank Arta Niaga Kencana)\"\r\n },\r\n \"IDR_022 (Bank CIMB Niaga)\": {\r\n \"label\": \"IDR_022 (Bank CIMB Niaga)\",\r\n \"value\": \"IDR_022 (Bank CIMB Niaga)\"\r\n },\r\n \"IDR_023 (Bank UOB Indonesia / Bank Buana Indonesia)\": {\r\n \"label\": \"IDR_023 (Bank UOB Indonesia / Bank Buana Indonesia)\",\r\n \"value\": \"IDR_023 (Bank UOB Indonesia / Bank Buana Indonesia)\"\r\n },\r\n \"IDR_026 (Bank Lippo)\": {\r\n \"label\": \"IDR_026 (Bank Lippo)\",\r\n \"value\": \"IDR_026 (Bank Lippo)\"\r\n },\r\n \"IDR_028 (Bank OCBC NISP)\": {\r\n \"label\": \"IDR_028 (Bank OCBC NISP)\",\r\n \"value\": \"IDR_028 (Bank OCBC NISP)\"\r\n },\r\n \"IDR_030 (American Express Bank LTD)\": {\r\n \"label\": \"IDR_030 (American Express Bank LTD)\",\r\n \"value\": \"IDR_030 (American Express Bank LTD)\"\r\n },\r\n \"IDR_031 (Citibank Indonesia)\": {\r\n \"label\": \"IDR_031 (Citibank Indonesia)\",\r\n \"value\": \"IDR_031 (Citibank Indonesia)\"\r\n },\r\n \"IDR_032 (JP Morgan Chase Bank N.A.)\": {\r\n \"label\": \"IDR_032 (JP Morgan Chase Bank N.A.)\",\r\n \"value\": \"IDR_032 (JP Morgan Chase Bank N.A.)\"\r\n },\r\n \"IDR_033 (Bank of America N.A.)\": {\r\n \"label\": \"IDR_033 (Bank of America N.A.)\",\r\n \"value\": \"IDR_033 (Bank of America N.A.)\"\r\n },\r\n \"IDR_034 (ING Indonesia Bank)\": {\r\n \"label\": \"IDR_034 (ING Indonesia Bank)\",\r\n \"value\": \"IDR_034 (ING Indonesia Bank)\"\r\n },\r\n \"IDR_036 (Bank Multicor / Bank CCB Indonesia)\": {\r\n \"label\": \"IDR_036 (Bank Multicor / Bank CCB Indonesia)\",\r\n \"value\": \"IDR_036 (Bank Multicor / Bank CCB Indonesia)\"\r\n },\r\n \"IDR_037 (Bank Artha Graha Internasional)\": {\r\n \"label\": \"IDR_037 (Bank Artha Graha Internasional)\",\r\n \"value\": \"IDR_037 (Bank Artha Graha Internasional)\"\r\n },\r\n \"IDR_039 (Bank Credit Agricole Indosuez)\": {\r\n \"label\": \"IDR_039 (Bank Credit Agricole Indosuez)\",\r\n \"value\": \"IDR_039 (Bank Credit Agricole Indosuez)\"\r\n },\r\n \"IDR_040 (Bangkok Bank)\": {\r\n \"label\": \"IDR_040 (Bangkok Bank)\",\r\n \"value\": \"IDR_040 (Bangkok Bank)\"\r\n },\r\n \"IDR_041 (Bank HSBC Indonesia)\": {\r\n \"label\": \"IDR_041 (Bank HSBC Indonesia)\",\r\n \"value\": \"IDR_041 (Bank HSBC Indonesia)\"\r\n },\r\n \"IDR_042 (Bank of Tokyo/MUFG Bank/Mitsubishi UFJ LTD)\": {\r\n \"label\": \"IDR_042 (Bank of Tokyo/MUFG Bank/Mitsubishi UFJ LTD)\",\r\n \"value\": \"IDR_042 (Bank of Tokyo/MUFG Bank/Mitsubishi UFJ LTD)\"\r\n },\r\n \"IDR_045 (Bank Sumitomo Mitsui Indonesia)\": {\r\n \"label\": \"IDR_045 (Bank Sumitomo Mitsui Indonesia)\",\r\n \"value\": \"IDR_045 (Bank Sumitomo Mitsui Indonesia)\"\r\n },\r\n \"IDR_046 (Bank DBS Indonesia)\": {\r\n \"label\": \"IDR_046 (Bank DBS Indonesia)\",\r\n \"value\": \"IDR_046 (Bank DBS Indonesia)\"\r\n },\r\n \"IDR_047 (Bank Resona Perdania)\": {\r\n \"label\": \"IDR_047 (Bank Resona Perdania)\",\r\n \"value\": \"IDR_047 (Bank Resona Perdania)\"\r\n },\r\n \"IDR_048 (Bank Mizuho Indonesia)\": {\r\n \"label\": \"IDR_048 (Bank Mizuho Indonesia)\",\r\n \"value\": \"IDR_048 (Bank Mizuho Indonesia)\"\r\n },\r\n \"IDR_050 (Standard Chartered Bank)\": {\r\n \"label\": \"IDR_050 (Standard Chartered Bank)\",\r\n \"value\": \"IDR_050 (Standard Chartered Bank)\"\r\n },\r\n \"IDR_052 (Bank ABN Amro)\": {\r\n \"label\": \"IDR_052 (Bank ABN Amro)\",\r\n \"value\": \"IDR_052 (Bank ABN Amro)\"\r\n },\r\n \"IDR_053 (Bank Keppel Tatlee Buana)\": {\r\n \"label\": \"IDR_053 (Bank Keppel Tatlee Buana)\",\r\n \"value\": \"IDR_053 (Bank Keppel Tatlee Buana)\"\r\n },\r\n \"IDR_054 (Bank Capital Indonesia)\": {\r\n \"label\": \"IDR_054 (Bank Capital Indonesia)\",\r\n \"value\": \"IDR_054 (Bank Capital Indonesia)\"\r\n },\r\n \"IDR_057 (Bank BNP Paribas Indonesia)\": {\r\n \"label\": \"IDR_057 (Bank BNP Paribas Indonesia)\",\r\n \"value\": \"IDR_057 (Bank BNP Paribas Indonesia)\"\r\n },\r\n \"IDR_059 (Korea Exchange Bank Danamon)\": {\r\n \"label\": \"IDR_059 (Korea Exchange Bank Danamon)\",\r\n \"value\": \"IDR_059 (Korea Exchange Bank Danamon)\"\r\n },\r\n \"IDR_060 (Bank Rabobank International Indonesia)\": {\r\n \"label\": \"IDR_060 (Bank Rabobank International Indonesia)\",\r\n \"value\": \"IDR_060 (Bank Rabobank International Indonesia)\"\r\n },\r\n \"IDR_061 (Bank ANZ Indonesia)\": {\r\n \"label\": \"IDR_061 (Bank ANZ Indonesia)\",\r\n \"value\": \"IDR_061 (Bank ANZ Indonesia)\"\r\n },\r\n \"IDR_067 (Deutsche Bank)\": {\r\n \"label\": \"IDR_067 (Deutsche Bank)\",\r\n \"value\": \"IDR_067 (Deutsche Bank)\"\r\n },\r\n \"IDR_068 (Bank Woori Saudara)\": {\r\n \"label\": \"IDR_068 (Bank Woori Saudara)\",\r\n \"value\": \"IDR_068 (Bank Woori Saudara)\"\r\n },\r\n \"IDR_069 (Bank of China)\": {\r\n \"label\": \"IDR_069 (Bank of China)\",\r\n \"value\": \"IDR_069 (Bank of China)\"\r\n },\r\n \"IDR_076 (Bank Bumi Arta)\": {\r\n \"label\": \"IDR_076 (Bank Bumi Arta)\",\r\n \"value\": \"IDR_076 (Bank Bumi Arta)\"\r\n },\r\n \"IDR_087 (Bank Ekonomi Raharja)\": {\r\n \"label\": \"IDR_087 (Bank Ekonomi Raharja)\",\r\n \"value\": \"IDR_087 (Bank Ekonomi Raharja)\"\r\n },\r\n \"IDR_088 (Bank Antardaerah)\": {\r\n \"label\": \"IDR_088 (Bank Antardaerah)\",\r\n \"value\": \"IDR_088 (Bank Antardaerah)\"\r\n },\r\n \"IDR_089 (Bank Haga)\": {\r\n \"label\": \"IDR_089 (Bank Haga)\",\r\n \"value\": \"IDR_089 (Bank Haga)\"\r\n },\r\n \"IDR_093 (Bank IFI)\": {\r\n \"label\": \"IDR_093 (Bank IFI)\",\r\n \"value\": \"IDR_093 (Bank IFI)\"\r\n },\r\n \"IDR_095 (J Trust Bank / Bank Jtrust Indonesia)\": {\r\n \"label\": \"IDR_095 (J Trust Bank / Bank Jtrust Indonesia)\",\r\n \"value\": \"IDR_095 (J Trust Bank / Bank Jtrust Indonesia)\"\r\n },\r\n \"IDR_097 (Bank Mayapada)\": {\r\n \"label\": \"IDR_097 (Bank Mayapada)\",\r\n \"value\": \"IDR_097 (Bank Mayapada)\"\r\n },\r\n \"IDR_110 (Bank Jabar / Bank BJB)\": {\r\n \"label\": \"IDR_110 (Bank Jabar / Bank BJB)\",\r\n \"value\": \"IDR_110 (Bank Jabar / Bank BJB)\"\r\n },\r\n \"IDR_111 (Bank DKI)\": {\r\n \"label\": \"IDR_111 (Bank DKI)\",\r\n \"value\": \"IDR_111 (Bank DKI)\"\r\n },\r\n \"IDR_112 (BPD Daerah Istimewa Yogyakarta (DIY))\": {\r\n \"label\": \"IDR_112 (BPD Daerah Istimewa Yogyakarta (DIY))\",\r\n \"value\": \"IDR_112 (BPD Daerah Istimewa Yogyakarta (DIY))\"\r\n },\r\n \"IDR_113 (BPD Jawa Tengah)\": {\r\n \"label\": \"IDR_113 (BPD Jawa Tengah)\",\r\n \"value\": \"IDR_113 (BPD Jawa Tengah)\"\r\n },\r\n \"IDR_114 (BPD Jawa Timur)\": {\r\n \"label\": \"IDR_114 (BPD Jawa Timur)\",\r\n \"value\": \"IDR_114 (BPD Jawa Timur)\"\r\n },\r\n \"IDR_115 (BPD Jambi UUS)\": {\r\n \"label\": \"IDR_115 (BPD Jambi UUS)\",\r\n \"value\": \"IDR_115 (BPD Jambi UUS)\"\r\n },\r\n \"IDR_116 (Bank Aceh Syariah)\": {\r\n \"label\": \"IDR_116 (Bank Aceh Syariah)\",\r\n \"value\": \"IDR_116 (Bank Aceh Syariah)\"\r\n },\r\n \"IDR_117 (BPD Sumatra Utara)\": {\r\n \"label\": \"IDR_117 (BPD Sumatra Utara)\",\r\n \"value\": \"IDR_117 (BPD Sumatra Utara)\"\r\n },\r\n \"IDR_118 (Bank Nagari / Bank Sumbar)\": {\r\n \"label\": \"IDR_118 (Bank Nagari / Bank Sumbar)\",\r\n \"value\": \"IDR_118 (Bank Nagari / Bank Sumbar)\"\r\n },\r\n \"IDR_119 (BPD Riau Dan Kepri)\": {\r\n \"label\": \"IDR_119 (BPD Riau Dan Kepri)\",\r\n \"value\": \"IDR_119 (BPD Riau Dan Kepri)\"\r\n },\r\n \"IDR_120 (BPD Sumsel Dan Babel)\": {\r\n \"label\": \"IDR_120 (BPD Sumsel Dan Babel)\",\r\n \"value\": \"IDR_120 (BPD Sumsel Dan Babel)\"\r\n },\r\n \"IDR_121 (BPD Lampung)\": {\r\n \"label\": \"IDR_121 (BPD Lampung)\",\r\n \"value\": \"IDR_121 (BPD Lampung)\"\r\n },\r\n \"IDR_122 (BPD Kalimantan Selatan)\": {\r\n \"label\": \"IDR_122 (BPD Kalimantan Selatan)\",\r\n \"value\": \"IDR_122 (BPD Kalimantan Selatan)\"\r\n },\r\n \"IDR_123 (BPD Kalimantan Barat)\": {\r\n \"label\": \"IDR_123 (BPD Kalimantan Barat)\",\r\n \"value\": \"IDR_123 (BPD Kalimantan Barat)\"\r\n },\r\n \"IDR_124 (BPD Kalimantan Timur)\": {\r\n \"label\": \"IDR_124 (BPD Kalimantan Timur)\",\r\n \"value\": \"IDR_124 (BPD Kalimantan Timur)\"\r\n },\r\n \"IDR_125 (BPD Kalimantan Tengah)\": {\r\n \"label\": \"IDR_125 (BPD Kalimantan Tengah)\",\r\n \"value\": \"IDR_125 (BPD Kalimantan Tengah)\"\r\n },\r\n \"IDR_126 (Bank Sulawesi Selatan Dan Barat)\": {\r\n \"label\": \"IDR_126 (Bank Sulawesi Selatan Dan Barat)\",\r\n \"value\": \"IDR_126 (Bank Sulawesi Selatan Dan Barat)\"\r\n },\r\n \"IDR_127 (Bank Sulawesi Utara Dan Gorontalo)\": {\r\n \"label\": \"IDR_127 (Bank Sulawesi Utara Dan Gorontalo)\",\r\n \"value\": \"IDR_127 (Bank Sulawesi Utara Dan Gorontalo)\"\r\n },\r\n \"IDR_128 (BPD Nusa Tenggara Barat)\": {\r\n \"label\": \"IDR_128 (BPD Nusa Tenggara Barat)\",\r\n \"value\": \"IDR_128 (BPD Nusa Tenggara Barat)\"\r\n },\r\n \"IDR_129 (BPD Bali)\": {\r\n \"label\": \"IDR_129 (BPD Bali)\",\r\n \"value\": \"IDR_129 (BPD Bali)\"\r\n },\r\n \"IDR_130 (BPD Nusa Tenggara Timur)\": {\r\n \"label\": \"IDR_130 (BPD Nusa Tenggara Timur)\",\r\n \"value\": \"IDR_130 (BPD Nusa Tenggara Timur)\"\r\n },\r\n \"IDR_131 (Bank Maluku Malut)\": {\r\n \"label\": \"IDR_131 (Bank Maluku Malut)\",\r\n \"value\": \"IDR_131 (Bank Maluku Malut)\"\r\n },\r\n \"IDR_132 (Bank Papua)\": {\r\n \"label\": \"IDR_132 (Bank Papua)\",\r\n \"value\": \"IDR_132 (Bank Papua)\"\r\n },\r\n \"IDR_133 (BPD Bengkulu)\": {\r\n \"label\": \"IDR_133 (BPD Bengkulu)\",\r\n \"value\": \"IDR_133 (BPD Bengkulu)\"\r\n },\r\n \"IDR_134 (BPD Sulawesi Tengah)\": {\r\n \"label\": \"IDR_134 (BPD Sulawesi Tengah)\",\r\n \"value\": \"IDR_134 (BPD Sulawesi Tengah)\"\r\n },\r\n \"IDR_135 (BPD Sulawesi Tenggara)\": {\r\n \"label\": \"IDR_135 (BPD Sulawesi Tenggara)\",\r\n \"value\": \"IDR_135 (BPD Sulawesi Tenggara)\"\r\n },\r\n \"IDR_137 (BPD Banten)\": {\r\n \"label\": \"IDR_137 (BPD Banten)\",\r\n \"value\": \"IDR_137 (BPD Banten)\"\r\n },\r\n \"IDR_145 (Bank Nusantara Parahyangan / BNP)\": {\r\n \"label\": \"IDR_145 (Bank Nusantara Parahyangan / BNP)\",\r\n \"value\": \"IDR_145 (Bank Nusantara Parahyangan / BNP)\"\r\n },\r\n \"IDR_146 (Bank Swadesi (Bank of India Indonesia))\": {\r\n \"label\": \"IDR_146 (Bank Swadesi (Bank of India Indonesia))\",\r\n \"value\": \"IDR_146 (Bank Swadesi (Bank of India Indonesia))\"\r\n },\r\n \"IDR_147 (Bank Muamalat Indonesia)\": {\r\n \"label\": \"IDR_147 (Bank Muamalat Indonesia)\",\r\n \"value\": \"IDR_147 (Bank Muamalat Indonesia)\"\r\n },\r\n \"IDR_151 (Bank Mestika Dharma)\": {\r\n \"label\": \"IDR_151 (Bank Mestika Dharma)\",\r\n \"value\": \"IDR_151 (Bank Mestika Dharma)\"\r\n },\r\n \"IDR_152 (Bank Metro Express / Shinhan)\": {\r\n \"label\": \"IDR_152 (Bank Metro Express / Shinhan)\",\r\n \"value\": \"IDR_152 (Bank Metro Express / Shinhan)\"\r\n },\r\n \"IDR_153 (Bank Sinarmas)\": {\r\n \"label\": \"IDR_153 (Bank Sinarmas)\",\r\n \"value\": \"IDR_153 (Bank Sinarmas)\"\r\n },\r\n \"IDR_157 (Bank Maspion Indonesia)\": {\r\n \"label\": \"IDR_157 (Bank Maspion Indonesia)\",\r\n \"value\": \"IDR_157 (Bank Maspion Indonesia)\"\r\n },\r\n \"IDR_159 (Bank Hagakita)\": {\r\n \"label\": \"IDR_159 (Bank Hagakita)\",\r\n \"value\": \"IDR_159 (Bank Hagakita)\"\r\n },\r\n \"IDR_161 (Bank Ganesha)\": {\r\n \"label\": \"IDR_161 (Bank Ganesha)\",\r\n \"value\": \"IDR_161 (Bank Ganesha)\"\r\n },\r\n \"IDR_162 (Bank of Windu Kentjana)\": {\r\n \"label\": \"IDR_162 (Bank of Windu Kentjana)\",\r\n \"value\": \"IDR_162 (Bank of Windu Kentjana)\"\r\n },\r\n \"IDR_164 (Bank ICBC Indonesia)\": {\r\n \"label\": \"IDR_164 (Bank ICBC Indonesia)\",\r\n \"value\": \"IDR_164 (Bank ICBC Indonesia)\"\r\n },\r\n \"IDR_166 (Bank Harmoni International)\": {\r\n \"label\": \"IDR_166 (Bank Harmoni International)\",\r\n \"value\": \"IDR_166 (Bank Harmoni International)\"\r\n },\r\n \"IDR_167 (Bank QNB Indonesia)\": {\r\n \"label\": \"IDR_167 (Bank QNB Indonesia)\",\r\n \"value\": \"IDR_167 (Bank QNB Indonesia)\"\r\n },\r\n \"IDR_200 (Bank BTN)\": {\r\n \"label\": \"IDR_200 (Bank BTN)\",\r\n \"value\": \"IDR_200 (Bank BTN)\"\r\n },\r\n \"IDR_212 (Bank Himpunan Saudara 1906)\": {\r\n \"label\": \"IDR_212 (Bank Himpunan Saudara 1906)\",\r\n \"value\": \"IDR_212 (Bank Himpunan Saudara 1906)\"\r\n },\r\n \"IDR_213 (Bank BTPN)\": {\r\n \"label\": \"IDR_213 (Bank BTPN)\",\r\n \"value\": \"IDR_213 (Bank BTPN)\"\r\n },\r\n \"IDR_333 (Koperasi Intidana)\": {\r\n \"label\": \"IDR_333 (Koperasi Intidana)\",\r\n \"value\": \"IDR_333 (Koperasi Intidana)\"\r\n },\r\n \"IDR_405 (Bank Victoria Syariah / Bank Swaguna)\": {\r\n \"label\": \"IDR_405 (Bank Victoria Syariah / Bank Swaguna)\",\r\n \"value\": \"IDR_405 (Bank Victoria Syariah / Bank Swaguna)\"\r\n },\r\n \"IDR_422 (Bank BRI Syariah (BRIS))\": {\r\n \"label\": \"IDR_422 (Bank BRI Syariah (BRIS))\",\r\n \"value\": \"IDR_422 (Bank BRI Syariah (BRIS))\"\r\n },\r\n \"IDR_425 (Bank BJB Syariah)\": {\r\n \"label\": \"IDR_425 (Bank BJB Syariah)\",\r\n \"value\": \"IDR_425 (Bank BJB Syariah)\"\r\n },\r\n \"IDR_426 (Bank Mega)\": {\r\n \"label\": \"IDR_426 (Bank Mega)\",\r\n \"value\": \"IDR_426 (Bank Mega)\"\r\n },\r\n \"IDR_427 (Bank BNI Syariah)\": {\r\n \"label\": \"IDR_427 (Bank BNI Syariah)\",\r\n \"value\": \"IDR_427 (Bank BNI Syariah)\"\r\n },\r\n \"IDR_441 (Bank Bukopin)\": {\r\n \"label\": \"IDR_441 (Bank Bukopin)\",\r\n \"value\": \"IDR_441 (Bank Bukopin)\"\r\n },\r\n \"IDR_451 (Bank Syariah Indonesia (BSI))\": {\r\n \"label\": \"IDR_451 (Bank Syariah Indonesia (BSI))\",\r\n \"value\": \"IDR_451 (Bank Syariah Indonesia (BSI))\"\r\n },\r\n \"IDR_459 (Bank Bisnis Internasional)\": {\r\n \"label\": \"IDR_459 (Bank Bisnis Internasional)\",\r\n \"value\": \"IDR_459 (Bank Bisnis Internasional)\"\r\n },\r\n \"IDR_466 (Bank Sri Partha / Bank Andara)\": {\r\n \"label\": \"IDR_466 (Bank Sri Partha / Bank Andara)\",\r\n \"value\": \"IDR_466 (Bank Sri Partha / Bank Andara)\"\r\n },\r\n \"IDR_472 (Bank Jasa Jakarta)\": {\r\n \"label\": \"IDR_472 (Bank Jasa Jakarta)\",\r\n \"value\": \"IDR_472 (Bank Jasa Jakarta)\"\r\n },\r\n \"IDR_484 (Bank KEB Hana Indonesia / Bank Bintang Manunggal)\": {\r\n \"label\": \"IDR_484 (Bank KEB Hana Indonesia / Bank Bintang Manunggal)\",\r\n \"value\": \"IDR_484 (Bank KEB Hana Indonesia / Bank Bintang Manunggal)\"\r\n },\r\n \"IDR_485 (Bank MNC Internasional / Bank Bumiputera)\": {\r\n \"label\": \"IDR_485 (Bank MNC Internasional / Bank Bumiputera)\",\r\n \"value\": \"IDR_485 (Bank MNC Internasional / Bank Bumiputera)\"\r\n },\r\n \"IDR_490 (Bank Yudha Bhakti (BYB))\": {\r\n \"label\": \"IDR_490 (Bank Yudha Bhakti (BYB))\",\r\n \"value\": \"IDR_490 (Bank Yudha Bhakti (BYB))\"\r\n },\r\n \"IDR_491 (Bank Mitra Niaga)\": {\r\n \"label\": \"IDR_491 (Bank Mitra Niaga)\",\r\n \"value\": \"IDR_491 (Bank Mitra Niaga)\"\r\n },\r\n \"IDR_494 (Bank Agroniaga / Bank BRI Agro Niaga)\": {\r\n \"label\": \"IDR_494 (Bank Agroniaga / Bank BRI Agro Niaga)\",\r\n \"value\": \"IDR_494 (Bank Agroniaga / Bank BRI Agro Niaga)\"\r\n },\r\n \"IDR_498 (Bank SBI Indonesia / Bank Indo Monex)\": {\r\n \"label\": \"IDR_498 (Bank SBI Indonesia / Bank Indo Monex)\",\r\n \"value\": \"IDR_498 (Bank SBI Indonesia / Bank Indo Monex)\"\r\n },\r\n \"IDR_503 (Bank National NOBU / Bank Alfindo)\": {\r\n \"label\": \"IDR_503 (Bank National NOBU / Bank Alfindo)\",\r\n \"value\": \"IDR_503 (Bank National NOBU / Bank Alfindo)\"\r\n },\r\n \"IDR_506 (Bank Mega Syariah)\": {\r\n \"label\": \"IDR_506 (Bank Mega Syariah)\",\r\n \"value\": \"IDR_506 (Bank Mega Syariah)\"\r\n },\r\n \"IDR_513 (Bank Ina Perdana)\": {\r\n \"label\": \"IDR_513 (Bank Ina Perdana)\",\r\n \"value\": \"IDR_513 (Bank Ina Perdana)\"\r\n },\r\n \"IDR_517 (Panin Dubai Syariah Bank / Bank Harfa)\": {\r\n \"label\": \"IDR_517 (Panin Dubai Syariah Bank / Bank Harfa)\",\r\n \"value\": \"IDR_517 (Panin Dubai Syariah Bank / Bank Harfa)\"\r\n },\r\n \"IDR_520 (Prima Master Bank)\": {\r\n \"label\": \"IDR_520 (Prima Master Bank)\",\r\n \"value\": \"IDR_520 (Prima Master Bank)\"\r\n },\r\n \"IDR_521 (Bank Syariah Bukopin)\": {\r\n \"label\": \"IDR_521 (Bank Syariah Bukopin)\",\r\n \"value\": \"IDR_521 (Bank Syariah Bukopin)\"\r\n },\r\n \"IDR_523 (Bank Sahabat Sampoerna)\": {\r\n \"label\": \"IDR_523 (Bank Sahabat Sampoerna)\",\r\n \"value\": \"IDR_523 (Bank Sahabat Sampoerna)\"\r\n },\r\n \"IDR_525 (Bank Barclays / Bank Akita)\": {\r\n \"label\": \"IDR_525 (Bank Barclays / Bank Akita)\",\r\n \"value\": \"IDR_525 (Bank Barclays / Bank Akita)\"\r\n },\r\n \"IDR_526 (Bank Dinar / Liman International Bank)\": {\r\n \"label\": \"IDR_526 (Bank Dinar / Liman International Bank)\",\r\n \"value\": \"IDR_526 (Bank Dinar / Liman International Bank)\"\r\n },\r\n \"IDR_531 (Anglomas International Bank)\": {\r\n \"label\": \"IDR_531 (Anglomas International Bank)\",\r\n \"value\": \"IDR_531 (Anglomas International Bank)\"\r\n },\r\n \"IDR_535 (Bank Kesejahteraan Ekonomi)\": {\r\n \"label\": \"IDR_535 (Bank Kesejahteraan Ekonomi)\",\r\n \"value\": \"IDR_535 (Bank Kesejahteraan Ekonomi)\"\r\n },\r\n \"IDR_536 (Bank Central Asia (BCA) Syariah)\": {\r\n \"label\": \"IDR_536 (Bank Central Asia (BCA) Syariah)\",\r\n \"value\": \"IDR_536 (Bank Central Asia (BCA) Syariah)\"\r\n },\r\n \"IDR_542 (Bank Artos Indonesia)\": {\r\n \"label\": \"IDR_542 (Bank Artos Indonesia)\",\r\n \"value\": \"IDR_542 (Bank Artos Indonesia)\"\r\n },\r\n \"IDR_547 (BANK BTPN SYARIAH / BANK PURBA DANARTA)\": {\r\n \"label\": \"IDR_547 (BANK BTPN SYARIAH / BANK PURBA DANARTA)\",\r\n \"value\": \"IDR_547 (BANK BTPN SYARIAH / BANK PURBA DANARTA)\"\r\n },\r\n \"IDR_548 (Bank Multiarta Sentosa)\": {\r\n \"label\": \"IDR_548 (Bank Multiarta Sentosa)\",\r\n \"value\": \"IDR_548 (Bank Multiarta Sentosa)\"\r\n },\r\n \"IDR_553 (Bank Mayora Indonesia)\": {\r\n \"label\": \"IDR_553 (Bank Mayora Indonesia)\",\r\n \"value\": \"IDR_553 (Bank Mayora Indonesia)\"\r\n },\r\n \"IDR_555 (Bank Index Selindo)\": {\r\n \"label\": \"IDR_555 (Bank Index Selindo)\",\r\n \"value\": \"IDR_555 (Bank Index Selindo)\"\r\n },\r\n \"IDR_558 (Bank Eksekutif)\": {\r\n \"label\": \"IDR_558 (Bank Eksekutif)\",\r\n \"value\": \"IDR_558 (Bank Eksekutif)\"\r\n },\r\n \"IDR_559 (Centratama Nasional Bank)\": {\r\n \"label\": \"IDR_559 (Centratama Nasional Bank)\",\r\n \"value\": \"IDR_559 (Centratama Nasional Bank)\"\r\n },\r\n \"IDR_562 (Bank Fama Internasional)\": {\r\n \"label\": \"IDR_562 (Bank Fama Internasional)\",\r\n \"value\": \"IDR_562 (Bank Fama Internasional)\"\r\n },\r\n \"IDR_564 (Bank Sinar Harapan Bali / Bank Mandiri Taspen Pos)\": {\r\n \"label\": \"IDR_564 (Bank Sinar Harapan Bali / Bank Mandiri Taspen Pos)\",\r\n \"value\": \"IDR_564 (Bank Sinar Harapan Bali / Bank Mandiri Taspen Pos)\"\r\n },\r\n \"IDR_566 (Bank Victoria Internasional)\": {\r\n \"label\": \"IDR_566 (Bank Victoria Internasional)\",\r\n \"value\": \"IDR_566 (Bank Victoria Internasional)\"\r\n },\r\n \"IDR_567 (Bank Harda Internasional)\": {\r\n \"label\": \"IDR_567 (Bank Harda Internasional)\",\r\n \"value\": \"IDR_567 (Bank Harda Internasional)\"\r\n },\r\n \"IDR_688 (BPR KS (Karyajatnika Sedaya))\": {\r\n \"label\": \"IDR_688 (BPR KS (Karyajatnika Sedaya))\",\r\n \"value\": \"IDR_688 (BPR KS (Karyajatnika Sedaya))\"\r\n },\r\n \"IDR_770 (ALTO Pay)\": {\r\n \"label\": \"IDR_770 (ALTO Pay)\",\r\n \"value\": \"IDR_770 (ALTO Pay)\"\r\n },\r\n \"IDR_775 (SGDO Pay)\": {\r\n \"label\": \"IDR_775 (SGDO Pay)\",\r\n \"value\": \"IDR_775 (SGDO Pay)\"\r\n },\r\n \"IDR_777 (Finnet)\": {\r\n \"label\": \"IDR_777 (Finnet)\",\r\n \"value\": \"IDR_777 (Finnet)\"\r\n },\r\n \"IDR_778 (Bank DKI UUS)\": {\r\n \"label\": \"IDR_778 (Bank DKI UUS)\",\r\n \"value\": \"IDR_778 (Bank DKI UUS)\"\r\n },\r\n \"IDR_789 (Indosat (dompetku))\": {\r\n \"label\": \"IDR_789 (Indosat (dompetku))\",\r\n \"value\": \"IDR_789 (Indosat (dompetku))\"\r\n },\r\n \"IDR_867 (Bank Eka Bumi Artha)\": {\r\n \"label\": \"IDR_867 (Bank Eka Bumi Artha)\",\r\n \"value\": \"IDR_867 (Bank Eka Bumi Artha)\"\r\n },\r\n \"IDR_899 (Doku)\": {\r\n \"label\": \"IDR_899 (Doku)\",\r\n \"value\": \"IDR_899 (Doku)\"\r\n },\r\n \"IDR_911 (Linkaja / Telcomsel (Tcash))\": {\r\n \"label\": \"IDR_911 (Linkaja / Telcomsel (Tcash))\",\r\n \"value\": \"IDR_911 (Linkaja / Telcomsel (Tcash))\"\r\n },\r\n \"IDR_945 (IBK Bank Indonesia / Bank Finconesia)\": {\r\n \"label\": \"IDR_945 (IBK Bank Indonesia / Bank Finconesia)\",\r\n \"value\": \"IDR_945 (IBK Bank Indonesia / Bank Finconesia)\"\r\n },\r\n \"IDR_946 (Bank Merincorp)\": {\r\n \"label\": \"IDR_946 (Bank Merincorp)\",\r\n \"value\": \"IDR_946 (Bank Merincorp)\"\r\n },\r\n \"IDR_947 (Bank Maybank Syariah Indonesia)\": {\r\n \"label\": \"IDR_947 (Bank Maybank Syariah Indonesia)\",\r\n \"value\": \"IDR_947 (Bank Maybank Syariah Indonesia)\"\r\n },\r\n \"IDR_948 (Bank OCBC Indonesia)\": {\r\n \"label\": \"IDR_948 (Bank OCBC Indonesia)\",\r\n \"value\": \"IDR_948 (Bank OCBC Indonesia)\"\r\n },\r\n \"IDR_949 (Bank CTBC Indonesia)\": {\r\n \"label\": \"IDR_949 (Bank CTBC Indonesia)\",\r\n \"value\": \"IDR_949 (Bank CTBC Indonesia)\"\r\n },\r\n \"IDR_950 (Bank Commonwealth)\": {\r\n \"label\": \"IDR_950 (Bank Commonwealth)\",\r\n \"value\": \"IDR_950 (Bank Commonwealth)\"\r\n },\r\n \"ALHB (Allahabad Bank)\": {\r\n \"label\": \"ALHB (Allahabad Bank)\",\r\n \"value\": \"ALHB (Allahabad Bank)\"\r\n },\r\n \"ANDB (Andhra Bank)\": {\r\n \"label\": \"ANDB (Andhra Bank)\",\r\n \"value\": \"ANDB (Andhra Bank)\"\r\n },\r\n \"AXIS (Axis Bank)\": {\r\n \"label\": \"AXIS (Axis Bank)\",\r\n \"value\": \"AXIS (Axis Bank)\"\r\n },\r\n \"BOIN (Bank of India)\": {\r\n \"label\": \"BOIN (Bank of India)\",\r\n \"value\": \"BOIN (Bank of India)\"\r\n },\r\n \"BRDA (Bank of Baroda)\": {\r\n \"label\": \"BRDA (Bank of Baroda)\",\r\n \"value\": \"BRDA (Bank of Baroda)\"\r\n },\r\n \"CANBK (Canara Bank)\": {\r\n \"label\": \"CANBK (Canara Bank)\",\r\n \"value\": \"CANBK (Canara Bank)\"\r\n },\r\n \"CBOI (Central Bank of India)\": {\r\n \"label\": \"CBOI (Central Bank of India)\",\r\n \"value\": \"CBOI (Central Bank of India)\"\r\n },\r\n \"CITI (Citi Bank)\": {\r\n \"label\": \"CITI (Citi Bank)\",\r\n \"value\": \"CITI (Citi Bank)\"\r\n },\r\n \"CORB (Corporation Bank)\": {\r\n \"label\": \"CORB (Corporation Bank)\",\r\n \"value\": \"CORB (Corporation Bank)\"\r\n },\r\n \"CSYB (Catholic Syrian Bank)\": {\r\n \"label\": \"CSYB (Catholic Syrian Bank)\",\r\n \"value\": \"CSYB (Catholic Syrian Bank)\"\r\n },\r\n \"DENB (Dena Bank)\": {\r\n \"label\": \"DENB (Dena Bank)\",\r\n \"value\": \"DENB (Dena Bank)\"\r\n },\r\n \"DNLM (Dhanlaxmi Bank)\": {\r\n \"label\": \"DNLM (Dhanlaxmi Bank)\",\r\n \"value\": \"DNLM (Dhanlaxmi Bank)\"\r\n },\r\n \"FEDB (Federal Bank)\": {\r\n \"label\": \"FEDB (Federal Bank)\",\r\n \"value\": \"FEDB (Federal Bank)\"\r\n },\r\n \"HDFC (HDFC Bank)\": {\r\n \"label\": \"HDFC (HDFC Bank)\",\r\n \"value\": \"HDFC (HDFC Bank)\"\r\n },\r\n \"ICICI (ICICI Bank)\": {\r\n \"label\": \"ICICI (ICICI Bank)\",\r\n \"value\": \"ICICI (ICICI Bank)\"\r\n },\r\n \"IDBI (IDBI Bank)\": {\r\n \"label\": \"IDBI (IDBI Bank)\",\r\n \"value\": \"IDBI (IDBI Bank)\"\r\n },\r\n \"INDNB (Indian Bank)\": {\r\n \"label\": \"INDNB (Indian Bank)\",\r\n \"value\": \"INDNB (Indian Bank)\"\r\n },\r\n \"INDU (IndusInd Bank)\": {\r\n \"label\": \"INDU (IndusInd Bank)\",\r\n \"value\": \"INDU (IndusInd Bank)\"\r\n },\r\n \"INOB (Indian Overseas Bank)\": {\r\n \"label\": \"INOB (Indian Overseas Bank)\",\r\n \"value\": \"INOB (Indian Overseas Bank)\"\r\n },\r\n \"IN_APGVB (Andhra Pradesh Grameena Vikas Bank)\": {\r\n \"label\": \"IN_APGVB (Andhra Pradesh Grameena Vikas Bank)\",\r\n \"value\": \"IN_APGVB (Andhra Pradesh Grameena Vikas Bank)\"\r\n },\r\n \"IN_CUB (City Union Bank)\": {\r\n \"label\": \"IN_CUB (City Union Bank)\",\r\n \"value\": \"IN_CUB (City Union Bank)\"\r\n },\r\n \"IN_HSBC (Hongkong and Shanghai Banking Corporation Limited India)\": {\r\n \"label\": \"IN_HSBC (Hongkong and Shanghai Banking Corporation Limited India)\",\r\n \"value\": \"IN_HSBC (Hongkong and Shanghai Banking Corporation Limited India)\"\r\n },\r\n \"IN_IDFC (IDFC First Bank)\": {\r\n \"label\": \"IN_IDFC (IDFC First Bank)\",\r\n \"value\": \"IN_IDFC (IDFC First Bank)\"\r\n },\r\n \"IN_KVB (Karur Vysya Bank)\": {\r\n \"label\": \"IN_KVB (Karur Vysya Bank)\",\r\n \"value\": \"IN_KVB (Karur Vysya Bank)\"\r\n },\r\n \"IN_LVB (Lakshmi Vilas Bank)\": {\r\n \"label\": \"IN_LVB (Lakshmi Vilas Bank)\",\r\n \"value\": \"IN_LVB (Lakshmi Vilas Bank)\"\r\n },\r\n \"IN_PMCB (Punjab and Maharashtra Co-operative Bank Limited)\": {\r\n \"label\": \"IN_PMCB (Punjab and Maharashtra Co-operative Bank Limited)\",\r\n \"value\": \"IN_PMCB (Punjab and Maharashtra Co-operative Bank Limited)\"\r\n },\r\n \"IN_USFB (Ujjivan Small Finance Bank)\": {\r\n \"label\": \"IN_USFB (Ujjivan Small Finance Bank)\",\r\n \"value\": \"IN_USFB (Ujjivan Small Finance Bank)\"\r\n },\r\n \"JAKB (Jammu and Kashmir Bank)\": {\r\n \"label\": \"JAKB (Jammu and Kashmir Bank)\",\r\n \"value\": \"JAKB (Jammu and Kashmir Bank)\"\r\n },\r\n \"KARBK (Karnataka Bank)\": {\r\n \"label\": \"KARBK (Karnataka Bank)\",\r\n \"value\": \"KARBK (Karnataka Bank)\"\r\n },\r\n \"KOTBK (Kotak Mahindra Bank)\": {\r\n \"label\": \"KOTBK (Kotak Mahindra Bank)\",\r\n \"value\": \"KOTBK (Kotak Mahindra Bank)\"\r\n },\r\n \"MHRT (Bank of Maharashtra)\": {\r\n \"label\": \"MHRT (Bank of Maharashtra)\",\r\n \"value\": \"MHRT (Bank of Maharashtra)\"\r\n },\r\n \"OBOC (Oriental Bank of Commerce)\": {\r\n \"label\": \"OBOC (Oriental Bank of Commerce)\",\r\n \"value\": \"OBOC (Oriental Bank of Commerce)\"\r\n },\r\n \"PASB (Punjab and Sind Bank)\": {\r\n \"label\": \"PASB (Punjab and Sind Bank)\",\r\n \"value\": \"PASB (Punjab and Sind Bank)\"\r\n },\r\n \"PNJB (Punjab National Bank)\": {\r\n \"label\": \"PNJB (Punjab National Bank)\",\r\n \"value\": \"PNJB (Punjab National Bank)\"\r\n },\r\n \"SBBJ (State Bank of Bikaner and Jaipur)\": {\r\n \"label\": \"SBBJ (State Bank of Bikaner and Jaipur)\",\r\n \"value\": \"SBBJ (State Bank of Bikaner and Jaipur)\"\r\n },\r\n \"SBIN (State Bank)\": {\r\n \"label\": \"SBIN (State Bank)\",\r\n \"value\": \"SBIN (State Bank)\"\r\n },\r\n \"SBOH (State Bank of Hyderabad)\": {\r\n \"label\": \"SBOH (State Bank of Hyderabad)\",\r\n \"value\": \"SBOH (State Bank of Hyderabad)\"\r\n },\r\n \"SBOT (State Bank of Travancore)\": {\r\n \"label\": \"SBOT (State Bank of Travancore)\",\r\n \"value\": \"SBOT (State Bank of Travancore)\"\r\n },\r\n \"SCTRD (Standard Chartered Bank)\": {\r\n \"label\": \"SCTRD (Standard Chartered Bank)\",\r\n \"value\": \"SCTRD (Standard Chartered Bank)\"\r\n },\r\n \"SIBK (South Indian Bank)\": {\r\n \"label\": \"SIBK (South Indian Bank)\",\r\n \"value\": \"SIBK (South Indian Bank)\"\r\n },\r\n \"SYNB (Syndicate Bank)\": {\r\n \"label\": \"SYNB (Syndicate Bank)\",\r\n \"value\": \"SYNB (Syndicate Bank)\"\r\n },\r\n \"TAMB (Tamilnadu Mercantile Bank)\": {\r\n \"label\": \"TAMB (Tamilnadu Mercantile Bank)\",\r\n \"value\": \"TAMB (Tamilnadu Mercantile Bank)\"\r\n },\r\n \"UCOB (UCO Bank)\": {\r\n \"label\": \"UCOB (UCO Bank)\",\r\n \"value\": \"UCOB (UCO Bank)\"\r\n },\r\n \"UNBOI (Union Bank of India)\": {\r\n \"label\": \"UNBOI (Union Bank of India)\",\r\n \"value\": \"UNBOI (Union Bank of India)\"\r\n },\r\n \"VJYB (Vijaya Bank)\": {\r\n \"label\": \"VJYB (Vijaya Bank)\",\r\n \"value\": \"VJYB (Vijaya Bank)\"\r\n },\r\n \"YESB (YES Bank)\": {\r\n \"label\": \"YESB (YES Bank)\",\r\n \"value\": \"YESB (YES Bank)\"\r\n },\r\n \"JP_BOF (Bank of Fukuoka)\": {\r\n \"label\": \"JP_BOF (Bank of Fukuoka)\",\r\n \"value\": \"JP_BOF (Bank of Fukuoka)\"\r\n },\r\n \"JP_BOY (Bank of Yokohama)\": {\r\n \"label\": \"JP_BOY (Bank of Yokohama)\",\r\n \"value\": \"JP_BOY (Bank of Yokohama)\"\r\n },\r\n \"JP_CBB (Chiba Bank)\": {\r\n \"label\": \"JP_CBB (Chiba Bank)\",\r\n \"value\": \"JP_CBB (Chiba Bank)\"\r\n },\r\n \"JP_HKB (Hokkaido Bank)\": {\r\n \"label\": \"JP_HKB (Hokkaido Bank)\",\r\n \"value\": \"JP_HKB (Hokkaido Bank)\"\r\n },\r\n \"JP_HNB (Higashi-Nippon Bank)\": {\r\n \"label\": \"JP_HNB (Higashi-Nippon Bank)\",\r\n \"value\": \"JP_HNB (Higashi-Nippon Bank)\"\r\n },\r\n \"JP_HRB (Hokuriku Bank)\": {\r\n \"label\": \"JP_HRB (Hokuriku Bank)\",\r\n \"value\": \"JP_HRB (Hokuriku Bank)\"\r\n },\r\n \"JP_JPB (Japan Post Bank)\": {\r\n \"label\": \"JP_JPB (Japan Post Bank)\",\r\n \"value\": \"JP_JPB (Japan Post Bank)\"\r\n },\r\n \"JP_KMB (Kansai Mirai Bank Ltd)\": {\r\n \"label\": \"JP_KMB (Kansai Mirai Bank Ltd)\",\r\n \"value\": \"JP_KMB (Kansai Mirai Bank Ltd)\"\r\n },\r\n \"JP_MNB (Minna Bank)\": {\r\n \"label\": \"JP_MNB (Minna Bank)\",\r\n \"value\": \"JP_MNB (Minna Bank)\"\r\n },\r\n \"JP_MUFG (MUFG Bank)\": {\r\n \"label\": \"JP_MUFG (MUFG Bank)\",\r\n \"value\": \"JP_MUFG (MUFG Bank)\"\r\n },\r\n \"JP_MZB (Mizuho Bank)\": {\r\n \"label\": \"JP_MZB (Mizuho Bank)\",\r\n \"value\": \"JP_MZB (Mizuho Bank)\"\r\n },\r\n \"JP_RSB (Resona Bank)\": {\r\n \"label\": \"JP_RSB (Resona Bank)\",\r\n \"value\": \"JP_RSB (Resona Bank)\"\r\n },\r\n \"JP_SMFC (Sumitomo Mitsui Banking Corporation)\": {\r\n \"label\": \"JP_SMFC (Sumitomo Mitsui Banking Corporation)\",\r\n \"value\": \"JP_SMFC (Sumitomo Mitsui Banking Corporation)\"\r\n },\r\n \"JP_TJSB (The Juhachi-Shinwa Bank Ltd)\": {\r\n \"label\": \"JP_TJSB (The Juhachi-Shinwa Bank Ltd)\",\r\n \"value\": \"JP_TJSB (The Juhachi-Shinwa Bank Ltd)\"\r\n },\r\n \"JP_TKB (The Kumamoto Bank Ltd)\": {\r\n \"label\": \"JP_TKB (The Kumamoto Bank Ltd)\",\r\n \"value\": \"JP_TKB (The Kumamoto Bank Ltd)\"\r\n },\r\n \"JP_TNB (The Norinchukin Bank)\": {\r\n \"label\": \"JP_TNB (The Norinchukin Bank)\",\r\n \"value\": \"JP_TNB (The Norinchukin Bank)\"\r\n },\r\n \"KR_BANKOFCOREA (Bank of Korea)\": {\r\n \"label\": \"KR_BANKOFCOREA (Bank of Korea)\",\r\n \"value\": \"KR_BANKOFCOREA (Bank of Korea)\"\r\n },\r\n \"KR_BNK (Busan Bank)\": {\r\n \"label\": \"KR_BNK (Busan Bank)\",\r\n \"value\": \"KR_BNK (Busan Bank)\"\r\n },\r\n \"KR_CTK (Citibank Korea)\": {\r\n \"label\": \"KR_CTK (Citibank Korea)\",\r\n \"value\": \"KR_CTK (Citibank Korea)\"\r\n },\r\n \"KR_DGB (DAEGU Bank)\": {\r\n \"label\": \"KR_DGB (DAEGU Bank)\",\r\n \"value\": \"KR_DGB (DAEGU Bank)\"\r\n },\r\n \"KR_HBG (KEB Hana Bank)\": {\r\n \"label\": \"KR_HBG (KEB Hana Bank)\",\r\n \"value\": \"KR_HBG (KEB Hana Bank)\"\r\n },\r\n \"KR_IBK (Industrial Bank of Korea)\": {\r\n \"label\": \"KR_IBK (Industrial Bank of Korea)\",\r\n \"value\": \"KR_IBK (Industrial Bank of Korea)\"\r\n },\r\n \"KR_KDB (Korea Development Bank)\": {\r\n \"label\": \"KR_KDB (Korea Development Bank)\",\r\n \"value\": \"KR_KDB (Korea Development Bank)\"\r\n },\r\n \"KR_KKB (KB Kookmin Bank)\": {\r\n \"label\": \"KR_KKB (KB Kookmin Bank)\",\r\n \"value\": \"KR_KKB (KB Kookmin Bank)\"\r\n },\r\n \"KR_KWB (Kwangju Bank)\": {\r\n \"label\": \"KR_KWB (Kwangju Bank)\",\r\n \"value\": \"KR_KWB (Kwangju Bank)\"\r\n },\r\n \"KR_NOB (Nonghyup Bank)\": {\r\n \"label\": \"KR_NOB (Nonghyup Bank)\",\r\n \"value\": \"KR_NOB (Nonghyup Bank)\"\r\n },\r\n \"KR_SHB (Shinhan Bank)\": {\r\n \"label\": \"KR_SHB (Shinhan Bank)\",\r\n \"value\": \"KR_SHB (Shinhan Bank)\"\r\n },\r\n \"KR_WOB (Woori Bank)\": {\r\n \"label\": \"KR_WOB (Woori Bank)\",\r\n \"value\": \"KR_WOB (Woori Bank)\"\r\n },\r\n \"MY_AMB (AmBank)\": {\r\n \"label\": \"MY_AMB (AmBank)\",\r\n \"value\": \"MY_AMB (AmBank)\"\r\n },\r\n \"MY_CIMB (CIMB Bank)\": {\r\n \"label\": \"MY_CIMB (CIMB Bank)\",\r\n \"value\": \"MY_CIMB (CIMB Bank)\"\r\n },\r\n \"MY_HLB (Hong Leong Bank)\": {\r\n \"label\": \"MY_HLB (Hong Leong Bank)\",\r\n \"value\": \"MY_HLB (Hong Leong Bank)\"\r\n },\r\n \"MY_HSBC (HSBC Bank)\": {\r\n \"label\": \"MY_HSBC (HSBC Bank)\",\r\n \"value\": \"MY_HSBC (HSBC Bank)\"\r\n },\r\n \"MY_MAYB (Maybank)\": {\r\n \"label\": \"MY_MAYB (Maybank)\",\r\n \"value\": \"MY_MAYB (Maybank)\"\r\n },\r\n \"MY_OCBC (OCBC Bank)\": {\r\n \"label\": \"MY_OCBC (OCBC Bank)\",\r\n \"value\": \"MY_OCBC (OCBC Bank)\"\r\n },\r\n \"MY_PUBLIC (Public Bank)\": {\r\n \"label\": \"MY_PUBLIC (Public Bank)\",\r\n \"value\": \"MY_PUBLIC (Public Bank)\"\r\n },\r\n \"MY_RHB (RHB Bank)\": {\r\n \"label\": \"MY_RHB (RHB Bank)\",\r\n \"value\": \"MY_RHB (RHB Bank)\"\r\n },\r\n \"MY_UOBIB (United Overseas Bank (UOB))\": {\r\n \"label\": \"MY_UOBIB (United Overseas Bank (UOB))\",\r\n \"value\": \"MY_UOBIB (United Overseas Bank (UOB))\"\r\n },\r\n \"TH_BANGKOK (Bangkok Bank)\": {\r\n \"label\": \"TH_BANGKOK (Bangkok Bank)\",\r\n \"value\": \"TH_BANGKOK (Bangkok Bank)\"\r\n },\r\n \"TH_CIMB (CIMB THAI Bank)\": {\r\n \"label\": \"TH_CIMB (CIMB THAI Bank)\",\r\n \"value\": \"TH_CIMB (CIMB THAI Bank)\"\r\n },\r\n \"TH_GOVERNMENTSAVINGS (Government Savings Bank)\": {\r\n \"label\": \"TH_GOVERNMENTSAVINGS (Government Savings Bank)\",\r\n \"value\": \"TH_GOVERNMENTSAVINGS (Government Savings Bank)\"\r\n },\r\n \"TH_KASIKORN (Kasikorn Bank)\": {\r\n \"label\": \"TH_KASIKORN (Kasikorn Bank)\",\r\n \"value\": \"TH_KASIKORN (Kasikorn Bank)\"\r\n },\r\n \"TH_KRUNGSRI (Bank of Ayudhya (Krungsri))\": {\r\n \"label\": \"TH_KRUNGSRI (Bank of Ayudhya (Krungsri))\",\r\n \"value\": \"TH_KRUNGSRI (Bank of Ayudhya (Krungsri))\"\r\n },\r\n \"TH_KRUNGTHAI (Krungthai Bank)\": {\r\n \"label\": \"TH_KRUNGTHAI (Krungthai Bank)\",\r\n \"value\": \"TH_KRUNGTHAI (Krungthai Bank)\"\r\n },\r\n \"TH_SIAM (Siam Commercial Bank)\": {\r\n \"label\": \"TH_SIAM (Siam Commercial Bank)\",\r\n \"value\": \"TH_SIAM (Siam Commercial Bank)\"\r\n },\r\n \"TH_TTBDIRECT (TMBThanachart Bank (ttb))\": {\r\n \"label\": \"TH_TTBDIRECT (TMBThanachart Bank (ttb))\",\r\n \"value\": \"TH_TTBDIRECT (TMBThanachart Bank (ttb))\"\r\n },\r\n \"TH_UOBT (United Overseas Bank (UOB))\": {\r\n \"label\": \"TH_UOBT (United Overseas Bank (UOB))\",\r\n \"value\": \"TH_UOBT (United Overseas Bank (UOB))\"\r\n },\r\n \"VN_ACB (Asia Commercial Bank)\": {\r\n \"label\": \"VN_ACB (Asia Commercial Bank)\",\r\n \"value\": \"VN_ACB (Asia Commercial Bank)\"\r\n },\r\n \"VN_BIDV (BIDV)\": {\r\n \"label\": \"VN_BIDV (BIDV)\",\r\n \"value\": \"VN_BIDV (BIDV)\"\r\n },\r\n \"VN_DONGA (DongA Bank)\": {\r\n \"label\": \"VN_DONGA (DongA Bank)\",\r\n \"value\": \"VN_DONGA (DongA Bank)\"\r\n },\r\n \"VN_EXIM (Eximbank)\": {\r\n \"label\": \"VN_EXIM (Eximbank)\",\r\n \"value\": \"VN_EXIM (Eximbank)\"\r\n },\r\n \"VN_SACOM (Sacombank)\": {\r\n \"label\": \"VN_SACOM (Sacombank)\",\r\n \"value\": \"VN_SACOM (Sacombank)\"\r\n },\r\n \"VN_TECHCOM (Techcombank)\": {\r\n \"label\": \"VN_TECHCOM (Techcombank)\",\r\n \"value\": \"VN_TECHCOM (Techcombank)\"\r\n },\r\n \"VN_TP (TPBank)\": {\r\n \"label\": \"VN_TP (TPBank)\",\r\n \"value\": \"VN_TP (TPBank)\"\r\n },\r\n \"VN_VIETCOM (Vietcombank)\": {\r\n \"label\": \"VN_VIETCOM (Vietcombank)\",\r\n \"value\": \"VN_VIETCOM (Vietcombank)\"\r\n },\r\n \"VN_VIETIN (VietinBank)\": {\r\n \"label\": \"VN_VIETIN (VietinBank)\",\r\n \"value\": \"VN_VIETIN (VietinBank)\"\r\n },\r\n \"VN_VP (VPBank)\": {\r\n \"label\": \"VN_VP (VPBank)\",\r\n \"value\": \"VN_VP (VPBank)\"\r\n }\r\n};\r\nexport const BRIDGER_PAYMENT_ACCOUNT_TYPE_OPTIONS: any[] = [\r\n { label: \"savings\", value: \"savings\" },\r\n { label: \"current\", value: \"current\" },\r\n { label: \"cheque\", value: \"cheque\" },\r\n { label: \"transmission\", value: \"transmission\" },\r\n { label: \"checking\", value: \"checking\" },\r\n { label: \"general\", value: \"general\" },\r\n { label: \"private\", value: \"private\" },\r\n { label: \"corporate\", value: \"corporate\" },\r\n];\r\nexport const BRIDGER_PAYMENT_ACCOUNT_TYPE_DICT: any = {\r\n \"savings\": {\r\n \"label\": \"savings\",\r\n \"value\": \"savings\"\r\n },\r\n \"current\": {\r\n \"label\": \"current\",\r\n \"value\": \"current\"\r\n },\r\n \"cheque\": {\r\n \"label\": \"cheque\",\r\n \"value\": \"cheque\"\r\n },\r\n \"transmission\": {\r\n \"label\": \"transmission\",\r\n \"value\": \"transmission\"\r\n },\r\n \"checking\": {\r\n \"label\": \"checking\",\r\n \"value\": \"checking\"\r\n },\r\n \"general\": {\r\n \"label\": \"general\",\r\n \"value\": \"general\"\r\n },\r\n \"private\": {\r\n \"label\": \"private\",\r\n \"value\": \"private\"\r\n },\r\n \"corporate\": {\r\n \"label\": \"corporate\",\r\n \"value\": \"corporate\"\r\n }\r\n};\r\nexport function validateBridgerCurrencyAmount({ currency, amount }: { currency: string; amount: number; }): boolean {\r\n switch (currency.toUpperCase()) {\r\n case \"CNY\":\r\n return amount >= 10000 && amount <= 50000;\r\n case \"IDR\":\r\n return amount >= 500000 && amount <= 25000000;\r\n case \"INR\":\r\n return amount >= 1000 && amount <= 500000;\r\n case \"JPY\":\r\n return amount >= 5000 && amount <= 1000000;\r\n case \"KRW\":\r\n return amount >= 10000 && amount <= 6000000;\r\n case \"MYR\":\r\n return amount >= 50 && amount <= 20000;\r\n case \"THB\":\r\n return amount >= 100 && amount <= 100000;\r\n case \"VND\":\r\n return amount >= 100000 && amount <= 100000000;\r\n default:\r\n return false; // Currency not supported\r\n }\r\n}\r\nexport function ReturnBridgerCurrencyAmount({ currency }: { currency: string; }): string {\r\n switch (currency.toUpperCase()) {\r\n case \"CNY\":\r\n return \"amount should be between 10,000 and 50,000\";\r\n case \"IDR\":\r\n return \"amount should be between 500,000 and 25,000,000\";\r\n case \"INR\":\r\n return \"amount should be between 1,000 and 500,000\";\r\n case \"JPY\":\r\n return \"amount should be between 5,000 and 1,000,000\";\r\n case \"KRW\":\r\n return \"amount should be between 10,000 and 6,000,000\";\r\n case \"MYR\":\r\n return \"amount should be between 50 and 20,000\";\r\n case \"THB\":\r\n return \"amount should be between 100 and 100,000\";\r\n case \"VND\":\r\n return \"amount should be between 100000 and 100,000,000\";\r\n default:\r\n return \"\"; // Currency not supported\r\n }\r\n}\r\nexport function validateNamesRegex(text: string) {\r\n if (!text || text === \"\") return false;\r\n\r\n var _regexComma = /^([\\\\D\\\\-\\\\.,']*[^0-9]*)+$/g;\r\n return text.match(_regexComma) ? true : false;\r\n}\r\nexport const NACE_CRYPTO_CURRENCIES = [\r\n {\r\n \"label\": \"BTC\",\r\n \"value\": \"btc\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"BCH\",\r\n \"value\": \"bch\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"ETH\",\r\n \"value\": \"eth\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"LTC\",\r\n \"value\": \"ltc\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"DODGE\",\r\n \"value\": \"doge\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"USDT\",\r\n \"value\": \"erc20/usdt\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"XRP\",\r\n \"value\": \"xrp\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"USDC\",\r\n \"value\": \"erc20/usdc\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"USDT (TRC20)\",\r\n \"value\": \"usdt_tron\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"SOL\",\r\n \"value\": \"sol\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"BNB\",\r\n \"value\": \"bnb\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"DASH\",\r\n \"value\": \"dash\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"ADA Cardano\",\r\n \"value\": \"ada\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"AVAX Avalanche\",\r\n \"value\": \"avax\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"Polygon (Matic)\",\r\n \"value\": \"matic_poly\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n },\r\n {\r\n \"label\": \"SHIB\",\r\n \"value\": \"erc20/shib\",\r\n \"BTCBlockchain\": \"mainnet\"\r\n }\r\n];\r\nexport function isMarketEquityPaymentVisible(PoolID: number, PaymentName: string) {\r\n if (PoolID === EMARKET_EQUITY_POOLS.DefaultPool) {\r\n return MARKET_EQUITY_PAYMENT_POOLS.DefaultPool.find((item: string) => item === PaymentName.toLowerCase());\r\n }\r\n if (PoolID === EMARKET_EQUITY_POOLS.DefaultWG) {\r\n return MARKET_EQUITY_PAYMENT_POOLS.DefaultWG.find((item: string) => item === PaymentName.toLowerCase());\r\n }\r\n if (PoolID === EMARKET_EQUITY_POOLS.ROW) {\r\n return MARKET_EQUITY_PAYMENT_POOLS.ROW.find((item: string) => item === PaymentName.toLowerCase());\r\n }\r\n if (PoolID === EMARKET_EQUITY_POOLS.GCC) {\r\n return MARKET_EQUITY_PAYMENT_POOLS.GCC.find((item: string) => item === PaymentName.toLowerCase());\r\n }\r\n if (PoolID === EMARKET_EQUITY_POOLS.FEE_FREE) {\r\n return MARKET_EQUITY_PAYMENT_POOLS.FEE_FREE.find((item: string) => item === PaymentName.toLowerCase());\r\n }\r\n if (PoolID === EMARKET_EQUITY_POOLS.IB_USER) return false;\r\n if (PoolID === EMARKET_EQUITY_POOLS.Bonus) return false;\r\n\r\n return false;\r\n}\r\nexport function isIQXPaymentVisible(acctypeId: number, PaymentName: string) {\r\n if (!!Object.values(E_IQX_ACCOUNT_TYPES).some(value => value === acctypeId))\r\n return PaymentName.toLowerCase() === EPayments.UPay || PaymentName.toLowerCase() === EPayments.ASIA_PAYMENT;\r\n //keep rest same\r\n return true;\r\n}\r\nexport function isIQXPaymentVisibleForWallet(poolId: number, PaymentName: string, Deposit: boolean) {\r\n if (!Deposit && poolId === E_IQX_POOLS.PH_Default) return PaymentName.toLowerCase() === EPayments.ASIA_PAYMENT;\r\n if (Deposit && poolId === E_IQX_POOLS.PH_Default) return false;\r\n return true;\r\n}\r\nexport const encryptParams = (params: any, key: string) => {\r\n console.log('encryptParams', key)\r\n if (!key) return \"\";\r\n try {\r\n const cipher = crypto.createCipheriv('des-ede3', key.substring(0, 24), '');\r\n let encrypted = cipher.update(params, 'utf8', 'base64');\r\n encrypted += cipher.final('base64');\r\n return encrypted;\r\n } catch (e) {\r\n console.error(e);\r\n return '';\r\n }\r\n}\r\n\r\n\r\nexport const decryptParams = (encryptedData: any, key: string) => {\r\n console.log('decryptParams', key)\r\n if (!key) return \"\";\r\n try {\r\n const decipher = crypto.createDecipheriv('des-ede3', key.substring(0, 24), '');\r\n let decrypted = decipher.update(encryptedData, 'base64', 'utf8');\r\n decrypted += decipher.final('utf8');\r\n return decrypted;\r\n } catch (e) {\r\n console.error(e);\r\n return '';\r\n }\r\n}\r\n\r\nexport const OTHERS_CRYPTO_PAYMENTS_ICONFX = [\r\n { value: \"0xD663A5e5D86E335a68101D153A0B1b913688Eb23\", label: \"BEP20\" },\r\n { value: \"TA6QAtNe2hWhRf9AzZjo5avseQJeChSytf\", label: \"TRC20\" },\r\n { value: \"0xD663A5e5D86E335a68101D153A0B1b913688Eb23\", label: \"ERC20\" },\r\n];\r\n\r\nexport const OTHERS_CRYPTO_PAYMENTS_WinPro = [\r\n { value: \"0xea7243c6a8dc1e49c1568adee39d89fac91656ec\", label: \"ETH (ERC20)\" },\r\n { value: \"TVHEDuswbS9cLY1E5uovcBg28y8p9PUHQq\", label: \"USDT (TRC20)\" },\r\n { value: \"0xea7243c6a8dc1e49c1568adee39d89fac91656ec\", label: \"USDT (ERC20)\" },\r\n { value: \"1HPj5eZxJztpSCa6QG1VHWGz1wP4ELrX5Z\", label: \"Bitcoin\" },\r\n];\r\nexport function ReturnWalletsPerCompany(companyName: string) {\r\n if (companyName?.toLowerCase() === \"icon\") return OTHERS_CRYPTO_PAYMENTS_ICONFX;\r\n if (companyName?.toLowerCase() === \"winpro\") return OTHERS_CRYPTO_PAYMENTS_WinPro;\r\n return [];\r\n\r\n}\r\nexport const OTHERS_PAYMENTS = [\"other1\", \"other2\", \"other3\", \"other4\", \"other5\", \"other6\", \"other7\", \"other8\"];\r\nexport function ReturnOthersPaymentLabel(paymentName: string): any {\r\n const _paymentName = paymentName.toLowerCase();\r\n if (_paymentName === \"other1\") {\r\n return \"Phone number\";\r\n }\r\n if (_paymentName === \"other2\") {\r\n return \"Wallet address\";\r\n }\r\n if (_paymentName === \"other3\") {\r\n return \"Wallet ID\";\r\n }\r\n if (_paymentName === \"other4\") {\r\n return \"Payeer ID\";\r\n }\r\n if (_paymentName === \"other5\") {\r\n return \"Phone number\";//3 fields\r\n }\r\n if (_paymentName === \"other6\") {\r\n return \"Wallet ID\";\r\n }\r\n return \"WalletAddress\";\r\n}\r\nexport function GET_FLW_BANKS(isAccount?: boolean) {\r\n //if (isAccount)\r\n // return [\r\n // {\r\n // \"label\": \"Bank\",\r\n // \"value\": \"bank\",\r\n // },\r\n // {\r\n // \"label\": \"Barter\",\r\n // \"value\": \"barter\",\r\n // },\r\n // {\r\n // \"label\": \"Mobile money\",\r\n // \"value\": \"momo\",\r\n // },\r\n // ];\r\n return [\r\n {\r\n \"label\": \"Bank\",\r\n \"value\": \"bank\",\r\n },\r\n {\r\n \"label\": \"Barter\",\r\n \"value\": \"barter\",\r\n },\r\n {\r\n \"label\": \"Mobile money\",\r\n \"value\": \"momo\",\r\n },\r\n {\r\n \"label\": \"Wallet-to-wallet\",\r\n \"value\": \"wtw\",\r\n },\r\n ]\r\n};\r\nexport const FLW_Dict: any = {\r\n \"bank\": \"Bank\",\r\n \"barter\": \"Barter\",\r\n \"momo\": \"Mobile money\",\r\n \"wtw\": \"Wallet-to-wallet\",\r\n};\r\nexport const FLW_COUNTRIES = [{ value: \"Rwanda (RWF)\", label: \"Rwanda (RWF)\", Code: \"RWF\" },\r\n{ value: \"Tanzania (TZS)\", label: \"Tanzania (TZS)\", Code: \"TZS\" },\r\n{ value: \"Uganda (UGX)\", label: \"Uganda (UGX)\", Code: \"UGX\" },\r\n{ value: \"Zambia (ZMW)\tMPS\", label: \"Zambia (ZMW)\tMPS\", Code: \"ZMW\" },\r\n{ value: \"Kenya (KES)\", label: \"Kenya (KES)\", Code: \"KES\" },\r\n{ value: \"M-Pesa (MPS)\", label: \"M-Pesa (MPS)\", Code: \"MPS\" },\r\n{ value: \"Airtel Kenya (MPX)\", label: \"Airtel Kenya (MPX)\", Code: \"MPX\" },\r\n{ value: \"Ghana (GHS)\", label: \"Ghana (GHS)\", Code: \"GHS\" },\r\n{ value: \"MTN\", label: \"MTN\", Code: \"MTN\" },\r\n{ value: \"TIGO\", label: \"TIGO\", Code: \"TIGO\" },\r\n{ value: \"VODAFONE\", label: \"VODAFONE\", Code: \"VODAFONE\" },\r\n{ value: \"AIRTEL\", label: \"AIRTEL\", Code: \"AIRTEL\" },\r\n{ value: \"Cameroon (XAF)\", label: \"Cameroon (XAF)\", Code: \"XAF\" },\r\n{ value: \"Cote d'Ivoire (XOF)\tFMM\", label: \"Cote d'Ivoire (XOF)\tFMM\", Code: \"XOF\" },\r\n{ value: \"Senegal (XOF)\", label: \"Senegal (XOF)\", Code: \"XOF\" },\r\n{ value: \"ORANGEMONEY\", label: \"ORANGEMONEY\", Code: \"ORANGEMONEY\" },\r\n{ value: \"EMONEY\", label: \"EMONEY\", Code: \"\" },\r\n{ value: \"FREEMONEY\", label: \"FREEMONEY\", Code: \"FREEMONEY\" }];\r\n\r\nexport function getFlwMOMOPaymentMethods(selectedValue: any) {\r\n if ([\"Rwanda (RWF)\", \"Tanzania (TZS)\", \"Uganda (UGX)\", \"Zambia (ZMW)\"].includes(selectedValue)) {\r\n return [{ value: \"mps\", label: \"MPS\" }];\r\n }\r\n\r\n if ([\"Kenya (KES)\"].includes(selectedValue)) {\r\n return [\r\n { value: \"mps\", label: \"M-Pesa (MPS)\" },\r\n { value: \"mpx\", label: \"Airtel Kenya (MPX)\" },\r\n ];\r\n }\r\n\r\n if ([\"Ghana (GHS)\"].includes(selectedValue)) {\r\n return [\r\n { value: \"mtn\", label: \"MTN\" },\r\n { value: \"tigo\", label: \"TIGO\" },\r\n { value: \"vodafone\", label: \"VODAFONE\" },\r\n { value: \"airtel\", label: \"AIRTEL\" },\r\n ];\r\n }\r\n\r\n if ([\"Cameroon (XAF)\", \"Cote d'Ivoire (XOF)\"].includes(selectedValue)) {\r\n return [{ value: \"fmm\", label: \"FMM\" }];\r\n }\r\n\r\n if ([\"Senegal (XOF)\"].includes(selectedValue)) {\r\n return [\r\n { value: \"ORANGEMONEY\", label: \"ORANGEMONEY\" },\r\n { value: \"EMONEY\", label: \"EMONEY\" },\r\n { value: \"FREEMONEY\", label: \"FREEMONEY\" },\r\n ];\r\n }\r\n\r\n return [];\r\n};\r\nexport const Bank_FLW_COUNTRIES = [\r\n { value: \"NG\", label: \"Nigeria\" },\r\n { value: \"GH\", label: \"Ghana\" },\r\n { value: \"KE\", label: \"Kenya\" },\r\n { value: \"UG\", label: \"Uganda\" },\r\n { value: \"ZA\", label: \"South Africa\" },\r\n { value: \"TZ\", label: \"Tanzania\" }\r\n];\r\nexport const FLW_Banks_DATA = {\r\n \"First City Monumemt Bank (FCMB)\": {\r\n \"sender\": { value: \"\", type: \"string\", required: \"true\", title: \"Sender\" },\r\n \"sender_address\": { value: \"\", type: \"string\", required: \"true\", title: \"Address\" },\r\n \"sender_country\": { value: \"\", type: \"string\", required: \"true\", title: \"Country\" },\r\n \"sender_id_number\": { value: \"\", type: \"string\", required: \"true\", title: \"ID number\" },\r\n \"sender_id_type\": { value: \"\", type: \"string\", required: \"true\", title: \"ID type\" },\r\n \"sender_id_expiry\": { value: \"\", type: \"string\", required: \"true\", title: \"ID expiry\" },\r\n \"sender_mobile_number\": { value: \"\", type: \"string\", required: \"true\", title: \"Mobile number\" },\r\n \"sender_occupation\": { value: \"\", type: \"string\", required: \"true\", title: \"Occupation\" },\r\n \"sender_beneficiary_relationship\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary relationship\" },\r\n \"recipient_address\": { value: \"\", type: \"string\", required: \"true\", title: \"Recipient address\" },\r\n \"beneficiary_country\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary country\" },\r\n \"routing_number\": { value: \"\", type: \"string\", required: \"true\", title: \"Routing number\" },\r\n \"transfer_purpose\": { value: \"\", type: \"string\", required: \"true\", title: \"Transfer purpose\" },\r\n \"beneficiary_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary name\" },\r\n },\r\n \"Fidelity Bank and Union Bank of Nigeria\": {\r\n \"sender\": { value: \"\", type: \"string\", required: \"true\", title: \"Sender\" },\r\n \"sender_city\": { value: \"\", type: \"string\", required: \"true\", title: \"Sender city\" },\r\n //\"first_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n //\"last_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n //\"email\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n \"beneficiary_country\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary country\" },\r\n //\"mobile_number\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n \"merchant_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Merchant name\" },\r\n \"beneficiary_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary name\" },\r\n },\r\n \"Providus Bank\": {\r\n \"sender\": { value: \"\", type: \"string\", required: \"true\", title: \"sender\" },\r\n \"sender_address\": { value: \"\", type: \"string\", required: \"true\", title: \"Sender address\" },\r\n \"sender_city\": { value: \"\", type: \"string\", required: \"true\", title: \"Sender city\" },\r\n \"sender_country\": { value: \"\", type: \"string\", required: \"true\", title: \"Sender country\" },\r\n \"sender_id_number\": { value: \"\", type: \"string\", required: \"true\", title: \"ID number\" },\r\n \"sender_mobile_number\": { value: \"\", type: \"string\", required: \"true\", title: \"sender mobile number\" },\r\n \"sender_email_address\": { value: \"\", type: \"string\", required: \"true\", title: \"sender email address\" },\r\n //\"first_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"Recipient address\"},\r\n //\"last_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"Beneficiary state\"},\r\n \"recipient_address\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary state\" },\r\n \"beneficiary_state\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary country\" },\r\n \"beneficiary_country\": { value: \"\", type: \"string\", required: \"true\", title: \"beneficiary mobile number\" },\r\n \"beneficiary_mobile_number\": { value: \"\", type: \"string\", required: \"true\", title: \"Routing number\" },\r\n \"routing_number\": { value: \"\", type: \"string\", required: \"true\", title: \"Routing number\" },\r\n \"account_number\": { value: \"\", type: \"string\", required: \"true\", title: \"Account number\" },\r\n \"beneficiary_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary name\" },\r\n },\r\n \"Other Banks\": {\r\n \"sender\": { value: \"\", type: \"string\", required: \"true\", title: \"sender\" },\r\n //\"first_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n //\"last_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n //\"email\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n \"beneficiary_country\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary country\" },\r\n //\"mobile_number\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n \"merchant_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Merchant name\" },\r\n \"beneficiary_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary name\" },\r\n },\r\n \"US\": {\r\n \"AccountNumber\": { value: \"\", type: \"string\", required: \"true\", title: \"Account Number\" },\r\n \"RoutingNumber\": { value: \"\", type: \"string\", required: \"true\", title: \"Routing Number\" },\r\n \"SwiftCode\": { value: \"\", type: \"string\", required: \"true\", title: \"Swift Code\" },\r\n \"BeneficiaryName\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary Name\" },\r\n \"BeneficiaryAddress\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary Address\" },\r\n \"BeneficiaryCountry\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary Country\" },\r\n },\r\n \"EURGBP\": {\r\n \"AccountNumber\": { value: \"\", type: \"string\", required: \"true\", title: \"Account Number\" },\r\n \"RoutingNumber\": { value: \"\", type: \"string\", required: \"true\", title: \"Routing Number\" },\r\n \"SwiftCode\": { value: \"\", type: \"string\", required: \"true\", title: \"Swift Code\" },\r\n \"BankName\": { value: \"\", type: \"string\", required: \"true\", title: \"BankName\" },\r\n \"BeneficiaryName\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary Name\" },\r\n \"BeneficiaryCountry\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary Country\" },\r\n \"PostalCode\": { value: \"\", type: \"string\", required: \"true\", title: \"Postal Code\" },\r\n \"StreetNumber\": { value: \"\", type: \"string\", required: \"true\", title: \"Street Number\" },\r\n \"StreetName\": { value: \"\", type: \"string\", required: \"true\", title: \"Street Name\" },\r\n \"City\": { value: \"\", type: \"string\", required: \"true\", title: \"City\" },\r\n \"beneficiary_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary name\" },\r\n },\r\n \"KES\": {\r\n \"sender\": { value: \"\", type: \"string\", required: \"true\", title: \"sender\" },\r\n \"sender_country\": { value: \"\", type: \"string\", required: \"true\", title: \"Sender_country\" },\r\n //\"mobile_number\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n \"beneficiary_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary name\" },\r\n },\r\n \"GHS_UGX_ZMW_TZS\": {\r\n \"destination_branch_code\": { value: \"\", type: \"string\", required: \"true\", title: \"Destination branchcode\" },\r\n \"beneficiary_name\": { value: \"\", type: \"string\", required: \"true\", title: \"Beneficiary name\" },\r\n },\r\n \"ZAR\": {\r\n //\"first_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n //\"last_name\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n //\"email\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n //\"mobile_number\": { value: \"\", type: \"string\", required: \"true\" ,title:\"xxx\"},\r\n \"recipient_address\": { value: \"\", type: \"string\", required: \"true\", title: \"Recipient address\" },\r\n }\r\n};\r\nexport const FLW_Banks_DATA_TITLES: any = {\r\n \"sender\": \"Sender\",\r\n \"sender_address\": \"Address\",\r\n \"sender_country\": \"Country\",\r\n \"sender_id_number\": \"ID number\",\r\n \"sender_id_type\": \"ID type\",\r\n \"sender_id_expiry\": \"ID expiry\",\r\n \"sender_mobile_number\": \"Mobile number\",\r\n \"sender_occupation\": \"Occupation\",\r\n \"sender_beneficiary_relationship\": \"Beneficiary relationship\",\r\n \"recipient_address\": \"Recipient address\",\r\n \"beneficiary_country\": \"Beneficiary country\",\r\n \"routing_number\": \"Routing number\",\r\n \"transfer_purpose\": \"Transfer purpose\",\r\n \"beneficiary_name\": \"Beneficiary name\",\r\n \"sender_city\": \"Sender city\",\r\n \"merchant_name\": \"Merchant name\",\r\n \"sender_email_address\": \"sender email address\",\r\n \"beneficiary_state\": \"Beneficiary country\",\r\n \"beneficiary_mobile_number\": \"Routing number\",\r\n \"account_number\": \"Account number\",\r\n \"AccountNumber\": \"Account Number\",\r\n \"RoutingNumber\": \"Routing Number\",\r\n \"SwiftCode\": \"Swift Code\",\r\n \"BeneficiaryName\": \"Beneficiary Name\",\r\n \"BeneficiaryAddress\": \"Beneficiary Address\",\r\n \"BeneficiaryCountry\": \"Beneficiary Country\",\r\n \"BankName\": \"BankName\",\r\n \"PostalCode\": \"Postal Code\",\r\n \"StreetNumber\": \"Street Number\",\r\n \"StreetName\": \"Street Name\",\r\n \"City\": \"City\",\r\n \"destination_branch_code\": \"Destination branch code\"\r\n};\r\nexport const COUNTRIES_ISO_3166_1_ALPHA_2_COUNTRY_CODES: any = [\r\n { value: \"AF\", label: \"Afghanistan\" },\r\n { value: \"AX\", label: \"Aland Islands\" },\r\n { value: \"AL\", label: \"Albania\" },\r\n { value: \"DZ\", label: \"Algeria\" },\r\n { value: \"AS\", label: \"American Samoa\" },\r\n { value: \"AD\", label: \"Andorra\" },\r\n { value: \"AO\", label: \"Angola\" },\r\n { value: \"AI\", label: \"Anguilla\" },\r\n { value: \"AQ\", label: \"Antarctica\" },\r\n { value: \"AG\", label: \"Antigua And Barbuda\" },\r\n { value: \"AR\", label: \"Argentina\" },\r\n { value: \"AM\", label: \"Armenia\" },\r\n { value: \"AW\", label: \"Aruba\" },\r\n { value: \"AU\", label: \"Australia\" },\r\n { value: \"AT\", label: \"Austria\" },\r\n { value: \"AZ\", label: \"Azerbaijan\" },\r\n { value: \"BS\", label: \"Bahamas\" },\r\n { value: \"BH\", label: \"Bahrain\" },\r\n { value: \"BD\", label: \"Bangladesh\" },\r\n { value: \"BB\", label: \"Barbados\" },\r\n { value: \"BY\", label: \"Belarus\" },\r\n { value: \"BE\", label: \"Belgium\" },\r\n { value: \"BZ\", label: \"Belize\" },\r\n { value: \"BJ\", label: \"Benin\" },\r\n { value: \"BM\", label: \"Bermuda\" },\r\n { value: \"BT\", label: \"Bhutan\" },\r\n { value: \"BO\", label: \"Bolivia\" },\r\n { value: \"BA\", label: \"Bosnia And Herzegovina\" },\r\n { value: \"BW\", label: \"Botswana\" },\r\n { value: \"BV\", label: \"Bouvet Island\" },\r\n { value: \"BR\", label: \"Brazil\" },\r\n { value: \"IO\", label: \"British Indian Ocean Territory\" },\r\n { value: \"BN\", label: \"Brunei Darussalam\" },\r\n { value: \"BG\", label: \"Bulgaria\" },\r\n { value: \"BF\", label: \"Burkina Faso\" },\r\n { value: \"BI\", label: \"Burundi\" },\r\n { value: \"KH\", label: \"Cambodia\" },\r\n { value: \"CM\", label: \"Cameroon\" },\r\n { value: \"CA\", label: \"Canada\" },\r\n { value: \"CV\", label: \"Cape Verde\" },\r\n { value: \"KY\", label: \"Cayman Islands\" },\r\n { value: \"CF\", label: \"Central African Republic\" },\r\n { value: \"TD\", label: \"Chad\" },\r\n { value: \"CL\", label: \"Chile\" },\r\n { value: \"CN\", label: \"China\" },\r\n { value: \"CX\", label: \"Christmas Island\" },\r\n { value: \"CC\", label: \"Cocos (Keeling) Islands\" },\r\n { value: \"CO\", label: \"Colombia\" },\r\n { value: \"KM\", label: \"Comoros\" },\r\n { value: \"CG\", label: \"Congo\" },\r\n { value: \"CD\", label: \"Congo, Democratic Republic\" },\r\n { value: \"CK\", label: \"Cook Islands\" },\r\n { value: \"CR\", label: \"Costa Rica\" },\r\n { value: \"CI\", label: \"Cote D\\\"Ivoire\" },\r\n { value: \"HR\", label: \"Croatia\" },\r\n { value: \"CU\", label: \"Cuba\" },\r\n { value: \"CY\", label: \"Cyprus\" },\r\n { value: \"CZ\", label: \"Czech Republic\" },\r\n { value: \"DK\", label: \"Denmark\" },\r\n { value: \"DJ\", label: \"Djibouti\" },\r\n { value: \"DM\", label: \"Dominica\" },\r\n { value: \"DO\", label: \"Dominican Republic\" },\r\n { value: \"EC\", label: \"Ecuador\" },\r\n { value: \"EG\", label: \"Egypt\" },\r\n { value: \"SV\", label: \"El Salvador\" },\r\n { value: \"GQ\", label: \"Equatorial Guinea\" },\r\n { value: \"ER\", label: \"Eritrea\" },\r\n { value: \"EE\", label: \"Estonia\" },\r\n { value: \"ET\", label: \"Ethiopia\" },\r\n { value: \"FK\", label: \"Falkland Islands (Malvinas)\" },\r\n { value: \"FO\", label: \"Faroe Islands\" },\r\n { value: \"FJ\", label: \"Fiji\" },\r\n { value: \"FI\", label: \"Finland\" },\r\n { value: \"FR\", label: \"France\" },\r\n { value: \"GF\", label: \"French Guiana\" },\r\n { value: \"PF\", label: \"French Polynesia\" },\r\n { value: \"TF\", label: \"French Southern Territories\" },\r\n { value: \"GA\", label: \"Gabon\" },\r\n { value: \"GM\", label: \"Gambia\" },\r\n { value: \"GE\", label: \"Georgia\" },\r\n { value: \"DE\", label: \"Germany\" },\r\n { value: \"GH\", label: \"Ghana\" },\r\n { value: \"GI\", label: \"Gibraltar\" },\r\n { value: \"GR\", label: \"Greece\" },\r\n { value: \"GL\", label: \"Greenland\" },\r\n { value: \"GD\", label: \"Grenada\" },\r\n { value: \"GP\", label: \"Guadeloupe\" },\r\n { value: \"GU\", label: \"Guam\" },\r\n { value: \"GT\", label: \"Guatemala\" },\r\n { value: \"GG\", label: \"Guernsey\" },\r\n { value: \"GN\", label: \"Guinea\" },\r\n { value: \"GW\", label: \"Guinea-Bissau\" },\r\n { value: \"GY\", label: \"Guyana\" },\r\n { value: \"HT\", label: \"Haiti\" },\r\n { value: \"HM\", label: \"Heard Island & Mcdonald Islands\" },\r\n { value: \"VA\", label: \"Holy See (Vatican City State)\" },\r\n { value: \"HN\", label: \"Honduras\" },\r\n { value: \"HK\", label: \"Hong Kong\" },\r\n { value: \"HU\", label: \"Hungary\" },\r\n { value: \"IS\", label: \"Iceland\" },\r\n { value: \"IN\", label: \"India\" },\r\n { value: \"ID\", label: \"Indonesia\" },\r\n { value: \"IR\", label: \"Iran, Islamic Republic Of\" },\r\n { value: \"IQ\", label: \"Iraq\" },\r\n { value: \"IE\", label: \"Ireland\" },\r\n { value: \"IM\", label: \"Isle Of Man\" },\r\n { value: \"IL\", label: \"Israel\" },\r\n { value: \"IT\", label: \"Italy\" },\r\n { value: \"JM\", label: \"Jamaica\" },\r\n { value: \"JP\", label: \"Japan\" },\r\n { value: \"JE\", label: \"Jersey\" },\r\n { value: \"JO\", label: \"Jordan\" },\r\n { value: \"KZ\", label: \"Kazakhstan\" },\r\n { value: \"KE\", label: \"Kenya\" },\r\n { value: \"KI\", label: \"Kiribati\" },\r\n { value: \"KR\", label: \"Korea\" },\r\n { value: \"KP\", label: \"North Korea\" },\r\n { value: \"KW\", label: \"Kuwait\" },\r\n { value: \"KG\", label: \"Kyrgyzstan\" },\r\n { value: \"LA\", label: \"Lao People\\\"s Democratic Republic\" },\r\n { value: \"LV\", label: \"Latvia\" },\r\n { value: \"LB\", label: \"Lebanon\" },\r\n { value: \"LS\", label: \"Lesotho\" },\r\n { value: \"LR\", label: \"Liberia\" },\r\n { value: \"LY\", label: \"Libyan Arab Jamahiriya\" },\r\n { value: \"LI\", label: \"Liechtenstein\" },\r\n { value: \"LT\", label: \"Lithuania\" },\r\n { value: \"LU\", label: \"Luxembourg\" },\r\n { value: \"MO\", label: \"Macao\" },\r\n { value: \"MK\", label: \"Macedonia\" },\r\n { value: \"MG\", label: \"Madagascar\" },\r\n { value: \"MW\", label: \"Malawi\" },\r\n { value: \"MY\", label: \"Malaysia\" },\r\n { value: \"MV\", label: \"Maldives\" },\r\n { value: \"ML\", label: \"Mali\" },\r\n { value: \"MT\", label: \"Malta\" },\r\n { value: \"MH\", label: \"Marshall Islands\" },\r\n { value: \"MQ\", label: \"Martinique\" },\r\n { value: \"MR\", label: \"Mauritania\" },\r\n { value: \"MU\", label: \"Mauritius\" },\r\n { value: \"YT\", label: \"Mayotte\" },\r\n { value: \"MX\", label: \"Mexico\" },\r\n { value: \"FM\", label: \"Micronesia, Federated States Of\" },\r\n { value: \"MD\", label: \"Moldova\" },\r\n { value: \"MC\", label: \"Monaco\" },\r\n { value: \"MN\", label: \"Mongolia\" },\r\n { value: \"ME\", label: \"Montenegro\" },\r\n { value: \"MS\", label: \"Montserrat\" },\r\n { value: \"MA\", label: \"Morocco\" },\r\n { value: \"MZ\", label: \"Mozambique\" },\r\n { value: \"MM\", label: \"Myanmar\" },\r\n { value: \"NA\", label: \"Namibia\" },\r\n { value: \"NR\", label: \"Nauru\" },\r\n { value: \"NP\", label: \"Nepal\" },\r\n { value: \"NL\", label: \"Netherlands\" },\r\n { value: \"AN\", label: \"Netherlands Antilles\" },\r\n { value: \"NC\", label: \"New Caledonia\" },\r\n { value: \"NZ\", label: \"New Zealand\" },\r\n { value: \"NI\", label: \"Nicaragua\" },\r\n { value: \"NE\", label: \"Niger\" },\r\n { value: \"NG\", label: \"Nigeria\" },\r\n { value: \"NU\", label: \"Niue\" },\r\n { value: \"NF\", label: \"Norfolk Island\" },\r\n { value: \"MP\", label: \"Northern Mariana Islands\" },\r\n { value: \"NO\", label: \"Norway\" },\r\n { value: \"OM\", label: \"Oman\" },\r\n { value: \"PK\", label: \"Pakistan\" },\r\n { value: \"PW\", label: \"Palau\" },\r\n { value: \"PS\", label: \"Palestinian Territory, Occupied\" },\r\n { value: \"PA\", label: \"Panama\" },\r\n { value: \"PG\", label: \"Papua New Guinea\" },\r\n { value: \"PY\", label: \"Paraguay\" },\r\n { value: \"PE\", label: \"Peru\" },\r\n { value: \"PH\", label: \"Philippines\" },\r\n { value: \"PN\", label: \"Pitcairn\" },\r\n { value: \"PL\", label: \"Poland\" },\r\n { value: \"PT\", label: \"Portugal\" },\r\n { value: \"PR\", label: \"Puerto Rico\" },\r\n { value: \"QA\", label: \"Qatar\" },\r\n { value: \"RE\", label: \"Reunion\" },\r\n { value: \"RO\", label: \"Romania\" },\r\n { value: \"RU\", label: \"Russian Federation\" },\r\n { value: \"RW\", label: \"Rwanda\" },\r\n { value: \"BL\", label: \"Saint Barthelemy\" },\r\n { value: \"SH\", label: \"Saint Helena\" },\r\n { value: \"KN\", label: \"Saint Kitts And Nevis\" },\r\n { value: \"LC\", label: \"Saint Lucia\" },\r\n { value: \"MF\", label: \"Saint Martin\" },\r\n { value: \"PM\", label: \"Saint Pierre And Miquelon\" },\r\n { value: \"VC\", label: \"Saint Vincent And Grenadines\" },\r\n { value: \"WS\", label: \"Samoa\" },\r\n { value: \"SM\", label: \"San Marino\" },\r\n { value: \"ST\", label: \"Sao Tome And Principe\" },\r\n { value: \"SA\", label: \"Saudi Arabia\" },\r\n { value: \"SN\", label: \"Senegal\" },\r\n { value: \"RS\", label: \"Serbia\" },\r\n { value: \"SC\", label: \"Seychelles\" },\r\n { value: \"SL\", label: \"Sierra Leone\" },\r\n { value: \"SG\", label: \"Singapore\" },\r\n { value: \"SK\", label: \"Slovakia\" },\r\n { value: \"SI\", label: \"Slovenia\" },\r\n { value: \"SB\", label: \"Solomon Islands\" },\r\n { value: \"SO\", label: \"Somalia\" },\r\n { value: \"ZA\", label: \"South Africa\" },\r\n { value: \"GS\", label: \"South Georgia And Sandwich Isl.\" },\r\n { value: \"ES\", label: \"Spain\" },\r\n { value: \"LK\", label: \"Sri Lanka\" },\r\n { value: \"SD\", label: \"Sudan\" },\r\n { value: \"SR\", label: \"Suriname\" },\r\n { value: \"SJ\", label: \"Svalbard And Jan Mayen\" },\r\n { value: \"SZ\", label: \"Swaziland\" },\r\n { value: \"SE\", label: \"Sweden\" },\r\n { value: \"CH\", label: \"Switzerland\" },\r\n { value: \"SY\", label: \"Syrian Arab Republic\" },\r\n { value: \"TW\", label: \"Taiwan\" },\r\n { value: \"TJ\", label: \"Tajikistan\" },\r\n { value: \"TZ\", label: \"Tanzania\" },\r\n { value: \"TH\", label: \"Thailand\" },\r\n { value: \"TL\", label: \"Timor-Leste\" },\r\n { value: \"TG\", label: \"Togo\" },\r\n { value: \"TK\", label: \"Tokelau\" },\r\n { value: \"TO\", label: \"Tonga\" },\r\n { value: \"TT\", label: \"Trinidad And Tobago\" },\r\n { value: \"TN\", label: \"Tunisia\" },\r\n { value: \"TR\", label: \"Turkey\" },\r\n { value: \"TM\", label: \"Turkmenistan\" },\r\n { value: \"TC\", label: \"Turks And Caicos Islands\" },\r\n { value: \"TV\", label: \"Tuvalu\" },\r\n { value: \"UG\", label: \"Uganda\" },\r\n { value: \"UA\", label: \"Ukraine\" },\r\n { value: \"AE\", label: \"United Arab Emirates\" },\r\n { value: \"GB\", label: \"United Kingdom\" },\r\n { value: \"US\", label: \"United States\" },\r\n { value: \"UM\", label: \"United States Outlying Islands\" },\r\n { value: \"UY\", label: \"Uruguay\" },\r\n { value: \"UZ\", label: \"Uzbekistan\" },\r\n { value: \"VU\", label: \"Vanuatu\" },\r\n { value: \"VE\", label: \"Venezuela\" },\r\n { value: \"VN\", label: \"Vietnam\" },\r\n { value: \"VG\", label: \"Virgin Islands, British\" },\r\n { value: \"VI\", label: \"Virgin Islands, U.S.\" },\r\n { value: \"WF\", label: \"Wallis And Futuna\" },\r\n { value: \"EH\", label: \"Western Sahara\" },\r\n { value: \"YE\", label: \"Yemen\" },\r\n { value: \"ZM\", label: \"Zambia\" },\r\n { value: \"ZW\", label: \"Zimbabwe\" }\r\n];\r\nexport const COUNTRIES_ISO_3166_1_ALPHA_2_COUNTRY_CODES_DICT: any = {\r\n \"AF\": \"Afghanistan\",\r\n \"AX\": \"Aland Islands\",\r\n \"AL\": \"Albania\",\r\n \"DZ\": \"Algeria\",\r\n \"AS\": \"American Samoa\",\r\n \"AD\": \"Andorra\",\r\n \"AO\": \"Angola\",\r\n \"AI\": \"Anguilla\",\r\n \"AQ\": \"Antarctica\",\r\n \"AG\": \"Antigua And Barbuda\",\r\n \"AR\": \"Argentina\",\r\n \"AM\": \"Armenia\",\r\n \"AW\": \"Aruba\",\r\n \"AU\": \"Australia\",\r\n \"AT\": \"Austria\",\r\n \"AZ\": \"Azerbaijan\",\r\n \"BS\": \"Bahamas\",\r\n \"BH\": \"Bahrain\",\r\n \"BD\": \"Bangladesh\",\r\n \"BB\": \"Barbados\",\r\n \"BY\": \"Belarus\",\r\n \"BE\": \"Belgium\",\r\n \"BZ\": \"Belize\",\r\n \"BJ\": \"Benin\",\r\n \"BM\": \"Bermuda\",\r\n \"BT\": \"Bhutan\",\r\n \"BO\": \"Bolivia\",\r\n \"BA\": \"Bosnia And Herzegovina\",\r\n \"BW\": \"Botswana\",\r\n \"BV\": \"Bouvet Island\",\r\n \"BR\": \"Brazil\",\r\n \"IO\": \"British Indian Ocean Territory\",\r\n \"BN\": \"Brunei Darussalam\",\r\n \"BG\": \"Bulgaria\",\r\n \"BF\": \"Burkina Faso\",\r\n \"BI\": \"Burundi\",\r\n \"KH\": \"Cambodia\",\r\n \"CM\": \"Cameroon\",\r\n \"CA\": \"Canada\",\r\n \"CV\": \"Cape Verde\",\r\n \"KY\": \"Cayman Islands\",\r\n \"CF\": \"Central African Republic\",\r\n \"TD\": \"Chad\",\r\n \"CL\": \"Chile\",\r\n \"CN\": \"China\",\r\n \"CX\": \"Christmas Island\",\r\n \"CC\": \"Cocos (Keeling) Islands\",\r\n \"CO\": \"Colombia\",\r\n \"KM\": \"Comoros\",\r\n \"CG\": \"Congo\",\r\n \"CD\": \"Congo, Democratic Republic\",\r\n \"CK\": \"Cook Islands\",\r\n \"CR\": \"Costa Rica\",\r\n \"CI\": \"Cote D\\\"Ivoire\",\r\n \"HR\": \"Croatia\",\r\n \"CU\": \"Cuba\",\r\n \"CY\": \"Cyprus\",\r\n \"CZ\": \"Czech Republic\",\r\n \"DK\": \"Denmark\",\r\n \"DJ\": \"Djibouti\",\r\n \"DM\": \"Dominica\",\r\n \"DO\": \"Dominican Republic\",\r\n \"EC\": \"Ecuador\",\r\n \"EG\": \"Egypt\",\r\n \"SV\": \"El Salvador\",\r\n \"GQ\": \"Equatorial Guinea\",\r\n \"ER\": \"Eritrea\",\r\n \"EE\": \"Estonia\",\r\n \"ET\": \"Ethiopia\",\r\n \"FK\": \"Falkland Islands (Malvinas)\",\r\n \"FO\": \"Faroe Islands\",\r\n \"FJ\": \"Fiji\",\r\n \"FI\": \"Finland\",\r\n \"FR\": \"France\",\r\n \"GF\": \"French Guiana\",\r\n \"PF\": \"French Polynesia\",\r\n \"TF\": \"French Southern Territories\",\r\n \"GA\": \"Gabon\",\r\n \"GM\": \"Gambia\",\r\n \"GE\": \"Georgia\",\r\n \"DE\": \"Germany\",\r\n \"GH\": \"Ghana\",\r\n \"GI\": \"Gibraltar\",\r\n \"GR\": \"Greece\",\r\n \"GL\": \"Greenland\",\r\n \"GD\": \"Grenada\",\r\n \"GP\": \"Guadeloupe\",\r\n \"GU\": \"Guam\",\r\n \"GT\": \"Guatemala\",\r\n \"GG\": \"Guernsey\",\r\n \"GN\": \"Guinea\",\r\n \"GW\": \"Guinea-Bissau\",\r\n \"GY\": \"Guyana\",\r\n \"HT\": \"Haiti\",\r\n \"HM\": \"Heard Island & Mcdonald Islands\",\r\n \"VA\": \"Holy See (Vatican City State)\",\r\n \"HN\": \"Honduras\",\r\n \"HK\": \"Hong Kong\",\r\n \"HU\": \"Hungary\",\r\n \"IS\": \"Iceland\",\r\n \"IN\": \"India\",\r\n \"ID\": \"Indonesia\",\r\n \"IR\": \"Iran, Islamic Republic Of\",\r\n \"IQ\": \"Iraq\",\r\n \"IE\": \"Ireland\",\r\n \"IM\": \"Isle Of Man\",\r\n \"IL\": \"Israel\",\r\n \"IT\": \"Italy\",\r\n \"JM\": \"Jamaica\",\r\n \"JP\": \"Japan\",\r\n \"JE\": \"Jersey\",\r\n \"JO\": \"Jordan\",\r\n \"KZ\": \"Kazakhstan\",\r\n \"KE\": \"Kenya\",\r\n \"KI\": \"Kiribati\",\r\n \"KR\": \"Korea\",\r\n \"KP\": \"North Korea\",\r\n \"KW\": \"Kuwait\",\r\n \"KG\": \"Kyrgyzstan\",\r\n \"LA\": \"Lao People\\\"s Democratic Republic\",\r\n \"LV\": \"Latvia\",\r\n \"LB\": \"Lebanon\",\r\n \"LS\": \"Lesotho\",\r\n \"LR\": \"Liberia\",\r\n \"LY\": \"Libyan Arab Jamahiriya\",\r\n \"LI\": \"Liechtenstein\",\r\n \"LT\": \"Lithuania\",\r\n \"LU\": \"Luxembourg\",\r\n \"MO\": \"Macao\",\r\n \"MK\": \"Macedonia\",\r\n \"MG\": \"Madagascar\",\r\n \"MW\": \"Malawi\",\r\n \"MY\": \"Malaysia\",\r\n \"MV\": \"Maldives\",\r\n \"ML\": \"Mali\",\r\n \"MT\": \"Malta\",\r\n \"MH\": \"Marshall Islands\",\r\n \"MQ\": \"Martinique\",\r\n \"MR\": \"Mauritania\",\r\n \"MU\": \"Mauritius\",\r\n \"YT\": \"Mayotte\",\r\n \"MX\": \"Mexico\",\r\n \"FM\": \"Micronesia, Federated States Of\",\r\n \"MD\": \"Moldova\",\r\n \"MC\": \"Monaco\",\r\n \"MN\": \"Mongolia\",\r\n \"ME\": \"Montenegro\",\r\n \"MS\": \"Montserrat\",\r\n \"MA\": \"Morocco\",\r\n \"MZ\": \"Mozambique\",\r\n \"MM\": \"Myanmar\",\r\n \"NA\": \"Namibia\",\r\n \"NR\": \"Nauru\",\r\n \"NP\": \"Nepal\",\r\n \"NL\": \"Netherlands\",\r\n \"AN\": \"Netherlands Antilles\",\r\n \"NC\": \"New Caledonia\",\r\n \"NZ\": \"New Zealand\",\r\n \"NI\": \"Nicaragua\",\r\n \"NE\": \"Niger\",\r\n \"NG\": \"Nigeria\",\r\n \"NU\": \"Niue\",\r\n \"NF\": \"Norfolk Island\",\r\n \"MP\": \"Northern Mariana Islands\",\r\n \"NO\": \"Norway\",\r\n \"OM\": \"Oman\",\r\n \"PK\": \"Pakistan\",\r\n \"PW\": \"Palau\",\r\n \"PS\": \"Palestinian Territory, Occupied\",\r\n \"PA\": \"Panama\",\r\n \"PG\": \"Papua New Guinea\",\r\n \"PY\": \"Paraguay\",\r\n \"PE\": \"Peru\",\r\n \"PH\": \"Philippines\",\r\n \"PN\": \"Pitcairn\",\r\n \"PL\": \"Poland\",\r\n \"PT\": \"Portugal\",\r\n \"PR\": \"Puerto Rico\",\r\n \"QA\": \"Qatar\",\r\n \"RE\": \"Reunion\",\r\n \"RO\": \"Romania\",\r\n \"RU\": \"Russian Federation\",\r\n \"RW\": \"Rwanda\",\r\n \"BL\": \"Saint Barthelemy\",\r\n \"SH\": \"Saint Helena\",\r\n \"KN\": \"Saint Kitts And Nevis\",\r\n \"LC\": \"Saint Lucia\",\r\n \"MF\": \"Saint Martin\",\r\n \"PM\": \"Saint Pierre And Miquelon\",\r\n \"VC\": \"Saint Vincent And Grenadines\",\r\n \"WS\": \"Samoa\",\r\n \"SM\": \"San Marino\",\r\n \"ST\": \"Sao Tome And Principe\",\r\n \"SA\": \"Saudi Arabia\",\r\n \"SN\": \"Senegal\",\r\n \"RS\": \"Serbia\",\r\n \"SC\": \"Seychelles\",\r\n \"SL\": \"Sierra Leone\",\r\n \"SG\": \"Singapore\",\r\n \"SK\": \"Slovakia\",\r\n \"SI\": \"Slovenia\",\r\n \"SB\": \"Solomon Islands\",\r\n \"SO\": \"Somalia\",\r\n \"ZA\": \"South Africa\",\r\n \"GS\": \"South Georgia And Sandwich Isl.\",\r\n \"ES\": \"Spain\",\r\n \"LK\": \"Sri Lanka\",\r\n \"SD\": \"Sudan\",\r\n \"SR\": \"Suriname\",\r\n \"SJ\": \"Svalbard And Jan Mayen\",\r\n \"SZ\": \"Swaziland\",\r\n \"SE\": \"Sweden\",\r\n \"CH\": \"Switzerland\",\r\n \"SY\": \"Syrian Arab Republic\",\r\n \"TW\": \"Taiwan\",\r\n \"TJ\": \"Tajikistan\",\r\n \"TZ\": \"Tanzania\",\r\n \"TH\": \"Thailand\",\r\n \"TL\": \"Timor-Leste\",\r\n \"TG\": \"Togo\",\r\n \"TK\": \"Tokelau\",\r\n \"TO\": \"Tonga\",\r\n \"TT\": \"Trinidad And Tobago\",\r\n \"TN\": \"Tunisia\",\r\n \"TR\": \"Turkey\",\r\n \"TM\": \"Turkmenistan\",\r\n \"TC\": \"Turks And Caicos Islands\",\r\n \"TV\": \"Tuvalu\",\r\n \"UG\": \"Uganda\",\r\n \"UA\": \"Ukraine\",\r\n \"AE\": \"United Arab Emirates\",\r\n \"GB\": \"United Kingdom\",\r\n \"US\": \"United States\",\r\n \"UM\": \"United States Outlying Islands\",\r\n \"UY\": \"Uruguay\",\r\n \"UZ\": \"Uzbekistan\",\r\n \"VU\": \"Vanuatu\",\r\n \"VE\": \"Venezuela\",\r\n \"VN\": \"Vietnam\",\r\n \"VG\": \"Virgin Islands, British\",\r\n \"VI\": \"Virgin Islands, U.S.\",\r\n \"WF\": \"Wallis And Futuna\",\r\n \"EH\": \"Western Sahara\",\r\n \"YE\": \"Yemen\",\r\n \"ZM\": \"Zambia\",\r\n \"ZW\": \"Zimbabwe\"\r\n};\r\nexport const US_STATES: any = [\r\n { value: \"AL\", label: \"Alabama\" },\r\n { value: \"AK\", label: \"Alaska\" },\r\n { value: \"AZ\", label: \"Arizona\" },\r\n { value: \"AR\", label: \"Arkansas\" },\r\n { value: \"CA\", label: \"California\" },\r\n { value: \"CO\", label: \"Colorado\" },\r\n { value: \"CT\", label: \"Connecticut\" },\r\n { value: \"DE\", label: \"Delaware\" },\r\n { value: \"FL\", label: \"Florida\" },\r\n { value: \"GA\", label: \"Georgia\" },\r\n { value: \"HI\", label: \"Hawaii\" },\r\n { value: \"ID\", label: \"Idaho\" },\r\n { value: \"IL\", label: \"Illinois\" },\r\n { value: \"IN\", label: \"Indiana\" },\r\n { value: \"IA\", label: \"Iowa\" },\r\n { value: \"KS\", label: \"Kansas\" },\r\n { value: \"KY\", label: \"Kentucky\" },\r\n { value: \"LA\", label: \"Louisiana\" },\r\n { value: \"ME\", label: \"Maine\" },\r\n { value: \"MD\", label: \"Maryland\" },\r\n { value: \"MA\", label: \"Massachusetts\" },\r\n { value: \"MI\", label: \"Michigan\" },\r\n { value: \"MN\", label: \"Minnesota\" },\r\n { value: \"MS\", label: \"Mississippi\" },\r\n { value: \"MO\", label: \"Missouri\" },\r\n { value: \"MT\", label: \"Montana\" },\r\n { value: \"NE\", label: \"Nebraska\" },\r\n { value: \"NV\", label: \"Nevada\" },\r\n { value: \"NH\", label: \"New Hampshire\" },\r\n { value: \"NJ\", label: \"New Jersey\" },\r\n { value: \"NM\", label: \"New Mexico\" },\r\n { value: \"NY\", label: \"New York\" },\r\n { value: \"NC\", label: \"North Carolina\" },\r\n { value: \"ND\", label: \"North Dakota\" },\r\n { value: \"OH\", label: \"Ohio\" },\r\n { value: \"OK\", label: \"Oklahoma\" },\r\n { value: \"OR\", label: \"Oregon\" },\r\n { value: \"PA\", label: \"Pennsylvania\" },\r\n { value: \"RI\", label: \"Rhode Island\" },\r\n { value: \"SC\", label: \"South Carolina\" },\r\n { value: \"SD\", label: \"South Dakota\" },\r\n { value: \"TN\", label: \"Tennessee\" },\r\n { value: \"TX\", label: \"Texas\" },\r\n { value: \"UT\", label: \"Utah\" },\r\n { value: \"VT\", label: \"Vermont\" },\r\n { value: \"VA\", label: \"Virginia\" },\r\n { value: \"WA\", label: \"Washington\" },\r\n { value: \"WV\", label: \"West Virginia\" },\r\n { value: \"WI\", label: \"Wisconsin\" },\r\n { value: \"WY\", label: \"Wyoming\" },\r\n];\r\nexport const CA_STATES = [\r\n { \"value\": \"AB\", \"label\": \"Alberta\" },\r\n { \"value\": \"BC\", \"label\": \"British Columbia\" },\r\n { \"value\": \"MB\", \"label\": \"Manitoba\" },\r\n { \"value\": \"NB\", \"label\": \"New Brunswick\" },\r\n { \"value\": \"NL\", \"label\": \"Newfoundland and Labrador\" },\r\n { \"value\": \"NS\", \"label\": \"Nova Scotia\" },\r\n { \"value\": \"NT\", \"label\": \"Northwest Territories\" },\r\n { \"value\": \"NU\", \"label\": \"Nunavut\" },\r\n { \"value\": \"ON\", \"label\": \"Ontario\" },\r\n { \"value\": \"PE\", \"label\": \"Prince Edward Island\" },\r\n { \"value\": \"QC\", \"label\": \"Quebec\" },\r\n { \"value\": \"SK\", \"label\": \"Saskatchewan\" },\r\n { \"value\": \"YT\", \"label\": \"Yukon\" }\r\n]\r\nexport const US_STATES_DICT: any = {\r\n \"AL\": \"Alabama\",\r\n \"AK\": \"Alaska\",\r\n \"AZ\": \"Arizona\",\r\n \"AR\": \"Arkansas\",\r\n \"CA\": \"California\",\r\n \"CO\": \"Colorado\",\r\n \"CT\": \"Connecticut\",\r\n \"DE\": \"Delaware\",\r\n \"FL\": \"Florida\",\r\n \"GA\": \"Georgia\",\r\n \"HI\": \"Hawaii\",\r\n \"ID\": \"Idaho\",\r\n \"IL\": \"Illinois\",\r\n \"IN\": \"Indiana\",\r\n \"IA\": \"Iowa\",\r\n \"KS\": \"Kansas\",\r\n \"KY\": \"Kentucky\",\r\n \"LA\": \"Louisiana\",\r\n \"ME\": \"Maine\",\r\n \"MD\": \"Maryland\",\r\n \"MA\": \"Massachusetts\",\r\n \"MI\": \"Michigan\",\r\n \"MN\": \"Minnesota\",\r\n \"MS\": \"Mississippi\",\r\n \"MO\": \"Missouri\",\r\n \"MT\": \"Montana\",\r\n \"NE\": \"Nebraska\",\r\n \"NV\": \"Nevada\",\r\n \"NH\": \"New Hampshire\",\r\n \"NJ\": \"New Jersey\",\r\n \"NM\": \"New Mexico\",\r\n \"NY\": \"New York\",\r\n \"NC\": \"North Carolina\",\r\n \"ND\": \"North Dakota\",\r\n \"OH\": \"Ohio\",\r\n \"OK\": \"Oklahoma\",\r\n \"OR\": \"Oregon\",\r\n \"PA\": \"Pennsylvania\",\r\n \"RI\": \"Rhode Island\",\r\n \"SC\": \"South Carolina\",\r\n \"SD\": \"South Dakota\",\r\n \"TN\": \"Tennessee\",\r\n \"TX\": \"Texas\",\r\n \"UT\": \"Utah\",\r\n \"VT\": \"Vermont\",\r\n \"VA\": \"Virginia\",\r\n \"WA\": \"Washington\",\r\n \"WV\": \"West Virginia\",\r\n \"WI\": \"Wisconsin\",\r\n \"WY\": \"Wyoming\",\r\n //Canada\r\n \"AB\": \"Alberta\",\r\n \"BC\": \"British Columbia\",\r\n \"MB\": \"Manitoba\",\r\n \"NB\": \"New Brunswick\",\r\n \"NL\": \"Newfoundland and Labrador\",\r\n \"NS\": \"Nova Scotia\",\r\n \"NT\": \"Northwest Territories\",\r\n \"NU\": \"Nunavut\",\r\n \"ON\": \"Ontario\",\r\n \"PE\": \"Prince Edward Island\",\r\n \"QC\": \"Quebec\",\r\n \"SK\": \"Saskatchewan\",\r\n \"YT\": \"Yukon\"\r\n};\r\n\r\n// Remove trailing slash\r\nexport function removeTrailingSlash(url: any) {\r\n return url.replace(/\\/$/, ''); // This regular expression removes the trailing slash\r\n}\r\n\r\n// Add trailing slash\r\nexport function addTrailingSlash(url: any) {\r\n if (!url.endsWith('/')) {\r\n return url + '/';\r\n }\r\n return url; // URL already has a trailing slash, no need to add another\r\n}\r\nexport const CRYPTO_CURRENCY = [\r\n { currency: \"BTC\", value: \"BTC-BTC\", label: \"BTC network\", network: \"BTC\" },\r\n { currency: \"ETH\", value: \"ETH-ETH\", label: \"ETH network\", network: \"ETH\" },\r\n { currency: \"TRC20\", value: \"USDT-TRC20\", label: \"USDT-TRC20 network\", network: \"USDT\" },\r\n { currency: \"ERC20\", value: \"USDT-ERC20\", label: \"USDT-ERC20 network\", network: \"USDT\" },\r\n { currency: \"BEP20\", value: \"USDT-BEP20\", label: \"USDT-BEP20 network\", network: \"USDT\" },\r\n { currency: \"ERC20\", value: \"USDC-ERC20\", label: \"USDC-ERC20 network\", network: \"USDC\" },\r\n { currency: \"BEP20\", value: \"USDC-BEP20\", label: \"USDC-BEP20 network\", network: \"USDC\" },\r\n { currency: \"BEP20\", value: \"BUSD-BEP20\", label: \"BUSD-BEP20 network\", network: \"BUSD\" },\r\n { currency: \"BEP20\", value: \"BNB-BEP20\", label: \"BNB-BEP20 network\", network: \"BNB\" }\r\n\r\n]; export const CRYPTO_CURRENCY_DICT: any = {\r\n \"BTC-BTC\": { currency: \"BTC\", value: \"BTC-BTC\", label: \"BTC network\", network: \"BTC\" },\r\n \"ETH-ETH\": { currency: \"ETH\", value: \"ETH-ETH\", label: \"ETH network\", network: \"ETH\" },\r\n \"USDT-TRC20\": { currency: \"TRC20\", value: \"USDT-TRC20\", label: \"USDT-TRC20 network\", network: \"USDT\" },\r\n \"USDT-ERC20\": { currency: \"ERC20\", value: \"USDT-ERC20\", label: \"USDT-ERC20 network\", network: \"USDT\" },\r\n \"USDT-BEP20\": { currency: \"BEP20\", value: \"USDT-BEP20\", label: \"USDT-BEP20 network\", network: \"USDT\" },\r\n \"USDC-ERC20\": { currency: \"ERC20\", value: \"USDC-ERC20\", label: \"USDC-ERC20 network\", network: \"USDC\" },\r\n \"USDC-BEP20\": { currency: \"BEP20\", value: \"USDC-BEP20\", label: \"USDC-BEP20 network\", network: \"USDC\" },\r\n \"BUSD-BEP20\": { currency: \"BEP20\", value: \"BUSD-BEP20\", label: \"BUSD-BEP20 network\", network: \"BUSD\" },\r\n \"BNB-BEP20\": { currency: \"BEP20\", value: \"BNB-BEP20\", label: \"BNB-BEP20 network\", network: \"BNB\" }\r\n};\r\nfunction base64ToBlob(base64Data: string, contentType: string) {\r\n const byteCharacters = atob(base64Data);\r\n const byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\r\n const slice = byteCharacters.slice(offset, offset + 512);\r\n\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n return new Blob(byteArrays, { type: contentType });\r\n}\r\nexport function downloadBase64Excel(base64Data: string, fileName: string) {\r\n const blob = base64ToBlob(base64Data, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.appendChild(a);\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n}\r\nexport const VND_PAYMENT_BANK_NAMES = [\r\n {\r\n \"value\": \"ABBANK\",\r\n \"label\": \"ABBANK - NH An Binh\"\r\n },\r\n {\r\n \"value\": \"ACB\",\r\n \"label\": \"ACB - NH A Chau\"\r\n },\r\n {\r\n \"value\": \"AGRIBANK\",\r\n \"label\": \"AGRIBANK - NH Nong Nghiep va PTNT VN\"\r\n },\r\n {\r\n \"value\": \"BAB\",\r\n \"label\": \"BAB - NH Bac A\"\r\n },\r\n {\r\n \"value\": \"BANVIET\",\r\n \"label\": \"BANVIET - VIETCAPITALBANK - NH Ban Viet\"\r\n },\r\n {\r\n \"value\": \"BAOVIETBANK\",\r\n \"label\": \"BAOVIET BANK - NH Bao Viet\"\r\n },\r\n {\r\n \"value\": \"BIDV\",\r\n \"label\": \"BIDV - NH Dau Tu va Phat Trien VN\"\r\n },\r\n {\r\n \"value\": \"CIMB\",\r\n \"label\": \"CIMB - NH CIMB Bank\"\r\n },\r\n {\r\n \"value\": \"DONGABANK\",\r\n \"label\": \"DONGA BANK - NH Dong A\"\r\n },\r\n {\r\n \"value\": \"EXIMBANK\",\r\n \"label\": \"EXIMBANK - NH Xuat Nhap Khau\"\r\n },\r\n {\r\n \"value\": \"GPBANK\",\r\n \"label\": \"GP BANK - NH Dau Khi Toan Cau\"\r\n },\r\n {\r\n \"value\": \"HDBANK\",\r\n \"label\": \"HDBANK - NH Phat Trien Tp HCM\"\r\n },\r\n {\r\n \"value\": \"HLB\",\r\n \"label\": \"HLB - NH Hongleong Bank\"\r\n },\r\n {\r\n \"value\": \"IVB\",\r\n \"label\": \"IVB - NH Indovina\"\r\n },\r\n {\r\n \"value\": \"KIENLONGBANK\",\r\n \"label\": \"KIENLONG BANK - NH Kien Long\"\r\n },\r\n {\r\n \"value\": \"LIENVIETPOSTBANK\",\r\n \"label\": \"LIENVIETPOSTBANK - NH Buu Dien Lien Viet\"\r\n },\r\n {\r\n \"value\": \"MBBANK\",\r\n \"label\": \"MBBANK - NH Quan Doi\"\r\n },\r\n {\r\n \"value\": \"MSB\",\r\n \"label\": \"MSB- NH Hang Hai\"\r\n },\r\n {\r\n \"value\": \"NAMABANK\",\r\n \"label\": \"NAMABANK - NH Nam A\"\r\n },\r\n {\r\n \"value\": \"NCB\",\r\n \"label\": \"NCB - NH Quốc Dân\"\r\n },\r\n {\r\n \"value\": \"OCB\",\r\n \"label\": \"OCB - NH Phuong Dong\"\r\n },\r\n {\r\n \"value\": \"OCEANBANK\",\r\n \"label\": \"OCEANBANK - NH Dai Duong\"\r\n },\r\n {\r\n \"value\": \"PGBANK\",\r\n \"label\": \"PGBANK - NH Xang Dau Petrolimex\"\r\n },\r\n {\r\n \"value\": \"PUBLICBANK\",\r\n \"label\": \"PUBLIC BANK - NH MTV Public Viet Nam\"\r\n },\r\n {\r\n \"value\": \"PVCOMBANK\",\r\n \"label\": \"PVCOMBANK - NH Dai Chung Viet Nam\"\r\n },\r\n {\r\n \"value\": \"SACOMBANK\",\r\n \"label\": \"SACOMBANK - NH Sai gon Thuong Tin\"\r\n },\r\n {\r\n \"value\": \"SAIGONBANK\",\r\n \"label\": \"SAIGON BANK - NH Sai Gon Cong Thuong\"\r\n },\r\n {\r\n \"value\": \"SCB\",\r\n \"label\": \"SCB - NH Sai Gon\"\r\n },\r\n {\r\n \"value\": \"SEABANK\",\r\n \"label\": \"SEABANK - NH Dong Nam A\"\r\n },\r\n {\r\n \"value\": \"SHB\",\r\n \"label\": \"SHB - NH Sai Gon Ha Noi\"\r\n },\r\n {\r\n \"value\": \"SHINHANBANK\",\r\n \"label\": \"SHINHAN BANK - NH Shinhan Bank\"\r\n },\r\n {\r\n \"value\": \"TECHCOMBANK\",\r\n \"label\": \"TECHCOMBANK - NH Ky Thuong\"\r\n },\r\n {\r\n \"value\": \"TPBANK\",\r\n \"label\": \"TPBANK - NH Tien Phong\"\r\n },\r\n {\r\n \"value\": \"UOB\",\r\n \"label\": \"UOB - NH UOB Viet Nam\"\r\n },\r\n {\r\n \"value\": \"VIB\",\r\n \"label\": \"VIB - NH Quoc Te\"\r\n },\r\n {\r\n \"value\": \"VIETABANK\",\r\n \"label\": \"VIETABANK - NH Viet A\"\r\n },\r\n {\r\n \"value\": \"VIETBANK\",\r\n \"label\": \"VIET BANK - NH Viet Nam Thuong Tin\"\r\n },\r\n {\r\n \"value\": \"VIETCOMBANK\",\r\n \"label\": \"VIETCOMBANK - NH Ngoai Thuong Viet Nam\"\r\n },\r\n {\r\n \"value\": \"VIETINBANK\",\r\n \"label\": \"VIETINBANK - NH Cong Thuong VN\"\r\n },\r\n {\r\n \"value\": \"VPBANK\",\r\n \"label\": \"VPBANK - NH Viet Nam Thinh Vuong\"\r\n },\r\n {\r\n \"value\": \"VRB\",\r\n \"label\": \"VRB - NH Lien Doanh Viet Nga\"\r\n },\r\n {\r\n \"value\": \"WOORIBANK\",\r\n \"label\": \"WOORI BANK - NH Woori\"\r\n }\r\n];\r\nexport const VND_PAYMENT_BANK_DICT: any = {\r\n \"ABBANK\": {\r\n \"value\": \"ABBANK\",\r\n \"label\": \"ABBANK - NH An Binh\"\r\n },\r\n \"ACB\": {\r\n \"value\": \"ACB\",\r\n \"label\": \"ACB - NH A Chau\"\r\n },\r\n \"AGRIBANK\": {\r\n \"value\": \"AGRIBANK\",\r\n \"label\": \"AGRIBANK - NH Nong Nghiep va PTNT VN\"\r\n },\r\n \"BAB\": {\r\n \"value\": \"BAB\",\r\n \"label\": \"BAB - NH Bac A\"\r\n },\r\n \"BANVIET\": {\r\n \"value\": \"BANVIET\",\r\n \"label\": \"BANVIET - VIETCAPITALBANK - NH Ban Viet\"\r\n },\r\n \"BAOVIETBANK\": {\r\n \"value\": \"BAOVIETBANK\",\r\n \"label\": \"BAOVIET BANK - NH Bao Viet\"\r\n },\r\n \"BIDV\": {\r\n \"value\": \"BIDV\",\r\n \"label\": \"BIDV - NH Dau Tu va Phat Trien VN\"\r\n },\r\n \"CIMB\": {\r\n \"value\": \"CIMB\",\r\n \"label\": \"CIMB - NH CIMB Bank\"\r\n },\r\n \"DONGABANK\": {\r\n \"value\": \"DONGABANK\",\r\n \"label\": \"DONGA BANK - NH Dong A\"\r\n },\r\n \"EXIMBANK\": {\r\n \"value\": \"EXIMBANK\",\r\n \"label\": \"EXIMBANK - NH Xuat Nhap Khau\"\r\n },\r\n \"GPBANK\": {\r\n \"value\": \"GPBANK\",\r\n \"label\": \"GP BANK - NH Dau Khi Toan Cau\"\r\n },\r\n \"HDBANK\": {\r\n \"value\": \"HDBANK\",\r\n \"label\": \"HDBANK - NH Phat Trien Tp HCM\"\r\n },\r\n \"HLB\": {\r\n \"value\": \"HLB\",\r\n \"label\": \"HLB - NH Hongleong Bank\"\r\n },\r\n \"IVB\": {\r\n \"value\": \"IVB\",\r\n \"label\": \"IVB - NH Indovina\"\r\n },\r\n \"KIENLONGBANK\": {\r\n \"value\": \"KIENLONGBANK\",\r\n \"label\": \"KIENLONG BANK - NH Kien Long\"\r\n },\r\n \"LIENVIETPOSTBANK\": {\r\n \"value\": \"LIENVIETPOSTBANK\",\r\n \"label\": \"LIENVIETPOSTBANK - NH Buu Dien Lien Viet\"\r\n },\r\n \"MBBANK\": {\r\n \"value\": \"MBBANK\",\r\n \"label\": \"MBBANK - NH Quan Doi\"\r\n },\r\n \"MSB\": {\r\n \"value\": \"MSB\",\r\n \"label\": \"MSB- NH Hang Hai\"\r\n },\r\n \"NAMABANK\": {\r\n \"value\": \"NAMABANK\",\r\n \"label\": \"NAMABANK - NH Nam A\"\r\n },\r\n \"NCB\": {\r\n \"value\": \"NCB\",\r\n \"label\": \"NCB - NH Quốc Dân\"\r\n },\r\n \"OCB\": {\r\n \"value\": \"OCB\",\r\n \"label\": \"OCB - NH Phuong Dong\"\r\n },\r\n \"OCEANBANK\": {\r\n \"value\": \"OCEANBANK\",\r\n \"label\": \"OCEANBANK - NH Dai Duong\"\r\n },\r\n \"PGBANK\": {\r\n \"value\": \"PGBANK\",\r\n \"label\": \"PGBANK - NH Xang Dau Petrolimex\"\r\n },\r\n \"PUBLICBANK\": {\r\n \"value\": \"PUBLICBANK\",\r\n \"label\": \"PUBLIC BANK - NH MTV Public Viet Nam\"\r\n },\r\n \"PVCOMBANK\": {\r\n \"value\": \"PVCOMBANK\",\r\n \"label\": \"PVCOMBANK - NH Dai Chung Viet Nam\"\r\n },\r\n \"SACOMBANK\": {\r\n \"value\": \"SACOMBANK\",\r\n \"label\": \"SACOMBANK - NH Sai gon Thuong Tin\"\r\n },\r\n \"SAIGONBANK\": {\r\n \"value\": \"SAIGONBANK\",\r\n \"label\": \"SAIGON BANK - NH Sai Gon Cong Thuong\"\r\n },\r\n \"SCB\": {\r\n \"value\": \"SCB\",\r\n \"label\": \"SCB - NH Sai Gon\"\r\n },\r\n \"SEABANK\": {\r\n \"value\": \"SEABANK\",\r\n \"label\": \"SEABANK - NH Dong Nam A\"\r\n },\r\n \"SHB\": {\r\n \"value\": \"SHB\",\r\n \"label\": \"SHB - NH Sai Gon Ha Noi\"\r\n },\r\n \"SHINHANBANK\": {\r\n \"value\": \"SHINHANBANK\",\r\n \"label\": \"SHINHAN BANK - NH Shinhan Bank\"\r\n },\r\n \"TECHCOMBANK\": {\r\n \"value\": \"TECHCOMBANK\",\r\n \"label\": \"TECHCOMBANK - NH Ky Thuong\"\r\n },\r\n \"TPBANK\": {\r\n \"value\": \"TPBANK\",\r\n \"label\": \"TPBANK - NH Tien Phong\"\r\n },\r\n \"UOB\": {\r\n \"value\": \"UOB\",\r\n \"label\": \"UOB - NH UOB Viet Nam\"\r\n },\r\n \"VIB\": {\r\n \"value\": \"VIB\",\r\n \"label\": \"VIB - NH Quoc Te\"\r\n },\r\n \"VIETABANK\": {\r\n \"value\": \"VIETABANK\",\r\n \"label\": \"VIETABANK - NH Viet A\"\r\n },\r\n \"VIETBANK\": {\r\n \"value\": \"VIETBANK\",\r\n \"label\": \"VIET BANK - NH Viet Nam Thuong Tin\"\r\n },\r\n \"VIETCOMBANK\": {\r\n \"value\": \"VIETCOMBANK\",\r\n \"label\": \"VIETCOMBANK - NH Ngoai Thuong Viet Nam\"\r\n },\r\n \"VIETINBANK\": {\r\n \"value\": \"VIETINBANK\",\r\n \"label\": \"VIETINBANK - NH Cong Thuong VN\"\r\n },\r\n \"VPBANK\": {\r\n \"value\": \"VPBANK\",\r\n \"label\": \"VPBANK - NH Viet Nam Thinh Vuong\"\r\n },\r\n \"VRB\": {\r\n \"value\": \"VRB\",\r\n \"label\": \"VRB - NH Lien Doanh Viet Nga\"\r\n },\r\n \"WOORIBANK\": {\r\n \"value\": \"WOORIBANK\",\r\n \"label\": \"WOORI BANK - NH Woori\"\r\n }\r\n};\r\nexport const VNDPaymen_dit: any = {\r\n \"bigpay\": { value: \"bigpay\", label: \"BigPay\" },\r\n \"bigpayv2\": { value: \"bigpayv2\", label: \"BigPayV2\" },\r\n \"ninepay\": { value: \"ninepay\", label: \"9Pay\" },\r\n \"fast2pays\": { value: \"fast2pays\", label: \"PayBNB\" },\r\n};\r\nexport const VNDPaymen_Options: any = [\r\n { value: \"bigpay\", label: \"BigPay\" },\r\n { value: \"bigpayv2\", label: \"BigPayV2\" },\r\n { value: \"ninepay\", label: \"9Pay\" },\r\n { value: \"fast2pays\", label: \"PayBNB\" },\r\n];\r\nexport function isPlainEnglish(input: string): boolean {\r\n // Regular expression to match only English letters (both uppercase and lowercase)\r\n const englishRegex = /^[a-zA-Z\\s]+$/;\r\n return englishRegex.test(input);\r\n}\r\nexport const DEFAULT_NETWORKS = [\r\n { network: \"0xbb94121b455c12d1b17dbed512e5fff72cdd8da0\", value: \"ERC20\", label: \"Ethereum (ERC-20)\" },\r\n { network: \"0x2a88754e12bf4bb4227b857c5161af72aafb0a9c\", value: \"BEP20\", label: \"Binance Smart Chain (BEP-20)\" },\r\n { network: \"TUdZHDATDyXprttURoCcbvmduNhtFtu6Wx\", value: \"TRC20\", label: \"TRON (TRC-20)\" },\r\n];\r\n\r\nexport const CFX_CRYPTO_CURRENCIES = [\r\n //{ value: \"BTC\", label: \"Bitcoin (BTC)\" },\r\n { value: \"USDT\", label: \"Tether (USDT)\" },\r\n //{ value: \"ETH\", label: \"Ethereum (ETH)\" },\r\n];\r\n\r\nexport const _XLTrades_Wise_Transfer_Details = `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Zng9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmeC8xLjMvIj4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMTFUMTc6MTE6MDIrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAyNC0wMS0xMVQxNzoxMTowMSswMTowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjQtMDEtMTFUMTc6MTE6MDIrMDE6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWNyb2JhdCBQREZNYWtlciAyMyBmw7xyIFdvcmQ8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+dXVpZDo4OTI2MDIzZS0yMzM1LTQwZDktODI1ZS0zN2ZmODAxMWQ1ZmU8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnV1aWQ6MWJmMzUzM2MtMmJlNC00Mjg0LTkyNzMtOTNjYzgyZjk1OGQ2PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06c3ViamVjdD4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGk+MTM8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOnN1YmplY3Q+CiAgICAgICAgIDxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxkYzp0aXRsZT4KICAgICAgICAgICAgPHJkZjpBbHQ+CiAgICAgICAgICAgICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCIvPgogICAgICAgICAgICA8L3JkZjpBbHQ+CiAgICAgICAgIDwvZGM6dGl0bGU+CiAgICAgICAgIDxkYzpkZXNjcmlwdGlvbj4KICAgICAgICAgICAgPHJkZjpBbHQ+CiAgICAgICAgICAgICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCIvPgogICAgICAgICAgICA8L3JkZjpBbHQ+CiAgICAgICAgIDwvZGM6ZGVzY3JpcHRpb24+CiAgICAgICAgIDxkYzpjcmVhdG9yPgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaT5YTFRSQURFIFg8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L2RjOmNyZWF0b3I+CiAgICAgICAgIDxwZGY6UHJvZHVjZXI+QWRvYmUgUERGIExpYnJhcnkgMjMuOC4yMzQ8L3BkZjpQcm9kdWNlcj4KICAgICAgICAgPHBkZjpLZXl3b3Jkcy8+CiAgICAgICAgIDxwZGZ4OlNvdXJjZU1vZGlmaWVkPkQ6MjAyNDAxMTExNjEwNDA8L3BkZng6U291cmNlTW9kaWZpZWQ+CiAgICAgICAgIDxwZGZ4OkNvbXBhbnkvPgogICAgICAgICA8cGRmeDpDb21tZW50cy8+CiAgICAgICAgIDxwZGZ4OkdyYW1tYXJseURvY3VtZW50SWQ+MWE0ZWIzMTEtMjgwMS00YTZiLWIxYjAtYWVmMzMyZWRhM2YyPC9wZGZ4OkdyYW1tYXJseURvY3VtZW50SWQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4NCmVuZHN0cmVhbQ1lbmRvYmoNMTEgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDUvTGVuZ3RoIDU0L04gMS9UeXBlL09ialN0bT4+c3RyZWFtDQpo3jIxVDBQsLHRd84vzStRMNL3zkwpjjYxBQoGKYCkgmL1QyoLUvUDEtNTi+3sAAIMACTHDPQNCmVuZHN0cmVhbQ1lbmRvYmoNMTIgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDUvTGVuZ3RoIDIzOS9OIDEvVHlwZS9PYmpTdG0+PnN0cmVhbQ0KaN5sjkFLw0AQhf/K3pogaWZ2l1qkFIJREVsoWrDX2ewEo01Xxg2S/+7BjYh46Du9w+N7n9UK1GpVVkN8CZIdNvvHqr5Rh7y8Dn3Pp/iR/dR3Oo1TE6bYhVNNkbP6SoO2gCmXiIAXgDOA2e8q0apGgqOodvXtlt5YlDaq/RL1HMTn5Z1Q35Mcxzo0w3R17zMky84gFnoJWFhauMKhg4K4NUazJ9PqvHzg8TMhJrVt8Odc9J/LToIfGk4yPjieVNSmc0IyJpv5cq6NzcunMEjDidW1Hfv/sAWChTQY3Cs3MR3uu3jkLF+vvwUYAMaYXLUNCmVuZHN0cmVhbQ1lbmRvYmoNMTMgMCBvYmoNPDwvRGVjb2RlUGFybXM8PC9Db2x1bW5zIDUvUHJlZGljdG9yIDEyPj4vRmlsdGVyL0ZsYXRlRGVjb2RlL0lEWzxCOUEwMTNGQTlCM0Y0QzRFQUJBQzY5REQ4MzJENjY2MT48QjBGOTQ4MjU2QUEyRTU0QzhFODM2RTkwREU2MjVDRDc+XS9JbmZvIDQyIDAgUi9MZW5ndGggODcvUm9vdCA0NCAwIFIvU2l6ZSA0My9UeXBlL1hSZWYvV1sxIDMgMV0+PnN0cmVhbQ0KaN5iYgABJkbGh2kMTAwMjEkgkoMfRLLog0U8gSSjSCCYXQYiGTpAJFMNiGRuBJECjGDZyWDSF2jav6ddYJWMSCQDI4Jk/IcuQn+S6TXEbQABBgAg6QplDQplbmRzdHJlYW0NZW5kb2JqDXN0YXJ0eHJlZg0KMTE2DQolJUVPRg0K`;\r\n\r\n//#region Signals PF\r\nexport const PF_PERIODS: any[] = [//Add translations\r\n { label: 'Monthly', value: 'mnth' },\r\n { label: '3Months', value: '3mnths' },\r\n { label: '6Months', value: '6mnths' },\r\n];\r\nexport const PF_PERCENTAGES: any[] = [\r\n { value: '0', label: '0%' },\r\n { value: '5', label: '5%' },\r\n { value: '10', label: '10%' },\r\n { value: '15', label: '15%' },\r\n { value: '20', label: '20%' },\r\n { value: '25', label: '25%' },\r\n { value: '30', label: '30%' },\r\n];\r\n//#endregion\r\n\r\n\r\n\r\nexport const ICONFX_CRYPTO_CURRENCIES: string[] = ['usdterc20', 'usdttrc20', 'usdt-bep20'];\r\n\r\n//#region AsiaPay\r\nexport const Philippines_Regions__ISO_3166_2 = [\r\n { value: \"14\", label: \"Autonomous Region in Muslim Mindanao\" },\r\n { value: \"05\", label: \"Bicol Region\" },\r\n { value: \"02\", label: \"Cagayan Valley\" },\r\n { value: \"40\", label: \"Calabarzon\" },\r\n { value: \"13\", label: \"Caraga\" },\r\n { value: \"03\", label: \"Central Luzon\" },\r\n { value: \"07\", label: \"Central Visayas\" },\r\n { value: \"15\", label: \"Cordillera Administrative Region\" },\r\n { value: \"11\", label: \"Davao Region\" },\r\n { value: \"08\", label: \"Eastern Visayas\" },\r\n { value: \"01\", label: \"Ilocos Region\" },\r\n { value: \"41\", label: \"Mimaropa\" },\r\n { value: \"00\", label: \"National Capital Region (Metro Manila)\" },\r\n { value: \"10\", label: \"Northern Mindanao\" },\r\n { value: \"12\", label: \"Soccsksargen\" },\r\n { value: \"06\", label: \"Western Visayas\" },\r\n { value: \"09\", label: \"Zamboanga Peninsula\" }\r\n];\r\nexport const Philippines_Regions__ISO_3166_2_Dict: any = {\r\n \"14\": \"Autonomous Region in Muslim Mindanao\",\r\n \"05\": \"Bicol Region\",\r\n \"02\": \"Cagayan Valley\",\r\n \"40\": \"Calabarzon\",\r\n \"13\": \"Caraga\",\r\n \"03\": \"Central Luzon\",\r\n \"07\": \"Central Visayas\",\r\n \"15\": \"Cordillera Administrative Region\",\r\n \"11\": \"Davao Region\",\r\n \"08\": \"Eastern Visayas\",\r\n \"01\": \"Ilocos Region\",\r\n \"41\": \"Mimaropa\",\r\n \"00\": \"National Capital Region (Metro Manila)\",\r\n \"10\": \"Northern Mindanao\",\r\n \"12\": \"Soccsksargen\",\r\n \"06\": \"Western Visayas\",\r\n \"09\": \"Zamboanga Peninsula\"\r\n};\r\nexport const ASIA_PAYEMNT__BANKS: any = [\r\n { \"currency\": \"PHP\", \"value\": \"AGRB\", \"label\": \"Agribusiness Rural Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"ALIAGA\", \"label\": \"Aliaga Farmers Rural Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"ALLBANK\", \"label\": \"AllBank\" },\r\n { \"currency\": \"PHP\", \"value\": \"ARDCI\", \"label\": \"ARDCIBank\" },\r\n { \"currency\": \"PHP\", \"value\": \"ASPAC\", \"label\": \"ASPAC Rural Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"AURORA\", \"label\": \"AuroraBank\" },\r\n { \"currency\": \"PHP\", \"value\": \"BALANGA\", \"label\": \"Balanga Rural Bank\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"BANKONE\",\r\n \"label\": \"Bank One Savings Corporation\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"BANKWAYS\", \"label\": \"Bankways\" },\r\n { \"currency\": \"PHP\", \"value\": \"BATAAN\", \"label\": \"Bataan Development Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"BDO\", \"label\": \"BDO Unibank Inc.\" },\r\n { \"currency\": \"PHP\", \"value\": \"BDON\", \"label\": \"BDO Network Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"BHF\", \"label\": \"BHF Rural Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"BOF\", \"label\": \"BOF\" },\r\n { \"currency\": \"PHP\", \"value\": \"BOM\", \"label\": \"Bank of Makati\" },\r\n { \"currency\": \"PHP\", \"value\": \"BPDB\", \"label\": \"BPI Direct BanKo\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"BPI\",\r\n \"label\": \"Bank of the Philippine Islands (BPI)\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"CAMALIG\", \"label\": \"Camalig Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"CANTILAN\", \"label\": \"Cantilan Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"CARD\", \"label\": \"CARD SME Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"CARDB\", \"label\": \"CARD Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"CBC\", \"label\": \"China Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"CBCS\", \"label\": \"China Bank Savings\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"CENTURY\",\r\n \"label\": \"Century Savings Bank Corporation\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"CITYSTATE\", \"label\": \"Citystate Savings Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"CORD\", \"label\": \"Cordillera Savings Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"CSB\", \"label\": \"City Savings Bank\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"DBP\",\r\n \"label\": \"Development Bank of the Philippines\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"DIPOLOG\", \"label\": \"Banco Dipolog\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"DUM\",\r\n \"label\": \"Dumaguete City Development Bank\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"EWRB\", \"label\": \"EastWest Rural Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"FCB\", \"label\": \"First Consolidated Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"HIYAS\", \"label\": \"Hiyas Banking Corporation\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"HSBC\",\r\n \"label\": \"HSBC Savings Bank Philippines Inc.\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"ISLA\", \"label\": \"Isla Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"KABAYAN\", \"label\": \"Bangko Kabayan\" },\r\n { \"currency\": \"PHP\", \"value\": \"LAGUNA\", \"label\": \"Banco Laguna\" },\r\n { \"currency\": \"PHP\", \"value\": \"LBP\", \"label\": \"LANDBANK\" },\r\n { \"currency\": \"PHP\", \"value\": \"LEGAZPI\", \"label\": \"Legazpi Savings Bank\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"LEMERY\",\r\n \"label\": \"Lemery Savings and Loan Bank\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"LIFE\", \"label\": \"Life Savings Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"LUZON\", \"label\": \"Luzon Development Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"MABUHAY\", \"label\": \"Banco Mabuhay\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"MAKILING\",\r\n \"label\": \"Makiling Development Bank Corporation\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"MALAYAN\", \"label\": \"Malayan Savings Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"MBTC\", \"label\": \"Metrobank\" },\r\n { \"currency\": \"PHP\", \"value\": \"MEXICO\", \"label\": \"Banco Mexico\" },\r\n { \"currency\": \"PHP\", \"value\": \"NDB\", \"label\": \"NorthPoint Development Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"OFB\", \"label\": \"Overseas Filipino Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"PASB\", \"label\": \"Pacific Ace Savings Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"PBB\", \"label\": \"Philippine Business Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"PDB\", \"label\": \"Pampanga Development Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"PENBANK\", \"label\": \"Penbank\" },\r\n { \"currency\": \"PHP\", \"value\": \"PHIL\", \"label\": \"Phil Star Development Bank\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"PNB\",\r\n \"label\": \"Philippine National Bank (PNB)\"\r\n },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"PSB\",\r\n \"label\": \"Philippine Savings Bank (PSBank)\"\r\n },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"PSBC\",\r\n \"label\": \"Producers Savings Bank Corporation\"\r\n },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"QUEEN\",\r\n \"label\": \"Queen City Development Bank (QueenBank)\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"QUEZON\", \"label\": \"Quezon Coconut Bank\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"RCBC\",\r\n \"label\": \"Rizal Commercial Banking Corporation (RCBC)\"\r\n },\r\n { \"currency\": \"PHP\", \"value\": \"RIZAL\", \"label\": \"Rizal MicroBank\" },\r\n { \"currency\": \"PHP\", \"value\": \"SBA\", \"label\": \"Sterling Bank of Asia\" },\r\n { \"currency\": \"PHP\", \"value\": \"SBC\", \"label\": \"Security Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"SEABANK\", \"label\": \"Seabank Philippines\" },\r\n { \"currency\": \"PHP\", \"value\": \"SUN\", \"label\": \"Sun Savings Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"TONIK\", \"label\": \"Tonik Digital Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"UBP\", \"label\": \"UnionBank\" },\r\n { \"currency\": \"PHP\", \"value\": \"USB\", \"label\": \"University Savings Bank\" },\r\n { \"currency\": \"PHP\", \"value\": \"VALLEY\", \"label\": \"1st Valley Bank\" },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"WDBC\",\r\n \"label\": \"Wealth Development Bank Corporation\"\r\n },\r\n {\r\n \"currency\": \"PHP\",\r\n \"value\": \"YUANTA\",\r\n \"label\": \"Yuanta Savings Bank Philippines\"\r\n }\r\n]\r\n ;\r\nexport const ASIA_PAYEMNT__BANKS_Dict: any = {\r\n \"AGRB\": \"Agribusiness Rural Bank\",\r\n \"ALIAGA\": \"Aliaga Farmers Rural Bank\",\r\n \"ALLBANK\": \"AllBank\",\r\n \"ARDCI\": \"ARDCIBank\",\r\n \"ASPAC\": \"ASPAC Rural Bank\",\r\n \"AURORA\": \"AuroraBank\",\r\n \"BALANGA\": \"Balanga Rural Bank\",\r\n \"BANKONE\": \"Bank One Savings Corporation\",\r\n \"BANKWAYS\": \"Bankways\",\r\n \"BATAAN\": \"Bataan Development Bank\",\r\n \"BDO\": \"BDO Unibank Inc.\",\r\n \"BDON\": \"BDO Network Bank\",\r\n \"BHF\": \"BHF Rural Bank\",\r\n \"BOF\": \"BOF\",\r\n \"BOM\": \"Bank of Makati\",\r\n \"BPDB\": \"BPI Direct BanKo\",\r\n \"BPI\": \"Bank of the Philippine Islands (BPI)\",\r\n \"CAMALIG\": \"Camalig Bank\",\r\n \"CANTILAN\": \"Cantilan Bank\",\r\n \"CARD\": \"CARD SME Bank\",\r\n \"CARDB\": \"CARD Bank\",\r\n \"CBC\": \"China Bank\",\r\n \"CBCS\": \"China Bank Savings\",\r\n \"CENTURY\": \"Century Savings Bank Corporation\",\r\n \"CITYSTATE\": \"Citystate Savings Bank\",\r\n \"CORD\": \"Cordillera Savings Bank\",\r\n \"CSB\": \"City Savings Bank\",\r\n \"DBP\": \"Development Bank of the Philippines\",\r\n \"DIPOLOG\": \"Banco Dipolog\",\r\n \"DUM\": \"Dumaguete City Development Bank\",\r\n \"EWRB\": \"EastWest Rural Bank\",\r\n \"FCB\": \"First Consolidated Bank\",\r\n \"HIYAS\": \"Hiyas Banking Corporation\",\r\n \"HSBC\": \"HSBC Savings Bank Philippines Inc.\",\r\n \"ISLA\": \"Isla Bank\",\r\n \"KABAYAN\": \"Bangko Kabayan\",\r\n \"LAGUNA\": \"Banco Laguna\",\r\n \"LBP\": \"LANDBANK\",\r\n \"LEGAZPI\": \"Legazpi Savings Bank\",\r\n \"LEMERY\": \"Lemery Savings and Loan Bank\",\r\n \"LIFE\": \"Life Savings Bank\",\r\n \"LUZON\": \"Luzon Development Bank\",\r\n \"MABUHAY\": \"Banco Mabuhay\",\r\n \"MAKILING\": \"Makiling Development Bank Corporation\",\r\n \"MALAYAN\": \"Malayan Savings Bank\",\r\n \"MBTC\": \"Metrobank\",\r\n \"MEXICO\": \"Banco Mexico\",\r\n \"NDB\": \"NorthPoint Development Bank\",\r\n \"OFB\": \"Overseas Filipino Bank\",\r\n \"PASB\": \"Pacific Ace Savings Bank\",\r\n \"PBB\": \"Philippine Business Bank\",\r\n \"PDB\": \"Pampanga Development Bank\",\r\n \"PENBANK\": \"Penbank\",\r\n \"PHIL\": \"Phil Star Development Bank\",\r\n \"PNB\": \"Philippine National Bank (PNB)\",\r\n \"PSB\": \"Philippine Savings Bank (PSBank)\",\r\n \"PSBC\": \"Producers Savings Bank Corporation\",\r\n \"QUEEN\": \"Queen City Development Bank (QueenBank)\",\r\n \"QUEZON\": \"Quezon Coconut Bank\",\r\n \"RCBC\": \"Rizal Commercial Banking Corporation (RCBC)\",\r\n \"RIZAL\": \"Rizal MicroBank\",\r\n \"SBA\": \"Sterling Bank of Asia\",\r\n \"SBC\": \"Security Bank\",\r\n \"SEABANK\": \"Seabank Philippines\",\r\n \"SUN\": \"Sun Savings Bank\",\r\n \"TONIK\": \"Tonik Digital Bank\",\r\n \"UBP\": \"UnionBank\",\r\n \"USB\": \"University Savings Bank\",\r\n \"VALLEY\": \"1st Valley Bank\",\r\n \"WDBC\": \"Wealth Development Bank Corporation\",\r\n \"YUANTA\": \"Yuanta Savings Bank Philippines\"\r\n};\r\n//#endregion\r\n","import { YoonitResponse, YoonitResponseT2 } from \"../Interfaces/Interfaces\";\r\nimport store from \"../redux/store\";\r\nimport { push } from \"connected-react-router\";\r\nimport Axios from \"axios\";\r\nimport { toastr } from \"react-redux-toastr\";\r\nimport { RefreshTokens, Logout } from \"../redux/actions/AuthActions\";\r\n\r\n\r\nexport async function ValidateResponse(response: YoonitResponse | YoonitResponseT2, t: Function) {\r\n if (!response)\r\n return false;\r\n if (!response.IsAuth) {\r\n toastr.error(\"\", t('SessionNotAuthorized'));//printed as user language as when login it changes as user language\r\n store.dispatch(Logout());\r\n store.dispatch(push('/login'));\r\n return false;\r\n }\r\n\r\n if (response.IsAuth && response.IsTokenExpired && !Singleton.getInstance().inProgress) {\r\n Singleton.getInstance().inProgress = true;\r\n let dataObj = {\r\n Token: store.getState().auth.UserData.Token,\r\n RefreshToken: store.getState().auth.UserData.RefreshToken\r\n };\r\n await Axios.post('/api/auth/RefreshToken', dataObj)\r\n .then(res => {\r\n let refreshReducerParams = {\r\n token: res.data.Token,\r\n refreshToken: res.data.RefreshToken\r\n }\r\n store.dispatch(RefreshTokens(refreshReducerParams));\r\n Singleton.getInstance().inProgress = false;\r\n Singleton.getInstance().token = res.data.Token;\r\n if (Singleton.getInstance().token === res.data.Token && Singleton.getInstance().failedInRowCount === 2) {\r\n LogoutUser(t);\r\n ResetCount();\r\n return false;\r\n }\r\n else if (Singleton.getInstance().token === res.data.Token) {//not changed means faulty \r\n IncrementCount();\r\n }\r\n else {\r\n ResetCount(); //reset count when true again\r\n }\r\n return true;\r\n }).catch(e => {\r\n console.error('ValidateResponse', e);\r\n if (e.response) {\r\n if (e.response.status === 401) {\r\n toastr.error('', t('Unauthorized'));\r\n }\r\n else if (e.response.status === 403) {\r\n toastr.error('', t('Forbidden'));\r\n }\r\n }\r\n else {\r\n toastr.error('', t('SessionEnded'));\r\n }\r\n store.dispatch(Logout()); //just need navigate as in sign in all logut and redux done\r\n store.dispatch(push('/login'));\r\n return false;\r\n });\r\n }\r\n return true;\r\n}\r\n//async function RefershToken(values: any) { //gtoDO when refresh token is fixed\r\n// await store.dispatch(RefreshTokens(values));\r\n// toastr.info(\"\", \"Session Renewed\");\r\n// return true;\r\n//}\r\nexport class Singleton {\r\n private static instance: Singleton;\r\n\r\n constructor() {\r\n if (Singleton.instance) {\r\n throw new Error(\"Error - use Singleton.getInstance()\");\r\n }\r\n this.inProgress = false;\r\n this.token = '';\r\n this.failedInRowCount = 0;\r\n }\r\n static getInstance(): Singleton {\r\n Singleton.instance = Singleton.instance || new Singleton();\r\n return Singleton.instance;\r\n }\r\n inProgress: boolean;\r\n token: string;\r\n failedInRowCount: number;\r\n}\r\nexport interface IHeaderParameters {\r\n Token: string | null;//null if external\r\n}\r\nfunction LogoutUser(t: Function) {\r\n toastr.error('', t('SessionEnded'));\r\n store.dispatch(Logout()); //clear notifcation with logout .. and other \r\n store.dispatch(push('/login'));\r\n}\r\n\r\nfunction IncrementCount() {\r\n Singleton.getInstance().failedInRowCount++;\r\n}\r\n\r\nfunction ResetCount() {\r\n Singleton.getInstance().failedInRowCount = 0;\r\n}\r\n\r\nexport async function GetAxiosResponse(\r\n BaseURL: string,\r\n Path: string,\r\n ObjectParameters: T,\r\n headerParameters: IHeaderParameters,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n translate: Function,\r\n isExternal?: boolean,\r\n PopUpsNotAlowed?: boolean,\r\n) {\r\n try {\r\n const res: any = await Axios.post>(`${BaseURL}${Path}`, ObjectParameters, {\r\n headers: {\r\n ...headerParameters,\r\n \"Strict-Transport-Security\": \"max-age=63072000; includeSubDomains; preload\"\r\n },\r\n });\r\n if (!isExternal)\r\n if (!ValidateResponse(res.data, translate)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error(\"\", translate('FailedAction'));\r\n //SuccessCallback(res);\r\n }\r\n SuccessCallback(res);\r\n return res;\r\n }\r\n catch (e) {\r\n console.error('GetAxiosResponse', e);\r\n RevertCall(e, translate, isExternal, PopUpsNotAlowed);\r\n FailureCallback(e);\r\n return null;\r\n }\r\n}\r\nfunction RevertCall(e: any, translate: Function, isExternal?: boolean, PopUpsNotAlowed?: boolean) {\r\n if (!isExternal\r\n && e.response\r\n && e.response.status === 401\r\n && e.response.data.IsAuth\r\n && e.response.data.IsTokenExpired\r\n && !Singleton.getInstance().inProgress) {//Expired case 401 and IsAuth true\r\n ValidateResponse(e.response.data, translate);\r\n } else if (e.response && (e.response.status === 500 || e.response.status === 404)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error('', translate('ErrorContactingServer'));\r\n }\r\n else if (e.response && (e.response.status === 403)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error('', translate('Forbidden'));\r\n }\r\n else if (e.response && (e.response.status === 401)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error('', translate('Unauthorized'));\r\n store.dispatch(Logout());\r\n store.dispatch(push('/login'));\r\n }\r\n}\r\n/**\r\n * PopUpsNotAlowed is to turn off popups\r\n * @param BaseURL\r\n * @param Path\r\n * @param ObjectParameters\r\n * @param headerParameters\r\n * @param SuccessCallback\r\n * @param FailureCallback\r\n * @param translate\r\n * @param isExternal\r\n * @param PopUpsNotAlowed\r\n */\r\nexport async function CallAxiosRequest(BaseURL: string,\r\n Path: string,\r\n ObjectParameters: T,\r\n headerParameters: IHeaderParameters,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n translate: Function,\r\n isExternal?: boolean,\r\n PopUpsNotAlowed?: boolean,\r\n) {\r\n Axios.post>(`${BaseURL}${Path}`, ObjectParameters, {\r\n headers: {\r\n ...headerParameters,\r\n \"Strict-Transport-Security\": \"max-age=63072000; includeSubDomains; preload\"\r\n },\r\n maxContentLength: 100000000,\r\n maxBodyLength: 100000000,\r\n //maxRedirects:10\r\n })\r\n .then(res => {\r\n if (!isExternal)\r\n if (!ValidateResponse(res.data, translate)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error(\"\", translate('FailedAction'));\r\n //SuccessCallback(res);//TODO check\r\n }\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n console.error(\"CallAxiosRequest\", e);\r\n RevertCall(e, translate, isExternal, PopUpsNotAlowed);\r\n FailureCallback(e);\r\n });\r\n}\r\nexport async function CallAxiosRequestWithCancelToken(BaseURL: string,\r\n Path: string,\r\n ObjectParameters: T,\r\n headerParameters: IHeaderParameters,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n translate: Function,\r\n CancelToken: any,\r\n isExternal?: boolean,\r\n PopUpsNotAlowed?: boolean,\r\n) {\r\n Axios.post>(`${BaseURL}${Path}`, ObjectParameters, {\r\n headers: {\r\n ...headerParameters,\r\n \"Strict-Transport-Security\": \"max-age=63072000; includeSubDomains; preload\",\r\n \r\n }, cancelToken: CancelToken.token,\r\n maxContentLength: 100000000,\r\n maxBodyLength: 100000000,\r\n\r\n })\r\n .then(res => {\r\n if (!isExternal)\r\n if (!ValidateResponse(res.data, translate)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error(\"\", translate('FailedAction'));\r\n //SuccessCallback(res);//TODO check\r\n }\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n RevertCall(e, translate, isExternal, PopUpsNotAlowed);\r\n FailureCallback(e);\r\n });\r\n}\r\nexport async function CallLocalRequest(\r\n Path: string,\r\n ObjectParameters: T,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n) {\r\n Axios.post(`${Path}`, ObjectParameters)\r\n .then(res => {\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n console.error(e);\r\n FailureCallback(e);\r\n });\r\n}\r\nexport async function CallLocalRequestGet(\r\n Path: string,\r\n ObjectParameters: T,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n) {\r\n Axios.get(`${Path}`, ObjectParameters)\r\n .then(res => {\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n console.error(e);\r\n FailureCallback(e);\r\n });\r\n}\r\nexport async function CallLocalRequestGetNoCache(\r\n Path: string,\r\n ObjectParameters: T,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n noVersion?: boolean\r\n) {\r\n let _path = noVersion ? Path : `${Path}?v=${new Date().getTime()}`;\r\n Axios.get(_path, {\r\n //headers: {\r\n // 'Cache-Control': 'no-cache',\r\n // 'Pragma': 'no-cache',\r\n // 'Expires': '0',\r\n //}\r\n })\r\n .then(res => {\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n console.error(e);\r\n FailureCallback(e);\r\n });\r\n}\r\nexport async function CallAsyncAxiosRequest(\r\n BaseURL: string,\r\n Path: string,\r\n ObjectParameters: T,\r\n headerParameters: IHeaderParameters,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n translate: Function,\r\n isExternal?: boolean,\r\n PopUpsNotAlowed?: boolean\r\n) {\r\n await Axios.post>(`${BaseURL}${Path}`, ObjectParameters, {\r\n headers: {\r\n ...headerParameters,\r\n \"Strict-Transport-Security\": \"max-age=63072000; includeSubDomains; preload\",\r\n maxContentLength: 100000000,\r\n maxBodyLength: 100000000,\r\n }\r\n })\r\n .then(res => {\r\n if (!isExternal)\r\n if (!ValidateResponse(res.data, translate)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error(\"\", translate('FailedAction'));\r\n //SuccessCallback(res);\r\n }\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n console.error(e);\r\n RevertCall(e, translate, isExternal, PopUpsNotAlowed);\r\n FailureCallback(e);\r\n });\r\n}\r\nexport async function CallAsyncAxiosRequestWithCancelToken(\r\n BaseURL: string,\r\n Path: string,\r\n ObjectParameters: T,\r\n headerParameters: IHeaderParameters,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n translate: Function,\r\n isExternal?: boolean,\r\n PopUpsNotAlowed?: boolean,\r\n CancelToken?: any\r\n) {\r\n await Axios.post>(`${BaseURL}${Path}`, ObjectParameters, {\r\n headers: {\r\n ...headerParameters,\r\n \"Strict-Transport-Security\": \"max-age=63072000; includeSubDomains; preload\",\r\n maxContentLength: 100000000,\r\n maxBodyLength: 100000000,\r\n }, cancelToken: CancelToken.token\r\n })\r\n .then(res => {\r\n if (!isExternal)\r\n if (!ValidateResponse(res.data, translate)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error(\"\", translate('FailedAction'));\r\n //SuccessCallback(res);\r\n }\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n console.error(e);\r\n RevertCall(e, translate, isExternal, PopUpsNotAlowed);\r\n FailureCallback(e);\r\n });\r\n}\r\nexport async function AxiosPost(\r\n { BaseURL,\r\n Path,\r\n ObjectParameters,\r\n headerParameters,\r\n SuccessCallback,\r\n FailureCallback,\r\n FinallyCallback,\r\n translate,\r\n isExternal,\r\n PopUpsNotAlowed\r\n }\r\n : {\r\n BaseURL: string,\r\n Path: string,\r\n ObjectParameters: T,\r\n headerParameters: IHeaderParameters,\r\n SuccessCallback: Function,\r\n FailureCallback: Function,\r\n FinallyCallback?: Function,\r\n translate: Function,\r\n isExternal?: boolean,\r\n PopUpsNotAlowed?: boolean\r\n }\r\n) {\r\n Axios.post>(`${BaseURL}${Path}`, ObjectParameters, {\r\n headers: {\r\n ...headerParameters,\r\n \"Strict-Transport-Security\": \"max-age=63072000; includeSubDomains; preload\",\r\n \r\n },\r\n maxContentLength: 100000000,\r\n maxBodyLength: 100000000,\r\n //maxRedirects:10\r\n })\r\n .then(res => {\r\n if (!isExternal)\r\n if (!ValidateResponse(res.data, translate)) {\r\n if (!PopUpsNotAlowed)\r\n toastr.error(\"\", translate('FailedAction'));\r\n //SuccessCallback(res);//TODO check\r\n }\r\n SuccessCallback(res);\r\n }).catch((e: any) => {\r\n console.error(\"CallAxiosRequest\", e);\r\n RevertCall(e, translate, isExternal, PopUpsNotAlowed);\r\n FailureCallback(e);\r\n }).finally(() => FinallyCallback?.());\r\n}"],"sourceRoot":""}